Sonic Robo Blast 2 Changelog

What's new in Sonic Robo Blast 2 2.1.24

Jun 10, 2019
  • APNG recording should now work in the Linux/Mac versions.
  • Added the “banip” command, for banning people by IP.
  • Editing enchancements for music: song length, positioning, and fading features with Linedef Exec and Lua support (aka Digiku’s”MusicPlus”: see https://git.magicalgirl.moe/STJr/SRB2/merge_requests/447 for full documentation)
  • Fixed dedicated servers timing out after the credits.
  • OpenGL: Sprite billboarding can be enabled with the “gr_spritebillboarding” console variable. This just means they’ll always face the camera rather than looking flat as paper.
  • “localhost” now works as a valid IP address to join again, after being broken since version 2.0. This means people can now join their own servers without needing to find out their local IP anymore.
  • Flash palettes can now appear in screenshots.
  • Fixed crashes in netgames that can occur in levels from PK3 files.
  • Fixed some elusive software renderer glitches that sometimes effected lighting on FOFs
  • An error message is now displayed if you mistakenly added a PNG graphic for a sprite or texture when you shouldn’t have.
  • The game should no longer be marked as modified if you added replacements for many HUD graphics, the game’s console font, or some of the graphics used in the menus.
  • Oh, yeah, and we doubled all the freeslots for editing resources, which was the whole point of this patch. =P

New in Sonic Robo Blast 2 2.1.23 (Jan 3, 2019)

  • Campaign savegames are fixed: The two of you who play SRB2 have pointed out that Single Player savegames do not actually save your progress, even if you selected a save slot. We fixed this so that you can now get out of your chair and grab a cup of milk before you finish the game.

New in Sonic Robo Blast 2 2.1.19 (May 29, 2017)

  • Netgame fixes:
  • Patched a few more crash-causing exploits enabled by malformed packets, as discussed above.
  • Fixed cooperative intermission bonuses such as extra lives not being awarded server-side on dedicated servers, leading to desynchronisation.
  • Fixed an issue where you could join a netgame despite having too many files loaded to be able to match the server’s file list, leading to desynchronisation.
  • Fixed an issue where you stayed connected to a netgame when you have too many files loaded to apply one the host added, leading to desynchronisation.
  • Inform the adminplayer when they send an addfile request that can’t be completed because the host has too many files added.
  • Fixed a bizzare issue where, if you quit a server the moment you create it, you will be instantly kicked if you make a new one.
  • Minor, unrelated fixes:
  • Fixed an issue where missiles were able to effortlessly glide up slopes without exploding.
  • Corrected a log message informing the player that they had extra colormaps on game startup when none were actually available.
  • Removed a typo resulting in the NiGHTS capsule having the red ring’s skincolor applied on spawn.

New in Sonic Robo Blast 2 2.1.17 (Jan 17, 2017)

  • Netgame stability:
  • Fixed an issue where the server wouldn’t resend packets properly. (This is a gross simplification of the issue, but it gets the general point across.)
  • It is now possible to ‘kick’ a player in mid-join, while they are downloading the game state.
  • Downloading files is now much faster, and significantly more reliable.
  • Various other minor stability improvements made during testing of the above fixes.
  • The console has been heavily revamped:
  • It’s now possible to move the input cursor left and right, as well as selecting multiple characters at the same time using the shift keys.
  • Clipboard support has been added. CTRL+C copies selected text, and CTRL+V pastes any text that’s in your clipboard, similar to most other programs.
  • Fixed pressing multiple modifier keys down at the same time.
  • Collision fixes:
  • Fixed Knuckles being able to climb on air.
  • Fixed upside-down springs launching themselves off of ceilings again.
  • Fixed springs (and any other non-moving objects with gravity) falling through one-way platform blocks.
  • Jumping into a solid object now properly stops your momentum.
  • Collision boxes for solid objects now extend downwards properly.
  • Software renderer fixes:
  • Players don’t visually disappear into FOFs anymore if they have multiple overlays (such as the Elemental or Armageddon shields) attached to them and spindash on top of it.
  • Polyobjects planes no longer cause crashes, and translucent ones no longer lose their translucency in some situations.
  • The game no longer crashes if you view a wall with an invalid, but well-defined “texture” name (e.g.: a sound effect name, for the Play Sound linedef).
  • Repeating Midtextures no longer have messed up lighting under certain circumstances.
  • Fixed animated textures with holes displaying garbage for the first frame they’re visible.
  • OpenGL renderer fixes:
  • Fixed MD2 models with too many vertices causing memory corruption; these MD2s are ignored instead.
  • Precipitation (rain, snow, etc.) actually shows up now.
  • More minor unrelated changes and/or fixes:
  • The MobjThinker, MobjCollide and MobjMoveCollide hooks have been optimised, reducing their negative impact on performance in large maps.
  • Fixed problems with Egg Guards’ shields exploding a physically impossible number of times.
  • Fixed issue with switching skins incorrectly being allowed during credits and custom cutscenes in single-player.
  • Fixed the FixedFloor, FixedTrunc, FixedCeil and FixedRound Lua functions returning garbage.
  • Rope hangs and zoom tubes have smoother behavior near their waypoints.
  • Pusher specials applied to FOFs now properly account for slopes applied to the bottom plane.
  • The ” character is now treated as whitespace in TEXTURES and ANIMDEF lumps, allowing for better compatibility with SLADE’s relevant lump-editing tools.
  • Providing negative scales to v.drawScaled in Lua doesn’t crash anymore.
  • Changing sector flats in netgames using Lua scripting no longer causes the game to crash for new joiners.

New in Sonic Robo Blast 2 2.1.16 (Sep 6, 2016)

  • General:
  • We, uh, accidentally compiled 2.1.15 without any optimizations turned on. Sorry about that – the framerate in this version should be way better…
  • Knuckles can now climb on one-sided linedefs that don’t have the No Climb flag. This means thok barriers are no longer needed outside of decorative uses.
  • Fixed an issue where colliding with the edges of Mario blocks, bustable FOFs, and bouncy FOFs was extremely unreliable.
  • Fixed falling through a reverse platform FOF clipping you downwards (and vice versa with reverse gravity and normal platforms).
  • Fixed FF_SHATTERBOTTOM FOFs acting like THZ goop when stood on.
  • Thrown match emeralds now disappear in death pits instead of uselessly bouncing off.
  • Fixed an issue where the NiGHTS drone was visible at the end of a special stage for a single tic.
  • P_GetMobjGravity(mobj) is a new function available to Lua.
  • You can now disable the weapon rings and power stones displays from ringslinger gametypes using Lua.
  • Single-sided linedef skewing now behaves like midtexture skewing; the No Midtexture Skew linedef flag disables, instead of it being on by default.
  • Fixed several issues with the Solid Midtexture linedef flag not playing nicely with the Peg Midtexture and Repeat Midtexture flags.
  • Cleaned up the error message when failing to load a sprite that doesn’t have enough rotations.
  • The game will no longer crash whenever it gets lost trying to find a special linedef from a tag number.
  • Fixed an issue with one custom cutscene immediately following another causing the game to softlock.
  • If the game becomes modified during a record attack run, the run will now immediately end.
  • Using the -warp game startup parameter will now let you know if you are attempting to access an invalid map lump.
  • Fixed zero-length REJECT lumps reading from arbitrary memory.
  • Slopes:
  • Teetering on the edge of platforms and ledges now takes slopes into account.
  • Slopes can have their physics disabled by applying the No Sonic linedef flag to their master linedef. (Zone Builder will probably rename that linedef flag for the slope types soon enough, but until then…)
  • Slope physics now take sector gravity into account.
  • Non-player objects are now able to move up and down slopes much smoother.
  • Vertex slopes now crash with a descriptive error message if they’re set up incorrectly.
  • Fixed a crash caused by hitting a bouncy wall whilst on a slope.
  • Fixed an issue where Knuckles attempted to climb on thin air above a slope in 2D mode.
  • Bustable FOFs with sloped planes now have accurate collision bounds.
  • Running into a spring or gas jet on a slope will now always send you on the correct path instead of at an awkward angle.
  • Fixed gas jets having dance parties on slopes.
  • Software:
  • Fixed most, if not all, crashes caused by drawing parts of textures offscreen. These crashes alone caused many of the annoying crashes people have recently been reporting, so software mode should now be a lot more stable to play with.
  • Fixed sloped FOF planes with translucent pixels losing their translucency when enveloped in a colormap.
  • Fixed a crash caused by wedge-shaped FOFs mistakenly attempting to draw the top of its side textures below its bottom.
  • Fixed skybox positioning being visually inconsistent between chasecam and first person mode.
  • Fixed sprites in skyboxes being drawn with weird artifacting.
  • Fixed the linedef backside textures of polyobjects floating above the polyobject’s position.
  • OpenGL:
  • Lower unpegged is now consistent with the new software mode behavior introduced in 2.1.15.
  • Fixed specific arrangments of floor and ceiling slopes causing HOMs and other visual glitches.

New in Sonic Robo Blast 2 2.1.15 (May 20, 2016)

  • Slopes! Forever is a long time coming. Note that none of the existing levels are modified; you’ll have to wait until 2.2 for that. The primary reason for this release is so that modders can finally use slopes without having to resort to alternate EXEs, as they’ve been doing for months now. Just be warned that while OpenGL has support for slopes, it is only partially complete in that renderer and not fully tested.
  • To go along with slopes, physics have been slightly changed for moving platforms and polyobjects. Jumping off of a platform moving upwards now gives your jump a height boost, for instance.
  • Added FF_ANIMATE, a flag for creating simple, single state animations. Instead of creating 30 states for your 30 frame ring animation, you can now just create one to achieve the same effect.
  • Music slots are removed. No longer do you have to call your music lumps O_MAP##M; you can now call them anything you want. Anything. As long as it’s six or less characters, I guess.
  • Lots of changes and fixes to Lua and SOC. We’ll go over some of the important ones briefly:
  • A PlayerSpawn hook was added to Lua, allowing a lot easier and better control over what happens when players spawn or join the game.
  • The lines comprising a sector may now be gotten in Lua with (sector).lines.
  • HUD scripts in Lua can now access the game’s current resolution (width and height), along with dupx and dupy (the sizes for automatic patch scaling).
  • “Lua.” custom level header options in SOC won’t eat parts of future level header definitions by mistake. We made sure to feed the parsers properly this time, with high quality kibbles and bits.
  • “MUSIC = (name)” was added to level headers and cutscenes in SOC to accommodate the above removal of music slots.
  • A lot of error messages were changed to make what’s going wrong easier to understand, especially variable out of range errors.
  • SOC scripts can now be named SOC_****, to go along with Lua scripts being named LUA_****. This means you can actually organize multiple SOC scripts into WAD files, instead of having to stick everything in MAINCFG.
  • Fixed issues with polyobject spawning and other assorted weird things they would do.
  • Fixed pro-strat launching-yourself-off-CEZ-chains-within-1-tic abuse. Sorry, speedrunners.
  • Fixed a lot of bugs in the menu relating to pressing combinations of enter and escape rapidly. Sorry, keyboard mashers.
  • Fixed a very, very long-standing bug where garbage would be drawn to screen in certain situations if you ran under or flew over an FOF.
  • Minor map adjustments and fixes, scattered throughout the single player maps and multiplayer maps.
  • Lastly, in this little space at the end of the ‘important’ patch notes, I would like to give a sad goodbye to our old friend, That One Snailer. You all know him very well, but now he is no longer with us. He will be missed. (not)
  • The game’s internal PRNG was changed to an xorshift* PRNG, which is hopefully faster and more random than the PRNG previously used. Some functions have also been updated to take advantage of this, as the new PRNG now returns fixed point numbers from [0, 1) instead of single bytes.
  • P_Random() is deprecated, function renamed to P_RandomByte()
  • P_RandomFixed() was added (fetches a fixed point number from [0, 1) straight from the PRNG)
  • P_RandomChance(p) was added (returns true p% of the time, where p is a fixed point number from 0 to 1; for example, P_RandomChance(FRACUNIT/2) returns true 50% of the time)
  • Lua and SOC fixes and changes not listed above:
  • Garbage cleanup now per step instead of every code execution (speed up)
  • Fixed inconsistent DrawFill behavior between renderers, for Lua scripts using it.
  • Super colors were added to colors list.
  • VERSION, SUBVERSION, and VERSIONSTRING are accessible as constants.
  • EvalMath in Lua is now deprecated and not to be used. Use _G[] instead.
  • Fixed A_ChangeAngleAbsolute in Lua.
  • Fixed FixedDiv(n, 0) and FixedSqrt(-1) crashes (now properly gives an error message)
  • Fixed map header info in Lua being fetched wrong (strings held garbage data, which messed up comparisons)
  • tan() fixed — requires using tan(angle, true) for backwards compatibility purposes
  • NetArchiveHook fixes. Still don’t know if it works, but there’s a better chance it does now.
  • P_ClosestPointOnLine supports defining an arbitrary line
  • Player times hit added (was previously missing)
  • “TITLE”, “EVALUATION”, “CREDITS” are now accepted alternates for level header nextmap = 1100, 1101, 1102
  • Fixed fades. For Software, they work a bit faster. For OpenGL, they actually work all the time now.
  • Fixed FLIPCAM2 not actually being initialized, and thus not usable.
  • Fixed ‘allocating’ out of range map headers when going to the credits. This caused very, very rare crashes if the stars aligned just perfectly.
  • Fixed springs launching unrelated things into the air in weird cases.
  • Fixed the lack of respawn invulnerability in Race.
  • Fixed F12ing a player in analog mode causing the player’s camera to be rotated when returning to their view.
  • Fixed F-keys that go to menu options going to the wrong menus if you backed out.
  • Fixed the Recycler partying like it was 2010 again and shuffling Super status away from Super players.
  • Fixed the edges of the BLOCKMAP not working properly sometimes (running past one-sided linedefs, etc).
  • Fixed the old special stage timer disappearing.
  • Fixed lighting parity between resolutions.
  • Fixed lighting oddities when changing FOF flags through the linedef executor.
  • Fixed backwards Tag/Hide and Seek suicide conditions.
  • Fixed bad skin names locally causing problems such as being completely unable to move.
  • Fixed the OpenGL ghosting effect mentioned in the previous release.
  • Temporarily removed the ability to change MIDI volume, due to the headaches caused by it (Spontaneous muting of the EXE, the volume getting adjusted in Windows Mixer for no good reason, etc)
  • Portals now properly draw the sky from the viewpoint the player would have if they were actually at that position, and they don’t screw up the sky for the regular view anymore either.
  • Spectators being crushed no longer prints a death message.
  • Improvements to splitscreen:
  • In co-op, both players can trigger the game over music.
  • In co-op, the music will return to normal after a game over after enough time, like it does online.
  • In CTF, improved sound cues.
  • The palette cycling for Super players was slowed down significantly.
  • Custom characters can now freely set the flag to turn Super, and Super Sonic’s float is no longer automatically given to them whether they want it or not
  • If you can turn super after getting all the emeralds, the Special Stage score tally screen now tells you this.
  • Special stages now fade to white with a sound effect when you enter them.

New in Sonic Robo Blast 2 2.0.6 (Oct 12, 2013)

  • General:
  • OpenGL has officially been enabled, use the -opengl parameter to activate it. As always, OpenGL is unsupported, so if something doesn't display right, we're not going to be worrying about it.
  • Compiled the EXE using GCC to prevent errors concerning consistency protection and dedicated servers.
  • Added support for per-level palettes.
  • Moved SRB2’s levels to a new resource file, zones.dta.
  • PNG screenshots now include map, level, and location metadata.
  • Updated SOCEdit to function with the latest version of SRB2.
  • Brak Eggman’s missiles now aim slightly above the player, rather than at their feet.
  • Hall of mirrors protection now defaults to off due to framerate problems in 2.0.5.
  • Levels:
  • GFZ1:
  • Thickened the thok barrier around the spikes, preventing the player from being able to spindash through it.
  • Altered the tunnel near the start and the tunnel near the emerald token to use FOFs.
  • GFZ2:
  • Fixed a few hall of mirrors.
  • Fixed a bad midtexture offest.
  • DSZ1:
  • Fixed a rather ugly broken sector.
  • Fixed columns not having water in them after receding.
  • Squared off the outside edges of the broken fountain at the start. It doesn’t look quite the same, but it fixes being able to run straight through some of its walls.
  • Fixed a couple walls in the starting area that didn’t have the NOCLIMB flag.
  • Slightly changed the shape of the broken fountain at the level start, as you could run straight through its low walls.
  • DSZ2:
  • Fixed the waterslide area not having flat scrolling.
  • Hopefully fixed the zoom tube near the emerald token from not always working on the first try.
  • Fixed a rather odd broken sector on the big water slide.
  • DSZ3:
  • Made the center pipe slightly thicker to prevent thokking and spinning through it.
  • CEZ1:
  • Fixed some cliffs that were set as death pits.
  • Fixed a fence section where the fake floor was in a different place than the fence graphic.
  • Fixed some rings that had the wrong offset.
  • CEZ2:
  • Fixed a button not going down all the way.
  • Fixed a set of three flags being in a stupid location.
  • Fixed not being able to get Tails’ emblem and restored the FOFs that go over the spike balls in that room.
  • Fixed a waving polyobject flag being rotated to the right upon one of the buttons being hit.
  • ACZ1:
  • Fixed the tops of some pulleys being death pits.
  • Fixed rope stack from not all scrolling properly.
  • Fixed ropes scrolling improperly.
  • RVZ1:
  • Replaced depreciated air bobbing platforms with the correct bobbing platform.
  • Did a find and replace to get rid of the old lava textures/flats and replace with the new ones.
  • Restored the springs used to propel oneself out of the lava after collecting the emerald token to their former location.
  • Moved a spring that was in a strange location to a more logical one.
  • Added three springs in various inescapable places if you were invincible or had an elemental shield.
  • Added a closing rock door to seal players in so they cannot jump on the platform with the end sign, then escape the room before the lava rises up in single player.
  • Fixed the RVZ1 lower path where the lava wouldn’t hurt the player as it drained down the shaft.
  • Fixed a small sliver sector that had no lava in it.
  • ERZ1:
  • Fixed some rings not having their float flag checked.
  • Fixed the large floor to ceiling crusher not having a texture on its back side.
  • Fixed the glass in the scrolling platform room to be the correct size for the opening.
  • Fixed two areas in the conveyor room that didn’t have the correct parameters.
  • Fixed an area where you could flip gravity infinitely over a deathpit.
  • ERZ2:
  • Fixed three areas where there was no death pit effect.
  • Fixed two areas where there was no space countdown effect.
  • Put an invisible barrier over the other end of the shrink machine, so one cannot shrink, go through backward and spam the sound indefinitely.
  • Fixed the conveyor and laser room before the horizontal crushers.
  • NAGZ:
  • Fixed a missing texture.
  • Removed play sound linedef executors.
  • Removed run script linedef executors.
  • Emerald Coast Zone:
  • Fixed some sector borders not having grass.
  • Lime Forest Zone:
  • Fixed a visual glitch where bits of a third flag were appearing.
  • Silver Cascade Zone:
  • Fixed emeralds spawning in walls.
  • Fixed a misplaced ring box.
  • Nimbus Ruins Zone
  • Fixed a monitor spawning inside of a grenade ring.
  • Bugfixes:
  • Fixed CTF flags failing to respawn.
  • Fixed issues with the palette when using Alt-Tab.
  • Fixed an issue regarding NiGHTS bumpers under flipped gravity.
  • Fixed an issue regarding ghost mobjs and FOFs.
  • Fixed gravity-flipped rings not respawning with the correct height.
  • Tweaked the height of flung emeralds to fix an issue regarding their collision.
  • Fixed a few menu strings not having backdrops.
  • Fixed an exploit where emeralds carried over from netgames to single player.
  • Fixed an issue regarding the MOTD and word-wrapping.
  • Fixed RUNSOC modifying the game if it cannot find the specified file.