Actions

SCHG

Sonic Heroes/EXE Editing

From Sonic Retro

SCHG: Sonic Heroes
Main Article
EXE Editing
EXE Editing
Music Pointers
Model Editing
Model Format
Collision Format
Level Editing
Level List
Object Editing
Object Porting
Visibility Editing
Particle Editing
Particle Editing
Sound Editing
Sound Editing
Music List
Voices


The main EXE of the PC game is Tsonic_win.exe. The EXE is little endian. The pointer key is 0x400000; to find where a pointer points to, you must subtract that from its value.

Mission Tasks

The codes check the requirements for completion in-order to clear a mission such as collecting rings in Team Rose's extra missions. Different codes are scattered throughout the EXE in a number of code sections.

Time Challenges

The entry of each time limit missions start at 0x3C6A68 and the Chaotix section starts at 0x3C6AD8. These set how many minutes the player must qualify to complete the mission.

Timed Mission Entry:
00 00 00 00 00 00 00 00

Offset Description
0x00 Level ID
0x04 Assigned Team ID
0x05 Number of Minutes

List of Missions:

Address (EXE) Address (RAM) Level Team ID Default No. of Minutes
3C6A68 7C6A68 Seaside Hill Team Sonic 05
3C6A70 7C6A70 Ocean Palace Team Sonic 05
3C6A78 7C6A78 Grand Metropolis Team Sonic 05
3C6A80 7C6A80 Power Plant Team Sonic 09
3C6A88 7C6A88 Casino Park Team Sonic 05
3C6A90 7C6A90 BINGO Highway Team Sonic 06
3C6A98 7C6A98 Rail Canyon Team Sonic 05
3C6AA0 7C6AA0 Bullet Station Team Sonic 06
3C6AA8 7C6AA8 Frog Forest Team Sonic 05
3C6AB0 7C6AB0 Lost Jungle Team Sonic 06
3C6AB8 7C6AB8 Hang Castle Team Sonic 06
3C6AC0 7C6AC0 Mystic Mansion Team Sonic 07
3C6AC8 7C6AC8 Egg Fleet Team Sonic 09
3C6AD0 7C6AD0 Final Fortress Team Sonic 09
3C6AD8 7C6AD8 Grand Metropolis Team Chaotix 08
3C6AE0 7C6AE0 Rail Canyon Team Chaotix 06
3C6AE8 7C6AE8 Rail Canyon (Team Chaotix version) Team Chaotix 06
3C6AF0 7C6AF0 Frog Forest Team Chaotix 04

Note: The maximum valid amount of minutes is 128 (80 in hexadecimal), any value above 0x80 will immediately trigger a "Time Up" state after entering the level with the time challenge mission in place.

Team Dark Robot Challenge

This checks for how many robots that need to be destroyed before completing the mission using Team Dark. The default value to how many robots that should be destroyed is 100 (64 in hexadecimal). The value to that code is located at 0x1A9993 and for display is at 0x1A9984.

Team Rose Extra Mission

All extra missions for team rose is ring challenges which applies to all levels in the game.

Address Default Ring Requirements Default (dec.)
1A9E0F C80 200

Team Chaotix Missions

These are the requirements that are set for the missions assigned to the team. This does not include time challenges, missions that only scan layouts for a number of said objects on both modes nor anything that does not have any requirements except for reaching the goal ring.

Address (Normal) Address (Extra) Mission Level Default Required Amount (hex.) Default Required Amount (dec.) Default Required Amount (Extra) (hex.) Default Required Amount (Extra) (dec.) Note(s)
4BF420 4BF424 Collect Hermit Crabs Seaside Hill 0A 10 N/A (detects how many are placed) N/A (detects how many are placed)
4BF428 4BF42C Chao Rescue Ocean Palace 01 1 01 1
4BF438 4BF43C Destroy the Gold Turtles Power Plant 03 3 05 5
4BF440 4BF444 Ring Collection Challenge Casino Park C800 200 F401 500 Not used. The ring amount is checked by the ring check opcodes instead.
4BF448 4BF44C Casino Chip Collection BINGO Highway 0A 10 N/A (detects how many are placed) N/A (detects how many are placed)
4BF458 4BF45C Destroy the Capsules Bullet Station 1E 30 N/A (detects how many are placed) N/A (detects how many are placed)
4BF468 4BF46C Collect the Chao Lost Jungle 0A 10 N/A (detects how many are placed) N/A (detects how many are placed)
4BF488 4BF48C Collect Eggman Keys Final Fortress 05 5 0A 10

These are the codes that check for how many rings you have before completing the mission in Casino Park.

Address Mission Type Level Default Ring Requirements (Normal) Default Ring Requirements (Extra) Default (Normal) (dec.) Default (Extra) (dec.)
1A9DE5 Ring Collection Challenge Casino Park C800 F401 200 500

Start/End Positions

Start Positions

