mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-01-31 21:50:48 +00:00
Sonic Robo Blast 2 Public
66234d093c
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. |
||
---|---|---|
.circleci | ||
android | ||
assets | ||
cmake | ||
debian-template | ||
deployer | ||
doc | ||
extras | ||
libs | ||
src | ||
thirdparty | ||
tools | ||
.gitattributes | ||
.gitignore | ||
.gitlab-ci.yml | ||
.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 | ||
Makefile | ||
README.md | ||
srb2-vc10.sln | ||
SRB2.cbp | ||
Srb2.dev | ||
srb2.png | ||
SRB2_common.props | ||
SRB2_Debug.props | ||
SRB2_Release.props | ||
srb2banner.png |
Sonic Robo Blast 2
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.