diff options
author | vulcandth <vulcandth@gmail.com> | 2022-03-26 15:59:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-26 16:59:36 -0400 |
commit | fe8d3c51a4056f0dd61dbef332ad9e714b82089a (patch) | |
tree | 871eb178792c4355564b858e79e0e61963e0ffef /vc | |
parent | 07df4a5f88aa5b9927a0f8a7c317afa57a313ab9 (diff) |
Build the Virtual Console patches with `make red_vc` and `make blue_vc` (#351)
Diffstat (limited to 'vc')
-rw-r--r-- | vc/pokeblue.constants.asm | 71 | ||||
-rw-r--r-- | vc/pokeblue.patch.template | 436 | ||||
-rw-r--r-- | vc/pokered.constants.asm | 74 | ||||
-rw-r--r-- | vc/pokered.patch.template | 482 |
4 files changed, 1063 insertions, 0 deletions
diff --git a/vc/pokeblue.constants.asm b/vc/pokeblue.constants.asm new file mode 100644 index 00000000..a197afae --- /dev/null +++ b/vc/pokeblue.constants.asm @@ -0,0 +1,71 @@ +INCLUDE "constants.asm" + +; These are all the asm constants needed to make the blue_vc patch. + +vc_const: MACRO +x = \1 + PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file +ENDM + +; [FPA 001 Begin] + vc_const "M" + vc_const "E" + vc_const "G" + vc_const "A" + vc_const "P" + vc_const "S" + vc_const "L" + vc_const "F" + vc_const "X" + vc_const MEGA_PUNCH + +; [FPA 001 End] + vc_const EXPLOSION + +; [FPA 002 Begin] + vc_const "U" + vc_const "I" + vc_const GUILLOTINE + +; [FPA 002 End] + vc_const "K" + vc_const MEGA_KICK + +; [FPA 004 Begin] + vc_const "B" + vc_const "Z" + vc_const BLIZZARD + +; [FPA 005 Begin] + vc_const BUBBLEBEAM + +; [FPA 005 End] + vc_const HYPER_BEAM + +; [FPA 006 Begin] + vc_const "H" + vc_const "Y" + +; [FPA 007 Begin] + vc_const "T" + vc_const "N" + vc_const THUNDERBOLT + +; [FPA 008 Begin] + vc_const "R" + vc_const REFLECT + +; [FPA 009 Begin] + vc_const SELFDESTRUCT + +; [FPA 010 Begin] + vc_const "D" + vc_const DREAM_EATER + +; [FPA 011 Begin] + vc_const "O" + vc_const SPORE + +; [FPA 012 Begin] + vc_const "C" + vc_const ROCK_SLIDE diff --git a/vc/pokeblue.patch.template b/vc/pokeblue.patch.template new file mode 100644 index 00000000..2a8bb119 --- /dev/null +++ b/vc/pokeblue.patch.template @@ -0,0 +1,436 @@ +;Format Sample +;[xxxx] ;User-defined Name (Max:31 chars) +;Mode = 1 ;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer +;Type = 0 ;0:Begin 1:End +;Index = 0 ;Index +;Address = x1F8000 ;ROM Address +;MemAddress = x2000 ;RAM Address +;Fixcode = 0 ;Mode1: Fixed Rom Code; Mode2: Fixed Value +;DelayFrame = 0 ;Delay Frame +;FadeFrame = 0 ;Fade Frame 0:Off +;DarkEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;ReduceEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;MotionBEnable0 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Normal Mode) +;Dark0 = 10 ;0~10 (for Normal Mode) +;ReduceColorR0 = 0 ;0~31 (for Normal Mode) +;ReduceColorG0 = 0 ;0~31 (for Normal Mode) +;ReduceColorB0 = 0 ;0~31 (for Normal Mode) +;MotionBlur0 = 31 ;0~31 (for Normal Mode) +;DarkEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;ReduceEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;MotionBEnable1 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Green Mode) +;Dark1 = 10 ;0~10 (for Green Mode) +;ReduceColorR1 = 0 ;0~31 (for Green Mode) +;ReduceColorG1 = 0 ;0~31 (for Green Mode) +;ReduceColorB1 = 0 ;0~31 (for Green Mode) +;MotionBlur1 = 31 ;0~31 (for Green Mode) +;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31) +[SaveLimit] +Mode = 12 +Type = 1 +Index = {hex sGameData} +Address = {hex sGameDataEnd} + +[send_send_buf2] +Mode = 2 +Address = {HEX @} +Type = 29 + +[send_send_buf2_ret] +Mode = 2 +Address = {HEX @} +Type = 30 + +[send_byt2] +Mode = 2 +Address = {HEX @+5} +Type = 31 + +[send_byt2_ret] +Mode = 2 +Address = {HEX @} +Type = 32 + +[send_dummy] +Mode = 2 +Address = {HEX @} +Type = 33 + +[send_dummy_end] +Mode = 2 +Address = {HEX @} +Type = 34 + +[FIGHT] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[FIGHT2] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network10] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network11] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network17] +Mode = 2 +Address = {HEX @} +Type = 5 + +[Network424] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network200] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network_RECHECK] +Mode = 2 +Address = {HEX @} +Type = 7 + +[Network_STOP] +Mode = 2 +Address = {HEX @} +Type = 8 + +[Network_END] +Mode = 2 +Address = {HEX @} +Type = 9 + +[Network_RESET] +Mode = 2 +Address = {HEX @} +Type = 10 + +[linkCable fake begin] +Mode = 2 +Address = {HEX @} +Type = 16 + +[linkCable fake end] +Mode = 2 +Address = {HEX @} +Type = 17 + +[linkCable block input] +Mode = 2 +Address = {HEX @+5} +Type = 18 + +;[save game start] +;Mode = 2 +;Address = 0x59E6 +;Type = 19 + +[save game end] +Mode = 2 +Address = {HEX @} +Type = 20 + +[Change_MSG] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH_ +1 20} + +[fight_ret] +Mode = 1 +Address = {HEX @} +Fixcode = {PATCH} + +[fight_ret_c] +Mode = 2 +Address = {HEX @} +Type = 98 + +;rsm003758 +;No151 +[FPA 001 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH } + +[FPA 001 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "E" "X" "P" "L" EXPLOSION 00 "E" "X" "P" "L" MEGA_PUNCH } + + + +;rsm141151 +;No117 +[FPA 002 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 9 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } + +[FPA 002 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE 00 "M" "E" "G" "A" "K" MEGA_KICK } + + + +;rsm143918 +;No150 +[FPA 003 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 25 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "K" MEGA_KICK } + + + +;rsm152422 +;No131 +[FPA 004 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 25 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "B" "L" "I" "Z" BLIZZARD } + + +;rsm160334 +;No123 +[FPA 005 Begin@FPA_Bubblebeam_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM } + +[FPA 005 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM 00 "H" "Y" "P" "E" HYPER_BEAM 00 "B" "L" "I" "Z" BLIZZARD } + + +;rsm163356 +;No116 +[FPA 006 Begin@FPA_Hyper_Beam_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 1 +MotionBlur0 = 5 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } + + + +;rsm174631 +;No57 +[FPA 007 Begin@FPA_Thunderbolt_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 30 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + + +[FPA 007 End@FPA_Thunderbolt_End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + + +;rsm134518 +;No159 +[FPA 008 Begin@FPA_Reflect_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 1 +MotionBlur0 = 5 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + +[FPA 008 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + + + + +;rsm140510 +;No56 +[FPA 009 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "E" "L" "F" SELFDESTRUCT} + +[FPA 009 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == } +ConditionValueC = {dws_ "S" "E" "L" "F" MEGA_PUNCH 00 "S" "E" "L" "F" SELFDESTRUCT} + +;rsm150211 +;No156 +[FPA 010 Begin@FPA_Dream_Eater_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 10 +MotionBEnable1 = 3 +MotionBlur1 = 7 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER } + +;[FPA 010 End] +;Mode = 3 +;Type = 1 +;Address = 0x78176 +;ConditionType = 0 +;ConditionValueA = a10: 4b cf 4c cf 4d cf 4e cf 7c d0 +;ConditionValueB = a10: 00 00 00 00 00 00 00 00 00 00 +;ConditionValueC = a10: 83 00 91 00 84 00 80 00 8a 00 + +;rsm163334 +;No36 +[FPA 011 Begin@FPA_Spore_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 8 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } + +[FPA 011 End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } + +;rsm012224 +;No12 +[FPA 012 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE } + +[FPA 012 End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == } +ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE 00 "D" "R" "E" "A" DREAM_EATER } + + + + + +;explosion +;No76 +[FPA 76 Begin] +Mode = 3 +Type = 0 +Address = 0x78186 +MotionBEnable0 = 3 +MotionBlur0 = 28 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "E" "X" "P" "L" EXPLOSION }
\ No newline at end of file diff --git a/vc/pokered.constants.asm b/vc/pokered.constants.asm new file mode 100644 index 00000000..4bc62388 --- /dev/null +++ b/vc/pokered.constants.asm @@ -0,0 +1,74 @@ +INCLUDE "constants.asm" + +; These are all the asm constants needed to make the red_vc patch. + +vc_const: MACRO +x = \1 + PRINTLN "00:{04x:x} \1" ; same format as rgblink's .sym file +ENDM + +; [FPA 001 Begin] + vc_const "M" + vc_const "E" + vc_const "G" + vc_const "A" + vc_const "P" + vc_const "S" + vc_const "L" + vc_const "F" + vc_const "D" + vc_const "X" + vc_const MEGA_PUNCH + +; [FPA 002 Begin] + vc_const "U" + vc_const "I" + vc_const GUILLOTINE + +; [FPA 003 Begin] + vc_const "K" + vc_const MEGA_KICK + +; [FPA 004 Begin] + vc_const "B" + vc_const BUBBLEBEAM + +; [FPA 005 Begin] + vc_const "H" + vc_const "Y" + vc_const HYPER_BEAM + +; [FPA 006 Begin] + vc_const "T" + vc_const "N" + vc_const THUNDERBOLT + +; [FPA 007 Begin] + vc_const "R" + vc_const "F" + vc_const REFLECT + +; [FPA 008 Begin] + vc_const DREAM_EATER + +; [FPA 008 End] + vc_const "Z" + vc_const BLIZZARD + +; [FPA 009 Begin] + vc_const "O" + vc_const SPORE + +; [FPA 010 Begin] + vc_const "C" + vc_const ROCK_SLIDE + +; [FPA 010 End] + vc_const SELFDESTRUCT + vc_const EXPLOSION + +; [FPA conf Begin] + vc_const CONFUSION + +; [FPA phy Begin] + vc_const PSYCHIC_M diff --git a/vc/pokered.patch.template b/vc/pokered.patch.template new file mode 100644 index 00000000..52f5d0fe --- /dev/null +++ b/vc/pokered.patch.template @@ -0,0 +1,482 @@ +;Format Sample +;[xxxx] ;User-defined Name (Max:31 chars) +;Mode = 1 ;1:Fixcode; 2:Fixvalue; 3:Mask; 4:Palette; 5:Double Frame Buffer +;Type = 0 ;0:Begin 1:End +;Index = 0 ;Index +;Address = x1F8000 ;ROM Address +;MemAddress = x2000 ;RAM Address +;Fixcode = 0 ;Mode1: Fixed Rom Code; Mode2: Fixed Value +;DelayFrame = 0 ;Delay Frame +;FadeFrame = 0 ;Fade Frame 0:Off +;DarkEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;ReduceEnable0 = 0 ;0:Off, 1:On (for Normal Mode) +;MotionBEnable0 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Normal Mode) +;Dark0 = 10 ;0~10 (for Normal Mode) +;ReduceColorR0 = 0 ;0~31 (for Normal Mode) +;ReduceColorG0 = 0 ;0~31 (for Normal Mode) +;ReduceColorB0 = 0 ;0~31 (for Normal Mode) +;MotionBlur0 = 31 ;0~31 (for Normal Mode) +;DarkEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;ReduceEnable1 = 0 ;0:Off, 1:On (for Green Mode) +;MotionBEnable1 = 0 ;0:Off, 1:Black Fade, 2:, 3:Frame Blend (for Green Mode) +;Dark1 = 10 ;0~10 (for Green Mode) +;ReduceColorR1 = 0 ;0~31 (for Green Mode) +;ReduceColorG1 = 0 ;0~31 (for Green Mode) +;ReduceColorB1 = 0 ;0~31 (for Green Mode) +;MotionBlur1 = 31 ;0~31 (for Green Mode) +;PaletteX = c31,31,31 ;X:0~15, cR,G,B (0~31) +[SaveLimit] +Mode = 12 +Type = 1 +Index = {hex sGameData} +Address = {hex sGameDataEnd} + +;[Fix pokemon] +;Mode = 2 +;Address = 0x1551 +;Type = 3 + +[send_send_buf2] +Mode = 2 +Address = {HEX @} +Type = 29 + +[send_send_buf2_ret] +Mode = 2 +Address = {HEX @} +Type = 30 + +[send_byt2] +Mode = 2 +Address = {HEX @+5} +Type = 31 + +[send_byt2_ret] +Mode = 2 +Address = {HEX @} +Type = 32 + +[send_dummy] +Mode = 2 +Address = {HEX @} +Type = 33 + +[send_dummy_end] +Mode = 2 +Address = {HEX @} +Type = 34 + +[FIGHT] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[FIGHT2] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network10] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network11] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH +1} + +[Network17] +Mode = 2 +Address = {HEX @} +Type = 5 + +[Network424] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network200] +Mode = 2 +Address = {HEX @} +Type = 4 + +[Network_RECHECK] +Mode = 2 +Address = {HEX @} +Type = 7 + +[Network_STOP] +Mode = 2 +Address = {HEX @} +Type = 8 + +[Network_END] +Mode = 2 +Address = {HEX @} +Type = 9 + +[Network_RESET] +Mode = 2 +Address = {HEX @} +Type = 10 + +[linkCable fake begin] +Mode = 2 +Address = {HEX @} +Type = 16 + +[linkCable fake end] +Mode = 2 +Address = {HEX @} +Type = 17 + +[linkCable block input] +Mode = 2 +Address = {HEX @+5} +Type = 18 + +;[save game start] +;Mode = 2 +;Address = 0x59E6 +;Type = 19 + +[save game end] +Mode = 2 +Address = {HEX @} +Type = 20 + +;93 A7 A4 7F AB A8 AD AA 7F A7 +;at 93 +[Change_MSG] +Mode = 1 +Address = {HEX @+1} +Fixcode = {PATCH_ +1 20} + +[fight_ret] +Mode = 1 +Address = {HEX @} +Fixcode = {PATCH} + +[fight_ret_c] +Mode = 2 +Address = {HEX @} +Type = 98 + +; The effect_no decide which animation will be played. +; So we use it as a condition value. The address of effect_no is 0xd07c +; a7 c0 3e 05 ea +; and a A7 +; ret nz C0 +; +; ld a,5 3E 05 +; ld (anime_buf),a EA +; +; +;effect_select_rdy: +; ld (effect_no),a +; +; call put_wait +; +; ld a,B_EFFECT_SELECT + + +;rsm033659 +;no151 mega punch +[FPA 001 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 21 +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == == || == == == == == == || == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "E" "X" "P" "L" MEGA_PUNCH } + + +[FPA 001 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "P" MEGA_PUNCH } + + +;rsm032916 +;no117 guillotine +[FPA 002 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 9 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } + +[FPA 002 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "G" "U" "I" "L" GUILLOTINE } + + +;rsm041307 +;no150 mega kick +[FPA 003 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 25 +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "M" "E" "G" "A" "K" MEGA_KICK } + + +;rsm001929 +;no123 bubble beam +[FPA 004 Begin@FPA_Bubblebeam_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 30 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM } + +[FPA 004 End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == == } +ConditionValueC = {dws_ "B" "U" "B" "B" BUBBLEBEAM 00 "M" "E" "G" "A" "K" MEGA_KICK } + + +;rsm103658 +;no116 hyper beam +[FPA 005 Begin@FPA_Hyper_Beam_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 1 +MotionBlur0 = 5 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } + +[FPA 005 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "H" "Y" "P" "E" HYPER_BEAM } + + +;rsm133358 +;no57 thunderbolt +[FPA 006 Begin@FPA_Thunderbolt_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 30 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + + +[FPA 006 End@FPA_Thunderbolt_End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "T" "H" "U" "N" THUNDERBOLT } + +;rsm152340 +;no159 reflect +[FPA 007 Begin@FPA_Reflect_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 1 +MotionBlur0 = 6 +MotionBEnable1 = 1 +MotionBlur1 = 5 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + +[FPA 007 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "E" "F" "L" REFLECT } + +;rsm171812 +;no156 dream eater +[FPA 008 Begin@FPA_Dream_Eater_Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable0 = 3 +MotionBlur0 = 10 +MotionBEnable1 = 3 +MotionBlur1 = 7 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER } + +[FPA 008 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4} {dws/ wAnimationID} +ConditionValueB = {dws_ == == == == == } {dws/ == } +ConditionValueC = {dws_ "B" "L" "I" "Z" "Z" } {dws/ BLIZZARD } + +;rsm174650 +;no36 spore +[FPA 009 Begin@FPA_Spore_Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 8 +MotionBEnable1 = 3 +MotionBlur1 = 8 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "S" "P" "O" "R" SPORE } + + +;rsm152115 +;no12 rock slide +[FPA 010 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 27 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "R" "O" "C" "K" ROCK_SLIDE } + +[FPA 010 End] +Mode = 3 +Type = 1 +Address = {HEX @} +ConditionType = 11 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == || == == == == == || == == == == == || == == == == == == || == == == == == == || == == == == == == || == == == == == || == == == == == } +ConditionValueC = {dws_ "D" "R" "E" "A" DREAM_EATER 00 "R" "O" "C" "K" ROCK_SLIDE 00 "S" "P" "O" "R" SPORE 00 "S" "E" "L" "F" "D" MEGA_PUNCH 00 "S" "E" "L" "F" "D" SELFDESTRUCT 00 "C" "O" "N" "F" "S" CONFUSION 00 "E" "X" "P" "L" EXPLOSION 00 "E" "X" "P" "L" MEGA_PUNCH } + + +;explosion +;No76 explosion +[FPA 76 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 28 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} +ConditionValueB = {dws_ == == == == == } +ConditionValueC = {dws_ "E" "X" "P" "L" EXPLOSION } + + +;No56 self-destruct +[FPA 56 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 23 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "S" "E" "L" "F" "D" SELFDESTRUCT} + + +;No131 blizzard +[FPA 131 Begin] +Mode = 3 +Type = 0 +Address = {HEX @} +MotionBEnable0 = 3 +MotionBlur0 = 26 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+4 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "B" "L" "I" "Z" "Z" BLIZZARD } + + +;confusion +[FPA conf Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "C" "O" "N" "F" "S" CONFUSION } + +;phychic +[FPA phy Begin] +Mode = 3 +Type = 0 +Address = {hex @} +MotionBEnable1 = 3 +MotionBlur1 = 21 +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M } + +[FPA phy End] +Mode = 3 +Type = 1 +Address = {hex @} +ConditionType = 0 +ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} +ConditionValueB = {dws_ == == == == == == } +ConditionValueC = {dws_ "P" "S" "Y" "C" "I" PSYCHIC_M } + + |