List of single player start positions begins at 0x3C2FC8. Each level array has the first 4 bytes setting the level number at the first byte and five 0x1C entries for the four teams and Super Hard (although the Super Hard entry seems to be ignored, it uses Team Sonic's instead). Note that the level IDs used are not the same ones as the level and object lists, they are the ones used in RAM, for example Seaside Hill is 02

Start position entry:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Offset Type Description
0x00 Float X Position
0x04 Float Y Position
0x08 Float Z Position
0x0C Word Pitch (direction)
0x14 Byte Mode
00: Normal
01: Running
02: Rail
0x18 Word Hold time
Time spent running

Ending Positions

List of ending positions begins at 0x3C45B8. These are the places where each team does their victory animation and the results are displayed, after the mission is finished. Each level array has the first 4 bytes setting the level number at the first byte and five 0x14 entries for the four teams and Super Hard. This section has data for single player and multiplayer modes.

End position entry:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Offset Type Description
0x00 Float X Position
0x04 Float Y Position
0x08 Float Z Position
0x0C Word Camera pitch
Angle from which the characters are seen
0x0E Word ? (Always FF FF)
0x10 Long Null

Multiplayer Positions

List of multiplayer start positions begins at 0x3C5E18, after the ending positions. This section has data for the Team Battles and each multiplayer level. The entries are the same as single player start positions, but only have two position entries instead of 5, for the first and second players.

List of multiplayer "bragging" positions begins at 0x3C6380, after the multiplayer start positions. These are the positions where each team makes a comment to the other one, before the multiplayer match starts. This section only has data for each multiplayer level, not the Team Battles. The entries follow the same format as single player ending positions, with five entries.

Debug Mode

The debug mode is always hidden during gameplay, but it can be enabled by replacing the original bytes in the EXE with these in-order to display them.

Debug Type Address (EXE) Address (RAM) Original Bytes Replace With Notes
General Debug 21D35D
21D376
61D35D
61D376
89 15 48 0B A6 00
CC CC CC CC CC CC CC CC CC
EB 17 90 90 90 90
C6 05 48 0B A6 00 00 EB E4
The default value for the second string below the first one to replace is 00,
replace the default byte before "EB" to any other value to enable the debug interface.
It will change the value for the player info which would say "1P Info" if the code string at 0x21D376 is C6 05 48 0B A6 00 01 EB E4.

Splines (incomplete)

Splines set path data for autoloops, rails and probably other path data. The arrays for each level are located in various different places in the EXE. What is known is that each level has a list of pointers. Each pointer points to a spline header, which is defined below. Each spline header points to its list of vertices.

A search reveals there are apparently 62 autoloops and 1075 rails in the entire game. It's possible that some paths are made of multiple splines though.

Grand Metropolis pointer list starts at 0x4B5B60. There are 12 pointers in it. It's not known what points to this list yet. The headers for the splines themselves are just before this pointer list.

Header entry:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Offset Type Description
0x00 Word Always 01 00
0x02 Word Number of vertices
0x04 Float Total length of spline
0x08 Pointer (Long) Pointer to first vertex of spline
0x0C Pointer (Long) Type of spline
0x433970 (Autoloop)
0x4343F0 (Rail)

Point entry:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Offset Type Description
0x00 Long Unknown flags (speed?)
0x04 Float Distance to next point
Last one is 0
0x08 Float X Position
0x0C Float Y Position
0x10 Float Z Position

Tutorial Mode Team Defaults

Team Sonic is the default team used for the tutorial mode, but using another team for the tutorial mode requires the following codes to be replaced by the values.

Address (EXE) Address (RAM) Original Bytes Replace With
50383 450383 89 1D 20 69 8D 00 EB 5F 90 90 90 90
503E4 4503E4 CC CC CC CC CC CC CC CC CC CC CC CC C7 05 20 69 8D 00 00 00 00 00 EB 99

Once you have replaced the bytes, the

C7 05 20 69 8D 00 00 00 00 00 EB 99

Offset Type Description
0x06 Byte Team ID

Replace the 6th byte with the following IDs to use for the tutorial stage.

ID Team
00 Team Sonic
01 Team Dark
02 Team Rose
03 Team Chaotix

Field of view

The EXE provides perspective views using FOV for each type of camera in every mode. This list shows where the FOV codes are located in.

Address (EXE) Address (RAM) Type FOV Type Default (hex) Default (dec.) FOV Change Notes/Warnings
21E5AC 61E5AC Float In-game Aspect Ratio 43961D3F 0.615574 Horizontal Not used.
21E5B8 61E5B8 Float In-game Aspect Ratio 0000803E 0.25 Vertical Same as above.
21E5CE 61E5CE Float In-game Aspect Ratio 43969D3E 0.307787 Horizontal
21E5DA 61E5DA Float In-game Aspect Ratio 43961D3F 0.615574 Horizontal If the float value is higher and being used in 2 Player battle, the camera will zoom in.
21E5E4 61E5E4 Float In-game Aspect Ratio 0000003F 0.5 Vertical Same as above.
25811A 65811A Float Global FOV 0000803F 1 Tied Values lower than 3F800000 will decrease the plane clipping resulting an un-viewable state. The higher the FOV is, the more fog is introduced.

Story Scene/Victory FOV

These cut-scenes have codes that multiply the float values to change the camera FOV on in-game scenes and victory screens. To alter these, you will need to paste-write your own float value somewhere in the exe where there's more space and not used by it like at 0x31CFF8 for the horizontal FOV and 0x31CFFC for the vertical FOV. Before doing so, you will need to convert the desired float value from big endian to little endian on these addresses. As for the address (executed by the codes) to load the float value you placed in the EXE, you will need to add the EXE address with the value of 400000 (example: 31CFF8 + 400000 = 71CFF8). After that, convert the address array to little endian and then replace the address the code uses with the one where you place the float value from in little endian RAM address. The following addresses are the codes that load the FOV float values from.

Address (EXE) Address (RAM) FOV Type Default RAM Address Array Default (hex.) Default (float) FOV Change
21E532 61E532 X Aspect Ratio C89F7800 0000003F 0.5 Horizontal
21E546 61E546 Y Aspect Ratio 10A27800 9DEFCF3E 0.406124979 Vertical

Note: Don't forget to preview it when the game is running to ensure it's working properly and you're happy with the results you've got after altering the field of vision for the cut-scene camera. The quickest way to preview the changes is to pick a stage on the story mode selection screen that has the cut-scenes like Rail Canyon for example.

EXE defined particle settings

Almost all particles are stored in the *_ptcl.bin, but a few particle settings for other particles are only in the EXE where they are stored beyond 0x4DB60C. Each array entry is 0x18 bytes long as it follows this:

00 00 00 00 48 6E 7C 00 00 00 00 00 12 01 00 00 0C 00 00 00 FF FF FF FF

Offset(s) Type Description Notes
0x04 4 Bytes Address? Some offsets do not have this
0x0C Byte Blend Mode
0x0D and 0x10 Byte Unknown
0x14 4 Bytes Always FF FF FF FF

The alpha blend types used for the particles such as the ones for the Hint Ring are logical bytes. A list of blend types are defined by the source code:

Bytes Description
01 Normal Alpha
02 Additive Alpha
04 Subtractive Alpha
11 Normal Alpha (Hint Ring)
12 Additive Alpha (Hint Ring)
14 Subtractive Alpha (Hint Ring)

The following particle setting entries for each EXE generated particles used in the EXE are stored in the following addresses:

Particle Address (EXE) Address (RAM) Default Value (0x0C)
Hint Ring Circles (Subtractive Layer) 4DB60C 8DB60C 14
Hint Ring Circles (Additive Layer) 4DB624 8DB624 12
Rain Drips 4DB648 8DB648 02
Sparkles 4DB660 8DB660 02

Super Hard Challenge

Default Teams

The team that is always loaded on Super Hard is Team Sonic, but it can be rearranged thanks to the guide of the said subject on wikiHow. To achieve whatever team you want to use for the mode, replace the following bytes with these as shown on the table below:

Address (EXE) Address (RAM) Original Bytes Replace With
502D9 4502D9 89 1D 20 69 8D 00 B3 00 EB 0B 90 90
502E8 4502E8 8D A4 24 00 00 00 00 90 89 1D 20 69 8D 00 EB EF

After doing that, there should be one byte after B3 that can be replaceable with a team ID at 0x502D9:

B3 00 EB 0B 90 90

Offset Type Description
0x01 Byte Team ID

The default value is 00 which loads Team Sonic by default. Replace the second byte with one of the IDs below to use a different team for Super Hard:

ID Team
00 Team Sonic
01 Team Dark
02 Team Rose
03 Team Chaotix

Notes: There are certain parts of each level that requires Light Dash abilities for both "Espio" and "Amy" and Triangle Jump for "Amy" to be enabled and used before using teams "Rose" and "Chaotix". Refer to this hacking guide on how to enable these movesets for the two characters in wikiHow if needed. As for Team Chaotix, some levels have tasks that are not possible to achieve in-order to beat the level. It will use the same object layout as always regardless of any team loaded and they will use their own start and end positions the same way as the regular modes.

Mode Level list

A list of level ID numbers that are loaded when using Super Hard mode starts at 0x34F1F4 and ends at 0x34F22C. Each array of the section is in 4 Bytes and the first byte of it is the level ID. When used, the game will load the levels listed in the section of the EXE for the mode.

Super Hard Level ID Entry:
00 00 00 00

Offset Type Description
0x00 Byte Level ID

A list of default levels on Super Hard are in the following offsets set in the exe. Refer to the section "EXE and RAM" in the List of Levels for a list of level ID numbers you want to replace the default hex value with. Remember that you must convert the level ID from a decimal to a hexadecimal byte to apply the level you want the game to use when it reads the level ID on the list. Also, only 1 Player levels will work after loading, 2 Player stage IDs will crash the game.

Address (EXE) Address (RAM) Default Byte Default Level
34F1F4 74F1F4 02 Seaside Hill
34F1F8 74F1F8 03 Ocean Palace
34F1FC 74F1FC 04 Grand Metropolis
34F200 74F200 05 Power Plant
34F204 74F204 06 Casino Park
34F208 74F208 07 BINGO Highway
34F20C 74F20C 08 Rail Canyon
34F210 74F210 09 Bullet Station
34F214 74F214 0A Frog Forest
34F218 74F218 0B Lost Jungle
34F21C 74F21C 0C Hang Castle
34F220 74F220 0D Mystic Mansion
34F224 74F224 0E Egg Fleet
34F228 74F228 0F Final Fortress

Material Functions

Colors

The EXE provides color effects for certain objects such as the trail and tornado effects for each player.

Color RGB Entry:
00 00 00 00

Offset Type Description
0x00 Byte Red
0x01 Byte Green
0x02 Byte Blue
0x03 Byte Alpha

Custom RGB color codes can be generated using color wheel websites like Colblinder and Colorizer. If you're happy with the color you want to use for the effects, paste write it on the offset where you found the color code at.

Barrier Hue Cycle Colors

The barrier effect changes color using the color animation codes provided in the EXE. The barrier has nine 4 byte color hex codes (which they end with after 3 bytes of color values) stored in the EXE starting at 0x4DD798 to provide a hue cycle effect for the object.

Color Address (EXE) Address (RAM) Default (Hex) Default (Dec.)
Red 4DD798 8DD798 FF 00 00 255 0 0
Orange 4DD79C 8DD79C FF 80 00 255 128 0
Yellow 4DD7A0 8DD7A0 FF FF 00 255 255 0
Chartreuse 4DD7A4 8DD7A4 80 FF 00 128 255 0
Green 4DD7A8 8DD7A8 B4 50 00 0 180 80
Cyan 4DD7AC 8DD7AC 00 FF FF 0 255 255
Dodger Blue 4DD7B0 8DD7B0 00 80 FF 0 128 255
Blue 4DD7B4 8DD7B4 00 00 FF 0 0 255
Magenta 4DD7B8 8DD7B8 FF 00 FF 255 0 255

Character Effects

This list shows the codes to the character effects that were found in the EXE.

Character Effect Type Address (EXE) Address (RAM) Default Hex
Amy Jump Balls 4C72A4 8C72A4 FF0060FF
Amy Tornado 4DE504 8DE504 FF0060FE
Amy Trails 4CF6AC 8CF6AC 7F0030FF
Big Jump Balls 381F74 781F74 8000FFFF
Big Trails 4CF6B0 8CF6B0 40007FFF
Charmy Jump Balls 382590 782590 FF0000FF
Charmy Trails 4CF6C0 8CF6C0 7F0000FF
Cream Jump Balls 38258C 78258C FF8C60FF
Cream Trails 4CF6B4 8CF6B4 7F4630FF
Espio Jump Balls 4C72A8 8C72A8 00A0FFFF
Espio Tornado 4DE500 8DE500 00A000FE
Espio Trails 4CF6B8 8CF6B8 00507FFF
Knuckles Jump Balls 381F6C 781F6C F0193CFF
Knuckles Trails 4CF698 8CF698 780C1EFF
Omega Jump Balls 381F70 781F70 6000FFFF
Omega Trails 4CF6A4 8CF6A4 30007FFF
Rouge Jump Balls 382588 782588 FF00FFFF
Rouge Trails 4CF6A8 8CF6A8 7F007FFF
Shadow Jump Balls 4C72A0 8C72A0 FF8000FF
Shadow Tornado 4DE4FC 8DE4FC 000000FE
Shadow Trails 4CF6A0 8CF6A0 7F4000FF
Sonic Jump Balls 4C729C 8C729C 005AAAFF
Sonic Tornado 4DE4F8 8DE4F8 005AAAFE
Sonic Trails 4CF694 8CF694 002D55FF
Tails Jump Balls 382584 782584 FAA519FF
Tails Trails 4CF69C 8CF69C 7D520CFF
Vector Jump Balls 381F78 781F78 00A000FF
Vector Trails 4CF6BC 8CF6BC 005000FF

Debug Data

The EXE provides colors to a specific interface while debugging the game.

Interface type Address (EXE) Address (RAM) Default (Hex) Default (Decimal)
General Debug Text 21F912 61F912 FF CC 44 FF 255 204 68 255

Team Blast Backgrounds

The entry starts at 0x4DDD48 with 4 byte color hex that end with FF. Each team blast background sides are split into four RGB hex entries for each side as it follows:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Offset Description
0x00 Top Left
0x04 Bottom Left
0x08 Top Right
0x0C Bottom Right

The following RGB color entries to each four side splits for each team blast backgrounds start at the following addresses

Address (EXE) Address (RAM) Description
4DDD48 8DDD48 Team Sonic
4DDD58 8DDD58 Team Dark
4DDD68 8DDD68 Team Rose
4DDD78 8DDD78 Team Chaotix

Other

Colors that are stored as opcodes have little endian RGBA values which would be "BGRA" for example. Some color codes are also in float as well. A list of codes were found in the EXE:

Object Array Type Address (EXE) Address (RAM) Colors (RGBA) Default (Hex) Default (Decimal) Default (Float)
Chaos Inferno Screen Effect (1 Player) 4 Bytes 1B245
1B246
1B247
1B248
41B245
41B246
41B247
41B248
Blue
Green
Red
Alpha
80
80
80
FF
128
128
128
255
Chaos Inferno Screen Effect (2 Player Split-screen) 4 Bytes 184FB3
184FB4
184FB5
184FB6
584FB3
584FB4
584FB5
584FB6
Blue
Green
Red
Alpha
80
80
80
FF
128
128
128
255
Energy Path Activation Float 173293
17329B
1732A3
1732AB
573293
17329B
5732A3
5732AB
Red
Green
Blue
Alpha
000080BF
000080BF
000080BF
52B87E3F
-1
-1
-1
0.9950000048
Forest Level Background Byte Opcodes EE464
EE469
EE46E
4EE464
4EE469
4EE46E
Red
Green
Blue
3B
61
31
59
97
49
Item Balloon Ambient Float 7828A
78292
7829A
47828A
478292
47829A
Blue
Green
Red
000080BF
000080BF
000080BF
-1
-1
-1
Item Balloon Ambient (Popped) Float 78323
7832B
78333
478323
47832B
478333
Blue
Green
Red
000080BF
000080BF
000080BF
-1
-1
-1
Level Up Numbers (Fly) 4 Bytes 4DDCC4
4DDCC5
4DDCC6
4DDCC7
8DDCC4
8DDCC5
8DDCC6
8DDCC7
Red
Green
Blue
Alpha
FF
E9
50
FF
255
233
80
255
Level Up Particles (Fly) 4 Bytes 4DDD00
4DDD01
4DDD02
4DDD03
8DDD00
8DDD01
8DDD02
8DDD03
Red
Green
Blue
Alpha
FA
A5
19
FF
250
165
25
255
Level Up Numbers (Power) 4 Bytes 4DDCC8
4DDCC9
4DDCCA
4DDCCB
8DDCC8
8DDCC9
8DDCCA
8DDCCB
Red
Green
Blue
Alpha
FF
90
80
FF
255
144
128
255
Level Up Particles (Power) 4 Bytes 4DDD04
4DDD05
4DDD06
4DDD07
8DDD04
8DDD05
8DDD06
8DDD07
Red
Green
Blue
Alpha
F0
19
3C
FF
240
25
60
255
Level Up Numbers (Speed) 4 Bytes 4DDCC0
4DDCC1
4DDCC2
4DDCC3
8DDCC0
8DDCC1
8DDCC2
8DDCC3
Red
Green
Blue
Alpha
50
A0
FF
FF
80
160
255
255
Level Up Particles (Speed) 4 Bytes 4DDCFC
4DDCFD
4DDCFE
4DDCFF
8DDCFC
8DDCFD
8DDCFE
8DDCFF
Red
Green
Blue
Alpha
00
5A
AA
FF
0
90
170
255
Mission Text 4 Bytes 429A6
429A7
429A8
429A9
4429A6
4429A7
4429A8
4429A9
Blue
Green
Red
Alpha
FF
FF
00
FF
255
255
0
255
Powerup Icon 3 Bytes 79EF3
79EF4
79EF5
479EF3
479EF4
479EF5
Blue
Green
Red
FF
FF
FF
255
255
255
Sonic Overdrive Screen Effect 4 Bytes 1B2F3
1B2F4
1B2F5
1B2F6
41B2F3
41B2F4
41B2F5
41B2F6
Blue
Green
Red
Alpha
A0
A0
A0
FF
160
160
160
255
Warp Effect Screen 3 Bytes 1BCA3
1BCA4
1BCA5
41BCA3
41BCA4
41BCA5
Blue
Green
Red
FF
FF
FF
255
255
255

Material Opcodes

A number of code sections contain additional material/graphic codes that are rendered via Renderware engine that provides special effects to an object such as Espio's invisibility and Thundershoot electricity effects.
Function entry:

Regular Material function:

6A 00 6A 00
Offset Type Description
0x00 and 0x02 Byte Always 6A
0x01 Byte Material value
0x03 Byte Material function type

4 Byte Material function:

68 00000000
Offset Type Description
0x00 Byte Always 68
0x01 4 Bytes Material value

A list of material types are implemented in the EXE.

Material type parameters Alternative Material type parameters Hexadecimal type Description Parameters Call Address Alternative Call Address Example(s) Notes
01 Byte Null 00 0024C9B0 (EXE)
0064C9B0 (RAM)
6A 00 6A 01 Values upon "00" will crash the game.
02 (UV)
03 (U only)
04 (V only)
Byte UV Address Type 01 = rwTEXTUREADDRESSWRAP
02 = rwTEXTUREADDRESSMIRROR
03 = rwTEXTUREADDRESSCLAMP
04 = rwTEXTUREADDRESSBORDER
0024C9B0 (EXE)
0064C9B0 (RAM)
6A 03 6A 02
6A 03 6A 03
6A 03 6A 04
06 07 Byte Z-buffer testing 00 = Disabled
01 = Enabled
0024C9B0 (EXE)
0064C9B0 (RAM)
00247980 (EXE)
00647980 (RAM)
6A 00 6A 06
6A 00 6A 07
07 Byte Shading 00 = rwSHADEMODEFLAT
01 = rwSHADEMODEGOURAUD
0024C9B0 (EXE)
0064C9B0 (RAM)
6A 02 6A 07
08 0E Byte Z-buffer writing 00 = Disabled
01 = Enabled
0024C9B0 (EXE)
0064C9B0 (RAM)
00247980 (EXE)
00647980 (RAM)
6A 01 6A 08
6A 01 6A 0E
09 Byte Texture filtering 01 = rwFILTERNEAREST
02 = rwFILTERLINEAR
03 = rwFILTERMIPNEAREST
04 = rwFILTERMIPLINEAR
05 = rwFILTERLINEARMIPNEAREST
06 = rwFILTERLINEARMIPLINEAR
0024C9B0 (EXE)
0064C9B0 (RAM)
6A 02 6A 09
0A & 0B 13 & 14 Byte Source Blend
Destination Blend
01 = rwBLENDZERO
02 = rwBLENDONE
03 = rwBLENDSRCCOLOR
04 = rwBLENDINVSRCCOLOR
05 = rwBLENDSRCALPHA
06 = rwBLENDINVSRCALPHA
07 = rwBLENDDESTALPHA
08 = rwBLENDINVDESTALPHA
09 = rwBLENDDESTCOLOR
0A = rwBLENDINVDESTCOLOR
0B = rwBLENDSRCALPHASAT
0024C9B0 (EXE)
0064C9B0 (RAM)
00247980 (EXE)
00647980 (RAM)
6A 05 6A 0A
6A 06 6A 0B

6A 05 6A 13
6A 06 6A 14
Models that are completely opaque will not be able to use the intended blend factors.

To make any model use different alpha blending modes, change the byte in offset 0x248B1C from 74 to EB.
0C 1B Byte Vertex Alpha Enabling 00 = Disabled
01 = Enabled
0024C9B0 (EXE)
0064C9B0 (RAM)
00247980 (EXE)
00647980 (RAM)
6A 01 6A 0C
0E Byte Fog Enabling 00 = Disabled
01 = Enabled
0024C9B0 (EXE)
0064C9B0 (RAM)
6A 00 6A 0E
0F Byte Fog Color 4 Byte RGBA Hex 0024C9B0 (EXE)
0064C9B0 (RAM)
68 FF FF A0 80 6A 0F Fog colors are loaded through a code at 21E2EB (61E2EB in RAM) from the RAM Offset 0xA60BC4.
10 Byte Fog Type 01 = rwFOGTYPELINEAR
02 = rwFOGTYPEEXPONENTIAL
03 = rwFOGTYPEEXPONENTIAL2
0024C9B0 (EXE)
0064C9B0 (RAM)
6A 01 6A 10
11 Byte Unknown
Something related to fog?
0024C9B0 (EXE)
0064C9B0 (RAM)
14 16 Byte Cull Mode 01 = None
02 = Back
03 = Front
0024C9B0 (EXE)
0064C9B0 (RAM)
00247980 (EXE)
00647980 (RAM)
6A 02 6A 14
6A 02 6A 16
18 Byte Alpha Testing Reference Range in byte:00-FF
4 Byte Range: 00000000-FF000000
00247980 (EXE)
00647980 (RAM)
6A 05 6A 18
68 C8000000 6A 18
19 Byte Alpha Testing 01 = rwALPHATESTFUNCTIONNEVER
02 = rwALPHATESTFUNCTIONLESS
03 = rwALPHATESTFUNCTIONEQUAL
04 = rwALPHATESTFUNCTIONLESSEQUAL
05 = rwALPHATESTFUNCTIONGREATER
06 = rwALPHATESTFUNCTIONNOTEQUAL
07 = rwALPHATESTFUNCTIONGREATEREQUAL
08 = rwALPHATESTFUNCTIONALWAYS
00247980 (EXE)
00647980 (RAM)
6A 08 6A 19
AB000000 4 Bytes Blend Equation 01 = Add
02 = Subtract
03 = Reverse Subtract
04 = Min
05 = Max
00247980 (EXE)
00647980 (RAM)
6A 01 68 AB000000

Known Offsets

A list shows offsets for special material effects that were discovered in the EXE.

Addresses (EXE) Addresses (RAM) Materials Default Parameter Values Targeting Object Notes
3269
3275
327E
3287
3293
32A6
32AA
32B6
32C2
32CF
32D3
32DF
32EB
32FC
3300
3321
403269
403275
40327E
403287
403293
4032A6
4032AA
4032B6
4032C2
4032CF
4032D3
4032DF
4032EB
4032FC
403300
403321
Fog Enabling #1
Z-testing
Z-buffering
Texture Filtering
Source Blend (Un-conditional)
Dest. Blend #1 (Un-conditional)
Dest. Blend #2 (Un-conditional)
Vertex Alpha Enabling
Source Blend
Destination Blend #1
Destination Blend #2
Blend Equation
Alpha Testing
Culling #1
Culling #2
Fog Enabling #2
00
01
00
06
05
02
06
01
05
02
06
01
08
01
02
00
Alpha Material Flag Section
5D86
5D8F
5D98
5DA1
5DAA
5DB6
5DBF
5DC8
5DD1
5DDA
5DE3
5DEC
405D86
405D8F
405D98
405DA1
405DAA
405DB6
405DBF
405DC8
405DD1
405DDA
405DE3
405DEC
Z-writing
Z-testing
Shade Mode
Texture Filtering
Vertex Alpha Enabling
Culling
UV Address (U)
UV Address (V)
Fog Enabling
Source Blend
Destination Blend
Null Material
00
00
02
02
01
01
03
03
00
05
06
00
Black Screen Fade The fade can be disabled by changing the value at 0x406241 from 02 to 01. To keep it, leave the value on 02.
1B0FA 41B0FA Null Material 00 Team Blast Screen Effects
1B1D5
1B1E5
1B1EE
1B1F7
1B200
1B209
1B212
41B1D5
41B1E5
41B1EE
41B1F7
41B200
41B209
41B212
Z-testing
Z-writing
Fog Enabling
Culling
Vertex Alpha Enabling
Source Blend
Destination Blend
00
00
00
01
01
0A
01
Chaos Inferno Screen Effect (1 Player)
1B28C
1B29C
1B2A5
1B2AE
1B2B7
1B2C0
41B28C
41B29C
41B2A5
41B2AE
41B2B7
41B2C0
Z-testing
Z-writing
Fog Enabling
Culling
Source Blend
Destination Blend
00
00
00
01
02
02
Sonic Overdrive Screen Effect
1B838
1B844
1B84D
1B856
1B86D
1B878
1B881
41B838
41B844
41B84D
41B856
41B86D
41B878
41B881
Z-testing
Z-writing
Fog Enabling
Culling
Source Blend
Destination Blend #1
Destination Blend #2
00
01
00
01
02
06
02
Screen Transition Effects
1BA94
1BA9E
1BAA9
1BAB3
1BACC
1BAD5
1BAD9
1BAE3
41BA94
41BA9E
41BAA9
41BAB3
41BACC
41BAD5
41BAD9
41BAE3
Z-testing
Z-writing
Fog Enabling
Culling
Source Blend #1
Destination Blend #1
Source Blend #2
Destination Blend #2
00
00
00
01
02
06
05
02
Warp Effects The first two blend factor codes in offsets 1BACC (41BACC) and 1BAD5 (41BAD5) are
for the blue switch effect that engulfs if the orb switch has been triggered.
The other two are for the common warp effects.
1BBFA 41BBFA Null Material 00 Warp Effect Screen
1E0A1
1E0AD
1E0B6
1E0BF
1E0C8
1E0D1
1E0DA
1E0E3
1E0EC
1E0F8
41E0A1
41E0AD
41E0B6
41E0BF
41E0C8
41E0D1
41E0DA
41E0E3
41E0EC
41E0F8
Z-testing
Z-writing
Fog Enabling
Culling
Vertex Alpha Enabling
Source Blend
Destination Blend
Null Material
Shade Mode
Texture Filtering
00
01
00
01
01
05
06
00
02
02
In-game HUD interface
1EAA9
1EAA9
41EAA9
41EAA9
Source Blend
Destination Blend
05
02
Key Sparkle Effect on HUD
22BA9
22BB2
22BBB
22BC4
22BE8
22BF1
22C06
22C1B
422BA9
422BB2
422BBB
422BC4
422BE8
422BF1
422C06
422C1B
Z-testing
Z-writing
Fog Enabling
Culling
Source Blend
Destination Blend
UV Address Type (UV)
Texture Filtering
01
01
00
01
05
06
03
02
2 Player Race HUD interface
2478F
247B0
247BC
2481E
24827
24830
42478F
4247B0
4247BC
42481E
424827
424830
Culling
UV Address Type (UV)
Vertex Alpha Enabling
Source Blend
Destination Blend
Texture Filtering
01
03
01
05
04
02
General Subtitles
247C5
247CE
4247C5
4247CE
Source Blend
Destination Blend
01
04
General Subtitle Drop Shadow
3131E
3132E
31381
313A9
313B9
2A4362
43131E
43132E
431381
4313A9
4313B9
6A4362
Source Blend #1
Destination Blend #1
Destination Blend #2
Source Blend #2
Destination Blend #3
Vertex Alpha Enabling
05
02
04
05
06
01
Particle Effects See Particle Editing for details about the blend factors for the particles.
38AB7
38AF0
38AF9
38B05
38B0E
38B2F
38B38
38B55
438AB7
438AF0
438AF9
438B05
438B0E
438B2F
438B38
438B55
Vertex Alpha Enabling
Z-testing
Z-writing
Fog Enabling
Culling
Source Blend
Destination Blend
Null Material
01
00
01
00
01
05
06
00
Results Screen
4C4AA
4C4B3
4C4BC
4C4C5
4C4CE
4C4D7
4C4E0
4C4E9
44C4AA
44C4B3
44C4BC
44C4C5
44C4CE
44C4D7
44C4E0
44C4E9
Z-writing
Z-testing
Texture Filtering
Vertex Alpha Enabling
Culling
Fog Enabling
Source Blend
Destination Blend
01
01
02
01
02
00
05
06
Omochao
4CA25
4CA2E
4CA37
4CA40
4CA49
4CA55
4CA5E
4CA67
4CA70
4CA79
4CA82
4CA8B
44CA25
44CA2E
44CA37
44CA40
44CA49
44CA55
44CA5E
44CA67
44CA70
44CA79
44CA82
44CA8B
Z-writing
Z-testing
Shade Mode
Texture Filtering
Vertex Alpha Enabling
Culling
UV Address Type (U)
UV Address Type (V)
Fog Enabling
Source Blend
Destination Blend
Null Material
00
00
02
02
01
01
03
03
00
05
06
00
Menu Interface
4EB79
4EB82
4EB8B
4EB94
4EB9D
4EBA9
4EBB2
4EBBB
4EBC4
4EBCD
4EBD6
44EB79
44EB82
44EB8B
44EB94
44EB9D
44EBA9
44EBB2
44EBBB
44EBC4
44EBCD
44EBD6
Z-writing
Z-testing
Shade Mode
Texture Filtering
Vertex Alpha Enabling
Culling
UV Address Type (U)
UV Address Type (V)
Fog Enabling
Source Blend
Destination Blend
00
00
02
02
01
01
03
03
00
05
06
Now Loading text
5350B
53514
5351D
5352A
5353B
53544
5354D
45350B
453514
45351D
45352A
45353B
453544
45354D
Z-writing
Z-testing
Texture Filtering/Culling
Vertex Alpha Enabling
Fog Enabling
Source Blend
Destination Blend
01
01
02
01
00
05
06
Character Display in Menus
57983
5799E
57995
5799E
579A7
579B0
579BC
579C5
579CE
579D7
457983
45799E
457995
45799E
4579A7
4579B0
4579BC
4579C5
4579CE
4579D7
Z-testing
Z-writing
Vertex Alpha Enabling
Source Blend
Destination Blend
Texture Filtering
Culling
UV Address (U)
UV Address (V)
Fog Enabling
00
00
01
05
06
02
01
03
03
00
Blue Window Popup
58093
5809C
580A5
580AE
580B7
580C0
580CC
580D5
580DE
580E7
458093
45809C
4580A5
4580AE
4580B7
4580C0
4580CC
4580D5
4580DE
4580E7
Z-testing
Z-writing
Vertex Alpha Enabling
Source Blend
Destination Blend
Texture Filtering
Culling
Fog Enabling
UV Address (U)
UV Address (V)
00
00
01
05
06
02
01
00
03
03
Menu Text
58093
5809C
580A5
580AE
580B7
580C0
580CC
580D5
580DE
580E7
580FE
458093
45809C
4580A5
4580AE
4580B7
4580C0
4580CC
4580D5
4580DE
4580E7
4580FE
Z-testing
Z-writing
Vertex Alpha Enabling
Source Blend
Destination Blend
Texture Filtering
Culling
Fog Enabling
UV Address Type (U)
UV Address Type (V)
Null Material
00
00
01
05
06
02
01
00
03
03
51
Credits The last material code requires editing to be customized at 0x580FC.

To do that, change the 3 bytes from 8B 0E 51 to 90 6A 00.

If you plan to use another material, change the byte in 0x58100 from 01 to some other material value.
5A007
5A010
5A019
5A022
45A007
45A010
45A019
45A022
Source Blend
Destination Blend
Culling
Fog
05
02
01
00
Triple Spring Rays
5AE90
5AE99
5AEA2
45AE90
45AE99
45AEA2
Source Blend
Destination Blend
Culling
02
02
01
Rainbow Ring Trails
5EBC8 45EBC8 Culling 01 Bobsled Player Marker Displayed in 2 Player Bobsled Race.
65076
6507F
65088
465076
46507F
465088
Source Blend
Destination Blend
Culling
05
02
01
Bobsled Sign Light
653A5
653AE
653B7
4653A5
4653AE
4653B7
Source Blend
Destination Blend
Culling
02
02
01
Mystic Mansion Trolley Lights
6C369
6C372
6C37B
6C384
46C369
46C372
46C37B
46C384
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Checkpoint Rays
6CE91
6CE9A
6CEA3
6CEAC
46CE91
46CE9A
46CEA3
46CEAC
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Checkpoint Crescent Effect
720A1
720AA
720B3
4720A1
4720AA
4720B3
Source Blend
Destination Blend
Culling
05
02
01
Flower Rays
736FB
73704
7370D
73716
4736FB
473704
47370D
473716
Source Blend
Destination Blend
Culling
Vertex Alpha Enabling
05
02
01
01
Team Formation Gate Sign Light
73886
7388F
73898
473886
47388F
473898
Source Blend
Destination Blend
Culling
05
02
01
Team Formation Gate
74920
74929
74932
474920
474929
474932
Source Blend
Destination Blend
Culling
02
02
01
Goal Ring Square Dashed Circle
76404
7640D
76416
476404
47640D
476416
Source Blend
Destination Blend
Culling
02
06
01
Hint Ring Question Mark
78361
7836A
78373
7838B
478361
47836A
478373
47838B
Source Blend
Destination Blend
Culling #1
Culling #2
05
06
03
02
Popped Item Balloon
79E98
79EA1
479E98
479EA1
Source Blend
Destination Blend
05
06
Collected Item Icon
7C04C
7C055
7C05E
47C04C
47C055
47C05E
Source Blend
Destination Blend
Fog Enabling
02
02
00
Lasers
84515
8451E
84527
84533
484515
48451E
484527
484533
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Power Gong Swing Effect
86E81
86E8A
86E93
486E81
486E8A
486E93
Source Blend
Destination Blend
05
02
01
Team Formation Sign Light
8AC09
8AC12
8AC1B
48AC09
48AC12
48AC1B
Source Blend
Destination Blend
Culling
05
02
01
Target Switch Fade
8F265
8F26E
8F277
8F280
8F289
8F29C
8F2A5
48F265
48F26E
48F277
48F280
48F289
48F29C
48F2A5
Vertex Alpha Enabling
Fog Enabling
Z-writing
Source Blend #1
Destination Blend #1
Source Blend #2
Destination Blend #2
01
00
00
05
02
05
06
Lens Flares
8F394
8F39D
8F3A6
8F3AF
8F3B8
8F3CB
8F3D4
48F394
48F39D
48F3A6
48F3AF
48F3B8
48F3CB
48F3D4
Vertex Alpha Enabling
Fog Enabling
Z-writing
Source Blend #1
Destination Blend #1
Source Blend #2
Destination Blend #2
01
00
00
05
02
05
06
Lens Flares (Chaos Inferno)
928CD
928D6
92906
9290F
9292A
92962
9296B
4928CD
4928D6
492906
49290F
49292A
492962
49296B
Culling
UV Address Type *UV)
Z-testing
Z-writing
Vertex Alpha Enabling
Source Blend
Destination Blend
01
03
00
01
01
05
04
In-game Scene Subtitles
92918
92921
492918
492921
Source Blend
Destination Blend
01
04
In-game Scene Subtitle Drop Shadow
9656C
96575
49656C
496575
Source Blend
Destination Blend
05
02
Hermit Crab Fade
B394F 4B394F Fog Enabling 00 Power Plant Sky
B3A5F 4B3A5F Fog Enabling 00 Power Plant Clouds
C516C
C5175
4C516C
4C5175
Source Blend
Destination Blend
05
02
Casino Chip Fade
C3D66
C3D6F
C3D7B
C3D84
C3D8D
C3D96
4C3D66
4C3D6F
4C3D7B
4C3D84
4C3D8D
4C3D96
Z-writing
Z-testing
Shade Mode
Texture filtering
Vertex Alpha Enabling
Culling
00
00
02
02
01
01
Casino Slot Interface
EDAF0
EDAF9
EDB02
EDB0E
EDB17
EDB43
EDB4C
EDB9D
EDBA6
EDBB4
4EDAF0
4EDAF9
4EDB02
4EDB0E
4EDB17
4EDB43
4EDB4C
4EDB9D
4EDBA6
4EDBB4
Z-testing
Z-writing
Fog Enabling
Culling
Vertex Alpha Blending
Source Blend #1
Destination Blend #1
Source Blend #2
Destination Blend #2
Null Material
00
00
00
01
01
05
06
08
09
00
Frog Rain Screen Effect Two blend factor codes in offsets EDB43 (4EDB43) and
EDB4C (4EDB4C) are for the Light Rain screen by the Green Frog and
the other two blend factor codes in offsets EDB9D (4EDB9D) and
EDBA6 (4EDBA6) are for the Dark Rain screen by the Black Frog.
F9A6C
F9A75
F9A7E
4F9A6C
4F9A75
4F9A7E
Source Blend
Destination Blend
Culling
02
02
01
Torch Fire
FE89A
FE8A3
4FE89A
4FE8A3
Source Blend
Destination Blend
05
02
Hang Castle Key Fade
FEE13
FEE1C
FEE25
4FEE13
4FEE1C
4FEE25
Source Blend
Destination Blend
Culling
02
02
01
Mystic Mansion Lights
FBC5A
FBC63
4FBC5A
4FBC63
Source Blend
Destination Blend
05
06
Pumpkin Ghost Fade Effect
FBDBC
FBDC5
FBDCE
4FBDBC
4FBDC5
4FBDCE
Source Blend
Destination Blend
Culling
02
02
01
Pumpkin Ghost Light
101338
101341
10134A
501338
501341
50134A
Source Blend
Destination Blend
Culling
02
02
01
Hang Castle Spider Lights
103401
103409
103412
503401
503409
503412
Source Blend
Destination Blend
Culling
02
02
01
Teleporter Switch Glowing Symbols
107BE4
107BED
107BF6
507BE4
507BED
507BF6
Source Blend
Destination Blend
Culling
05
02
01
Thunder lightening with skulls
176DD0 576DD0 Fog Enabling 00 Grand Metropolis Clouds Does not affect the clouds used in battle stages.
184E99
184EF9
184F02
184F0B
184F14
184F1D
184F26
584E99
584EF9
584F02
584F0B
584F14
584F1D
584F26
Null Material
Z-testing
Z-buffering
Fog Enabling
Culling
Source Blend
Destination Blend
00
00
00
00
01
0A
01
Chaos Inferno Screen Effect (2 Player) Applies on the half of the split-screen where "Player B" is frozen by Chaos Inferno.
188F4A
188F53
188F5C
188F65
588F4A
588F53
588F5C
588F65
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Chaotix Recital Lights
18B16D
18B175
18B17F
58B16D
58B175
58B17F
Source Blend
Destination Blend
Culling
05
02
01
Omega's Laser Effects (Chaos Inferno)
1BDC05
1BDC0E
1BDC17
5BDC05
5BDC0E
5BDC17
Source Blend
Destination Blend
Culling
05
02
01
Omega's Flames
1BDE87
1BDE90
1BDE99
1BDEA5
1BDEAD
5BDE87
5BDE90
5BDE99
5BDEA5
5BDEAD
Source Blend
Destination Blend
Culling
Vertex Alpha Enabling
Fog Enabling
05
02
01
01
56
Chaos Emerald (Chaos Inferno) For the fog rendering in this section, 56 is disabled and 50 is enabled.
1D2B99
1D2BA2
1D2BAE
1D2BB7
1D2BC0
5D2B99
5D2BA2
5D2BAE
5D2BB7
5D2BC0
Source Blend
Destination Blend
Culling
Vertex Alpha Enabling
Fog Enabling
05
02
02
01
00
Espio's Invisibility
1D2E3A
1D2E43
1D2E4C
1D2E58
1D2E61
5D2E3A
5D2E43
5D2E4C
5D2E58
5D2E61
Source Blend
Destination Blend
Culling
Vertex Alpha Enabling
Fog Enabling
05
02
03
01
00
Super Sonic Glowing Effect
1D2EC5
1D2ECE
1D2ED7
1D2EE0
5D2EC5
5D2ECE
5D2ED7
5D2EE0
Source Blend
Destination Blend
Culling
Vertex Alpha Enabling
05
06
01
01
Super Sonic Power Team Blast
1D3126 5D3126 Destination Blend 02 Super Sonic Power Team Blast Symbol Effect
1D32E4
1D32ED
1D32F6
1D330B
5D32E4
5D32ED
5D32F6
5D330B
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Shadow's Shoe Blast Effect
1DCD3F
1DCD48
1DCD51
1DCD5F
5DCD3F
5DCD48
5DCD51
5DCD5F
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Thundershoot Enemy Stun Effect
1DD547
1DD550
1DD559
5DD547
5DD550
5DD559
Source Blend
Destination Blend
05
02
01
Power Core Transparent Sphere
1DDD9E
1DDDA7
1DDDB0
5DDD9E
5DDDA7
5DDDB0
Source Blend
Destination Blend
Culling
05
02
01
Cameron Shoot Ring Effect
1E03E9
1E03F2
1E03FB
1E03E9
1E03F2
1E03FB
Source Blend
Destination Blend
Culling
05
02
01
Gun Shoot Effect
1E05C2
1E05CB
5E05C2
5E05CB
Source Blend
Destination Blend
05
06
Gun Shoot Ammunition
1E05F8
1E0601
1E060A
5E05F8
5E0601
5E060A
Fog Enabling
Source Blend
Destination Blend
00
05
02
Gun Shoot Ammunition Effect
1E19F1
1E19FA
1E1A03
5E19F1
5E19FA
5E1A03
Source Blend
Destination Blend
Culling
05
02
01
Egg Pawn Shield Fade
1E54E6
1E54EF
1E54F8
5E54E6
5E54EF
5E54F8
Source Blend
Destination Blend
Culling
05
02
01
Egg Flapper Red Spike Gradient
1E691E
1E6927
1E6930
1E691E
1E6927
1E6930
Source Blend
Destination Blend
Culling
05
02
01
Egg Flapper Electricity
1E7504
1E750D
1E7516
5E7504
5E750D
5E7516
Source Blend
Destination Blend
Culling
05
02
01
Egg Flapper Search Light
1F5B9B
1F5BA4
1F5BAD
5F5B9B
5F5BA4
5F5BAD
Source Blend
Destination Blend
Culling
05
02
01
Falco Fire
205D51
205D5A
205D63
605D51
605D5A
605D63
Source Blend
Destination Blend
Culling
05
02
01
Egg Hammer Swinging Hammer Effect
207132
20713B
207144
607132
60713B
607144
Source Blend
Destination Blend
Culling
05
02
01
Egg Hammer Helmet Fade Effect
212D65
212D6E
212D77
612D65
612D6E
612D77
Source Blend
Destination Blend
Culling
05
02
01
Magician Fade Unused, change the byte at 212C8E (612C8E) to EB and 3 Bytes at 212D56 (612D56) to EB 07 90
to see the result using these materials applied to the enemy model on this code section.
212E5B
212E64
212E6D
612E5B
612E64
612E6D
Source Blend
Destination Blend
Culling
05
02
01
Magician Suck Ring
21E2AA 61E2AA Fog Enabling 00 Fog Setting (Disabled)
21E2C0 61E2C0 Fog Enabling 01 Fog Setting (Enabled)
221510
221519
621510
621519
Null Material
Vertex Alpha Enabling
00
01
Debug Text Materials Unused
28A805
28A811
28A81A
28A831
28A83A
28A843
68A805
68A811
68A81A
68A831
68A83A
68A843
Z-testing
Z-writing
Texture Filtering
Source Blend
Destination Blend
Culling
00
00
01
05
06
01
More Debug Text Materials Unused
22FA88
22FA91
22FA9A
22FAA6
22FAAF
62FA88
62FA91
62FA9A
62FAA6
62FAAF
Source Blend
Destination Blend
Culling
Fog
Vertex Alpha Enabling
05
02
01
00
01
Character Jump Effects Also affects the fire balls with characters in super form.
231CC4
231CCD
231CD6
231CE2
231CEB
631CC4
631CCD
631CD6
631CE2
631CEB
Source Blend
Destination Blend
Culling
Vertex Alpha Enabling
Fog Enabling
05
02
01
01
00
Quick Ascent Effect
233AE1
233AEA
633AE1
633AEA
Source Blend
Destination Blend
05
02
Crash Objects (with Additive Alpha, Unused)
2343F8
234401
23440A
234413
234437
23443B
6343F8
634401
63440A
634413
634437
63443B
Source Blend
Destination Blend
Culling
Fog Enabling
Z-testing #1
Z-testing #2
05
02
01
00
01
00
Colored Rocket Accel Effect
2387B4
2387BD
2387C6
2387CF
6387B4
6387BD
6387C6
6387CF
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Light Streak Effects
2396AD
2396B6
2396BF
2396CB
2396D4
2396DD
6396AD
6396B6
6396BF
6396CB
6396D4
6396DD
Source Blend
Destination Blend
Culling
Null Material
Vertex Alpha Enabling
Fog Enabling
05
02
01
00
01
00
Character Trail Effects
23A9AB
23A9B4
23A9BD
63A9AB
63A9B4
63A9BD
Source Blend
Destination Blend
Culling
05
02
01
Rainbow Rocket Accel Effect
23811A
238123
238127
238130
23813C
238174
238189
63811A
638123
638127
638130
63813C
638174
638189
Source Blend #1
Destination Blend #1
Source Blend #2
Destination Blend #2
Culling
Vertex Alpha Enabling
Blend Equation
05
02
01
04
01
01
03
Footprints
23B763
23B76E
23B777
23B780
23B795
23B79E
63B763
63B76E
63B777
63B780
63B795
63B79E
Vertex Alpha Enabling
Source Blend #1
Destination Blend #1
Blend Equation
Source Blend #2
Destination Blend #2
01
05
02
03
01
04
Shadows for Objects
23D968
23D971
23D97A
23D983
63D968
63D971
63D97A
63D983
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Thundershoot
23DE45
23DE4E
23DE57
23DE60
63DE45
63DE4E
63DE57
63DE60
Source Blend
Destination Blend
Culling
Fog Enabling
05
02
01
00
Thundershoot Pipes
23E383
23E38C
23E395
23E3A1
23E3AA
63E383
63E38C
63E395
63E3A1
63E3AA
Source Blend
Destination Blend
Culling
UV Addres Type (UV)
Fog Enabling
05
02
01
02
00
Thundershoot Ring Collect Planes
23FE8B
23FF6C
23FF75
23FF7E
23FF8A
63FE8B
63FF6C
63FF75
63FF7E
63FF8A
Vertex Alpha Enabling
Source Blend
Destination Blend
Culling
Fog Enabling
01
05
02
01
00
Colored Tornado Effect
23FEC5
23FEDA
23FEE3
23FEEC
23FEFD
23FF06
63FEC5
63FEDA
63FEE3
63FEEC
63FEFD
63FF06
Vertex Alpha Enabling
Source Blend #1
Destination Blend #1
Blend Equation
Source Blend #2
Destination Blend #2
01
05
02
03
01
04
Dark Tornado Effect Used if the color of the tornado is colored black.
Also, the blend factors below the jump opcode after the blend equation code are not used.
244486
24448F
244498
2444A1
2444AA
2444B6
2444BF
2444C8
2444D1
644486
64448F
644498
6444A1
6444AA
6444B6
6444BF
6444C8
6444D1
Z-testing
Z-writing
Fog Enabling
Source Blend
Destination Blend
Shade Mode
Texture Filtering
UV Address Type (U)
UV Address Type (V)
00
00
00
05
06
02
02
03
03
FMV Movies
245414
24543B
245488
245491
645414
64543B
645488
645491
Culling
Vertex Alpha Enabling
Source Blend
Destination Blend
01
01
05
04
FMV Subtitles
245429
245432
645429
645432
Source Blend
Destination Blend
01
04
FMV Subtitle Drop Shadow

