Merge pull request #757 from DizzyEggg/pok_jump

Decompile pokemon jump + some non/fake matches
This commit is contained in:
PikalaxALT 2019-08-04 11:04:31 -04:00 committed by GitHub
commit 0e4c9fb2c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 2016 additions and 4049 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,573 +0,0 @@
#include "constants/species.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_082FB63C:: @ 82FB63C
.2byte 0x001a, 0x001f, 0x0024, 0x0029, 0x002e, 0x0033, 0x0038, 0x003d
.align 2
gUnknown_082FB64C:: @ 82FB64C
.2byte 0x0000, 0x0001, 0x0001, 0x0002
.align 2
gUnknown_082FB654:: @ 82FB654
.2byte 0x005f, 0x0066, 0x00e4, 0x0105
.align 2
gUnknown_082FB65C:: @ 82FB65C
.byte 0xfd, 0xfa, 0xf8, 0xf6, 0xf3, 0xf1, 0xef, 0xed
.byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2
.byte 0xe2, 0xe4, 0xe5, 0xe6, 0xe7, 0xe9, 0xea, 0xec
.byte 0xee, 0xef, 0xf1, 0xf3, 0xf5, 0xf8, 0xfa, 0xfc
.byte 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf2, 0xf0, 0xee, 0xec
.byte 0xea, 0xe8, 0xe6, 0xe4, 0xe3, 0xe2, 0xe2, 0xe4
.byte 0xe6, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2, 0xf5
.byte 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0xfd, 0xfa, 0xf7, 0xf5, 0xf3, 0xf1, 0xef, 0xed
.byte 0xeb, 0xe9, 0xe7, 0xe5, 0xe4, 0xe3, 0xe2, 0xe2
.byte 0xe2, 0xe2, 0xe3, 0xe3, 0xe4, 0xe4, 0xe5, 0xe5
.byte 0xe6, 0xe7, 0xe8, 0xea, 0xec, 0xee, 0xf0, 0xf2
.byte 0xf4, 0xf5, 0xf7, 0xfa, 0xfc, 0xff, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_082FB6EC:: @ 82FB6EC
.4byte 0x00000000, 0x00000000, 0x00000032, 0x00000064
.4byte 0x000000c8, 0x000001f4
.align 2
gUnknown_082FB704:: @ 82FB704
.2byte 0x008a, 0x008d, 0x008e, 0x008f, 0x0090, 0x0091, 0x0092, 0x0093
.align 2
gUnknown_082FB714:: @ 82FB714
.4byte 0x00001388, 0x00000001, 0x00001f40, 0x00000002
.4byte 0x00002ee0, 0x00000003, 0x00003e80, 0x00000004
.4byte 0x00004e20, 0x00000005
.align 2
gPkmnJumpPal1:: @ 82FB73C
.incbin "graphics/link_games/pkmnjump_pal1.gbapal"
.align 2
gPkmnJumpPal2:: @ 82FB75C
.incbin "graphics/link_games/pkmnjump_pal2.gbapal"
.align 2
gPkmnJumpRopeGfx1:: @ 82FB77C
.incbin "graphics/link_games/pkmnjump_rope1.4bpp.lz"
.align 2
gPkmnJumpRopeGfx2:: @ 82FB89C
.incbin "graphics/link_games/pkmnjump_rope2.4bpp.lz"
.align 2
gPkmnJumpRopeGfx3:: @ 82FBA70
.incbin "graphics/link_games/pkmnjump_rope3.4bpp.lz"
.align 2
gPkmnJumpRopeGfx4:: @ 82FBBA0
.incbin "graphics/link_games/pkmnjump_rope4.4bpp.lz"
.align 2
gPkmnJumpStarGfx:: @ 82FBC9C
.incbin "graphics/link_games/pkmnjump_star.4bpp.lz"
.align 2
gUnknown_082FBE08:: @ 82FBE08
obj_tiles gPkmnJumpRopeGfx1, 0x0600, 0x0005
.align 2
obj_tiles gPkmnJumpRopeGfx2, 0x0c00, 0x0006
.align 2
obj_tiles gPkmnJumpRopeGfx3, 0x0600, 0x0007
.align 2
obj_tiles gPkmnJumpRopeGfx4, 0x0600, 0x0008
.align 2
obj_tiles gPkmnJumpStarGfx, 0x0200, 0x000a
.align 2
gUnknown_082FBE30:: @ 82FBE30
obj_pal gPkmnJumpPal1, 0x0005
.align 2
obj_pal gPkmnJumpPal2, 0x0006
.align 2
gUnknown_082FBE40:: @ 82FBE40
spr_template 0x0000, 0x0000, gUnknown_082FBEC8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
gUnknown_082FBE58:: @ 82FBE58
.2byte 0x0060, 0x0060, 0x0060, 0x0072, 0x0078, 0x0078, 0x0078, 0x0072
.2byte 0x0060, 0x0060, 0x0046, 0x0050, 0x0060, 0x0072, 0x0078, 0x0080
.2byte 0x0078, 0x0072, 0x0060, 0x0050, 0x0032, 0x0048, 0x0060, 0x0072
.2byte 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048, 0x002a, 0x0048
.2byte 0x0060, 0x0072, 0x0080, 0x0088, 0x0080, 0x0072, 0x0060, 0x0048
gUnknown_082FBEA8:: @ 82FBEA8
.2byte 0x0010, 0x0028, 0x0048, 0x0068, 0x0088, 0x00a8, 0x00c8, 0x00e0
.align 2
gUnknown_082FBEB8:: @ 82FBEB8
.4byte gUnknown_082FBF78
.4byte gUnknown_082FBF90
.4byte gUnknown_082FBFA8
.4byte gUnknown_082FBFC0
.align 2
gUnknown_082FBEC8:: @ 82FBED0
.byte 0x00, 0x00, 0x00, 0xc0, 0x00, 0x08, 0x00, 0x00
.align 2
gUnknown_082FBED0:: @ 82FBED0
.byte 0x00, 0x80, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
.align 2
gUnknown_082FBED8:: @ 82FBED8
.byte 0x00, 0x00, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
.align 2
gUnknown_082FBEE0:: @ 82FBEE0
.byte 0x00, 0x40, 0x00, 0x80, 0x00, 0x08, 0x00, 0x00
.align 2
gUnknown_082FBEE8:: @ 82FBEE8
.2byte 0x0000, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBEF0:: @ 82FBEF0
.2byte 0x0008, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBEF8:: @ 82FBEF8
.2byte 0x0010, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF00:: @ 82FBF00
.2byte 0x0018, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF08:: @ 82FBF08
.2byte 0x0020, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF10:: @ 82FBF10
.2byte 0x0028, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF18:: @ 82FBF18
.2byte 0x0000, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF20:: @ 82FBF20
.2byte 0x0010, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF28:: @ 82FBF28
.2byte 0x0020, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF30:: @ 82FBF30
.2byte 0x0030, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF38:: @ 82FBF38
.2byte 0x0040, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF40:: @ 82FBF40
.2byte 0x0050, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBF48:: @ 82FBF48
.4byte gUnknown_082FBEE8
.4byte gUnknown_082FBEF0
.4byte gUnknown_082FBEF8
.4byte gUnknown_082FBF00
.4byte gUnknown_082FBF08
.4byte gUnknown_082FBF10
.align 2
gUnknown_082FBF60:: @ 82FBF60
.4byte gUnknown_082FBF18
.4byte gUnknown_082FBF20
.4byte gUnknown_082FBF28
.4byte gUnknown_082FBF30
.4byte gUnknown_082FBF38
.4byte gUnknown_082FBF40
.align 2
gUnknown_082FBF78:: @ 82FBF78
spr_template 0x0005, 0x0005, gUnknown_082FBED0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082FBF90:: @ 82FBF90
spr_template 0x0006, 0x0005, gUnknown_082FBED8, gUnknown_082FBF60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082FBFA8:: @ 82FBFA8
spr_template 0x0007, 0x0005, gUnknown_082FBEE0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082FBFC0:: @ 82FBFC0
spr_template 0x0008, 0x0005, gUnknown_082FBEE0, gUnknown_082FBF48, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082FBFD8:: @ 82FBFD8
.byte 0x00, 0x00, 0x00, 0x40, 0x00, 0x04, 0x00, 0x00
.align 2
gUnknown_082FBFE0:: @ 82FBFE0
.2byte 0x0000, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FBFE8:: @ 82FBFE8
.2byte 0x0000, 0x0004
.2byte 0x0004, 0x0004
.2byte 0x0008, 0x0004
.2byte 0x000c, 0x0004
.2byte 0xfffd, 0x0001
.2byte 0x0000, 0x0004
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FC004:: @ 82FC004
.4byte gUnknown_082FBFE0
.4byte gUnknown_082FBFE8
.align 2
gUnknown_082FC00C:: @ 82FC00C
spr_template 0x000a, 0x0005, gUnknown_082FBFD8, gUnknown_082FC004, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gPkmnJumpPal3:: @ 82FC024
.incbin "graphics/link_games/pkmnjump_pal3.gbapal"
.align 2
gPkmnJumpBgPal:: @ 82FC044
.incbin "graphics/link_games/pkmnjump_bg.gbapal"
.align 2
gPkmnJumpBgGfx:: @ 82FC064
.incbin "graphics/link_games/pkmnjump_bg.4bpp.lz"
.align 2
gPkmnJumpBgTilemap:: @ 82FC290
.incbin "graphics/link_games/pkmnjump_bg.bin.lz"
.align 2
gPkmnJumpVenusaurPal:: @ 82FC440
.incbin "graphics/link_games/pkmnjump_venusaur.gbapal"
.align 2
gPkmnJumpVenusaurGfx:: @ 82FC460
.incbin "graphics/link_games/pkmnjump_venusaur.4bpp.lz"
.align 2
gPkmnJumpVenusaurTilemap:: @ 82FCDB0
.incbin "graphics/link_games/pkmnjump_venusaur.bin.lz"
.align 2
gPkmnJumpResultsPal:: @ 82FD168
.incbin "graphics/link_games/pkmnjump_results.gbapal"
.align 2
gPkmnJumpResultsGfx:: @ 82FD188
.incbin "graphics/link_games/pkmnjump_results.4bpp.lz"
.align 2
gPkmnJumpResultsTilemap:: @ 82FDC38
.incbin "graphics/link_games/pkmnjump_results.bin.lz"
.align 2
gUnknown_082FE164:: @ 82FE164 struct BgTemplate
.4byte 0x000001b0, 0x000025e6, 0x000016c9, 0x000031df
.align 2
gUnknown_082FE174:: @ 82FE174
window_template 0x00, 0x13, 0x00, 0x06, 0x02, 0x02, 0x0013
window_template 0x00, 0x08, 0x00, 0x06, 0x02, 0x02, 0x001f
null_window_template
.align 2
gUnknown_082FE18C:: @ 82FE18C
.4byte 0x00000000, sub_802D150
.4byte 0x00000001, sub_802D2E4
.4byte 0x00000002, sub_802D350
.4byte 0x00000003, sub_802D3BC
.4byte 0x00000004, sub_802D448
.4byte 0x00000005, sub_802D4F4
.4byte 0x00000006, sub_802D598
.4byte 0x00000007, sub_802D5E4
.4byte 0x00000009, sub_802D72C
.4byte 0x00000008, sub_802D688
.align 2
gUnknown_082FE1DC:: @ 82FE1DC
.byte 0x00, 0x02, 0x03
gUnknown_082FE1DF:: @ 82FE1DF
.byte 0x02, 0x02, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00
.byte 0x00, 0x02, 0x00, 0x00, 0x00
.align 2
gUnknown_082FE1EC:: @ 82FE1EC
obj_tiles gUnknown_082FF1F8, 0x0000, 0x0320
.align 2
gUnknown_082FE1F4:: @ 82FE1F4
obj_pal gUnknown_082FF1D8, 0x0320
.align 2
gUnknown_082FE1FC:: @ 82FE1FC
.2byte 0x0006, 0x0008, 0x0010, 0x0008
.align 2
gUnknown_082FE204:: @ 82FE204
.2byte 0x0006, 0x0008, 0x000b, 0x0006, 0x0010, 0x0008
.align 2
gUnknown_082FE210:: @ 82FE210
.2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x0010, 0x0008, 0x0014, 0x0006
.align 2
gUnknown_082FE220:: @ 82FE220
.2byte 0x0002, 0x0006, 0x0006, 0x0008, 0x000b, 0x0006
.2byte 0x0010, 0x0008, 0x0014, 0x0006
.align 2
gUnknown_082FE234:: @ 82FE234
.4byte gUnknown_082FE1FC
.4byte gUnknown_082FE204
.4byte gUnknown_082FE210
.4byte gUnknown_082FE220
.align 2
gUnknown_082FE244:: @ 82FE244
.2byte 0x0058, 0x0098
gUnknown_082FE248:: @ 82FE248
.2byte 0x0058, 0x0078, 0x0098
gUnknown_082FE24E:: @ 82FE24E
.2byte 0x0038, 0x0058, 0x0098, 0x00b8
gUnknown_082FE256:: @ 82FE256
.2byte 0x0038, 0x0058, 0x0078, 0x0098, 0x00b8
.align 2
gUnknown_082FE260:: @ 82FE260
.4byte gUnknown_082FE244
.4byte gUnknown_082FE248
.4byte gUnknown_082FE24E
.4byte gUnknown_082FE256
.align 2
gUnknown_082FE270:: @ 82FE270
.4byte 0x1c010100, 0x00010f09
.align 2
gUnknown_082FE278:: @ 82FE278
.4byte gText_JumpsInARow
.4byte gText_BestScore2
.4byte gText_ExcellentsInARow
.align 2
gPkmnJump321StartPal1:: @ 82FE284
.incbin "graphics/link_games/pkmnjump_321start1.gbapal"
.align 2
gPkmnJump321StartGfx1:: @ 82FE2A4
.incbin "graphics/link_games/pkmnjump_321start1.4bpp.lz"
.align 2
gUnknown_082FE6C8:: @ 82FE6C8
obj_tiles gPkmnJump321StartGfx1, 0x0c00, 0x2000
null_obj_tiles
.align 2
gUnknown_082FE6D8:: @ 82FE6D8
obj_pal gPkmnJump321StartPal1, 0x2000
null_obj_pal
.align 2
gUnknown_082FE6E8:: @ 82FE6E8
.2byte 0x0000, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FE6F0:: @ 82FE6F0
.2byte 0x0010, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FE6F8:: @ 82FE6F8
.2byte 0x0020, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FE700:: @ 82FE700
.2byte 0x0040, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FE708:: @ 82FE708
.2byte 0x0030, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FE710:: @ 82FE710
.2byte 0x0050, 0x0000
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FE718:: @ 82FE718
.4byte gUnknown_082FE6E8
.4byte gUnknown_082FE6F0
.4byte gUnknown_082FE6F8
.4byte gUnknown_082FE700
.4byte gUnknown_082FE708
.4byte gUnknown_082FE710
.align 2
gUnknown_082FE730:: @ 82FE730
spr_template 0x2000, 0x2000, gUnknown_08524914, gUnknown_082FE718, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_082FE748:: @ 82FE748
.4byte sub_802E83C
.4byte sub_802E8C8
.4byte sub_802EA50
.4byte sub_802EAB0
.align 2
gPkmnJump321StartPal2:: @ 82FE758
.incbin "graphics/link_games/pkmnjump_321start2.gbapal"
.align 2
gPkmnJump321StartGfx2:: @ 82FE778
.incbin "graphics/link_games/pkmnjump_321start2.4bpp.lz"
.align 2
gUnknown_082FEBCC:: @ 82FEBCC
obj_tiles gPkmnJump321StartGfx2, 0x0e00, 0x0000
.align 2
gUnknown_082FEBD4:: @ 82FEBD4
obj_pal gPkmnJump321StartPal2, 0x0000
.align 2
gUnknown_082FEBDC:: @ 82FEBDC
.byte 0x00, 0x03, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_082FEBE4:: @ 82FEBE4
.byte 0x00, 0x40, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00
.align 2
gUnknown_082FEBEC:: @ 82FEBEC
.2byte 0x0000, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FEBF4:: @ 82FEBF4
.2byte 0x0010, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FEBFC:: @ 82FEBFC
.2byte 0x0020, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FEC04:: @ 82FEC04
.4byte gUnknown_082FEBEC
.4byte gUnknown_082FEBF4
.4byte gUnknown_082FEBFC
.align 2
gUnknown_082FEC10:: @ 82FEC10
.2byte 0x0030, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FEC18:: @ 82FEC18
.2byte 0x0050, 0x0001
.2byte 0xffff, 0x0000
.align 2
gUnknown_082FEC20:: @ 82FEC20
.4byte gUnknown_082FEC10
.4byte gUnknown_082FEC18
.align 2
gUnknown_082FEC28:: @ 82FEC28
.2byte 0x0100, 0x0100
.2byte 0x0000, 0x0000
.2byte 0x7fff, 0x0000
.2byte 0x0000, 0x0000
.align 2
gUnknown_082FEC38:: @ 82FEC38
.2byte 0x0100, 0x0100
.2byte 0x0000, 0x0000
.2byte 0x0010, 0xfff0
.2byte 0x0800, 0x0000
.2byte 0x7fff, 0x0000
.2byte 0x0000, 0x0000
.align 2
gUnknown_082FEC50:: @ 82FEC50
.2byte 0xffee, 0x0012
.2byte 0x0800, 0x0000
.2byte 0x7fff, 0x0000
.2byte 0x0000, 0x0000
.align 2
gUnknown_082FEC60:: @ 82FEC60
.2byte 0x0006, 0xfffa
.2byte 0x0800, 0x0000
.2byte 0xfffc, 0x0004
.2byte 0x0800, 0x0000
.2byte 0x0100, 0x0100
.2byte 0x0000, 0x0000
.2byte 0x7fff, 0x0000
.2byte 0x0000, 0x0000
.align 2
gUnknown_082FEC80:: @ 82FEC80
.4byte gUnknown_082FEC28
.4byte gUnknown_082FEC38
.4byte gUnknown_082FEC50
.4byte gUnknown_082FEC60
gUnknown_082FEC90:: @ 82FEC90
spr_template 0x0000, 0x0000, gUnknown_082FEBDC, gUnknown_082FEC04, NULL, gUnknown_082FEC80, SpriteCallbackDummy
gUnknown_082FECA8:: @ 82FECA8
spr_template 0x0000, 0x0000, gUnknown_082FEBE4, gUnknown_082FEC20, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy

