mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
No description
This fixes some thinkers never being removed due to having negative reference counts. And here's a breakdown of why the old code could produce negative reference counts: Consider P_CheckPosition. This function calls P_SetTarget on tm.thing but does not call P_RestoreTMStruct. This means that tm.thing will not be NULL the next P_SetTarget is called on it. What are the implications of this? Consider the following series of events: - P_CheckPosition is called, tm.thing != NULL afterward - Another function saves the tm struct and sets tm.thing to a different mobj - - the old tm.thing will have its references decremented - - the new tm.thing will have its references incremented - This function calls P_RestoreTMStruct What should happen when P_RestoreTMStruct is called? The *new* tm.thing should have its references *decremented* and the *old* tm.thing should its references *incremented*, of course, for symmetry with P_SetTarget. The old code correctly decremented new tm.thing's references but did not increment old tm.thing's references. |
||
|---|---|---|
| .circleci | ||
| android | ||
| assets | ||
| cmake | ||
| debian-template | ||
| deployer | ||
| doc | ||
| extras | ||
| libs | ||
| src | ||
| thirdparty | ||
| tools | ||
| .clang-format | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| .travis.yml | ||
| alias-bootstrap.sh | ||
| Android.mk | ||
| appveyor.yml | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| comptime.bat | ||
| comptime.mk | ||
| comptime.props | ||
| comptime.sh | ||
| cpdebug.mk | ||
| debian_template.sh | ||
| Doxyfile | ||
| LICENSE | ||
| README.md | ||
| srb2-vc9.sln | ||
| srb2-vc10.sln | ||
| SRB2.cbp | ||
| Srb2.dev | ||
| srb2.png | ||
| SRB2_common.props | ||
| SRB2_Debug.props | ||
| SRB2_Release.props | ||
| srb2banner.png | ||
SRB2Kart
SRB2Kart is a kart racing mod based on the 3D Sonic the Hedgehog fangame Sonic Robo Blast 2, based on a modified version of Doom Legacy.
Dependencies
- NASM (x86 builds only)
- SDL2 (Linux/OS X only)
- SDL2-Mixer (Linux/OS X only)
- libupnp (Linux/OS X only)
- libgme (Linux/OS X only)
- libopenmpt (Linux/OS X only)
Compiling
See SRB2 Wiki/Source code compiling. The compiling process for SRB2Kart is largely identical to SRB2.
Disclaimer
Kart Krew is in no way affiliated with SEGA or Sonic Team. We do not claim ownership of any of SEGA's intellectual property used in SRB2.