Steamworks - Native Extension

I’ve dusted off my really old Steamworks extension and updated it to work with the official Defold native extension SDK.

The extension uses an auto-generated API and has support for the following APIs:

  • ISteamApps
  • ISteamAppTicket
  • ISteamClient
  • ISteamFriends
  • ISteamInventory
  • ISteamMatchmaking
  • ISteamMusic
  • ISteamNetworking
  • ISteamRemoteStorage
  • ISteamUser
  • ISteamUserStats
  • ISteamUtils

The extension is a pre-release and I’m looking for testers to give it a try in a real game.

21 Likes

I’m trying to plug this in to my project and I am having issues. I have referenced version 1.4.0 in my dependencies and fetched libraries. I have placed steam_appid.txt with my actual Steam id in the same location as game.project. When I build, the process completes and I get a message that dmengine.exe has launched. However, the game does not appear.

I have tested bundling too. Launching the game I get the following error:

image

This extension only works if you bundle your game. Because Defold doesn’t yet support linking against DLLs officially, it won’t work if you build from the editor.

Thanks. I tried bundling (both as debug and release) and I get the error message above. Do you mean I need to bundle from the command line, and not the editor?

I meant that it won’t work if you do Ctrl+B from the editor directly. But it should have worked. But now I see why. The last release requires an extra step which got simplified in a subsequent commit, which wasn’t released yet.

Try https://github.com/britzl/steamworks-defold/archive/820dc2dec3d6e2d1fb9e5dff017f3e51575365e1.zip instead.

1 Like

Thank you. Can confirm it bundles and launches now (I see the steam_api64.dll file in the folder).

Oh, sorry, I’ll make a new release!

1 Like

No worries. :grin:

3 Likes

I thought I had everything working - successfully triggering achievements and Steam acknowledging them - which worked fine for debug builds. When I tried to make a release build, the process failed and I got build errors (included at the bottom).

This looks like it’s potentially also got something to do with DefOS, so I’ll ping @Pkeod just in case (though I know @dapetcu21 is involved with both Steamworks and DefOS).

After this I tried to remove the steamworks dependency. The steamworks build errors disappeared, but the DefOS ones remained. I can’t bundle debug builds anymore now either, and building in the editor doesn’t work anymore. Removing DefOS too enables me to build again.

Basically it seems like I can now no longer build when I have either the steamworks or DefOS dependency.

Dumping the build errors from the original issue below. I really don’t know where to go from here so any help is appreciated.

Unknown source
lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_src_vpx_image.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_src_vpx_codec.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_src_vpx_encoder.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_vp8_cx_iface.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_mem_vpx_mem.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_rtcd.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_vpx_dsp_rtcd.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_scale_vpx_scale_rtcd.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_onyx_if.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_x86_vp8_quantize_sse2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_x86_vp8_quantize_ssse3.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_mcomp.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_x86_quantize_sse4.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_x86_vp8_asm_stubs.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_vpx_asm_stubs.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_vpx_subpixel_8t_intrin_ssse3.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_vpx_subpixel_8t_intrin_avx2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_intrapred.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_variance_sse2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_variance_avx2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_loopfilter_sse2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_loopfilter_avx2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_sad.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_sad_avx2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_x86_sad4d_avx2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_vpx_convolve.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_scale_generic_yv12extend.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_scale_generic_yv12config.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_mbpitch.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_bitstream.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_vp8_loopfilter.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_postproc.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_vp8_quantize.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_pickinter.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_lookahead.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_denoising.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_vp8_skin_detection.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_alloccommon.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_firstpass.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_psnr.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_scale_generic_vpx_scale.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_ratectrl.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_segmentation.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_reconintra.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_encodeframe.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_ethreading.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_picklpf.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_temporal_filter.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_x86_filter_x86.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_entropy.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_variance.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_treecoder.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_boolhuff.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_findnearmv.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_encodemv.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_entropymode.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_x86_loopfilter_x86.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_add_noise.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_mfqe.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_quant_common.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_encodeintra.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_reconintra4x4.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_rdopt.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_extend.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_x86_denoising_sse2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_reconinter.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_skin_detection.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_generic_systemdependent.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_encodemb.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_setupintrarecon.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_swapyv12buffer.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_entropymv.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_scale_generic_gen_scalers.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_x86_idct_blk_sse2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_idctllm.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_tokenize.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_modecont.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vpx_dsp_deblock.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_x86_vp8_enc_stubs_sse2.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_treewriter.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_encoder_modecosts.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
	lld-link: warning: Cannot use debug info for 'vpx.lib(vp8_common_blockd.obj)' [LNK4099]
 failed to load reference 'C:\repos\defold\share\ext\vpx\tmp\x64\Release\vpx\vpx.pdb': No such file or directory
