Jazz Jackrabbit 2 stores a lot of game information in the computer’s memory. Various programs edit the values stored in the memory to enhance the gameplay. All memory locations are given in hexadecimal.
Something that seems to work in most cases is using the adress you know for 1.23 to calculate the one for 1.24. This doesn’t always work, but the formula is:
1.23 + 0×23620 = TSF
TSF – 0×23620 = 1.23
These are memory variables for which each player has a different address. The addresses here are given for player 1, but they can be shifted to the other players by adding 5A4 to the memory addresses. For example, the address for Player 4’s X-position would be:
5A4EEC + (3*5A4) = 5A5FD8.
This is however not always the case. For example when handling connections the offset is +1AC.
| Address | Type | Description |
|---|---|---|
| 5A4EEC | Integer | X-position in microtwips. |
| 5A4EF0 | Integer | Y-position in microtwips. |
| 5A4EF6 | Short | X-speed. |
| 5A4EFA | Short | Y-speed. |
| 5A4F14 | Integer | The current animation your character is playing (read-only). |
| 5A4F18 | Integer | Freezetime. |
| 5A4F1E | Integer | Health (Range: 0 to 5). |
| 5A4F28 | String | Player name (maximal length: 24). |
| 5A4F68 | Integer | Whether the player is flying. Possible values: -1 for airboard, 0 for no flight, 1 for helicopter ears. |
| 5A501C | Integer | Fastfire: the fastfire delay of the player. |
| 5A5028 | Integer | The current weapon the player is using (Range: 0 to 9, 11,12,13 for ‘secret’ weapons). |
| 5A5080 | Integer | The amount of lives someone has. |
| 5A508C | Integer | How much blink time the player has left, measured in gameticks. |
| 5A52A8 | Integer | The current player score (when in singleplayer mode). |
| 5A52AC | Integer | Echo/shadow of the previous value (score). |
| 5A52B0 | Integer | The amount of gobbled food. Every 100 the player gets a sugar rush. |
| 5A52B4 | Integer | The amount of coins picked up. |
| 5A52B8 | Integer | The amount of gems picked up. |
| 5A52E3 | Integer | Ammo for weapon 1 (Blaster). |
| 5A52E4 | Integer | Ammo for weapon 2 (Bouncers). |
| 5A52E8 | Integer | Ammo for weapon 3 (Etcetera). |
| 5A52EC | Integer | Ammo for weapon 4. |
| 5A52F0 | Integer | Ammo for weapon 5. |
| 5A52F4 | Integer | Ammo for weapon 6 (multiplied with 32). |
| 5A52F8 | Integer | Ammo for weapon 7. |
| 5A52FC | Integer | Ammo for weapon 8. |
| 5A5300 | Integer | Ammo for weapon 9. |
| 5A5308 | Integer | Ammo for weapon B (Fire shield shots). |
| 5A530C | Integer | Ammo for weapon C (Etcetera). |
| 5A5310 | Integer | Ammo for weapon D. |
| 5A5308 | Boolean | Whether weapon 1 is powered up or not (0 or 1). |
| 5A5309 | Boolean | Whether weapon 2 is powered up or not (0 or 1). |
| 5A530A | Boolean | Whether weapon 3 is powered up or not (0 or 1). |
| 5A530B | Boolean | Whether weapon 4 is powered up or not (0 or 1). |
| 5A530C | Boolean | Whether weapon 5 is powered up or not (0 or 1). |
| 5A530D | Boolean | Whether weapon 6 is powered up or not (0 or 1). |
| 5A530E | Boolean | Whether weapon 7 is powered up or not (0 or 1). |
| 5A530F | Boolean | Whether weapon 8 is powered up or not (0 or 1). |
| 5A5310 | Boolean | Whether weapon 9 is powered up or not (0 or 1). |
| 5A534C | Integer | The shield currently selected. |
| 5A5350 | Integer | Amount of shield time left, measured in gameticks. |
| 5A535C | Integer | The current player character. (Jazz=54, Spaz=85, Bird=8, Frog=46) |
| 5A5360 | Integer | The original player character (before possible morphing). |
| 5A539C | Integer | The amount of sugar rush time left, measured in gameticks. |
| 5A53D2 | Short | Camera Position X |
| 5A4F74 | Short | Camera Position Y |
| 5A5410 | Integer | The amount of roasts the player has. |
| 5A544C | Integer | Fur color. |
| 5A5458 | Integer | The team the player is on. (0=Blue, 1=Red). |
| 5A545C | Integer | Has flag? (0=No flag, 12=Blue, 96=Red). |
| 5A5464 | Integer | The ID of the socket the game is currently using. |
| 5A5468 | Integer | The player number within the local computer itself (range: 0 to 3). |
| 5A546C | Integer | Player in F9-list (0=Player doesn’t exist, 2=Otherwise). |
| 5FB21C | Integer | Player connected (5=True, 0=False, 1=muted, uses 1AC as offset). |
These memory addresses store general information about JJ2. Modifying them will affect every player on the computer.
| Address | Type | Description |
|---|---|---|
| 4CA910 | Boolean | Playernames visible or not (same as F8) |
| 4CDA24 | String | Version of JJ2 that is running. |
| 4D3E30 | Integer | Whether the sounds are muted or not. (0=muted, 1=unmuted) |
| 4D3E34 | Integer | Whether the music is muted or not. (0=muted, 1=unmuted) |
| 4F8E10 | HINSTANCE | JJ2’s instance handle. |
| 4F8E1C | HWND | JJ2’s window handle. |
| 4F8E44 | HMENU | JJ2’s menu handle. |
| 514DAC | Integer | Level width in tiles. |
| 518E0C | Integer | Level height in tiles. |
| 52A522 | Boolean | Game loop running or not. |
| 5A4F94 | Boolean | Unable to make another doublejump or not |
| 58A5A0 | Integer | How long the gameloop has been running, in gameticks. |
| 547313 | String | Current level name. |
| 547373 | String | The filename of the next level. |
| 5473b3 | String | Level music. |
| 57AA40 | Integer | No wallclipping (jjnowall effect, 1=True, 0=False). |
| 58A641 | String | Chatstring |
| 5A4740 | Integer | Score for the blue team. |
| 5A4744 | Integer | Score for the red team. |
| 5A4B64 | Integer | simulates F9 |
| 5A4B68 | Integer | Game mode (0=Singleplayer, 1=Cooperative, 2=Battle, 3=Race, 4=Treasure, 5=CTF). |
| 5A4D00 | Integer | Number of players in game from your jj2-client. |
| 5C6900 | Integer | Whether you talk in teamchat or not. (0=public chat, 1=blue chat, 2=red chat) |
| 5D012C | Integer | Whether the “chatbox” is open or not. (1/0) after that it functions as chat string length counter, meaning that if the chatstring is one character, then the value will be 2. |
| 5D01D0 | Integer | Maximal score. |
| 5D0204 | String | Current level filename. |
| 5DB7F0 | Integer | Change to 6 to restart level. |
| 5F7CA0 | Integer | Height, camera-view. |
| 5F7D40 | Integer | Width, camera-view. |
| 5FB188 | String | Server name. |
| 5FB1C8 | String | The server password. |
| 5FCCE9 | Integer | Maximal amount of allowed players in server. |
| 5FCCEA | Boolean | Private server (1=True, 0=False). |
| 608A00 | Boolean | Running or not |
The only difference with memory addresses for 1.23 is the actual address. Getting the memory address for any other player than player 1 is done the same way as in 1.23.
| Address | Type | Description |
|---|---|---|
| 5C850C | Integer | X-position. |
| 5C8510 | Integer | Y-position. |
| 5C8534 | Integer | Player’s current animation |
| 5C8538 | Integer | Freezetime. |
| 5C8550 | Byte | Player has the flag? (0×0=false;0×7C=true) This is what JJ2+ uses to add the * to a name. |
| 5C853E | Integer | Health |
| 5C8548 | String | Player name (maximal length: 24). |
| 5C8588 | Integer | Flying or not. (-1=airboard, 1=copterears, 0=none) |
| 5C863D | Integer | Fastfire delay. |
| 5C8648 | Integer | Selected weapon |
| 5C86A0 | Integer | Amount of lives. |
| 5C86AC | Integer | Blinktime left. |
| 5C88C8 | Integer | Singleplayer score. |
| 5C88D0 | Integer | Amount of gobbled food. |
| 5C88D4 | Integer | Coins. |
| 5C88D8 | Integer | Gems. |
| 5C8980 | Integer | Original character. |
| 5C89BC | Integer | Sugar rush time. |
| 5C8900 | Integer | Ammo for weapon 1. |
| 5C8904 | Integer | Ammo for weapon 2. |
| 5C8908 | Integer | Ammo for weapon 3. |
| 5C890C | Integer | Ammo for weapon 4. |
| 5C8910 | Integer | Ammo for weapon 5. |
| 5C8914 | Integer | Ammo for weapon 6. |
| 5C8918 | Integer | Ammo for weapon 7. |
| 5C891C | Integer | Ammo for weapon 8. |
| 5C8920 | Integer | Ammo for weapon 9. |
| 5C8928 | Boolean | Power up? gun 1 |
| 5C8929 | Boolean | Power up? gun 2 |
| 5C892A | Boolean | Power up? gun 3 |
| 5C892B | Boolean | Power up? gun 4 |
| 5C892C | Boolean | Power up? gun 5 |
| 5C892D | Boolean | Power up? gun 6 |
| 5C892E | Boolean | Power up? gun 7 |
| 5C892F | Boolean | Power up? gun 8 |
| 5C8930 | Boolean | Power up? gun 9 |
| 5C896C | Integer | Shield-number (Range: 0 to 4). |
| 5C8970 | Integer | Shield-time. |
| 5C897C | Integer | Current character. (jazz=55, spaz=89, lori=61, bird=8, frog=47) |
| 5C8A30 | Integer | Roast amount. |
| 5C8A6C | Integer | Fur colour. |
| 5C8A78 | Integer | Team player is on. |
| 5C8A7C | Byte | Color of players flag. (0×0=no flag; 0×5=blue flag; 0×80=red flag) |
| 5C8A84 | Integer | Connected? (5=True, 0=False, uses 1AC as offset). |
| 61E83C | Integer | F9-list (2=True, 0=False). |
| Address | Type | Description |
|---|---|---|
| 4C6928 | Boolean | Playernames visible or not (F8). |
| 4C9bE8 | String | JJ2 version. |
| 4F036C | Integer | Your playernumber (zero-based). |
| 4F33F0 | HINSTANCE | JJ2’s instance handle. |
| 4F33FC | HWND | JJ2’s window handle. |
| 4F341C | HMENU | JJ2’s menu handle. |
| 54D573 | String | Next level filename. |
| 54D5B3 | String | Current level music. |
| 59E060 | Boolean | Jjnowall. |
| 5ADBC0 | Integer | How long the game loop has been running (gameticks). |
| 5ADC61 | String | Chatstring. |
| 5C7D60 | Integer | Blue score. |
| 5C7D64 | Integer | Red score. |
| 5C8184 | Integer | Simulates F9. |
| 5C8188 | Integer | Game mode. |
| 5C8320 | Integer | Number of players in game from jj2 client. |
| 5C85B4 | Boolean | Unable to do another double jump or not? |
| 5E9F20 | Integer | Whether you talk in teamchat or not. (0=public chat, 1=blue chat, 2=red chat) |
| 5F374C | Integer | Whether the “chatbox” is open or not. (1/0) after that it functions as chat string length counter, meaning that if the chatstring is one character, then the value will be 2. |
| 5F37F0 | Integer | Max score. |
| 5F3824 | String | Current level filename. |
| 5FEE10 | Integer | Set to 6 to restart level. |
| 61E7E8 | String | Server password. |
| 620309 | Integer | Max players (1-32) |
| 62030A | Boolean | Private server (1=True, 0=False). |
| 62C020 | Boolean | Running? |
Jazz2Online © 1999-INFINITY (Site Credits). Jazz Jackrabbit, Jazz Jackrabbit 2, Jazz Jackrabbit Advance and all related trademarks and media are ™ and © Epic Games. Lori Jackrabbit is © Dean Dodrill. J2O development powered by Loops of Fury and Chemical Beats.
Original site design by Ovi Demetrian at GotToSeeIt.com. DrJones is the puppet master. Eat your lima beans, Johnny.