View File

@ -163,18 +163,17 @@ struct Pokedex
/*0x44*/ u8 seen[DEX_FLAGS_NO]; /*0x44*/ u8 seen[DEX_FLAGS_NO];
}; };
struct PokemonJumpResults // possibly used in the game itself? struct PokemonJumpResults
{ {
u16 jumpsInRow; u16 jumpsInRow;
u16 field2; u16 field2;
u16 excellentsInRow; u16 excellentsInRow;
u16 field6; u16 field6;
u16 field8; u32 field8;
u16 fieldA;
u32 bestJumpScore; u32 bestJumpScore;
}; };
struct BerryPickingResults // possibly used in the game itself? Size may be wrong as well struct BerryPickingResults
{ {
u32 bestScore; u32 bestScore;
u16 berriesPicked; u16 berriesPicked;

View File

@ -4083,7 +4083,7 @@ extern const u32 gContestConfetti_Pal[];
extern const u32 gUnknown_08C093F0[]; extern const u32 gUnknown_08C093F0[];
extern const u32 gSubstituteDollTilemap[]; extern const u32 gSubstituteDollTilemap[];
extern const u32 gSubstituteDollGfx[]; extern const u32 gSubstituteDollGfx[];
extern const u16 gSubstituteDollPal[]; extern const u32 gSubstituteDollPal[];
extern const u32 gHealthboxSinglesPlayerGfx[]; extern const u32 gHealthboxSinglesPlayerGfx[];
extern const u32 gHealthboxSinglesOpponentGfx[]; extern const u32 gHealthboxSinglesOpponentGfx[];
extern const u32 gHealthboxDoublesPlayerGfx[]; extern const u32 gHealthboxDoublesPlayerGfx[];

View File

@ -3,9 +3,12 @@
#include "main.h" #include "main.h"
void sub_802EB24(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4);
bool32 sub_802EB84(void);
void sub_802A9A8(u16 monId, MainCallback callback); void sub_802A9A8(u16 monId, MainCallback callback);
bool32 sub_802C908(u16 species); bool32 sub_802C908(u16 species);
void sub_802C920(void);
void ResetPokeJumpResults(void);
void sub_802E3C4(void);
void sub_802EB24(s16 tileTag, s16 palTag, s16 x, s16 y, u8 subpriority);
bool32 sub_802EB84(void);
#endif //GUARD_POKEMON_JUMP_H #endif // GUARD_POKEMON_JUMP_H

View File

@ -275,6 +275,7 @@ void FreeSpriteOamMatrix(struct Sprite *sprite);
void DestroySpriteAndFreeResources(struct Sprite *sprite); void DestroySpriteAndFreeResources(struct Sprite *sprite);
void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5); void sub_800142C(u32 a1, u32 a2, u16 *a3, u16 a4, u32 a5);
void AnimateSprite(struct Sprite *sprite); void AnimateSprite(struct Sprite *sprite);
void sub_8007E18(struct Sprite* sprite, s16 a2, s16 a3);
void StartSpriteAnim(struct Sprite *sprite, u8 animNum); void StartSpriteAnim(struct Sprite *sprite, u8 animNum);
void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum); void StartSpriteAnimIfDifferent(struct Sprite *sprite, u8 animNum);
void SeekSpriteAnim(struct Sprite *sprite, u8 animCmdIndex); void SeekSpriteAnim(struct Sprite *sprite, u8 animCmdIndex);

