Blankart OpenXR VR fork
Find a file
James R 625ce5e631 Fix negative reference counting in P_RestoreTMStruct
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.
2024-10-19 17:04:31 -04:00
.circleci Merge remote-tracking branch 'srb2/master' into the-scary-22-merge 2020-10-24 19:28:06 -04:00
android SRB2 2.1 release 2014-03-15 13:11:35 -04:00
assets Get this working 2024-07-28 22:37:38 -04:00
cmake Assorted stuff 2024-07-30 00:13:53 -04:00
debian-template Fix Debian (.deb) build from making (Project_root)/bin/Linux 2022-03-18 19:36:45 +00:00
deployer Get this working 2024-07-28 22:37:38 -04:00
doc SRB2 2.1.12 release 2014-11-11 19:55:07 -05:00
extras Add Hexen line activation flags 2024-09-03 16:50:42 -04:00
libs Update libs/SDL2 to 2.0.22 2022-09-05 15:13:45 +01:00
src Fix negative reference counting in P_RestoreTMStruct 2024-10-19 17:04:31 -04:00
tools Remove FMOD files 2022-07-23 12:57:46 -05:00
.gitattributes avoid the source code from getting the wrong EOL 2019-09-20 12:32:18 -04:00
.gitignore Fix compile, add kate-swp to gitignore 2024-08-01 14:14:27 -04:00
.travis.yml Merge branch 'master' into the-scary-22-merge 2020-08-12 20:59:09 -04:00
Android.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
appveyor.yml Backport 2021 SRB2 makefile overhaul 2021-11-25 03:56:23 -08:00
CMakeLists.txt Fix up release compiling 2024-09-07 11:30:27 -04:00
comptime.bat use fallback complast to fix compile issues 2024-09-11 16:12:45 +02:00
comptime.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
comptime.props MSVC: fixed up MSVC project 2016-05-21 23:53:04 -04:00
comptime.sh readd exec permission 2024-09-11 14:42:04 -04:00
cpdebug.mk Compile Win32 EXE with -gdwarf-2 2014-04-07 10:03:14 -04:00
debian_template.sh Implement deployer scripts for Travis -- OSX and Linux package building [Kart merge] 2018-12-30 15:41:58 -05:00
Doxyfile Remove some more DOS related stuff 2020-07-25 19:15:54 -04:00
LICENSE SRB2 2.1 release 2014-03-15 13:11:35 -04:00
README.md The start of the scary 2.2 merge 2020-05-29 13:43:38 -04:00
srb2-vc9.sln SRB2 2.1 release 2014-03-15 13:11:35 -04:00
srb2-vc10.sln Added ARM/ARM64 to whole vc10 sln 2018-12-21 16:47:10 -05:00
SRB2.cbp Add k_kart files to CB project 2019-01-04 23:09:25 -06:00
Srb2.dev change SDL into HAVE_SDL 2014-07-25 19:10:24 -04:00
srb2.png Remove rest pf RingRacers Refs 2024-08-16 12:09:50 -04:00
SRB2_common.props More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
SRB2_Debug.props More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
SRB2_Release.props More work to cleanup the ARM builds 2018-12-22 19:50:32 -05:00
srb2banner.png Remove rest pf RingRacers Refs 2024-08-16 12:09:50 -04:00

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.