Material Flags

Somewhat like BSPs with identifiers stored in .ONE files, objects have their own material flags stored in the code. Objects that use material flags provide a rendering effect through the main rendering code sections when applied to an object after it appears. Examples of objects that use material flags are Energy paths and HEXAeco Signboards. Note that not all objects use material flags separately for each model loaded in the level. Unlike the opcodes that provide the graphic appearance for the object in their code sections, the modified flags require moving away from the object until it disappears or by quiting the level and returning in-order to take effect.

Flag offset pointer entry:

00 72 00 00
Offset Type Description
0x00 Byte Pointer flag
0x01 3 bytes Always 72 00 00

Flag entry:

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Offset Type Description
0x00 4 Bytes Usually model pointer
0x04 4 Bytes Pointer
Sometimes uses the address for loaded models.
0x09 Byte Flag

Examples:
68 DA 77 00 00 00 00 00 14 00 00 00 00 00 00 00

D0 F8 76 00 28 3D A2 00 14 00 00 00 00 00 00 00

A list of identifier flags for objects are the following pointer and regular bytes:
Flag pointer:

Flag Identifier Description Notes
54  ?? Invisible geometry Usually used if the object set has individual material flags stored somewhere in the EXE and RAM or loads them for rendering the geometry.
58 DN Sky model material
5C O Reflective material
60 OS Reflective floor material
64 ON Regular material
68 ONS Regular floor material
6C ONW Regular material without culling
70 ONWS Regular floor material without culling
74 P Alpha testing with reflective material
78 PS Alpha testing with reflective floor material
7C PN Alpha testing material
80 PNS Alpha testing floor material
84 PNW Alpha testing material without culling
88 PNWS Alpha testing floor material without culling
8C DA Alpha sky material
90 AF Alpha reflective material
94 AFS Alpha reflective floor material
98 AFN Alpha material
9C AFNS Alpha floor material
A0 K Additive alpha material
A4 KW Additive alpha material without culling
A8 A Alpha reflective material
AC AS Alpha reflective floor material
B0 AN Alpha material
B4 ANS Alpha floor material

