






IMap::Load fails, other components will continue to use the old map. However, if IMap::Load failed after the map was already successfully read with the datafile reader then other components kept their pointers to the old, invalid datafile reader items and data, causing random crashes in collision code. This is fixed by using a separate datafile reader to read the new map and only applying the datafile reader globally when loading was entirely successfully.
An error message is adde...



Kernel()->RequestInterface<IDiscord>()->SetGameInfo(<arguments that you need to provide>)



Kernel()->RequestInterface<IDiscord>()->SetGameInfo(<arguments that you need to provide>)
❤️




Dilate function to work correctly. This is already checked before calling the function, so the redundant argument which is always 4 can be removed.





















CWorldCore. The tunings are supposed to be what vanilla clients can know, not what ddnet clients can know.

client.cpp










e68caaf Consistently order CDataFileReader and IMap functions - Robyt3
6a5752d Use bool instead of int for Swap parameter - Robyt3
4716791 Add missing IMap::FindItemIndex delegate function - Robyt3
106b04e Add assertion for Index argument of ReplaceData function - Robyt3
7acf2c1 Add functions for reading/writing strings from/to datafile - Robyt3
2e5ee82 Merge pull request #7008 from Robyt3/Datafile-String-Util - def-