/defos/src/defos.cpp
/defos/src/defos.cpp
	Line 8: In file included from upload/defos/src/defos.cpp:8:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/sdk.h:23:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/vectormath/cpp/vectormath_aos.h:40:
private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
	Line 8: private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
/defos/src/defos_html5.cpp
/defos/src/defos_html5.cpp
	Line 4: In file included from upload/defos/src/defos_html5.cpp:4:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/sdk.h:23:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/vectormath/cpp/vectormath_aos.h:40:
private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
	Line 4: private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
/defos/src/defos_linux.cpp
/defos/src/defos_linux.cpp
	Line 1: In file included from upload/defos/src/defos_linux.cpp:1:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/sdk.h:23:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/vectormath/cpp/vectormath_aos.h:40:
private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
	Line 1: private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
/defos/src/defos_win.cpp
/defos/src/defos_win.cpp
	Line 1: In file included from upload/defos/src/defos_win.cpp:1:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/sdk.h:23:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/vectormath/cpp/vectormath_aos.h:40:
private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
	Line 1: private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
	Line 29: unused variable 'is_custom_cursor_loaded' [-Wunused-variable]
static bool is_custom_cursor_loaded;
            ^
/steamworks/src/extension.cpp

Uploaded text file due to post size restriction.
extensioncpp.txt (112.2 KB)

/steamworks/src/luautils.cpp
/steamworks/src/luautils.cpp
	Line 1: In file included from upload/steamworks/src/luautils.cpp:1:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/sdk.h:23:
In file included from /var/extender/sdk/6fac6e80f09ab297093e3ff65a7f45ad56e06e33/defoldsdk//include/dmsdk/vectormath/cpp/vectormath_aos.h:40:
private field 'd' is not used [-Wunused-private-field]
    float d;
          ^
	Line 1: private field 'd' is not used [-Wunused-private-field]
    float d;
          ^

All of those look like warnings rather than errors, some of them from Defold’s vector math library. They shouldn’t abort a build.

Hmm, something is definitely aborting the building/bundling process! It gets resolved when I remove both DefOS and Steamworks. I have used DefOS without issue for well over a year, and Steamworks was fine in bundles up until I tried a release version.

Could be the certificate issue. Wait a few hours and see if it fixes itself?

1 Like

It was the https certificate. I set my computer’s date back a week and everything works now. Sorry for the false alarm. :man_facepalming:

2 Likes

Certificates have been update. No need to mess with the system clock anymore.

2 Likes

@Alex_8BitSkull We also recently added the build/<platform>/log.txt (e.g. ./build/armv7-android/log.txt) .
Please post that instead, so we’ll get the full picture.

1 Like

I’ve been working on a new version of the Steamworks extension. The new version fixes some issues with the generated code which would result in crashes, specifically with Steamworks API functions where the C++ API expects arguments such as an array of objects/structs and a length of the array. Example:

bool GetItemsWithPrices( SteamItemDef_t *pArrayItemDefs, uint64 *pPrices, uint32 unArrayLength );
bool GetResultItems( SteamInventoryResult_t resultHandle, SteamItemDetails_t *pOutItemsArray, uint32 *punOutItemsArraySize );

In the case of GetItemsWithPrices the unArrayLength argument specifies the length of the pArrayItemDefs and pPrices arrays. You get unArrayLength from a call to GetNumItemsWithPrices.

In the case of GetResultItems the punOutItemsArraySize argument specifies the length of the pPrices array. You get the punOutItemsArraySize from a call to GetResultItems with pPrices set to NULL.

The API definition used when generating the extension and the Lua bindings doesn’t provide a way to distinguish between the two different ways of getting the array length which means that the Lua API has to change for some functions. The Lua API was:

local ok, count, items = steamworks.inventory_get_result_items(handle)
local ok, items , prices = steamworks.inventory_get_items_with_prices(count)

But has been changed to:

local ok, count, items = steamworks.inventory_get_result_items(handle, items, count)
local ok, items , prices = steamworks.inventory_get_items_with_prices(items, prices, count)

In the case of steamworks.inventory_get_result_items you need to make two calls, one to get the number of items and one to get the items:

-- first call without arguments will return the number of items
local ok, count = steamworks.inventory_get_result_items(handle)
-- second call with length as an argument will get the items
local ok, count, items = steamworks.inventory_get_result_items(handle, nil, count)

I have made a pre-release containing this breaking change and would appreciate help in testing the new version (ping @Pkeod and @dapetcu21).

1 Like

We don’t really use any such function in Interrogation. We only use Steamworks for achievements, but I’ll upgrade to 2.0.0 anyway and look out for other issues.

2 Likes

Thanks.