SRB2JTE is a source code modification for Version 1.09.4 made by Jason the Echidna. As a multi-purpose mod, it contains a lot of different features. Among the most popular of these are bots for Match and Co-op, several custom abilities and super forms for certain addon characters, and an incomplete role-playing map called SA City. These, among other features, have made SRB2JTE the most popular modification of the 1.X era, alongside Mystic Realm. The project has since been discontinued and will not be ported to recent versions of SRB2.
Current release information
- Current version: 1.69.10 (October 22, 2006)
- SRB2 codebase: 1.09.4
- Available at: This place
- Discussion: At the SRB2 Message Board
Special character abilities
SRB2JTE has custom special abilities for certain addon characters. Some of them were ported from an earlier mod by JTE, called SPMoves. These abilities can be used by launching SRB2JTE with one of the additional character WADs listed below. If the player plays as a character whose name matches one of those in the list, the character will have the associated ability. This works with any character as long as the skin name is correct, so it is theoretically possibly to rename a custom character to give it one of the abilities listed below, even if the character wasn't originally meant to have it.
Bots will not use their special abilities in Co-op and Race.
If a skin named Shadow is added, the character will have the ability to use Chaos Control, similar to how he would in SPMoves. To execute Chaos Control, the player needs a Chaos Emerald (of any color) and at least 20 Rings. Ten of them are immediately subtracted upon activating the move, and the rest will be drained constantly while performing the maneuver. To perform it, jump in the air, then hold the Spin Dash button, and press the Jump button again. The maneuver lasts as long as Spin Dash is held. Upon releasing Spin Dash, the player immediately lands on the ground. If using the Software renderer, the palette will change to a neon color as long as you're chaos controlling.
The player will be thrust forward at tremendous speeds and will clip through anything in their path as well as land on top of high platforms when touching their walls. Solid walls will be simply bounced off. It is advised to be cautious when near thok barriers, as executing Chaos Control into them can cause instant death. The player loses height while performing the maneuver, and it will automatically cease when the player touches the ground. Hence, it is advantageous to begin it at high altitudes to maintain it for longer periods of time.
If a skin named Amy is added, the character will be able to triple jump. To execute a triple jump, players need to be running at a decent speed. Execute a normal jump, then just before landing, jump again to double jump. Repeat this process at the end of the second jump to execute a triple jump. Each consecutive jump will be higher than the last, but their heights are fixed (as opposed to the first jump, where letting go of the button early allows for shorter jumps). Jumping must occur before Amy touches the floor, and thus, shallow pools of damaging liquids or damaging floors may be circumvented. However, the third jump can be tricky to pull off due to the high falling speed, and the height it delivers can be excessive for most situations.
Amy also has the ability to perform an air dash in SRB2JTE to make up for her lack of Spin Dash, which is essential to completing certain levels. The move is activated by pressing the Spin Dash button either on the floor or after a single jump. Amy will dash for a seventh of a second, during which time she will be invincible. Holding backpedal when executing it during the ascent of a jump will add extra height to the jump, as opposed to extra distance.
Ring of fire
This ability will only work if the player is playing as an older version of Nitemare which has double jump as an ability, or a skin with the same name and ability. If so, that character will be able to make a temporary ring of fire, destroying surrounding enemies within its radius and giving him a slight double jump. To execute it, you need 20 Rings and must press Spin Dash while in mid-air. Bots don't use this ability.
If a skin named Senya or HMS is added, they will gain the ability to pick up solid Objects such as enemies, pushables or monitors via a press of the Light Dash key. These can then be thrown at opponents with another press of the Light Dash key. Non-solid Objects, however, are immune to being picked up (such as Detons, THZ turrets, and either Eggman boss). The implementation is bugged, as the player can pick up enemies and monitors that have been destroyed; picking up the latter will freeze the program altogether. Bots don't use this ability.
Some characters have different abilities when they go super in SRB2JTE than in regular SRB2. Just as with the normal abilities, these depend on the skin name, so renamed skins will exhibit the same effects. When turning super as any character in SRB2JTE, an excerpt from Supersonic by Bad Religion will play instead of the regular super music. This music choice is a pun on the similarity between the term "supersonic" (faster than sound) and Sonic's super form.
Shadow has a different super form in SRB2JTE than in regular SRB2. Just like the non-super version, he can perform Chaos Control instead of floating like Super Sonic.
Super Metal Sonic
Super Metal Sonic can fly around with the same ease as if he were on the ground. Pressing the jump button makes him ascend into the air, and letting go will make him float back down. Super Metal Sonic can still spindash, and can jump out of a spindash as well (which is the only time he actually jumps). If you switch from Super Sonic to Super Metal Sonic, he will be Metallix until you move.
HMS123311 immediately turns super upon starting any level, regardless of whether he has collected Chaos Emeralds or not. Building on the concept of HMS123311 as an overpowered recolor, his super form receives a lot of intentionally overpowered special abilities. His double jump ability is a multi-thok homing attack with an additional Armageddon Shield blast killing enemies nearby. When holding jump after thokking, he will also perform Chaos Control. Additionally, his jump height, speed and acceleration are drastically increased, he leaves a flame trail when spindashing, attracts nearby Rings, runs on water and can Light Dash. All of these powers are retained for Match and CTF, except for the Armageddon Blast and invincibility.
Bots are computer-controlled players that have been programmed to play Co-op and Match in SRB2JTE. While they can be theoretically used in every gametype, their artificial intelligence doesn't support Race and CTF. In general, their programming is rather basic and incomplete; for example they will not avoid damaging sectors and will sometimes run into solid walls. However, even though they are quite useless in Co-op, they serve as dangerous opponents in Match due to their perfect aim.
Bots are only allowed in multiplayer games, with the one exception that Sonic is entitled to a single Tails bot in Single Player games. This only works if you use the "Sonic & Tails" character select entry. In Single Player and Co-op, bots can collect items for you, but you don't lose Rings when they get hurt or lose a life when they die. They will automatically respawn beside you if they are too far away. Bots can turn super if you have collected all Chaos Emeralds, but they reverted back to their normal form if they respawn.
In general, bots are rather unstable and may crash the game, especially when in a netgame. These crashes are rarer in OpenGL mode, but they happen in both rendering modes.
ADDBOT <skin name> <skin color> <bot name>
Adds a bot to the game (with you as its leader in Co-op). The skin name parameter is optional, and you can put in any skin that you have added to the game. If you don't specify the skin parameter, it will choose a skin for you based on the formula "Your skin + Bot number + 1", which means bot 0 will have the skin after yours, bot 1 will have the skin after that one, etc. The skin color parameter is optional, but can only be used if skin_name was specified. The bot name parameter is optional, but can only be used if skin_name and skin_color were both specified.
To remove a bot, you must use the
KICK command as you would for a normal player, or
KICK ALLBOTS to remove every bot at once.
If set to on, flying bots will be able to carry you just like flying players can. It defaults to off, and cannot be turned on in Single Player games. Use caution when enabling this, as you might accidentally be carried by your own bot without wanting it.
If set to on while in Co-op, bots will collect Rings and destroy enemies on their own, rather than following the player. (Server or Game Admin only)
This is the maximum number of bots that can be in the game in total, except for Co-op, where it sets the maximum number of bots each player can have. It ranges from 0-31 and defaults to 1. If it is set to 0, no bots can be added to the game. Note that bots take up player slots and count towards the
MAXPLAYERS variable. Cannot be changed in Single Player games.
The Supervirus is a recurring prank in SRB2JTE. Throughout development, JTE added different iterations of the same joke, each with the primary objective of surprising the player by interrupting normal gameplay in a very abrupt manner, which has led to many new players getting a good scare out of it. It is not an actual computer virus.
The first iteration of the Supervirus involved typing the message "I carry the Supervirus" into the game console. Immediately the music was changed to a sped-up version of "The Crazy Program" (from Phantasy Star Online), and the player would start moving forward at a fixed speed, free to turn and fly upwards and downwards, but unable to stop. This experience was short-lived, though: A while after the Supervirus had been activated, the player carrying it would suffer a game over, turning their screen into static, while remaining people in the game (if any) would receive a few extra lives. If the virus carrier were to tag another player, the symptoms of the Supervirus would be passed onto them and removed from the original player, making the Supervirus itself a game of hot-potato.
The command to activate this version of the Supervirus has been disabled in the current version of SRB2JTE, and using it will result in instant death.
A different version of the Supervirus was made for the last SRB2JTE release. After a player triggers it, their screen will tint dark red and the Supervirus music will play for everyone. The person who triggered it will begin moving forward like in the original Supervirus, but they cannot die or pass it on to somebody else. Anyone who comes near the player who carries the Supervirus will have their screen interrupted with bursts of static, their gravity will oscillate between normal, very strong and reverse, and their controls will occasionally swap around. If they come even nearer, they will die. The player who triggered the Supervirus can turn it off again by repeating the console command.
The command to activate this iteration of the Supervirus is "i FucKiNgHATEthOSeLOSErZ". Because the console does not differentiate between uppercase and lowercase letters in 1.09.4, the player needs to bind it to a key in their autoexec.cfg file. The command is encrypted in the source code and was originally only given out to selected people to prevent abuse in netgames.
Supervirus Blast 2
When starting up SRB2JTE, there is a chance that the normal title sequences will be replaced by a strange and dark sequence featuring the Supervirus. The Sonic Team Jr. screen is interrupted by a picture of JTE tinted red, while a low-pitch, altered voice is heard saying "Beware the power of the Supervirus". The screen then changes to an altered version of the SRB2 title screen, with Supervirus sprites raining in a different, dark background with Eggman evilly grinning.
The trigger for this is based on your total play time, which means if upon starting the game you get the different intro, exiting the game without entering a level and restarting will make it reappear once more.
One last appearance of the Supervirus happens by chance: Sometimes, when fighting Eggman at Greenflower Zone Act 3, he will deploy a Supervirus shield around his Egg Mobile. This has about 1/8 chance of happening. If you spend 40 seconds on the level without dying or defeating the boss, the screen will start to crackle and tint itself red in a similar fashion as that of the title screen.
Soviet Russia Mode
Soviet Russia Mode is a new difficulty mode added in SRB2JTE that is based on the Russian reversal joke by Yakov Smirnoff. Several game mechanics are reversed in a humorous way, making the game nearly impossible to play. Most notably, instead of the player collecting Rings, the Rings slowly chase after the player and "collect" him once they've reached him. The player sprite will disappear, and the Ring will randomly move around for a few seconds until the player is dropped and can move again. Although the Ring is rewarded to the player after that, this mechanic disrupts gameplay heavily and makes Special Stages nearly impossible.
Additionally, all monitors will "pop" the player on contact, i.e. the player will explode into drops of blood and die. Crawlas jump at the player if they're close enough and are invincible while jumping. All projectile-shooting enemies (including the Egg Mobile) will be shot forward while the projectile stays in place. The Egg Mobile will also make the player dash towards it after six hits instead of dashing forward itself. Upon reaching the End Level Sign, the player will spin in place while the sign stays still. The intermission screen will read "Act passed [character]" instead of "[Character] passed act". Damaging liquids do not hurt the player.
The Dark World system originated in SRB2RP, a 1.08 predecessor of SRB2JTE. It is a level header option that, when activated, creates semi-transparent copies of all sprites at the opposite side of the map. This can be used to create a map that has a "real world" and "dark world", both of which have the same layout but different texturing and items. Shadows of all items in one of the two "worlds" appear in the same place in the other world, visible but impossible to interact with.
To create the shadows, all sprites are mirrored across the point of origin (map coordinates 0,0) onto the other side of the map. This is the only point where the sprites overlap and a player would pass through his own shadow. To create a dark world copy of a map, it must be placed next to the point of origin. Then it must be copied, flipped, and inserted directly opposite to the original across the point of origin. Now the copy can be modified to look different. If necessary, the two "worlds" can be connected via teleporting.
The Dark World system can be activated by adding
darkworld = 1 to the level header. No maps have been created for this system aside from a few test maps.
SRB2 Universe (defunct)
SRB2 Universe was a large addition to past versions of SRB2JTE, which originated in SPMoves. It tries to emulate certain roleplaying aspects, especially from the game Phantasy Star Online, in SRB2. For example, the HUD, the items list and certain other systems are taken from that game. Due to that, it is also known as "PSO mode". It was removed in the last version of SRB2JTE after JTE had stopped working on it, because he thought it was too incomplete to be any fun, though the code still exists in the SVN repository.
Like a roleplaying game, the Universe system creates a character rather than a game. That means that of saving the map you're on as well as the number of lives, continues and Chaos Emeralds, SRB2 Universe saves attributes of your character and your inventory, which can consist of different items and equipment. Instead of a linear progression, there is a lobby from which you can choose the map you want to play. If you've just started a new game and thus haven't been to any maps, you can only play the first map, like in a regular Single Player game. But once you've unlocked the next map, you can decide from a list which map you want to play. The maps themselves have been converted to work with the Universe format.
The lobby you start out in has a menu which allows you to set the difficulty setting. After the lobby, you go to the main hub map. Apart from warping to any map from the list explained in the above paragraph, you can also buy and sell items or store your money and extra items in the bank so they don't clutter the inventory. The hub map is also where SRB2 Universe's unique quests were to be started, but none of these were programmed. You can also go back to the lobby map if you wish to choose a different difficulty setting. Menus are opened with the Light Dash button.
If you want to see the remains of SRB2 Universe in the latest version, type in
MAP MAP21 -FORCE or
MAP MAP22 -FORCE into the console. The former map is the lobby, the latter is the hub map. Note that none of these maps are functional in any way.
These Things were added for SRB2 Universe and SA City, but can be used in normal maps too.
- Thing Type 6000 - Kineso: This is a shop keeper NPC that was meant to play a part in the first unique quest of SRB2 Universe. It is incomplete and unused, and has no sprites, states, or other usefulness.
- Thing Type 6001 - Barrel: This a pushable Thing similar to the gargoyle, except it is as large as the players. Players can jump inside it to hide, and it can be filled with slime, which hurts players inside. It is incomplete.
- Thing Type 6100 - Shopkeeper: This is SA City's shop keeper NPC. It is incomplete, and has only an idle animation.
- Thing Type 6101 - Jason (JTE) Doll: This is SA City's Jason the Echidna doll. It's a pushable Thing similar to the gargoyle, except it has dark red Knuckles sprites.
- Thing Type 6102 - RedXVI Doll: This is SA City's RedXVI doll. It's a pushable Thing similar to the gargoyle, except it has RedXVI sprites.
SRB2JTE allows for shadows of all sprites to be created in OpenGL mode. It serves no purpose aside from aesthetic enhancement. Shadows always point directly away from the camera, rather than having a fixed lighting source. They will not fall up/down walls, but either disappear straight into the wall or straight off it into the air. The feature has been implemented into SRB2 itself from Version 2.0 onwards.
Shadows can be toggled with the
SHADOW variable via the console. It defaults to on, and its value is saved to
config.cfg in SRB2JTE. The
OFFSETSHADOWS variable controls whether shadows are offset depending on height. By default, it is enabled, meaning that shadows will fall farther away the higher up the sprites is. This is more realistic, but turning it off might be considered more practical since the shadows serve as a marker for the location of the Object. For example, if set to off, the shadow of a player in midair will show exactly where he will land.
Lighting and colormaps
In SRB2JTE, OpenGL lighting and colormaps are rewritten, designed around using fog in tangent with the original RGB modulation to produce a desirable fading effect. It can be enabled/disabled with the existing
gr_fog console variable.
In addition to the Easter and Christmas themes, SRB2JTE adds a Halloween theme to the game. It works similarly to the Christmas theme: Several music lumps, graphics, and map headers are changed to fit the Halloween theme. A disruptively heavy fog is also added. The
gr_fog console variable must be enabled in OpenGL, otherwise the screen will be pitch black.
Aside from the date-specific activation, the different holiday themes can also be manually activated via the command line parameter
-holiday [number]. It accepts the following values:
|3||April Fools||Changes the intro cutscene and music to that of an old version of SRB2.|
|4||Easter||Makes the easter eggs spawn in the official levels, just like in regular SRB2.|
|5||Halloween||Activates the Halloween theme.|
|7||Christmas||Activates the Christmas theme. Rather than adding 3drend.dll, the changes are made by the executable itself.|
The changes applied to the game cannot be overridden by adding other files. The parameters
-noxmas are removed in exchanges for this parameter. To compensate,
-noholiday manually deactivates a holiday that would otherwise be triggered.
Q: When I go to a red building in SA City, I see a guy with a whole bunch of toys and stuff, and I'm assuming it's a shop. How do you get it to work?
A: You don't. JTE hasn't programmed it fully, so there isn't really a menu for the shop - if there was, there wouldn't really be anything to buy yet anyway.
Q: Ahh! I can't see Player 1 in splitscreen! What's going on??
A: This is a bug in SRB2JTE Software mode. To use splitscreen in SRB2JTE, OpenGL is recommended.
Q: Why does OpenGL glitch and run slowly in SRB2JTE?
A: SRB2JTE has added OpenGL effects, such as player shadows; try disabling these effects for a smoother framerate. If your game still does not run smoothly, it's probable that your graphics card is old and should be replaced.
Q: Why did I get banned for playing SA City?
A: SA City is considered a hangout level in Co-op mode since there is no way of finishing it. Even though it is possible to have a match, the abuse of this level has led it to being entirely banned from the Master Server.
Q: There is a bot taking over Player 2's screen! What should I do?
A: If you change the amount of players, then add a bot, it takes up the player 2 slot.