- Group:
- Member: Members
- Active Posts:
- 490 (0.12 per day)
- Most Active In:
- Engineering & Reverse Engineering (157 posts)
- Joined:
- 21-December 03
- Profile Views:
- 13349
- Last Active:
Private- Currently:
- Offline
My Information
- Member Title:
- Jack-O is her name-o!
- Age:
- 22 years old
- Birthday:
- January 24, 1993
- Gender:
-
Male
- Location:
- Oklahoma
Contact Information
- E-mail:
- Click here to e-mail me
- AIM:
-
MikelSonicFan
- Website:
-
http://twitch.tv/MikelAL93
- Skype:
-
TheOneEyedDragon
Previous Fields
- Other Contact Info:
- #retro, PSN: Mikel93, GGPO: MikelAL93
- Project:
- MUGEN Stuff
- National Flag:
- us
- Wiki edits:
- 2,699
- SA2 Emblems:
- 1
Latest Visitors
-
NeoFusionBox 
09 Jul 2015 - 20:59 -
Xeal 
11 May 2015 - 14:49 -
Jason 
08 Apr 2015 - 07:35 -
Bandicoot456 
24 Mar 2015 - 04:01 -
golden retrie... 
19 Mar 2015 - 04:05 -
Blaxer 
27 Feb 2015 - 00:55 -
MegaMarioMan 
15 Feb 2015 - 19:58 -
Dandaman 
10 Feb 2015 - 06:45 -
Metalsonicmk72 
24 Jan 2015 - 22:48 -
W.A.C. 
25 Dec 2014 - 22:17
Topics I've Started
-
Sonic Anniversary Celebrations thread
23 June 2011 - 12:06 AM
Twenty years ago, on June 23, 1991, Sonic the Hedgehog 1 was released on the Genesis, and it marked the beginning of one of my favorite franchises as a kid (I still love Sonic to this day, by the way). Happy 20th Birthday, Sonic! Let's hope this year will be your best!
What are you going to do for Sonic's birthday today? I know what I'm doing, I'm going to do some online races in Sonic & Sega All-Stars Racing, as well as replaying through levels in Sonic Colors, as I am trying to get a couple of S Ranks in the game myself. -
How to seperate Super Sonic's mappings from Sonic's mappings
08 June 2010 - 02:11 PM
As you can see in Stealth's Sonic and Knuckles disassembly, Sonic's mappings and PLCs have been seperated from Super Sonic's mappings and PLCs, while Sonic 2 has Super Sonic and Sonic's PLCs and mappings together in two different files, a mappings file, and a PLC file.
To seperate Super Sonic's mappings/PLCs with Sonic's mappings/PLCs, do the following steps as described here:
First, go to "Sonic_Super:"
Syntax Highlighted Code: ASMSonic_Super:
tst.b (Super_Sonic_flag).w ; Ignore all this code if not Super Sonic
beq.w return_1AC3C
tst.b (Update_HUD_timer).w
beq.s Sonic_RevertToNormal ; ?
subq.w #1,(Super_Sonic_frame_count).w
bpl.w return_1AC3C
move.w #60,(Super_Sonic_frame_count).w ; Reset frame counter to 60
tst.w (Ring_count).w
beq.s Sonic_RevertToNormal
ori.b #1,(Update_HUD_rings).w
cmpi.w #1,(Ring_count).w
beq.s +
cmpi.w #10,(Ring_count).w
beq.s +
cmpi.w #100,(Ring_count).w
bne.s ++
+
ori.b #$80,(Update_HUD_rings).w
+
subq.w #1,(Ring_count).w
bne.s return_1AC3C
Replace it with this:
Syntax Highlighted Code: ASMSonic_Super:
tst.b (Super_Sonic_flag).w ; Ignore all this code if not Super Sonic
beq.w return_1AC3C
tst.b (Update_HUD_timer).w
beq.s Sonic_RevertToNormal ; ?
tst.b (Super_Sonic_flag).w; switch on the super sonic flag
move.l #Mapunc_SuperSonic,mappings(a0) ; load Super Sonic's art
bra.w ContSonic_Super ; branch to rest of code
ContSonic_Super:
subq.w #1,(Super_Sonic_frame_count).w
bpl.w return_1AC3C
move.w #60,(Super_Sonic_frame_count).w ; Reset frame counter to 60
tst.w (Ring_count).w
beq.s Sonic_RevertToNormal
ori.b #1,(Update_HUD_rings).w
cmpi.w #1,(Ring_count).w
beq.s +
cmpi.w #10,(Ring_count).w
beq.s +
cmpi.w #100,(Ring_count).w
bne.s ++
+
ori.b #$80,(Update_HUD_rings).w
+
subq.w #1,(Ring_count).w
bne.s return_1AC3C
This will make sure if Super Sonic will run his own mappings and animation script instead of using Sonic's mappings with a different animation script.
Then, go to "loc_41C56:"
Syntax Highlighted Code: ASMloc_41C56:
btst #4,(Ctrl_1_Press).w
beq.s return_41CB6
moveq #0,d0
move.w d0,(Debug_placement_mode).w
lea (MainCharacter).w,a1 ; a1=character
move.l #Mapunc_Sonic,mappings(a1)
move.w #$780,art_tile(a1)
tst.w (Two_player_mode).w
beq.s loc_41C82
move.w #$3C0,art_tile(a1)
Then replace it with this:
Syntax Highlighted Code: ASMloc_41C56:
btst #4,(Ctrl_1_Press).w
beq.s return_41CB6
moveq #0,d0
move.w d0,(Debug_placement_mode).w
lea (MainCharacter).w,a1 ; a1=character
tst.b (Super_Sonic_flag).w
bne.w SuperSonicDebugMappings
move.l #Mapunc_Sonic,mappings(a1)
move.w #$780,art_tile(a1)
tst.w (Two_player_mode).w
beq.s loc_41C82
move.w #$3C0,art_tile(a1)
SuperSonicDebugMappings:
move.l #Mapunc_SuperSonic,mappings(a1)
move.w #$780,art_tile(a1)
tst.w (Two_player_mode).w
beq.s loc_41C82
move.w #$3C0,art_tile(a1)
This will make sure that whenever you are either Sonic or Super Sonic using the game's debug mode by pressing the B button to enter object placement mode, then pressing the button again whenever you are either Sonic or Super Sonic, either character's mappings will appear. Say if you are playing as Super Sonic, press B to enter object placement mode, press it again, then you will have Super Sonic mappings instead of Sonic's regular mappings.
Then, go to "LoadSonicDynPLC_Part2:"
Syntax Highlighted Code: ASMLoadSonicDynPLC_Part2:
cmp.b ($FFFFF766).w,d0
beq.s return_1B89A
move.b d0,($FFFFF766).w
lea (MapRUnc_Sonic).l,a2
add.w d0,d0
adda.w (a2,d0.w),a2
move.w (a2)+,d5
subq.w #1,d5
bmi.s return_1B89A
move.w #-$1000,d4
Change it to this:
Syntax Highlighted Code: ASMLoadSonicDynPLC_Part2:
cmp.b ($FFFFF766).w,d0
beq.s return_1B89A
move.b d0,($FFFFF766).w
cmpi.b #1,(Super_Sonic_flag).w; switch on the super sonic flag
beq.s SonicPLCLoad ; if not, load Sonic's art
lea (MapRUnc_Sonic).l,a2 ; load Sonic's art
bra.s ContLoadPLC ; branch to rest of code
SonicPLCLoad:
cmpi.b #0,(Super_Sonic_flag).w; switch off the super sonic flag
beq.s SonicPLCLoad2 ; if not, load Sonic's art
lea (MapRUnc_SuperSonic).l,a2 ; load Super Sonic's art
bra.s ContLoadPLC ; branch to rest of code
SonicPLCLoad2:
lea (MapRUnc_Sonic).l,a2
ContLoadPLC:
add.w d0,d0
adda.w (a2,d0.w),a2
move.w (a2)+,d5
subq.w #1,d5
bmi.s return_1B89A
move.w #-$1000,d4
This will make sure that Super Sonic will have his own PLCs whenever the player is playing as Super Sonic.
Then, add this line under "Mapunc_Sonic:"
Syntax Highlighted Code: ASM;--------------------------------------------------------------------------------------
; Sprite Mappings
; Super Sonic ; MapUnc_6FBE0: SprTbl_Sonic:
;--------------------------------------------------------------------------------------
Mapunc_SuperSonic: BINCLUDE "mappings/sprite/Super Sonic.bin"
Add this one under "MapRUnc_Sonic:"
Syntax Highlighted Code: ASM;--------------------------------------------------------------------------------------
; Sprite Dynamic Pattern Reloading
; Super Sonic DPLCs ; MapRUnc_714E0:
;--------------------------------------------------------------------------------------
; WARNING: the build script needs editing if you rename this label
; or if you move Sonic's running frame to somewhere else than frame $2D
MapRUnc_SuperSonic: BINCLUDE "mappings/spriteDPLC/Super Sonic.bin"
These files will make sure that Super Sonic does indeed, have his own mappings and PLCs.
Next, go to "SAnim_WalkRun:" and take a look at this line:
Syntax Highlighted Code: ASMtst.b (Super_Sonic_flag).w
bne.s SAnim_Super
lea (SonAni_Run).l,a1 ; use running animation
cmpi.w #$600,d2 ; is Sonic at running speed?
bcc.s + ; use running animation
lea (SonAni_Walk).l,a1 ; if yes, branch
add.b d0,d0
Remove the following lines:
Syntax Highlighted Code: ASMtst.b (Super_Sonic_flag).w
bne.s SAnim_Super
They need to be removed because they will load the corkscrew animations with Super Sonic's walking/running sprites.
Lastly, you can now copy and paste Sonic's animations for Walking, Running, and Pushing from Sonic's anmation script:
Syntax Highlighted Code: ASM; ---------------------------------------------------------------------------
; Animation script - Super Sonic
; (many of these point to the data above this)
; ---------------------------------------------------------------------------
SuperSonicAniData:
dc.w SupSonAni_Walk - SuperSonicAniData ; 0
dc.w SupSonAni_Run - SuperSonicAniData ; 1
dc.w SonAni_Roll - SuperSonicAniData ; 2
dc.w SonAni_Roll2 - SuperSonicAniData ; 3
dc.w SupSonAni_Push - SuperSonicAniData ; 4
dc.w SupSonAni_Stand - SuperSonicAniData ; 5
dc.w SupSonAni_Balance - SuperSonicAniData ; 6
dc.w SonAni_LookUp - SuperSonicAniData ; 7
dc.w SupSonAni_Duck - SuperSonicAniData ; 8
dc.w SonAni_Spindash - SuperSonicAniData ; 9
dc.w SonAni_Blink - SuperSonicAniData ; 10 ; $A
dc.w SonAni_GetUp - SuperSonicAniData ; 11 ; $B
dc.w SonAni_Balance2 - SuperSonicAniData ; 12 ; $C
dc.w SonAni_Stop - SuperSonicAniData ; 13 ; $D
dc.w SonAni_Float - SuperSonicAniData ; 14 ; $E
dc.w SonAni_Float2 - SuperSonicAniData ; 15 ; $F
dc.w SonAni_Spring - SuperSonicAniData ; 16 ; $10
dc.w SonAni_Hang - SuperSonicAniData ; 17 ; $11
dc.w SonAni_Dash2 - SuperSonicAniData ; 18 ; $12
dc.w SonAni_Dash3 - SuperSonicAniData ; 19 ; $13
dc.w SonAni_Hang2 - SuperSonicAniData ; 20 ; $14
dc.w SonAni_Bubble - SuperSonicAniData ; 21 ; $15
dc.w SonAni_DeathBW - SuperSonicAniData ; 22 ; $16
dc.w SonAni_Drown - SuperSonicAniData ; 23 ; $17
dc.w SonAni_Death - SuperSonicAniData ; 24 ; $18
dc.w SonAni_Hurt - SuperSonicAniData ; 25 ; $19
dc.w SonAni_Hurt - SuperSonicAniData ; 26 ; $1A
dc.w SonAni_Slide - SuperSonicAniData ; 27 ; $1B
dc.w SonAni_Blank - SuperSonicAniData ; 28 ; $1C
dc.w SonAni_Balance3 - SuperSonicAniData ; 29 ; $1D
dc.w SonAni_Balance4 - SuperSonicAniData ; 30 ; $1E
dc.w SupSonAni_Transform - SuperSonicAniData ; 31 ; $1F
SupSonAni_Walk: dc.b $FF, $F,$10,$11,$12,$13,$14, $D, $E,$FF
SupSonAni_Run: dc.b $FF,$2D,$2E,$2F,$30,$FF,$FF,$FF,$FF,$FF
SupSonAni_Push: dc.b $FD,$48,$49,$4A,$4B,$FF,$FF,$FF,$FF,$FF
SupSonAni_Stand: dc.b 7,1,2,3,2,$FF
SupSonAni_Balance: dc.b 9,$C8,$C9,$CA,$C9,$CB,$CC,$CD,$CC,$FF
SupSonAni_Duck: dc.b 5,$4C,$FF
SupSonAni_Transform: dc.b 2,$6D,$6D,$6E,$6E,$6F,$70,$71,$70,$71,$70,$71,$70,$71,$FD, 0
even
This method will let Super Sonic use Sonic's regular walking, running, pushing, standing/wait, balancing and ducking sprite mappings and PLCs instead of using his own.
And here are the files:
http://www.fileden.com/files/2007/2/10/758...appingsPLCs.rar
Note: The sprites used in the mappings are the same as the regular Sonic 2 Super Sonic sprites.
That's all for now, I will cover how to seperate his sprites from Sonic's sprites soon. -
How to Expand the music index to start at $00 instead of $80
03 January 2010 - 08:23 PM
Well, since Tweaker released the Sonic 2 Clone Driver, I might as well post this guide that I had to keep private since May 26, 2009.
NOTE: First off, Credit HPZMan for the Original Guide he made for Sonic 1, which can be found at SCHG:How-to:Expand the music index to start at $00 instead of $80
Second of all, you need to have the Sonic 2 Clone Driver in your hack, to get the Clone Driver, go to this topic, this requires the Sonic 1 Sound Driver to be installed in your Sonic 2 hack first.
First, go to "PlayMusic:"
You will see something like this:
Syntax Highlighted Code: ASM
PlayMusic:
; tst.b ($FFFFFFE0).w
; bne.s +
; move.b d0,($FFFFFFE0).w
move.b d0,($FFFFF00A).w
rts
+
move.b d0,($FFFFF00A).w
rts
Change it to:
Syntax Highlighted Code: ASM
PlayMusic:
cmpi.b #$7F, d0
ble.s ChkSounds00to7F
jmp NormalSoundRequest
ChkSounds00to7F:
cmpi.b #$01, d0
bge.s LoadSlots00to7F
jmp NormalSoundRequest
LoadSlots00to7F:
add.b #$80, d0; Add $80 you get slot that starts in $81
move.b #$01, ($FFFFFFFC) .w; $FFFFFC moves $01 you you make sound to driver load secound index
NormalSoundRequest:
move.b d0, ($FFFFF00A) .w
rts
Then, go to "PlaySound:".
You will see something like this:
Syntax Highlighted Code: ASM
PlaySound:
move.b d0,($FFFFF00B).w
rts
Change it to:
Syntax Highlighted Code: ASM
PlaySound:
cmpi.b #$7F, d0
ble.s ChkSounds00to7F_Special
jmp NormalSoundRequest_Special
ChkSounds00to7F_Special:
cmpi.b #$01, d0
bge.s LoadSlots00to7F_Special
jmp NormalSoundRequest_Special
LoadSlots00to7F_Special:
add.b #$80, d0; Add $80 you get slot that starts in $81
move.b #$01, ($FFFFFFFC) .w; $FFFFFC moves $01 you you make sound to driver load secound index
NormalSoundRequest_Special:
move.b d0, ($FFFFF00B) .w
rts
Then, go to "loc_7202C:"
You will see something like this:
Syntax Highlighted Code: ASM
loc_7202C:
jsr sub_725CA(pc)
movea.l (off_719A0).l,a4
subi.b #$81,d7
move.b (a4,d7.w),$29(a6)
movea.l (Go_MusicIndex).l,a4
Change it to:
Syntax Highlighted Code: ASM
loc_7202C:
jsr sub_725CA (PC)
movea.l (off_719A0) .l, a4
subi.b #$81, d7
move.b (a4, d7.w), $29 (a6)
movea.l (Go_MusicIndex) .l, a4
cmpi.b #$01, ($FFFFFFFC) .w
bne.s NormalIndexLoad
movea.l (Go_MusicIndex_01to1F) .l, a4
NormalIndexLoad:
clr.w ($FFFFFFFC) .w
Then, search for "Go_MusicIndex:"
You will see something like this:
Syntax Highlighted Code: ASM
Go_MusicIndex: dc.l MusicIndex ; XREF: Sound_81to9F
Add this below "Go_MusicIndex:":
Syntax Highlighted Code: ASM
Go_MusicIndex_01to1F: dc.l MusicIndex_01plus
Then, go to "MusicIndex:"
You will see something like this:
Syntax Highlighted Code: ASM
MusicIndex: dc.l Music81, Music82
dc.l Music83, Music84
dc.l Music85, Music86
dc.l Music87, Music88
dc.l Music89, Music8A
dc.l Music8B, Music8C
dc.l Music8D, Music8E
dc.l Music8F, Music90
dc.l Music91, Music92
dc.l Music93, Music94
dc.l Music95, Music96
dc.l Music97, Music98
dc.l Music99, Music9A
dc.l Music9B, Music9C
dc.l Music9D, Music9E
dc.l Music9F
Then, add this below "MusicIndex:"
Syntax Highlighted Code: ASM
MusicIndex_01plus:
dc.l Music01, Music02
The "dc.l Music01, Music02" is basically an example of what music slots you should use for Slots $01 to any number you want to stop at
Then, go to "Sound_ChkValue:"
You should see something like this:
Syntax Highlighted Code: ASM
Sound_ChkValue: ; XREF: sub_71B4C
moveq #0,d7
move.b 9(a6),d7
beq.w Sound_E4
bpl.s locret_71F8C
move.b #$80,9(a6) ; reset music flag
cmpi.b #$E0,d7
bge.s Sound_E0plus
Sound_ChkValue_OtherChecks:
cmpi.b #$FF,d7
bge.s Sound_E0toF8
cmpi.b #$9F,d7
ble.w Sound_81To9F
cmpi.b #$F0,d7
ble.w Sound_A0ToCF
cmpi.b #$F9,d7
bge.w Sound_E0toE4
Change it to:
Syntax Highlighted Code: ASM
Sound_ChkValue: ; XREF: sub_71B4C
moveq #0, d7
move.b 9 (a6), d7
beq.w Sound_E4
bpl.s locret_71F8C
move.b #$80,9 (a6); reset music flag
cmpi.b #$E0,d7
bge.s Sound_E0plus
cmpi.b #$01, ($FFFFFFFC) .w
bne.s Load81to9F
jmp Sound_ChkValueFor00
Load81to9F:
cmpi.b #$9F, d7
bls.w Sound_81to9F; music $81-$9F
Sound_ChkValue_OtherChecks:
cmpi.b #$FF,d7
bge.s Sound_E0toF8
cmpi.b #$F0,d7
ble.w Sound_A0ToCF
cmpi.b #$F9,d7
bge.w Sound_E0toE4
Now, go to "Sound_81to9F:", and change it to this:
Syntax Highlighted Code: ASM
Sound_ChkValueFor00:
cmpi.b #$FF, d7; $FF = Last slot will be musics in index $00 - $7F ($FF = $7F)
bls.w Sound_81to9F
rts
Sound_81to9F: ; XREF: Sound_ChkValue
cmpi.b #$98,d7 ; is "extra life" music played?
bne.s loc_72024 ; if not, branch
tst.b $27(a6)
bne.w loc_721B6
lea $40(a6),a5
moveq #9,d0
Finally, we are going to Change the number of sound test slots in the options menu
Go to "word_917A:"
You will see something like this:
Syntax Highlighted Code: ASM
dc.w $7FFF ; 4
dc.w Sound_test_sound ; 5
Change the "$7" in "$7FFF" to anything you like, like "$FFFF", or "$CFFF"
That's all for now, I will cover Level Select Sound Test Slot expansion soon. -
Mikel's Unnamed Sonic 3K hack
25 October 2009 - 07:28 PM
Well, many of you know that I am working on a Sonic 2 hack named Sonic Zeta Overdrive, but I am also working on a hack of Sonic 3K, so far, I have changed the palettes for a couple of the zones, I will also include Layout and Special Stage edits, and when Varion releases his Sonic 3K split disassembly in the future, I will do ASM edits, like adding the Jump Dash and Light Dash, and adding the Sonic 1 Sound Driver to Sonic 3K.
Here are some screenshots:


Mushroom Hill Zone at Day (Act 1):
Mushroom Hill Zone at Evening (Act 2):
These are all the screenshots I can offer, more screenshots are coming soon, Comments, Name suggestions, and Criticism are welcome. -
How to add Dynamic Palettes in Sonic 2 SMS
22 February 2009 - 08:48 PM
I would like to thank Glitch for both, the Sonic 2 SMS disassembly, and the program Aspect Edit.
Ok, if you have been playing Sonic 2 SMS in the past, you may notice that four zones in the game lack the use of Dynamic Palettes, as only three of the zones in the original game use them. The four zones that lacked Dynamic Palettes were:
Underground Zone, Green Hills Zone, Gimmick Mountain Zone and Scrambled Egg Zone.
So, if you want to add Dynamic Palettes for those four zones in Sonic 2 SMS, follow these instrcutions below:
First, go to LevelPaletteValues in the Sonic 2 SMS disassembly, located in src/s2.asm, and you will get something like this:
Syntax Highlighted Code: ASMLevelPaletteValues:
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
[color= #adadad; font-style: italic;];shz[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0F[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]05[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]10[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]06[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0F[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]05[/color][/color]
[color= #adadad; font-style: italic;];alz[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]11[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]07[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]12[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]08[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]11[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]07[/color][/color]
[color= #adadad; font-style: italic;];ghz[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]13[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]04[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]13[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]04[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]13[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]04[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]14[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0A[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]14[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0A[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]14[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0A[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]15[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0B[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]15[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0B[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]15[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0B[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]16[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0C[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]16[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0C[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]17[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0D[/color]
Take a look at Underground Zone for example:
Syntax Highlighted Code: ASM.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
As you can see, $0E is the zone palette for Underground Zone, and $09 is the palette for Sonic in Underground Zone.
Then, Open up Aspect Edit, and click on the Open Palette button:

Right now, we are going to edit Underground Zone's palette, so click on "palette_ugz.bin" (Which is located in the palettes folder) in the file browser:

Then, you can edit the colors in the palette, after you're done, click the Save Palette as button:

When it asks for a new filename, save it as "palette_ugz2.bin" for Act 2, and "palette_ugz3.bin" for Act 3.
For GHZ, do the same method, but open "palette_ghz.bin", and save it as "palette_ghz2.bin" for Act 2, and "palette_ghz3.bin" for Act 3.
Same goes for SEZ, and GMZ. open "palette_sez.bin" for SEZ, and "palette_gmz.bin" for GMZ, for SEZ, save it as "palette_sez2.bin" for Act 2, and "palette_sez3.bin" for Act 3. And for GMZ, save it as "palette_gmz2.bin" for Act 2, and "palette_gmz3.bin" for Act 3.
Then, If you want Underground to go through a Day-to-Night, do this:
Syntax Highlighted Code: ASM[color= #adadad; font-style: italic;];ugz[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]0E[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;]2F[/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]30[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]09[/color][/color]
And for Green Hills Zone to Scrambled Egg, do this:
Syntax Highlighted Code: ASM[color= #adadad; font-style: italic;];ghz[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]13[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]04[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]31[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]04[/color][/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]32[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]04[/color][/color]
[color= #adadad; font-style: italic;];gmz[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]14[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0A[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]33[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0A[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]34[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0A[/color]
[color= #adadad; font-style: italic;];sez[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]15[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0B[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]35[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0B[/color]
.[color= #00CC66;]db[/color] [color= #ff0000;]$[/color][color= #ff0000;][color= #ff0000;]36[/color][/color], [color= #ff0000;]$[/color][color= #ff0000;]0B[/color]
And lastly, add these lines at the end of src/includes/palettes.asm:
Syntax Highlighted Code: ASMPalette_UGZ_2: [color= #adadad; font-style: italic;];$2F[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_ugz2.bin"[/color]
Palette_UGZ_3: [color= #adadad; font-style: italic;];$30[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_ugz3.bin"[/color]
Palette_GHZ_2: [color= #adadad; font-style: italic;];$31[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_ghz2.bin"[/color]
Palette_GHZ_3: [color= #adadad; font-style: italic;];$32[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_ghz3.bin"[/color]
Palette_GMZ_2: [color= #adadad; font-style: italic;];$33[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_gmz2.bin"[/color]
Palette_GMZ_3: [color= #adadad; font-style: italic;];$34[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_gmz3.bin"[/color]
Palette_SEZ_2: [color= #adadad; font-style: italic;];$35[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_sez2.bin"[/color]
Palette_SEZ_3: [color= #adadad; font-style: italic;];$36[/color]
.[color= #00bfff;]incbin[/color] [color= #CC33CC;]"palettespalette_sez3.bin"[/color]
Then, build the rom, and check out your new Dynamic palettes for UGZ, GHZ, GMZ, and SEZ.
That's all, if you have any questions, PM me, and give credit where credit is due.
And if you want to see my dynamic palettes for UGZ, here they are (The palette for Act 1 is the Same palette as the original game):
UGZ Act 1 (Same palette as the original game)
UGZ Act 2
UGZ Act 3

Find My Content
Private
Male
