Kart-Public merge requestshttps://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests2023-11-21T16:39:43Zhttps://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests/331Add support for GitLab CI2023-11-21T16:39:43ZAlam Ed AriasAdd support for GitLab CIBased on SRB2 2.2's next branch's config
Untested to SRB2 2.1 codebaseBased on SRB2 2.2's next branch's config
Untested to SRB2 2.1 codebaseAlam Ed AriasAlam Ed Ariashttps://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests/334assortment of various fixes lul2023-11-21T15:09:53ZAlu Folieassortment of various fixes lula few things we noticed when working on the saturn custom client
one of which fixes the crashes on ToaTomĀ“s skytemple map
and a few other things
all of those have been tested for a while and seem to work nicelya few things we noticed when working on the saturn custom client
one of which fixes the crashes on ToaTomĀ“s skytemple map
and a few other things
all of those have been tested for a while and seem to work nicelyhttps://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests/333Fix FreeBSD build errors2023-10-24T14:45:38ZHanicefFix FreeBSD build errorsmerge from https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2071 and https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2179, additionally fixing a few other build problems related to Kart on FreeBSD.merge from https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2071 and https://git.do.srb2.org/STJr/SRB2/-/merge_requests/2179, additionally fixing a few other build problems related to Kart on FreeBSD.https://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests/332Fix segmentation faults on 32-bit ARM devices running GNU/Linux2023-10-19T21:17:59ZPhil OnousFix segmentation faults on 32-bit ARM devices running GNU/LinuxI tried to run SRB2Kart on my ODROID-XU4, which is a 32-bit ARMv7h device, and I would consistently get segmentation faults when Z_MallocAlign() was called with an alignbits value greater than or equal to 32. I found that the 1<<alignbit...I tried to run SRB2Kart on my ODROID-XU4, which is a 32-bit ARMv7h device, and I would consistently get segmentation faults when Z_MallocAlign() was called with an alignbits value greater than or equal to 32. I found that the 1<<alignbits call would overflow and evaluate to 0. This would then have 1 subtracted from it, causing an underflow and setting extrabytes equal to 0xFFFFFFFF. This excessively high value for extrabytes causes weird memory corruption errors that eventually lead to a segmentation fault.
I have corrected this issue by not subtracting 1 when an overflow is guaranteed to have occurred.
Weirdly enough, this problem does not occur on 64-bit Intel, even though an alignbits value of 64 would still cause an overflow. extrabytes is still set to 0 even when alignbits is 64. This probably has to do with differences in the CPU overflow flag when bit shifting too much to the left.
Another interesting thing is that https://git.do.srb2.org/STJr/SRB2 apparently had some memory management updates (https://git.do.srb2.org/STJr/SRB2/-/commit/cee5eb47b591b2b0a333198243e632607fb9585f) that removed the left bit shift operation entirely, but these updates have not made their way into SRB2Kart yet.https://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests/330Fix 2 annoying crashes2023-08-15T01:33:11ZAlu FolieFix 2 annoying crashesFixes FreeMipmapColormap crash that often happens in longer playsessions on servers with many different maps
also fixes some music changes which are set to fade the music volume that sometimes crash the game
Both are Backports from SRB...Fixes FreeMipmapColormap crash that often happens in longer playsessions on servers with many different maps
also fixes some music changes which are set to fade the music volume that sometimes crash the game
Both are Backports from SRB2 and have recently been also merged into Galaxy fork
Credits for those go to Lactozilla from Sonic Team Jr.
I also include a map which i made specifically for testing the Music fade crash
[fadetest3.zip](/uploads/efc13fabe06bb7b3e2caa11b7c3f8bf4/fadetest3.zip)https://git.do.srb2.org/KartKrew/Kart-Public/-/merge_requests/328Fix possible segfault for cvars registered from lua with flag CV_CALL2023-07-29T15:48:35ZIndevFix possible segfault for cvars registered from lua with flag CV_CALLWhen adding cvar via CV_RegisterVar from lua, game uses lua_next to iterate through fields in cvar table, which doesn't guarantee order of keys. So sometimes key `func` could go before key `flags`, and because of that cvar would have fla...When adding cvar via CV_RegisterVar from lua, game uses lua_next to iterate through fields in cvar table, which doesn't guarantee order of keys. So sometimes key `func` could go before key `flags`, and because of that cvar would have flag `CV_CALL` but no func set.