Skip to content

Conversation

@Kaiqgs
Copy link
Collaborator

@Kaiqgs Kaiqgs commented Nov 2, 2025

image

@Kaiqgs Kaiqgs linked an issue Nov 2, 2025 that may be closed by this pull request
@Kaiqgs Kaiqgs self-assigned this Nov 5, 2025
@Kaiqgs Kaiqgs requested review from britzl and ekharkunov November 5, 2025 22:56
@Kaiqgs
Copy link
Collaborator Author

Kaiqgs commented Nov 5, 2025

in lib_path investigation

So far, lib_path has been necessary because we need to load the libs dynamically, and it's much easier to know lib_path at bundled_time, rather than at develop/build_time on the editor.

Currently we do a check to see if it's being executed from the editor

        if (endsIn(exePath, FMB_EDITOR_SUFFIX)) {

Trying to match build/x86_64-osx/dmengine or build/x86_64-win32/dmengine.exe.

Then, for the case it's from the editor, lib_path is queried.

            const char* resPath = FMODBridge_dmConfigFile_GetString("fmod.lib_path", "");
                (...)
               strcpy(newPath, projPath);
            len += projPathLen;

            if (resPath[0] != '/') {
                strcat(newPath, SEP);
                len += 1;
            }

            strcat(newPath + len, resPath);

Later lib_path is used to build the exe+lib path.

    strcpy(exePath, libPath);
    strncat(exePath, SEP LIBPREFIX "fmod." LIBEXT, maxPathLen);
    libOpen(FMODBridge_dlHandleLL, exePath);

    strcpy(exePath, libPath);
    strncat(exePath, SEP LIBPREFIX "fmodstudio." LIBEXT, maxPathLen);
    libOpen(FMODBridge_dlHandleST, exePath);

ongoing discussion

I have raised my points on this issue. I think eventually a plug-and-play solution will be more interesting.

  • Does Defold SDK provide an API to query extension installation or extension files?
  • Is it acceptable for this extension to access .internal lib, or is it too hacky?

@Kaiqgs Kaiqgs marked this pull request as ready for review November 5, 2025 23:24
@Kaiqgs Kaiqgs linked an issue Nov 5, 2025 that may be closed by this pull request
Copy link

@britzl britzl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to look into the fmod lib_path separately but please go ahead and merge this for now.

@Kaiqgs Kaiqgs merged commit ab15577 into update-fmod-20309 Nov 16, 2025
@Kaiqgs Kaiqgs deleted the 21-ext-properties-not-implemented branch November 16, 2025 10:37
Kaiqgs added a commit that referenced this pull request Dec 2, 2025
* update script for linux & docker-compose deprecation

* updated to 20309 web(html5), android, linux, win32

* 2.03.09 update, workaround html5 build

* fakeCwrap test workaround

* clean after success test html5

* 10 - Android FMOD 2.02 is out of date (#11)

Android has been updated to 2.03.09

* 13 - Windows 2.02.05 Is Out Of Date (#15)

Test evidence shared

* 7 - Update macOS and iOS To 2.03.09 (#14)

* 7 - Update macOS and iOS To 2.03.09

* 7 - commit libfmodbridge

* 7 - new lines

* 12 - Readme 2.02.05 Is Out Of Date (#16)

* 12 - Readme 2.02.05 Is Out Of Date

* 12 - switch to png banner

* 12 - rm unused logo

* 6 - Extra Emscripten flags

* 17 - Fmod 2.03.09 pthread Support (#18)

* 17 - Wasm Pthread Support

* 17 - testing clarification

* 17 - attempted removing pthread pool size

* 17 - better manifest

* 21 - Enhanced Properties & Investigate `lib_path` (#22)

* 21 - Enhanced Properties

* 21 - fix ext.properties

* 19 - Add Manuals and API Reference (#20)

* 19 - Add Manuals and API Reference

* 19 - added further instructions, generator for .script_api file
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

lib_path needs to be manually set. ext.properties not implemented & lib_path

3 participants