Emscripten/Linux Build Spawn List Missing #32

Closed
opened 10 months ago by sigonasr2 · 1 comments
Owner

The spawn lists for the emscripten and Linux builds of the game do not populate correctly for some bizarre reason. Need to debug on clang/gcc...

The spawn lists for the emscripten and Linux builds of the game do not populate correctly for some bizarre reason. Need to debug on clang/gcc...
sigonasr2 added the
bug
label 10 months ago
sigonasr2 self-assigned this 10 months ago
Poster
Owner

This issue was caused by the different ordering implementation for std::set iterators. On Windows, the set is ordered by insertion order while on Emscripten/Linux the iterators are sorted by name. In this scenario, the WORLD_MAP entry would load last, which had all connection points.

While this meant we had all connection points when loading all other levels, it also meant on the Linux/Emscripten build all other levels would be loaded first, and this means no connection points were updated correctly.

Deffering the connection point reading code until after all levels were loaded was the correct solution here.

This issue was caused by the different ordering implementation for `std::set` iterators. On Windows, the set is ordered by insertion order while on Emscripten/Linux the iterators are sorted by name. In this scenario, the `WORLD_MAP` entry would load last, which had all connection points. While this meant we had all connection points when loading all other levels, it also meant on the Linux/Emscripten build all other levels would be loaded first, and this means no connection points were updated correctly. Deffering the connection point reading code until after all levels were loaded was the correct solution here.
sigonasr2 closed this issue 10 months ago
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: sigonasr2/AdventuresInLestoria#32
Loading…
There is no content yet.