Individual flag ids:

Flag Identifier Description Notes
00  ?? Usually used if the object set has individual material flags stored somewhere in the EXE and RAM.
01 DN Sky model material
02 O Reflective material
03 OS Reflective floor material
04 ON Regular material
05 ONS Regular floor material
06 ONW Regular material without culling
07 ONWS Regular floor material without culling
08 P Alpha testing with reflective material
09 PS Alpha testing with reflective floor material
0A PN Alpha testing material
0B PNS Alpha testing floor material
0C PNW Alpha testing material without culling
0D PNWS Alpha testing floor material without culling
0E DA Alpha sky material
0F AF Alpha reflective material
10 AFS Alpha reflective floor material
11 AFN Alpha material
12 AFNS Alpha floor material
13 K Additive alpha material
14 KW Additive alpha material without culling
15 A Alpha reflective material
16 AS Alpha reflective floor material
17 AN Alpha material
18 ANS Alpha floor material

Known Offsets

A list below shows offsets found so far in the EXE for certain parts of the codes that apply material flags to objects.

Object Addresses (EXE) Addresses (RAM) Models Default byte values Flag Type(s) Notes
Alligator 475330 875330 Alligator 04 Byte ID
Armored Train 3FAF28
3FAFE8
3FB000
3FB018
3FB030
3FB048
3FB060
3FB078
3FB090
3FB0A8
7FAF28
7FAFE8
7FB000
7FB018
7FB030
7FB048
7FB060
7FB078
7FB090
7FB0A8
Flashing Heat Vent Glow
Train Piece (Part 1)
Train Piece (Part 2)
Train Piece (Part 3)
Train Piece (Part 4)
Train Piece (Part 5)
Train Piece (Part 6)
Train Piece (Part 7)
Train Piece (Part 8)
Train Piece (Part 9)
13
04
04
04
04
04
04
04
04
04
Byte ID
Arrow Light Sign Pads 000B0659
000B0AB8
004B0659
004B0AB8
Pad
Arrow Light
64
A0
72 Pointer
Ball Bumpers 3EB3F4 7EB3F4 Green Star Balls 04 Byte ID
Barb Fence 3F591C 7F591C Barb Fence 0A Byte ID
Barrier 001822CF 005822CF Barrier Effect A4 72 Pointer
Bingo Number Chips 003F1228
003F1238
003F1248
003F1258
003F1268
003F1278
003F1288
003F1298
003F12A8
003F12B8
003F12C8
003F12D8
003F12E8
007F12F8
003F1308
003F1318
003F1328
003F1338
003F1348
007F1228
007F1238
007F1248
007F1258
007F1268
007F1278
007F1288
007F1298
007F12A8
007F12B8
007F12C8
007F12D8
007F12E8
007F12F8
007F1308
007F1318
007F1328
007F1338
007F1348
Yellow Chip
Number 1
Orange Chip
Number 2
Red Chip
Number 3
Mint Chip
Number 4
Lime Chip
Number 5
Aqua Chip
Number 6
Magenta Chip
Number 7
Blue Chip
Number 8
Purple Chip
Number 9
Broken Pieces
11
04
11
04
11
04
11
04
11
04
11
04
11
04
11
04
11
04
04
Byte ID
Big the Cat 001BE454 005BE454 Big the Cat 5C 72 Pointer
Blocks 0009AFA1 0049AFA1 Power Plant Blocks
Seaside Hill/Ocean Palace Blocks
64 72 Pointer
Block on Rails 9B7FC
9B815
9B82E
9B87C
9B907
9B9AE
49B7FC
49B815
49B82E
49B87C
49B907
49B9AE
Body
Wheels
Shadows
Rail Piece #1
Rail Center Piece
Rail Piece #2
64
64
B0
64
64
64
72 Pointer
Bomb Explosion 23003E 63003E Saturn Explosion A4 72 Pointer
Broken Glass Pieces (Casino levels) 000BB513 004BB513 Glass Pieces A4 72 Pointer
Bullet Station Tunnel 4575B0
4575C0
4575D0
4575E0
4575F0
457600
8575B0
8575C0
8575D0
8575E0
8575F0
857600
Interior Tunnel
Red Lights
Blue Light #1
Blue Light #2
Light
Black Square Planes
03
13
13
13
13
03
Byte ID
Butterflies 000DD88C
000DD8BE
004DD88C
004DD8BE
Butterflies 7C
7C
72 Pointer
Canyon Barrels 3F5088 7F5088 Eggman Barrels 04 Byte ID
Canyon Capsules 3F6300
3F6310
3F6320
3F6330
7F6300
7F6310
7F6320
7F6330
Capsule #1
Capsule Glass #1
Capsule #1
Capsule Glass #1
04
17
04
17
Byte ID
Casino Floating 2D Signs 3EC1BC
3EC1D8
7EC1BC
7EC1D8
Lost Marker
Green Star Arrow
13
13
Byte ID
Casino Sky Object 3EC10C 7EC10C Stage Sky 01 Byte ID
Character Models 00181CD4 00581CD4 Amy Rose
Cream the Rabbit
E-123 Omega
Espio
Knuckles
Shadow
Sonic
5C 72 Pointer
Charmy Bee 001C64B4 005C64B4 Charmy 5C 72 Pointer
Charmy Bee's Wings 001C64E7 005C64E7 Charmy's Wings A8 72 Pointer
Dash Panel 6E462 46E462 Dash Panel 60 72 Pointer
Dash Ramp 7A39E 47A39E Dash Ramp 60 72 Pointer
Dash Ring 6ED79
6ED8F
46ED79
46ED8F
Dash Base
Green Lights
60
60
72 Pointer
Dice 3EB6C8 7EB6C8 Red Dice 03 Byte ID
Doors (Canyon Levels) 3F6198
3F61A8
3F61B8
3F61C8
3F61D8
3F61E8
7F6198
7F61A8
7F61B8
7F61C8
7F61D8
7F61E8
Metal
Door (Right)
Door (Left)
Metal Grill #1
Metal Grill #2
Metal Grill #3
04
04
04
10
10
10
Byte ID
Duct Grill 3F56E8 7F56E8 Grill 0A Byte ID
Egg Emperor Robot 163F27 563F27 Egg Emperor Robot 74 72 Pointer
Egg Flapper Jet 001E8B4A 005E8B4A Flapper Jet effect A0 72 pointer
Egg Horn (Canyon Stages) 3F573C 7F573C Egg Horn 04 Byte ID
Egg Treat Stars 17759E 57759E Stars B0 72 Pointer
Energy Blocker for Road 004B3938
004B3968
004B3978
004B3988
004B3998
004B39A8
008B3938
008B3968
008B3978
008B3988
008B3998
004B39A8
Pumper Base
Left Pumper
Right Pumper
Flashing Light
Laser Fence
Broken Pieces
04
04
04
13
13
04
Byte ID
Energy Lava 003E63C4
003E63DC
007E63C4
007E63DC
Lava
Lava Gradient
04
13
Byte ID
Energy Path Objects 00172D46
00172DA1
00173279
0017330B
0017399A
00572D46
00572DA1
00573279
0057330B
0057399A
Energy Fill
Energy
Energy Path Activator
Energy Path
Lights
64
64
A0
A0
A4
72 Pointer
Energy Pipe Cover 001740F1
00174130
005740F1
00574130
Energy Pipe Handles
Pipe Glass
64
64
72 Pointer
Fake Rings 00183A5B 00583A5B Rings 5C 72 Pointer
Fan 6F9E8 46F9E8 Fan 60 72 Pointer
Fan (Bullet Station) 45737C 85737C Fan Barrels 04 Byte ID
Fan (Rail Canyon) 3F5680
3F56A4
7F5680
7F56A4
Fan
Fan Machine
04
04
Byte ID
Fireball Light Spots 003E5CEC 007E5CEC Fireball Spot 13 Byte ID
Firedunk Balls 23760F 63760F Firedunk Ball A4 72 Pointer
Fireworks 000B4AC3 004B4AC3 Firework Effects 14 Byte opcode Not used in the game.
Fountain Wings 000A470A
000A4747
004A470A
004A4747
Fountain Wing
Waterfall
7C
A0
72 Pointer
Frogs 00468A20
00468A44
00868A20
00868A44
Green Frog
Black Frog
04
04
Byte ID
Glass Object (Casino levels) 003EB8B8
003EB8C8
003EB8D8
003EB8E8
003EB8F8
007EB8B8
007EB8C8
007EB8D8
007EB8E8
007EB8F8
Glass Wall
Glass Floor
Glass Piece #1
Glass Piece #2
Glass Piece #3
14
14
14
14
14
Byte ID The destroyed Glass pieces mainly uses the 72 pointer, these three flags are less likely to be used.
Glow in the Dark Mushrooms 00468E28 00868E28 Green and Pink Mushrooms 0A Byte ID
Goal Ring 73FF1
74067
473FF1
474067
Restart Ring
Goal Ring
60
60
72 Pointer
Grand Metropolis Clouds 001769FD 005769FD Clouds 0E Byte Opcode
Grand Metropolis Door 0016FCA7
00172D46
00172DA1
0056FCA7
00572D46
00572DA1
Door
Energy Fill
Energy
64
64
64
72 Pointer
Grand Metropolis Lights 00171B48 00571B48 Red Lights A0 72 Pointer
Hang Castle Clouds 000F77A5 004F77A5 Clouds A4 72 Pointer
Hang Castle Doors 000F8467 004F8467 Doors 60 72 Pointer
Hang Castle Flags 000FA73F
000FA798
004FA73F
004FA798
Flag Poles
Flags
64
7C
72 Pointer
Hang Castle Grass 000FDF6D 004FDF6D Grass 88 72 Pointer
Hang Castle Platforms 00100804
00100804
00500797
00500804
Platform Base
Floor
60
60
72 Pointer
Hang Castle Trees 00101A68
00101A76
00501A68
00501A76
Trunk
Tree Bushes
60
88
72 Pointer
HEXAeco Signboard 004B446C
004B4484
004B449C
008B446C
008B4484
008B449C
Frame
Sign Layer #1
Sign Layer #2
04
14
14
Byte ID
Hexagonal Satellite 003E6AB8
003E6AD0
007E6AB8
007E6AD0
Handles
Mirror
04
03
Byte ID
Homing Attack Ring Effects 00232560 00632560 Ring Effect A4 72 Pointer
Kao A4A8F 4A4A8F Kao 60 72 Pointer
Large Green Spring Plant 4753B4 8753B4 Green Spring Plant 04 Byte ID
Liftable Bridge 0016D3EF 0056D3EF Lift Bridge 7C 72 Pointer
Miles "Tails" Prower 001C63D4 005C63D4 Tails 5C 72 Pointer
Miles "Tails" Prower's Fox Tails 001C6407 005C6407 Tails' Fox Tails 5C 72 Pointer
Mystic Mansion Doors 00105E17 00505E17 Doors 60 72 Pointer
Mystic Mansion Platforms 00106A77
00106AE2
00506A77
00506AE2
Platform Base
Floor
60
60
72 Pointer
Mystic Mansion Pocket Dimension Sphere 00104EEA 00504EEA Pocket Dimension Sphere A4 72 Pointer
Ocean Palace Turtle Legs 000A2D27
000A3274
004A2D27
004A3274
Turtle Legs
Water Waves
64
B0
72 Pointer
Ocean Palace Waterfall 000A671C 004A671C Waterfall A0 72 Pointer
Ocean Waves 99C52 499C52 Ocean Waves B0 72 Pointer
Orange Dash Arrows 3EB660
3EB670
3EB680
7EB660
7EB670
7EB680
Dash Arrows 14
14
14
Byte ID
Pinball Bumpers 003EB450
003EB460
003EB470
003EB480
007EB450
007EB460
007EB470
007EB480
Bumpers 04
04
04
04
Byte ID
Pinball Round Bumpers 3EB39C 7EB39C Round Bumpers 04 Byte ID
Pinball Flippers 003EB75C
003EB76C
007EB75C
007EB76C
Left Flipper
Right Flipper
04
04
Byte ID
Pole 7D667 47D667 Pole 60 72 Pointer
Power Gong 83B1B 483B1B Power Gong 60 72 Pointer
Power Plant Clouds 000A6B0E 004A6B0E Clouds 0F Byte opcode Value is one value up from 0E in this offset and decremented by the opcode after this one resulting the byte "0E" after loading.
You will need to add the material flag id by 01 for your desired material effect (Example:if the byte is 15, it will become 14 before the level loading finishes.)
Power Plant Crane 003E5C9C
003E5CB4
003E5CCC
007E5C9C
007E5CB4
007E5CCC
Cab
Jib Guy Line
Crane Jib
04
06
0C
Byte ID
Power Plant HEXAeco Glass Ball 003E5BEC 007E5BEC Glass Ball 17 Byte ID
Power Plant Room Light 003E69CC
003E69FC
007E69CC
007E69FC
Pentagon Frame
Mint Light
04
13
Byte ID
Quick Ascent Ring Effects 00231F13 00631F13 Ring Effects A4 72 Pointer
Rail Board 3F5AC4
3F5AD4
7F5AC4
7F5AD4
Railboard Grate
Rail
0A
04
Byte ID
Rail Canyon Rails 000D5A4A
000D5B39
004D5A4A
004D5B39
Changable Rails A0 72 Pointer
Rail Exclamation Sign 3F5F94
3F5FA4
7F5F94
7F5FA4
Sign 04
13
Byte ID
Rail Signs 3F63B0
3F63C0
3F63D0
3F63E0
3F63F0
3F6400
3F6410
7F63B0
7F63C0
7F63D0
7F63E0
7F63F0
7F6400
7F6410
Base
Arrows
Blue Flash Effect
Red Flash Effect
Blue Flash Effect (Alpha)
Red Flash Effect (Alpha)
Glass
04
04
04
04
17
17
17
Byte ID
Rail Switch 3FAE7C
3FAE8C
3FAE9C
7FAE7C
7FAE8C
7FAE9C
Switch
Red Flash
Blue Flash
04
13
13
Byte ID
Rouge the Bat 001C6444 005C6444 Rouge 5C 72 Pointer
Rouge's Bat Wings 001C6477 005C6477 Rouge's Bat Wings 5C 72 Pointer
Seaside Hill Flags 0009543A
0009547C
0049543A
0049547C
Flag Pole
Flag
64
7C
72 Pointer
Seaside Hill Ruins 98981 498981 Ruin Platforms 64 72 Pointer
Seaside Hill Ruin Waterfall 994A7 4994A7 Ruin Waterfall B0 72 Pointer
Seaside Hill Waterfall 96849 496849 Waterfall B0 72 Pointer
Seaside Hill Water cracks 93FFA 493FFA Waterfall B0 72 Pointer
Skeleton Fan 0010638D 0050638D Skeleton Hand Fan 60 72 Pointer
Sliding Block 9CF01
9CF19
9CF31
49CF01
49CF19
49CF31
Body
Wheels
Shadows
64
64
B0
72 Pointer
Sliding Block Path 9D364 49D364 Body
Wheels
Shadows
64
64
B0
72 Pointer
Small Triangular Bumpers 003EC120
003EC130
003EC140
003EC150
007EC120
007EC130
007EC140
007EC150
Triangular Bumpers 04
04
04
04
Byte ID
Spike Balls 77413 477413 Spike Ball 60 72 Pointer
Spiked Grass 000FD7BE
000FD8CE
004FD7BE
004FD8CE
Red Grass
Grass Spikes
60
88
72 Pointer
Spinning Spike Ball Pole 774C6 4774C6 Spike Ball Spin Pole 60 72 Pointer
Station Doors 3F4FF8
3F501C
7F4FF8
7F501C
Automatic Doors 04
04
Byte ID
Swinging Axes 0010000C 0050000C Hang Castle Axes 60 72 Pointer
Teleporter Switch 00102D62
00103D38
00502D62
00503D38
Switch Ball
Switch Pad/Inactive Switch
60
60
72 Pointer
Torch Holder 000F9C06
000F9C87
004F9C06
004F9C87
Torch Parts 60
60
72 Pointer
Vector's Bubble Gum 001BE5B7 005BE5B7 Bubble Gum Ball 5C 72 Pointer
Vector's Bubble Gum Breath 00185EB0 00585EB0 Bubble Gum Ball 5C 72 Pointer
Vector the Crocodile 001BE584 005BE584 Vector 5C 72 Pointer
Vine Slide (Frog Forest) ED346
ED73D
4ED346
4ED73D
Vine Tail
Vine
64
64
72 Pointer
Vine Slide (Lost Jungle) F4276
F466D
F4AB6
F4EAD
4F4276
4F466D
4F4AB6
4F4EAD
Vine #1
Vine Tail #1
Vine Tail #2
Vine #2
64
64
64
64
72 Pointer
Warp Flower Stem 70617 470617 Stem 60 72 Pointer
Water (Lost Jungle) 00476EB4 00876EB4 Pond Water 13 Byte ID
Wiggly Mushrooms (Lost Jungle) 475510 875510 Mushrooms 04 Byte ID

