Sonic Robo Blast 2 Public
Find a file
Lactozilla 66234d093c Fix a regression where 3D floor sides could not render properly
Normally, when rendering a 'masked column', the variables sprtopscreen (and sometimes sprbotscreen) are used to define the screen space bounds of the column. R_DrawMaskedColumn and R_DrawFlippedMaskedColumn use these variables to determine where to start rendering the column's posts.
Rendering a 3D floor side when a light list is involved requires cutting it vertically. Part of this process involves setting windowtop and windowbottom, which are what R_DrawMaskedColumn and R_DrawFlippedMaskedColumn use instead to define the bounds in screen space of the column. To draw the columns between the 3D floor's vertical boundaries, the functions R_DrawRepeatMaskedColumn or R_DrawRepeatFlippedMaskedColumn are used to repeatedly call R_DrawMaskedColumn or R_DrawFlippedMaskedColumn respectively.
The problem is that R_DrawRepeatMaskedColumn and R_DrawRepeatFlippedMaskedColumn assume that sprtopscreen and sprbotscreen are what define the vertical positions of the column, and the consequence is, after the first time R_DrawRepeatMaskedColumn or R_DrawRepeatFlippedMaskedColumn are called for a column, no more columns are rendered, since sprtopscreen is not reset.
This issue was fixed by making R_RenderThickSideRange use R_DrawMaskedColumn and R_DrawFlippedMaskedColumn if there is a lightlist, or R_DrawRepeatMaskedColumn and R_DrawRepeatFlippedMaskedColumn if there is no lightlist.
2024-02-24 00:43:46 -03:00
.circleci CircleCI: move to LINUX64 build 2024-01-05 22:17:00 +00:00
android SRB2 2.1 release 2014-03-15 13:11:35 -04:00
assets 2.2.11 2023-05-16 18:20:15 +02:00
cmake add Visual Studio 2022 support (via CMAKE) 2024-02-10 14:34:03 -05:00
debian-template modified: debian-template/rules 2021-08-12 12:39:28 -05:00
deployer Remove patch.pk3 from Deployer ASSET_FILES_HASHED 2019-12-07 16:26:28 -05:00
doc Merge branch 'delete-docs' into 'next' 2024-02-19 23:13:45 +00:00
extras Restore overwritten linedef action in UZB config 2024-02-13 16:48:04 +01:00
libs update SDL2 to v2.30.0 2024-02-11 22:33:08 -05:00
src Fix a regression where 3D floor sides could not render properly 2024-02-24 00:43:46 -03:00
thirdparty update SDL2 to v2.30.0 2024-02-11 22:33:08 -05:00
tools delete ASM code, remove NASM 2023-07-27 23:58:53 -05:00
.gitattributes comptime.sh is a bash shell, so it should have eol=lf 2023-12-05 21:03:01 -05:00
.gitignore Visual Studio compiles again 2024-02-14 16:36:36 -05:00
.gitlab-ci.yml Merge branch 'master' into next 2024-02-19 18:07:54 -05:00
.travis.yml Support for http downloads 2020-05-13 17:25:52 -07:00
alias-bootstrap.sh Ring Racers CMake + Debug build improvements 2023-08-01 02:29:45 +00:00
Android.mk SRB2 2.1 release 2014-03-15 13:11:35 -04:00
appveyor.yml Update version num (no, .14 isn't releasing yet) 2023-11-09 10:31:03 -05:00
CMakeLists.txt added NOEXECINFO to cMake 2023-12-25 19:52:32 -05:00
CMakePresets.json add Visual Studio 2022 support (via CMAKE) 2024-02-10 14:34:03 -05:00
comptime.bat switch to using sanitized subject for compnote 2023-12-31 15:56:37 +00: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 switch to using sanitized subject for compnote 2023-12-31 15:56:37 +00:00
cpdebug.mk Makefile 2023-10-12 19:43:09 -04:00
debian_template.sh Implement deployer scripts for Travis -- OSX and Linux package building 2018-12-30 15:22:50 -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
Makefile Add a proxy Makefile at top level 2021-06-16 16:26:18 -07:00
README.md remove NASM from readme and circleci 2023-07-28 11:26:02 -05:00
srb2-vc10.sln Added ARM/ARM64 to whole vc10 sln 2018-12-21 16:47:10 -05:00
SRB2.cbp delete ASM code, remove NASM 2023-07-27 23:58:53 -05:00
Srb2.dev delete ASM code, remove NASM 2023-07-27 23:58:53 -05:00
srb2.png More icon stuff 2019-07-27 01:13:54 -04:00
SRB2_common.props delete ASM code, remove NASM 2023-07-27 23:58:53 -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 Fix debian desktop icon 2018-11-27 02:11:57 -05:00

Sonic Robo Blast 2

latest release

Build status Build status CircleCI

Sonic Robo Blast 2 is a 3D Sonic the Hedgehog fangame based on a modified version of Doom Legacy.

Dependencies

  • 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

Disclaimer

Sonic Team Junior 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.