View File

@ -2737,6 +2737,12 @@ extern const u8 gText_CommunicationStandby4[];
extern const u8 gText_AwesomeWonF701F700[]; extern const u8 gText_AwesomeWonF701F700[];
extern const u8 gText_FilledStorageSpace2[]; extern const u8 gText_FilledStorageSpace2[];
extern const u8 gText_CantHoldMore[]; extern const u8 gText_CantHoldMore[];
extern const u8 gText_SpacePoints2[];
extern const u8 gText_SpaceTimes3[];
extern const u8 gText_PkmnJumpRecords[];
extern const u8 gText_JumpsInARow[];
extern const u8 gText_BestScore2[];
extern const u8 gText_ExcellentsInARow[];
// Pokenav Match Call // Pokenav Match Call
extern const u8 gText_CallCantBeMadeHere[]; extern const u8 gText_CallCantBeMadeHere[];

View File

@ -76,7 +76,6 @@ SECTIONS {
src/berry_powder.o(.text*); src/berry_powder.o(.text*);
src/dodrio_berry_picking.o(.text*); src/dodrio_berry_picking.o(.text*);
src/pokemon_jump.o(.text*); src/pokemon_jump.o(.text*);
asm/pokemon_jump.o(.text*);
src/rtc.o(.text*); src/rtc.o(.text*);
src/main_menu.o(.text*); src/main_menu.o(.text*);
src/battle_controllers.o(.text*); src/battle_controllers.o(.text*);
@ -363,6 +362,7 @@ SECTIONS {
src/librfu_intr.o(.text*); src/librfu_intr.o(.text*);
asm/librfu_intr.o(.text*); asm/librfu_intr.o(.text*);
src/librfu_rfu.o(.text*); src/librfu_rfu.o(.text*);
src/librfu.o(.text*);
asm/librfu.o(.text*); asm/librfu.o(.text*);
asm/libagbsyscall.o(.text*); asm/libagbsyscall.o(.text*);
*libgcc.a:_call_via_rX.o(.text*); *libgcc.a:_call_via_rX.o(.text*);
@ -447,7 +447,6 @@ SECTIONS {
data/berry_powder.o(.rodata); data/berry_powder.o(.rodata);
src/dodrio_berry_picking.o(.rodata); src/dodrio_berry_picking.o(.rodata);
src/pokemon_jump.o(.rodata); src/pokemon_jump.o(.rodata);
data/pokemon_jump.o(.rodata);
src/rtc.o(.rodata); src/rtc.o(.rodata);
src/main_menu.o(.rodata); src/main_menu.o(.rodata);
src/battle_controllers.o(.rodata); src/battle_controllers.o(.rodata);

View File

@ -819,15 +819,11 @@ static void Task_HandleSendLinkBuffersData(u8 taskId)
} }
} }
// fix me
void sub_8033648(void) void sub_8033648(void)
{ {
u8 i; u8 i;
s32 j; s32 j;
u16 r6;
u8 *recvBuffer; u8 *recvBuffer;
u8 *dest;
u8 *src;
if (gReceivedRemoteLinkPlayers != 0 && (gBattleTypeFlags & BATTLE_TYPE_20)) if (gReceivedRemoteLinkPlayers != 0 && (gBattleTypeFlags & BATTLE_TYPE_20))
{ {
@ -838,25 +834,24 @@ void sub_8033648(void)
{ {
ResetBlockReceivedFlag(i); ResetBlockReceivedFlag(i);
recvBuffer = (u8 *)gBlockRecvBuffer[i]; recvBuffer = (u8 *)gBlockRecvBuffer[i];
#ifndef NONMATCHING
asm("");
recvBuffer = (u8 *)&gBlockRecvBuffer[i];
#endif
r6 = gBlockRecvBuffer[i][2];
if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000)
{ {
gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14]; u8 *dest, *src;
gTasks[sLinkReceiveTaskId].data[14] = 0; u16 r6 = gBlockRecvBuffer[i][2];
if (gTasks[sLinkReceiveTaskId].data[14] + 9 + r6 > 0x1000)
{
gTasks[sLinkReceiveTaskId].data[12] = gTasks[sLinkReceiveTaskId].data[14];
gTasks[sLinkReceiveTaskId].data[14] = 0;
}
dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
src = recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8;
} }
dest = &gLinkBattleRecvBuffer[gTasks[sLinkReceiveTaskId].data[14]];
src = recvBuffer;
for (j = 0; j < r6 + 8; j++)
dest[j] = src[j];
gTasks[sLinkReceiveTaskId].data[14] = gTasks[sLinkReceiveTaskId].data[14] + r6 + 8;
} }
} }
} }

