tdauth / tenet

Tenet-style prototype map for Warcraft III: Reforged
0 stars 0 forks source link

Some bugs seem to be related to the low instance limit of structs TimeFrame and ChangeEvent #48

Open tdauth opened 3 years ago

tdauth commented 3 years ago

There are too many time frames and change events for the objects! I have issues using a custom limit for multilple structs: https://www.hiveworkshop.com/threads/custom-struct-size-with-three-extending-structs.330434/

The supply limit should be reduced a bit as well as the possible time to invert time. Besides, discarding events before this time might help.

tdauth commented 3 years ago

The exact number of instances for TimeFrames can be calculated by: MAX_NUMBER_OF_OBJECTS * QUEST_TIME / INTERVAL + MAX_INVERSION_TIME / INTERVAL. This allows you to go back 30 seconds before the start of the game + a time frame for every tick for every object which exists.

The exact number of change events is: MAX_INSTANCES_FOR_TIME_FRAMES * 20 or something like that. There should not be more than 20 events per time frame.

Print a warning if there are more added than the maximum!!!!

We need some kind of garbage collection for killed/destroyed objects which cannot be ressurrected! Drop all objects which are older than the maxium inversion time.