Forest Fortress odd OOB behavior

FoxDude

lazy person
So, if you ever have gone OOB on srb2 you know that around 31000 your position gets reset to the other side of the map?

Well, Forest Fortress decided to not follow that logic and you can go past 31000, which results in a crash, crashes without mods never occur to me, so im looking for an explanation for its weird behavior.

I have no gifs, and have no idea how those work here so just try it out for yourself so you'll see what im saying is true.
(BTW i was playing on web version, no idea if it is an oddity with web version or if it works on other versions (probably yes))
 
So, if you ever have gone OOB on srb2 you know that around 31000 your position gets reset to the other side of the map?

Well, Forest Fortress decided to not follow that logic and you can go past 31000, which results in a crash, crashes without mods never occur to me, so im looking for an explanation for its weird behavior.

I have no gifs, and have no idea how those work here so just try it out for yourself so you'll see what im saying is true.
(BTW i was playing on web version, no idea if it is an oddity with web version or if it works on other versions (probably yes))
By the way I think the exact boundary is 32768 fracunits in 1 direction (65536 total), as Doom (so SRB2 too) usually uses 16-bit integers for stuff, in this case a signed integer (-32768-32768). If you go over the limit, it over/underflows and loops back around.
 
Check if the map has BLOCKMAP or REJECT lumps in its wad within zones.dta. Probably the difference in behavior is due to those two lumps.
 
I don't see why reject would affect this but blockmap that a possbility.

Just tested it and we go to parralel universe and no crash. What you got must be from another reason.
attachment.php
 

Attachments

  • srb20043.gif
    srb20043.gif
    428 KB · Views: 474
Last edited:
I don't see why reject would affect this but blockmap that a possbility.

Just tested it and we go to parralel universe and no crash. What you got must be from another reason.
attachment.php
Did you try it on forest fortress or cez?
Also, i tested on other zones and it overflows and underflows as intended, sorry for the late reply.
 
Hey, another very late update: the same happened in mobile, might be something to do with the port to web or mobile? No idea
 
I don't see why reject would affect this but blockmap that a possbility.

Just tested it and we go to parralel universe and no crash. What you got must be from another reason.
attachment.php
wait, Parallel Universes???? Like in Mario 64?
 
Actually it's an actual copy(or just a warp to the other side of the map) and not only floor collision copy like in 64 but I like naming these parallel universe.
 
Actually it's an actual copy(or just a warp to the other side of the map) and not only floor collision copy like in 64 but I like naming these parallel universe.
I was surprised for a moment because Nintendo would make something this complex with the technology of that era.
 
I was surprised for a moment because Nintendo would make something this complex with the technology of that era.
As far as I know, it’s a glitch that’s only present in SM64 where the game basically repeats the collision map forever. These parallel universes were only accessible through insane speed, which could be achieved through backwards long jumping. If you look up “Watch for Rolling Rocks in 0.5x A Presses” you should find a video that throughly explains it
 
As far as I know, it’s a glitch that’s only present in SM64 where the game basically repeats the collision map forever. These parallel universes were only accessible through insane speed, which could be achieved through backwards long jumping. If you look up “Watch for Rolling Rocks in 0.5x A Presses” you should find a video that throughly explains it
It's just a clone of the collision map caused by parts of the level map using floats and parts of the level map using signed 32-bit integers. SRB2's behavior, whilst sorta similar, I'd argue it's different from Mario 64, as everything is using a signed 32-bit integer, therefore EVERYTHING carries over. In Mario 64, it's just the collision map.
 
It's just a clone of the collision map caused by parts of the level map using floats and parts of the level map using signed 32-bit integers. SRB2's behavior, whilst sorta similar, I'd argue it's different from Mario 64, as everything is using a signed 32-bit integer, therefore EVERYTHING carries over. In Mario 64, it's just the collision map.
I was referring solely to SM64. I have no idea how SRB2 works lol
 
I was referring solely to SM64. I have no idea how SRB2 works lol
That first part was just me explaining SM64. The second was explaining why I'm iffy on calling what happens when you hit the signed 32-bit integer limit on X and Y the same thing.
 
i did notice a duplicate sonic that goes faster i discovered when messing with noclip on gfz1, he's right behind where you start, i would get a screenie, but i couldn't find him right now.
 

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top