Special Stage Object Model Settings

A list of models loaded for special stages has a number of different entries in the EXE. The section begins at 0x495980 with data that reads the blend type assigned to the object.

Blend Type:

Parameter Description
00 Regular Alpha
01 Additive Alpha

Entry Settings List

List of object entries are located in the addresses in the EXE.

Address Default Blend Type (Hex.) Description Notes
495984 00 Spike Bombs (Near point)
49599C 00 Colored Spheres (Near point) Changing the byte to an additive alpha parameter will cause all spheres to use the same color during the hue cycle animation.
4959A4 01 Sphere Bubble effect
4959C0 00 Orange Star Sphere
4959CC 00 Orange Star Sphere (Star Layer)
4959E4 00 Blue Star Sphere
4959F0 00 Blue Star Sphere (Star Layer)
495A08 00 Colored Spheres (Far point) Same as with the near point.
495A20 00 Sphere with stars (Far point)
495A2C 00 Sphere Stars (Far point)
495A44 00 Spike Bombs (Far point)

Special Stage Particles (Incomplete)

List of particle blend IDs begins at 0x494AB0 and ends at 0x494AE0. Each section entry is 0x10 bytes with one byte each.

Particle Blend ID Address (EXE) Address (RAM)
Dark Smoke 03 494AB0 894AB0
Explosion Effect #1 00 494AB1 894AB1
Explosion Effect #2 00 494AB2 894AB2
Stars from Colored Balls 01 494AB5 894AB5
Stars from Colored Balls (Additive) 00 494AB6 894AB6
Stars from Balls with Star Decoration 01 494ABA 894ABA
Stars from Balls with Star Decoration (Additive) 00 494ABB 894ABB
Chaos Emerald Sparkles for Act 1 00 494AC6 894AC6
Chaos Emerald Sparkles for Act 2 00 494AC5 894AC5
Chaos Emerald Sparkles for Act 3 00 494AC7 894AC7
Chaos Emerald Sparkles for Act 4 00 494AC8 894AC8
Chaos Emerald Sparkles for Act 5 00 494AC9 894AC9
Chaos Emerald Sparkles for Act 6 00 494ACA 894ACA
Chaos Emerald Sparkles for Act 7 00 494ACB 894ACB