View File

@ -945,10 +945,7 @@ void HandleSpeciesGfxDataChange(u8 battlerAtk, u8 battlerDef, bool8 notTransform
void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite) void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
{ {
u8 position; s32 i, position, palOffset;
s32 i;
u32 var;
const void *substitutePal;
if (!loadMonSprite) if (!loadMonSprite)
{ {
@ -964,19 +961,16 @@ void BattleLoadSubstituteOrMonSpriteGfx(u8 battlerId, bool8 loadMonSprite)
else else
LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[position]); LZDecompressVram(gSubstituteDollTilemap, gMonSpritesGfxPtr->sprites[position]);
i = 1; for (i = 1; i < 4; i++)
var = battlerId * 16;
substitutePal = gSubstituteDollPal;
for (; i < 4; i++)
{ {
register void *dmaSrc asm("r0") = gMonSpritesGfxPtr->sprites[position]; u8 (*ptr)[4][0x800] = gMonSpritesGfxPtr->sprites[position];
void *dmaDst = (i * 0x800) + dmaSrc; ptr++;ptr--; // Needed to match.
u32 dmaSize = 0x800;
DmaCopy32(3, dmaSrc, dmaDst, dmaSize); DmaCopy32Defvars(3, (*ptr)[0], (*ptr)[i], 0x800);
i++;i--;
} }
LoadCompressedPalette(substitutePal, 0x100 + var, 32); palOffset = (battlerId * 16) + 0x100;
LoadCompressedPalette(gSubstituteDollPal, palOffset, 32);
} }
else else
{ {

View File

@ -458,338 +458,106 @@ void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0)
arg0->unk354 = 1; arg0->unk354 = 1;
} }
/* TODO static void sub_81D2278(struct UnknownStruct_81D1ED4 *arg0, u16 *arg1, struct UnknownSubStruct_81D1ED4 *arg2, struct UnknownSubStruct_81D1ED4 *arg3, u8 arg4, u16 *arg5)
static void sub_81D2278(struct UnknownStruct_81D1ED4 *arg0, u16 arg1[66][2], struct UnknownSubStruct_81D1ED4 *arg2, struct UnknownSubStruct_81D1ED4 *arg3, u8 arg4, u16 arg5[66][2])
{ {
s32 var_2C = 0; u16 i, r8, r10, r0, var_30;
u16 r8; u16 *ptr;
s32 r10, r4, r2, r0, r1, var_30; s32 r4, var_2C;
var_2C = 0;
if (arg2->unk2 < arg3->unk2) if (arg2->unk2 < arg3->unk2)
{ {
r2 = arg2->unk2;
r10 = arg2->unk2; r10 = arg2->unk2;
r0 = arg3->unk2; r0 = arg3->unk2;
r1 = arg2->unk0; r4 = arg2->unk0 << 10;
r4 = r1 << 10;
var_30 = arg3->unk0; var_30 = arg3->unk0;
r8 = r0 - r10;
if (r8 != 0)
var_2C = ((var_30 - arg2->unk0) << 10) / r8;
} }
else else
{ {
r0 = arg2->unk0; r0 = arg2->unk2;
r10 = arg3->unk2; r10 = arg3->unk2;
r1 = arg3->unk0; r4 = arg3->unk0 << 10;
r4 = r1 << 10;
var_30 = arg2->unk0; var_30 = arg2->unk0;
r2 = arg3->unk2; r8 = r0 - r10;
if (r8 != 0)
var_2C = ((var_30 - arg3->unk0) << 10) / r8;
} }
r8 = r0 - r2;
if (r8 != 0)
var_2C = ((var_30 - r1) << 10) / r8;
r8++; r8++;
if (arg5 == NULL) if (arg5 == NULL)
{ {
arg1 += (r10 - 56) * 2;
for (i = 0; i < r8; i++)
{
arg1[arg4] = (r4 >> 10) + ((r4 >> 9) & 1) + arg4;
r4 += var_2C;
arg1 += 2;
}
ptr = arg1 - 2;
} }
} else if (var_2C > 0)
*/ {
NAKED arg5 += (r10 - 56) * 2;
static void sub_81D2278(struct UnknownStruct_81D1ED4 *arg0, u16 arg1[66][2], struct UnknownSubStruct_81D1ED4 *arg2, struct UnknownSubStruct_81D1ED4 *arg3, u8 arg4, u16 arg5[66][2]) // Less readable than the other loops, but it has to be written this way to match.
{ for (i = 0; i < r8; arg5[arg4] = (r4 >> 10) + ((r4 >> 9) & 1) + arg4, r4 += var_2C, arg5 += 2, i++)
asm_unified("\n\ {
push {r4-r7,lr}\n\ if (r4 >= (155 << 10))
mov r7, r10\n\ break;
mov r6, r9\n\ }
mov r5, r8\n\
push {r5-r7}\n\ arg0->unk350 = r10 + i;
sub sp, 0x18\n\ arg1 += (arg0->unk350 - 56) * 2;
str r0, [sp]\n\ for (; i < r8; i++)
adds r6, r1, 0\n\ {
adds r5, r2, 0\n\ arg1[arg4] = (r4 >> 10) + ((r4 >> 9) & 1) + arg4;
str r3, [sp, 0x4]\n\ r4 += var_2C;
ldr r0, [sp, 0x38]\n\ arg1 += 2;
ldr r7, [sp, 0x3C]\n\ }
lsls r0, 24\n\
lsrs r0, 24\n\ ptr = arg1 - 2;
mov r9, r0\n\ }
movs r0, 0\n\ else if (var_2C < 0)
str r0, [sp, 0xC]\n\ {
ldrh r0, [r5, 0x2]\n\ arg1 += (r10 - 56) * 2;
ldrh r1, [r3, 0x2]\n\ for (i = 0; i < r8; i++)
cmp r0, r1\n\ {
bcs _081D22B2\n\ arg1[arg4] = (r4 >> 10) + ((r4 >> 9) & 1) + arg4;
adds r2, r0, 0\n\ if (r4 < (155 << 10))
mov r10, r2\n\ {
ldrh r0, [r3, 0x2]\n\ arg1[arg4] = 155;
ldrh r1, [r5]\n\ break;
lsls r4, r1, 10\n\ }
ldrh r3, [r3]\n\ r4 += var_2C;
str r3, [sp, 0x8]\n\ arg1 += 2;
b _081D22C6\n\ }
_081D22B2:\n\
ldrh r0, [r5, 0x2]\n\ arg0->unk350 = r10 + i;
ldr r1, [sp, 0x4]\n\ arg5 += (arg0->unk350 - 56) * 2;
ldrh r1, [r1, 0x2]\n\ for (; i < r8; i++)
mov r10, r1\n\ {
ldr r2, [sp, 0x4]\n\ arg5[arg4] = (r4 >> 10) + ((r4 >> 9) & 1) + arg4;
ldrh r1, [r2]\n\ r4 += var_2C;
lsls r4, r1, 10\n\ arg5 += 2;
ldrh r3, [r5]\n\ }
str r3, [sp, 0x8]\n\
mov r2, r10\n\ ptr = arg5 - 2;
_081D22C6:\n\ }
subs r0, r2\n\ else
lsls r0, 16\n\ {
lsrs r0, 16\n\ arg0->unk350 = r10;
mov r8, r0\n\ arg1 += (r10 - 56) * 2;
cmp r0, 0\n\ arg5 += (r10 - 56) * 2;
beq _081D22DE\n\ arg1[1] = arg2->unk0 + 1;
subs r0, r3, r1\n\ arg5[0] = arg3->unk0;
lsls r0, 10\n\ arg5[1] = 155;
mov r1, r8\n\ return;
bl __divsi3\n\ }
str r0, [sp, 0xC]\n\
_081D22DE:\n\ ptr[arg4] = arg4 + var_30;
mov r0, r8\n\
adds r0, 0x1\n\
lsls r0, 16\n\
lsrs r0, 16\n\
mov r8, r0\n\
cmp r7, 0\n\
bne _081D2328\n\
mov r0, r10\n\
subs r0, 0x38\n\
lsls r0, 2\n\
adds r6, r0\n\
movs r5, 0\n\
mov r3, r9\n\
lsls r3, 1\n\
mov r12, r3\n\
ldr r0, [sp, 0x8]\n\
add r0, r9\n\
str r0, [sp, 0x10]\n\
cmp r7, r8\n\
bcs _081D23B6\n\
movs r7, 0x1\n\
_081D2308:\n\
adds r2, r3, r6\n\
asrs r1, r4, 10\n\
asrs r0, r4, 9\n\
ands r0, r7\n\
adds r1, r0\n\
add r1, r9\n\
strh r1, [r2]\n\
ldr r1, [sp, 0xC]\n\
adds r4, r1\n\
adds r6, 0x4\n\
adds r0, r5, 0x1\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, r8\n\
bcc _081D2308\n\
b _081D23B6\n\
_081D2328:\n\
ldr r2, [sp, 0xC]\n\
cmp r2, 0\n\
ble _081D23C0\n\
mov r0, r10\n\
subs r0, 0x38\n\
lsls r0, 2\n\
adds r7, r0\n\
movs r5, 0\n\
mov r3, r9\n\
lsls r3, 1\n\
mov r12, r3\n\
ldr r0, [sp, 0x8]\n\
add r0, r9\n\
str r0, [sp, 0x10]\n\
cmp r5, r8\n\
bcs _081D237A\n\
ldr r0, =0x00026bff\n\
cmp r4, r0\n\
bgt _081D237A\n\
mov r1, r12\n\
str r1, [sp, 0x14]\n\
_081D2352:\n\
ldr r3, [sp, 0x14]\n\
adds r2, r3, r7\n\
asrs r1, r4, 10\n\
asrs r0, r4, 9\n\
movs r3, 0x1\n\
ands r0, r3\n\
adds r1, r0\n\
add r1, r9\n\
strh r1, [r2]\n\
ldr r0, [sp, 0xC]\n\
adds r4, r0\n\
adds r7, 0x4\n\
adds r0, r5, 0x1\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, r8\n\
bcs _081D237A\n\
ldr r1, =0x00026bff\n\
cmp r4, r1\n\
ble _081D2352\n\
_081D237A:\n\
mov r2, r10\n\
adds r1, r2, r5\n\
ldr r3, [sp]\n\
movs r2, 0xD4\n\
lsls r2, 2\n\
adds r0, r3, r2\n\
strh r1, [r0]\n\
ldrh r0, [r0]\n\
subs r0, 0x38\n\
lsls r0, 2\n\
adds r6, r0\n\
cmp r5, r8\n\
bcs _081D23B6\n\
mov r3, r12\n\
movs r7, 0x1\n\
_081D2398:\n\
adds r2, r3, r6\n\
asrs r1, r4, 10\n\
asrs r0, r4, 9\n\
ands r0, r7\n\
adds r1, r0\n\
add r1, r9\n\
strh r1, [r2]\n\
ldr r0, [sp, 0xC]\n\
adds r4, r0\n\
adds r6, 0x4\n\
adds r0, r5, 0x1\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, r8\n\
bcc _081D2398\n\
_081D23B6:\n\
subs r0, r6, 0x4\n\
b _081D248C\n\
.pool\n\
_081D23C0:\n\
ldr r1, [sp, 0xC]\n\
cmp r1, 0\n\
bge _081D2464\n\
mov r0, r10\n\
subs r0, 0x38\n\
lsls r0, 2\n\
adds r6, r0\n\
movs r5, 0\n\
mov r2, r9\n\
lsls r2, 1\n\
mov r12, r2\n\
ldr r3, [sp, 0x8]\n\
add r3, r9\n\
str r3, [sp, 0x10]\n\
cmp r5, r8\n\
bcs _081D241E\n\
adds r3, r2, r6\n\
asrs r1, r4, 10\n\
asrs r0, r4, 9\n\
movs r2, 0x1\n\
ands r0, r2\n\
adds r1, r0\n\
add r1, r9\n\
strh r1, [r3]\n\
b _081D2414\n\
_081D23F2:\n\
ldr r0, [sp, 0xC]\n\
adds r4, r0\n\
adds r6, 0x4\n\
adds r0, r5, 0x1\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, r8\n\
bcs _081D241E\n\
mov r1, r12\n\
adds r3, r1, r6\n\
asrs r2, r4, 10\n\
asrs r0, r4, 9\n\
movs r1, 0x1\n\
ands r0, r1\n\
adds r2, r0\n\
add r2, r9\n\
strh r2, [r3]\n\
_081D2414:\n\
ldr r0, =0x00026bff\n\
cmp r4, r0\n\
bgt _081D23F2\n\
movs r0, 0x9B\n\
strh r0, [r3]\n\
_081D241E:\n\
mov r2, r10\n\
adds r1, r2, r5\n\
ldr r3, [sp]\n\
movs r2, 0xD4\n\
lsls r2, 2\n\
adds r0, r3, r2\n\
strh r1, [r0]\n\
ldrh r0, [r0]\n\
subs r0, 0x38\n\
lsls r0, 2\n\
adds r7, r0\n\
cmp r5, r8\n\
bcs _081D245A\n\
mov r3, r12\n\
movs r6, 0x1\n\
_081D243C:\n\
adds r2, r3, r7\n\
asrs r1, r4, 10\n\
asrs r0, r4, 9\n\
ands r0, r6\n\
adds r1, r0\n\
add r1, r9\n\
strh r1, [r2]\n\
ldr r0, [sp, 0xC]\n\
adds r4, r0\n\
adds r7, 0x4\n\
adds r0, r5, 0x1\n\
lsls r0, 16\n\
lsrs r5, r0, 16\n\
cmp r5, r8\n\
bcc _081D243C\n\
_081D245A:\n\
subs r0, r7, 0x4\n\
b _081D248C\n\
.pool\n\
_081D2464:\n\
ldr r1, [sp]\n\
movs r2, 0xD4\n\
lsls r2, 2\n\
adds r0, r1, r2\n\
mov r3, r10\n\
strh r3, [r0]\n\
mov r0, r10\n\
subs r0, 0x38\n\
lsls r0, 2\n\
adds r6, r0\n\
adds r7, r0\n\
ldrh r0, [r5]\n\
adds r0, 0x1\n\
strh r0, [r6, 0x2]\n\
ldr r1, [sp, 0x4]\n\
ldrh r0, [r1]\n\
strh r0, [r7]\n\
movs r0, 0x9B\n\
strh r0, [r7, 0x2]\n\
b _081D2494\n\
_081D248C:\n\
add r0, r12\n\
mov r2, sp\n\
ldrh r2, [r2, 0x10]\n\
strh r2, [r0]\n\
_081D2494:\n\
add sp, 0x18\n\
pop {r3-r5}\n\
mov r8, r3\n\
mov r9, r4\n\
mov r10, r5\n\
pop {r4-r7}\n\
pop {r0}\n\
bx r0\n\
");
} }
static void sub_81D24A4(struct UnknownStruct_81D1ED4 *arg0) static void sub_81D24A4(struct UnknownStruct_81D1ED4 *arg0)
@ -799,18 +567,18 @@ static void sub_81D24A4(struct UnknownStruct_81D1ED4 *arg0)
if (arg0->unk12C[0].unk2 < arg0->unk12C[1].unk2) if (arg0->unk12C[0].unk2 < arg0->unk12C[1].unk2)
{ {
r6 = arg0->unk12C[0].unk2; r6 = arg0->unk12C[0].unk2;
sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[0], &arg0->unk12C[1], 1, NULL); sub_81D2278(arg0, arg0->unk140[0], &arg0->unk12C[0], &arg0->unk12C[1], 1, NULL);
} }
else else
{ {
r6 = arg0->unk12C[1].unk2; r6 = arg0->unk12C[1].unk2;
sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[1], &arg0->unk12C[0], 0, NULL); sub_81D2278(arg0, arg0->unk140[0], &arg0->unk12C[1], &arg0->unk12C[0], 0, NULL);
} }
sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[1], &arg0->unk12C[2], 1, NULL); sub_81D2278(arg0, arg0->unk140[0], &arg0->unk12C[1], &arg0->unk12C[2], 1, NULL);
i = (arg0->unk12C[2].unk2 <= arg0->unk12C[3].unk2); i = (arg0->unk12C[2].unk2 <= arg0->unk12C[3].unk2);
sub_81D2278(arg0, arg0->unk140, &arg0->unk12C[2], &arg0->unk12C[3], i, arg0->unk248); sub_81D2278(arg0, arg0->unk140[0], &arg0->unk12C[2], &arg0->unk12C[3], i, arg0->unk248[0]);
for (i = 56; i < r6; i++) for (i = 56; i < r6; i++)
{ {
arg0->unk140[i - 56][0] = 0; arg0->unk140[i - 56][0] = 0;
@ -841,15 +609,15 @@ static void sub_81D2634(struct UnknownStruct_81D1ED4 *arg0)
if (arg0->unk12C[0].unk2 < arg0->unk12C[4].unk2) if (arg0->unk12C[0].unk2 < arg0->unk12C[4].unk2)
{ {
r6 = arg0->unk12C[0].unk2; r6 = arg0->unk12C[0].unk2;
sub_81D2278(arg0, arg0->unk248, &arg0->unk12C[0], &arg0->unk12C[4], 0, NULL); sub_81D2278(arg0, arg0->unk248[0], &arg0->unk12C[0], &arg0->unk12C[4], 0, NULL);
} }
else else
{ {
r6 = arg0->unk12C[4].unk2; r6 = arg0->unk12C[4].unk2;
sub_81D2278(arg0, arg0->unk248, &arg0->unk12C[4], &arg0->unk12C[0], 1, NULL); sub_81D2278(arg0, arg0->unk248[0], &arg0->unk12C[4], &arg0->unk12C[0], 1, NULL);
} }
sub_81D2278(arg0, arg0->unk248, &arg0->unk12C[4], &arg0->unk12C[3], 0, NULL); sub_81D2278(arg0, arg0->unk248[0], &arg0->unk12C[4], &arg0->unk12C[3], 0, NULL);
for (i = 56; i < r6; i++) for (i = 56; i < r6; i++)
{ {

View File

@ -37,6 +37,7 @@
#include "contest.h" #include "contest.h"
#include "item_menu.h" #include "item_menu.h"
#include "pokemon_storage_system.h" #include "pokemon_storage_system.h"
#include "pokemon_jump.h"
#include "decoration_inventory.h" #include "decoration_inventory.h"
#include "secret_base.h" #include "secret_base.h"
#include "player_pc.h" #include "player_pc.h"
@ -45,8 +46,6 @@
#include "mevent.h" #include "mevent.h"
#include "union_room_chat.h" #include "union_room_chat.h"
extern void ResetPokeJumpResults(void);
extern const u8 EventScript_ResetAllMapFlags[]; extern const u8 EventScript_ResetAllMapFlags[];
// this file's functions // this file's functions

View File

@ -2649,25 +2649,20 @@ bool8 sub_80688F8(u8 caseId, u8 battlerId)
return TRUE; return TRUE;
} }
static s32 GetDeoxysStat(struct Pokemon *mon, s32 statId) static u16 GetDeoxysStat(struct Pokemon *mon, s32 statId)
{ {
s32 ivVal, evVal; s32 ivVal, evVal;
s32 statValue; u16 statValue = 0;
u8 nature, statId_; u8 nature;
if (gBattleTypeFlags & BATTLE_TYPE_20) if (gBattleTypeFlags & BATTLE_TYPE_20 || GetMonData(mon, MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS)
return 0;
if (GetMonData(mon, MON_DATA_SPECIES, NULL) != SPECIES_DEOXYS)
return 0; return 0;
ivVal = GetMonData(mon, MON_DATA_HP_IV + statId, NULL); ivVal = GetMonData(mon, MON_DATA_HP_IV + statId, NULL);
evVal = GetMonData(mon, MON_DATA_HP_EV + statId, NULL); evVal = GetMonData(mon, MON_DATA_HP_EV + statId, NULL);
statValue = (u16)(((sDeoxysBaseStats[statId] * 2 + ivVal + evVal / 4) * mon->level) / 100 + 5); statValue = ((sDeoxysBaseStats[statId] * 2 + ivVal + evVal / 4) * mon->level) / 100 + 5;
nature = GetNature(mon); nature = GetNature(mon);
statId_ = statId; // needed to match statValue = ModifyStatByNature(nature, statValue, (u8)statId);
statValue = ModifyStatByNature(nature, statValue, statId_);
return statValue; return statValue;
} }
@ -3584,27 +3579,27 @@ u32 GetMonData(struct Pokemon *mon, s32 field, u8* data)
ret = mon->maxHP; ret = mon->maxHP;
break; break;
case MON_DATA_ATK: case MON_DATA_ATK:
ret = (u16)GetDeoxysStat(mon, STAT_ATK); ret = GetDeoxysStat(mon, STAT_ATK);
if (!ret) if (!ret)
ret = mon->attack; ret = mon->attack;
break; break;
case MON_DATA_DEF: case MON_DATA_DEF:
ret = (u16)GetDeoxysStat(mon, STAT_DEF); ret = GetDeoxysStat(mon, STAT_DEF);
if (!ret) if (!ret)
ret = mon->defense; ret = mon->defense;
break; break;
case MON_DATA_SPEED: case MON_DATA_SPEED:
ret = (u16)GetDeoxysStat(mon, STAT_SPEED); ret = GetDeoxysStat(mon, STAT_SPEED);
if (!ret) if (!ret)
ret = mon->speed; ret = mon->speed;
break; break;
case MON_DATA_SPATK: case MON_DATA_SPATK:
ret = (u16)GetDeoxysStat(mon, STAT_SPATK); ret = GetDeoxysStat(mon, STAT_SPATK);
if (!ret) if (!ret)
ret = mon->spAttack; ret = mon->spAttack;
break; break;
case MON_DATA_SPDEF: case MON_DATA_SPDEF:
ret = (u16)GetDeoxysStat(mon, STAT_SPDEF); ret = GetDeoxysStat(mon, STAT_SPDEF);
if (!ret) if (!ret)
ret = mon->spDefense; ret = mon->spDefense;
break; break;

File diff suppressed because it is too large Load Diff