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

@bonkmaykr@canithesis.org

20 Male, Missouri, United States
Running Canithesis Interactive & Worlio LLC
Software engineer, newly an Amiga + Saturn nut

Currently working on a danmaku shooter game called "Time Falcon", my own game engine for it, and some other stuff. My posts can range anywhere from deep nerd thoughts to brainless shitposting.

Expert at run-on sentences

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

58 following, 37 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