:bm1::bm2::bm3::bm4::bm5::bm6::bm7::bm8::bm9::bm0:

@bonkmaykr@canithesis.org

20 Male
CEO Canithesis Interactive, sysadmin Worlio LLC
wipEout and THE FINALS fan
Linux enthusiast, Java / C# / C++ Dev
Old computer freak, FSF donor
Missouri, United States

I made the Firestar Mod Manager for Playstation Vita. Currently working on a danmaku shooter game called "Time Falcon". My posts can range anywhere from deep nerd thoughts to brainless shitposting.

Give me liberty or give me death
XMPP/Jabberbonkmaykr@canithesis.org

54 following, 28 followers

1 ★ 0 ↺
in reply to »

[?]:bm1::bm2::bm3::bm4::bm5::bm6::bm7::bm8::bm9::bm0: »
@bonkmaykr@canithesis.org

I haven't used either of those but I should look them up to see what the difference is

I managed to figure it out, IDK the low-level specifics but basically since updating world objects happens in the middle of a for() that reads the vector, it would see the new object get added to the end of the vector and try to call it's updateMe() while the vector was getting shifted around. Adding a lag of one game tick before each new object spawns by giving them a queue to wait in helped work around the issue. So I just do this before each tick:

for (globals::objects::o_worldObjectGeneric* o : w_contentQueue) w_content.push_back(o); w_contentQueue.clear();

...

History