Blend Modes

The following IDs define the blend factors for these particle effects.

ID Value (Src.) Value (Dest.) Address (EXE) #1 Address (EXE) #2 Address (RAM) #1 Address (RAM) #2 Source Factor Dest. Factor Description Notes
00 05 02 4951D4 8951D4 4951D8 8951D8 rwBLENDSRCALPHA rwBLENDONE Additive Alpha
01 05 06 4951DC 8951DC 4951E0 8951E0 rwBLENDSRCALPHA rwBLENDINVSRCALPHA Alpha
02 02 01 4951E4 8951E4 4951E8 8951E8 rwBLENDONE rwBLENDZERO Regular Unused, uses the same blend factors as 01 instead.
03 01 04 4951EC 8951EC 4951F0 8951F0 rwBLENDZERO rwBLENDINVSRCCOLOR Subtractive Alpha
04 01 01 4951F4 8951F4 4951F8 8951F8 rwBLENDZERO rwBLENDZERO Non-Alpha Blend Probably unused.
Sonic Community Hacking Guide
General
Sonic Music Hacking Guide | SonED2 Manual
Game-Specific
Sonic the Hedgehog (16-bit) | Sonic the Hedgehog (8-bit) | Sonic Eraser | Sonic CD (prototype 510) | Sonic CD | Sonic CD (PC) | Sonic 2 (Nick Arcade prototype) | Sonic 2 (Simon Wai prototype) | Sonic 2 (16-bit) | Sonic 2 (8-bit) | Sonic 2 & Knuckles | Dr. Robotnik's Mean Bean Machine | Sonic Triple Trouble | Sonic 3 | Sonic & Knuckles | Sonic 3 & Knuckles | Sonic & Knuckles Collection | Sonic Crackers | Sonic 3D: Flickies' Island | Chaotix | Sonic R PC | Sonic Jam 6 | Sonic Advance | Sonic Advance 2 | Sonic Advance 3 | Sonic Battle | Sonic Adventure | Sonic Adventure DX: Director's Cut | Sonic Adventure DX: PC | Sonic Adventure (2010) | Sonic Adventure 2 | Sonic Adventure 2: Battle | Sonic Adventure 2 (PC) | Sonic Heroes | Shadow the Hedgehog | Sonic Riders | Sonic the Hedgehog (2006) | Sonic & Sega All-Stars Racing | Sonic Unleashed (Xbox 360/PS3) | Sonic Generations
Legacy Guides
The Nemesis Hacking Guides The Esrael Hacking Guides
ROM: Sonic 1 | Sonic 2 | Sonic 2 Beta | Sonic 3

Savestate: Sonic 1 | Sonic 2 Beta/Final | Sonic 3

Sonic 1 (English / Portuguese) | Sonic 2 Beta (English / Portuguese) | Sonic 2 and Knuckles (English / Portuguese)
Move to Sega Retro
Number Systems (or scrap) | Assembly Hacking Guide | Subroutine Equivalency List | 68000 Instruction Set | 68000 ASM-to-Hex Code Reference | VDP Documentation | Official Sega 32X Documentation | Official Mega-CD Documentation | Official Sega Mega Drive Documentation