;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@Unknown_save_limit] Mode = 12 Type = 1 Index = {hex sGameData} Address = {hex sGameDataEnd} ;[Fix_print] ;Mode = 1 ;Address = 0x40130 ;Fixcode = a3: 00 00 00 [disable_print@Forbid_printing_Pokedex] Mode = 1 Address = {hex @+1} Fixcode = {PATCH +1} ;[Fix pokemon] ;Mode = 2 ;Address = 0x1551 ;Type = 3 [MiniGame@Bypass_need_Pikachu_with_Surf_for_minigame] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [MiniGame-HighScorePC@Bypass_need_Pikachu_with_Surf_for_high_score] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [send_send_buf2@Wireless_WaitLinkTransfer] Mode = 2 Address = {HEX @} Type = 29 [send_send_buf2_ret@Wireless_WaitLinkTransfer_ret] Mode = 2 Address = {HEX @} Type = 30 [send_byt2@Wireless_start_exchange] Mode = 2 Address = {HEX @+5} Type = 31 [send_byt2_ret@Wireless_end_exchange] Mode = 2 Address = {HEX @} Type = 32 [send_dummy@Wireless_start_send_zero_bytes] Mode = 2 Address = {HEX @} Type = 33 [send_dummy_end@Wireless_end_send_zero_bytes] Mode = 2 Address = {HEX @} Type = 34 [FIGHT@Wireless_net_delay_1] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [FIGHT2@Wireless_net_delay_2] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [Network10@Wireless_net_delay_3] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [Network11@Wireless_net_delay_4] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [Network424@Wireless_ExchangeBytes_party_structs] Mode = 2 Address = {HEX @} Type = 4 [Network200@Wireless_ExchangeBytes_patch_lists] Mode = 2 Address = {HEX @} Type = 4 ;[RND_HACK] ;Mode = 1 ;Address = 0x3E70 ;Fixcode = a10: 3E 3D 00 00 00 00 00 00 00 00 ;[PLAY_HACK] ;Mode = 2 ;Address = 0x2238 ;Type = 5 ;[PLAY_MUTE] ;Mode = 1 ;Address = 0x150 ;Fixcode = 0xC9 [PLAY_MUTE@Unknown_PlayPikachuSoundClip_end] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH +1} [PLAY_HACK@Unknown_PlayPikachuPCM] Mode = 2 Address = {HEX @} Type = 6 [PLAY_NEW@Unknown_PlayPikachuSoundClip_start] Mode = 2 Address = {HEX @} Type = 21 [Network_RECHECK@Wireless_net_recheck] Mode = 2 Address = {HEX @} Type = 7 [Network_STOP@Wireless_net_stop] Mode = 2 Address = {HEX @} Type = 8 [Network_END@Wireless_net_end] Mode = 2 Address = {HEX @} Type = 9 [Network_RESET@Unknown_network_reset] Mode = 2 Address = {HEX @} Type = 10 [linkCable fake begin@Link_fake_connection_status] Mode = 2 Address = {HEX @} Type = 16 [linkCable fake end@Wireless_prompt] Mode = 2 Address = {HEX @} Type = 17 [linkCable block input@Wireless_TryQuickSave_block_input] Mode = 2 Address = {HEX @+5} Type = 18 ;[save game start] ;Mode = 2 ;Address = 0x5A84 ;Type = 19 [save game end@Trade_save_game_end] Mode = 2 Address = {HEX @} Type = 20 [Change_MSG@Change_link_closed_inactivity_message] Mode = 1 Address = {HEX @+1} Fixcode = {PATCH_ +1 20} [fight_ret@BattleRandom_ret] Mode = 1 Address = {hex @} Fixcode = {PATCH} [fight_ret_c@Unknown_BattleRandom_ret_c] Mode = 2 Address = {hex @} Type = 98 ;Mem Write: pc32 = 0xf992d addr = 0xc634 value = 0xe ;Mem Write: pc32 = 0xf9e51 addr = 0xc635 value = 0x1 [FPA 031801 Begin1@Reduce_intro_scene_flashing_0E] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 28 ConditionType = 0 ConditionValueA = {dws_ wYellowIntroCurrentScene} ConditionValueB = {dws_ == } ConditionValueC = {dws_ 0x0e } ;34 6F 26 00 ;Mem Write: pc32 = 0xf9e51 addr = 0xc635 value = 0x33 [FPA 031801 End1@Stop_reducing_intro_scene_flashing_0E] Mode = 3 Type = 1 Address = {hex @} ConditionType = 0 ConditionValueA = {dws_ wYellowIntroCurrentScene wYellowIntroSceneTimer} ConditionValueB = {dws_ == == } ConditionValueC = {dws_ 0x0e 0x33 } ;rsm095822 ;Mem Write: pc32 = 0xf9d8b addr = 0xc635 value = 0x28 ;30 [FPA 031801 Begin2@Reduce_intro_scene_flashing_0F] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 4 ConditionType = 0 ConditionValueA = {dws_ wYellowIntroCurrentScene} ConditionValueB = {dws_ == } ConditionValueC = {dws_ 0x0f } [FPA 031801 End2@Stop_reducing_intro_scene_flashing_0F] Mode = 3 Type = 1 Address = {Hex @} ConditionType = 0 ConditionValueA = {dws_ wYellowIntroCurrentScene} ConditionValueB = {dws_ == } ConditionValueC = {dws_ 0x0f } ;222222aaaaaaaaaaaaaaaa: pc32 = 0xf984b addr = 0xffb3 value = 0x0 ;000f984bh: F0 B3 E6 0B [FPA 031801 End3@Stop_Reducing_intro_scene_flashing] Mode = 3 Type = 1 Address = {hex @} ConditionType = 11 ConditionValueA = {dws_ wYellowIntroCurrentScene 00 wYellowIntroCurrentScene} ConditionValueB = {dws_ == || == } ConditionValueC = {dws_ 0x0e 00 0x0f } ; The effect_no decide which animation will be played. ; So we use it as a condition value. The address of effect_no is 0xd076 ; 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 ;rsm002551 ;Mem Write: pc32 = 0x781c5 addr = 0xd086 value = 0x3 ;17 --13 ;No151 Mega Punch [FPA 001 Begin@Reduce_move_anim_flashing_Mega_Punch_Explosion_Self_Destruct] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 11 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_CHAR E_CHAR G_CHAR A_CHAR P_CHAR MEGA_PUNCH 00 E_CHAR X_CHAR P_CHAR L_CHAR MEGA_PUNCH 00 S_CHAR E_CHAR L_CHAR F_CHAR MEGA_PUNCH } [FPA 001 End@Stop_reducing_move_anim_flashing_Mega_Punch] 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_CHAR E_CHAR G_CHAR A_CHAR P_CHAR MEGA_PUNCH } ;rsm103725 ;Mem Write: pc32 = 0x781c5 addr = 0xd086 value = 0x3 ;No117 Guillotine [FPA 002 Begin@Reduce_move_anim_flashing_Guillotine] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 7 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ G_CHAR U_CHAR I_CHAR L_CHAR GUILLOTINE } [FPA 002 End@Stop_reducing_move_anim_flashing_Guillotine] Mode = 3 Type = 1 Address = {hex @} ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ G_CHAR U_CHAR I_CHAR L_CHAR GUILLOTINE } ;rsm142438 ;17 --13 ;No150 Mega Kick [FPA 003 Begin@Reduce_move_anim_flashing_Mega_Kick] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 10 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wStringBuffer+5 wAnimationID} ConditionValueB = {dws_ == == == == == == } ConditionValueC = {dws_ M_CHAR E_CHAR G_CHAR A_CHAR K_CHAR MEGA_KICK } [FPA 003 End@Stop_reducing_move_anim_flashing_Mega_Kick] 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_CHAR E_CHAR G_CHAR A_CHAR K_CHAR MEGA_KICK } ;rsm154217 blizzard ;No131 [FPA 004 Begin@Reduce_move_anim_flashing_Blizzard] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 11 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ B_CHAR L_CHAR I_CHAR Z_CHAR BLIZZARD } [FPA 004 End@Stop_reducing_move_anim_flashing_Blizzard] Mode = 3 Type = 1 Address = {hex @} ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ B_CHAR L_CHAR I_CHAR Z_CHAR BLIZZARD } ;rsm163638 bubblebeam ;No123 [FPA 005 Begin@Reduce_move_anim_flashing_Bubblebeam] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 15 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ B_CHAR U_CHAR B_CHAR B_CHAR BUBBLEBEAM } [FPA 005 End@Stop_reducing_move_anim_flashing_Bubblebeam] Mode = 3 Type = 1 Address = {hex @} ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ B_CHAR U_CHAR B_CHAR B_CHAR BUBBLEBEAM } ;Mem Write: pc32 = 0xc2 addr = 0xcfd1 value = 0x3f ;Pallte Write: pc32 =00078e79 00000048 e4 ;No116 hyper beam [FPA 006 Begin@Reduce_move_anim_flashing_Hyper_Beam] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 6 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wAnimationID} ConditionValueB = {dws_ == == == == } ConditionValueC = {dws_ H_CHAR Y_CHAR P_CHAR HYPER_BEAM } ;rsm112921 thunderbolt ;15 -- 13 ;No57 thunderbolt [FPA 007 Begin@Reduce_move_anim_flashing_Thunderbolt] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 13 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ T_CHAR H_CHAR U_CHAR N_CHAR THUNDERBOLT } [FPA 007 End@Stop_reducing_move_anim_flashing_Thunderbolt] Mode = 3 Type = 1 Address = {hex @} ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ T_CHAR H_CHAR U_CHAR N_CHAR THUNDERBOLT } ; ;rsm130806 haze ;No40 haze [FPA 008 Begin@Reduce_move_anim_flashing_Haze] 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_ H_CHAR A_CHAR Z_CHAR E_CHAR HAZE } [FPA 008 End@Stop_reducing_move_anim_flashing_Haze_Hyper_Beam] Mode = 3 Type = 1 Address = {hex @} ConditionType = 11 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID 00 wStringBuffer wStringBuffer+1 wStringBuffer+2 wAnimationID} ConditionValueB = {dws_ == == == == == || == == == == } ConditionValueC = {dws_ H_CHAR A_CHAR Z_CHAR E_CHAR HAZE 00 H_CHAR Y_CHAR P_CHAR HYPER_BEAM } ;rsm131656 reflect ;No159 [FPA 009 Begin@Reduce_move_anim_flashing_Reflect] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 6 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ R_CHAR E_CHAR F_CHAR L_CHAR REFLECT } [FPA 009 End@Stop_reducing_move_anim_flashing_Reflect] Mode = 3 Type = 1 Address = {hex @} ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ R_CHAR E_CHAR F_CHAR L_CHAR REFLECT } ;rsm132935 selfdestruct ;No56 [FPA 010 Begin@Reduce_move_anim_flashing_Self_Destruct] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 11 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ S_CHAR E_CHAR L_CHAR F_CHAR SELFDESTRUCT} [FPA 010 End@Stop_reducing_move_anim_flashing_Self_Destruct] 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_CHAR E_CHAR L_CHAR F_CHAR MEGA_PUNCH 00 S_CHAR E_CHAR L_CHAR F_CHAR SELFDESTRUCT} ;rsm013740 explosion ;No76 [FPA 011 Begin@Reduce_move_anim_flashing_Explosion] Mode = 3 Type = 0 Address = {hex @} MotionBEnable0 = 3 MotionBlur0 = 11 ConditionType = 0 ConditionValueA = {dws_ wStringBuffer wStringBuffer+1 wStringBuffer+2 wStringBuffer+3 wAnimationID} ConditionValueB = {dws_ == == == == == } ConditionValueC = {dws_ E_CHAR X_CHAR P_CHAR L_CHAR EXPLOSION } [FPA 011 End@Stop_reducing_move_anim_flashing_Explosion] 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_ E_CHAR X_CHAR P_CHAR L_CHAR MEGA_PUNCH 00 E_CHAR X_CHAR P_CHAR L_CHAR EXPLOSION }