Finish credits decomp and data dump

This commit is contained in:
PikalaxALT
2019-09-24 14:00:40 -04:00
parent 89c98f2ab7
commit 7f0c7528f7
48 changed files with 1479 additions and 1527 deletions
-1256
View File
File diff suppressed because it is too large Load Diff
BIN
View File
Binary file not shown.
-70
View File
@@ -1,70 +0,0 @@
.section .rodata
.align 2, 0
gUnknown_8410CF4:: @ 8410CF4
.incbin "baserom.gba", 0x410CF4, 0x10C
gUnknown_8410E00:: @ 8410E00
.incbin "baserom.gba", 0x410E00, 0x4
gUnknown_8410E04:: @ 8410E04
.incbin "baserom.gba", 0x410E04, 0x4
gUnknown_8410E08:: @ 8410E08
.incbin "baserom.gba", 0x410E08, 0x8
gUnknown_8410E10:: @ 8410E10
.incbin "baserom.gba", 0x410E10, 0x20
gUnknown_8410E30:: @ 8410E30
.incbin "baserom.gba", 0x410E30, 0xDC8
gUnknown_8411BF8:: @ 8411BF8
.incbin "baserom.gba", 0x411BF8, 0x20
gUnknown_8411C18:: @ 8411C18
.incbin "baserom.gba", 0x411C18, 0xD88
gUnknown_84129A0:: @ 84129A0
.incbin "baserom.gba", 0x4129A0, 0x20
gUnknown_84129C0:: @ 84129C0
.incbin "baserom.gba", 0x4129C0, 0x958
gUnknown_8413318:: @ 8413318
.incbin "baserom.gba", 0x413318, 0x20
gUnknown_8413338:: @ 8413338
.incbin "baserom.gba", 0x413338, 0x51C
gUnknown_8413854:: @ 8413854
.incbin "baserom.gba", 0x413854, 0x20
gUnknown_8413874:: @ 8413874
.incbin "baserom.gba", 0x413874, 0x524
gUnknown_8413D98:: @ 8413D98
.incbin "baserom.gba", 0x413D98, 0x20
gUnknown_8413DB8:: @ 8413DB8
.incbin "baserom.gba", 0x413DB8, 0x564
gUnknown_841431C:: @ 841431C
.incbin "baserom.gba", 0x41431C, 0x48
gUnknown_8414364:: @ 8414364
.incbin "baserom.gba", 0x414364, 0x54
gUnknown_84143B8:: @ 84143B8
.incbin "baserom.gba", 0x4143B8, 0x18
gUnknown_84143D0:: @ 84143D0
.incbin "baserom.gba", 0x4143D0, 0x1B8
gUnknown_8414588:: @ 8414588
.incbin "baserom.gba", 0x414588, 0x34
gUnknown_84145BC:: @ 84145BC
.incbin "baserom.gba", 0x4145BC, 0x204
.align 2, 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
255 255 255
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
57 57 123
172 123 65
255 197 148
222 148 115
123 65 65
82 106 156
57 57 123
115 164 197
123 123 131
238 238 255
180 180 213
255 106 74
197 57 57
255 222 90
213 180 74
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
57 57 123
172 123 65
255 197 148
222 148 115
123 65 65
82 106 156
57 57 123
115 164 197
123 123 131
238 238 255
180 180 213
255 106 74
197 57 57
255 222 90
213 180 74
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
49 49 49
255 222 205
238 180 148
197 139 106
106 74 74
222 164 74
197 123 8
49 65 82
205 139 255
115 82 131
156 106 172
106 123 131
197 205 180
238 74 24
255 255 255
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
131 197 0
74 139 0
32 115 0
0 82 0
106 172 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 624 B

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
189 180 98
172 164 74
156 148 49
123 115 24
222 213 131
0 0 0
0 0 0
0 0 0
0 0 0
255 0 255
Binary file not shown.

After

Width:  |  Height:  |  Size: 632 B

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
131 197 0
74 139 0
32 115 0
0 82 0
106 172 0
189 180 98
172 164 74
156 148 49
123 115 24
222 213 131
222 222 222
205 205 205
189 189 189
238 238 238
131 131 131
Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

-53
View File
@@ -230,59 +230,6 @@ gUnknown_840C39C:: @ 840C39C
gUnknown_840C3BC:: @ 840C3BC
.incbin "baserom.gba", 0x40C3BC, 0x1E8
gUnknown_840C5A4:: @ 840C5A4
.incbin "baserom.gba", 0x40C5A4, 0xC
gUnknown_840C5B0:: @ 840C5B0
.incbin "baserom.gba", 0x40C5B0, 0x20
gUnknown_840C5D0:: @ 840C5D0
.incbin "baserom.gba", 0x40C5D0, 0x20
gUnknown_840C5F0:: @ 840C5F0
.incbin "baserom.gba", 0x40C5F0, 0x20
gUnknown_840C610:: @ 840C610
.incbin "baserom.gba", 0x40C610, 0x20
gUnknown_840C630:: @ 840C630
.incbin "baserom.gba", 0x40C630, 0x20
gUnknown_840C650:: @ 840C650
.incbin "baserom.gba", 0x40C650, 0x404
gUnknown_840CA54:: @ 840CA54
.incbin "baserom.gba", 0x40CA54, 0x138
gUnknown_840CB8C:: @ 840CB8C
.incbin "baserom.gba", 0x40CB8C, 0x69C
gUnknown_840D228:: @ 840D228
.incbin "baserom.gba", 0x40D228, 0xF30
gUnknown_840E158:: @ 840E158
.incbin "baserom.gba", 0x40E158, 0x7AC
gUnknown_840E904:: @ 840E904
.incbin "baserom.gba", 0x40E904, 0x93C
gUnknown_840F240:: @ 840F240
.incbin "baserom.gba", 0x40F240, 0x704
gUnknown_840F944:: @ 840F944
.incbin "baserom.gba", 0x40F944, 0x854
gUnknown_8410198:: @ 8410198
.incbin "baserom.gba", 0x410198, 0x41C
gUnknown_84105B4:: @ 84105B4
.incbin "baserom.gba", 0x4105B4, 0x728
gUnknown_8410CDC:: @ 8410CDC
.incbin "baserom.gba", 0x410CDC, 0x18
@ strings
.section .rodata.841EE44
.align 2
gUnknown_841EE44:: @ 841EE44
+9 -6
View File
@@ -16344,13 +16344,16 @@ gUnknown_8EAAA6C:: @ 8EAAA6C
.incbin "baserom.gba", 0xEAAA6C, 0xAC
gUnknown_8EAAB18:: @ 8EAAB18
.incbin "baserom.gba", 0xEAAB18, 0x80 @UNKNOWN
.incbin "graphics/credits/charizard.gbapal"
.incbin "graphics/credits/venusaur.gbapal"
.incbin "graphics/credits/blastoise.gbapal"
.incbin "graphics/credits/pikachu.gbapal"
gUnknown_8EAAB98:: @ 8EAAB98
.incbin "baserom.gba", 0xEAAB98, 0x774
.incbin "graphics/credits/unk_8EAAB98.4bpp.lz"
gUnknown_8EAB30C:: @ 8EAB30C
.incbin "baserom.gba", 0xEAB30C, 0x3B8
.incbin "graphics/credits/unk_8EAB30C.bin.lz"
@ title_screen
gGraphics_TitleScreen_PokemonFireRedLogoPals:: @ 8EAB6C4
@@ -16387,13 +16390,13 @@ gGraphics_TitleScreen_BlankObjTiles:: @ 8EAE4A8
.incbin "graphics/title_screen/unk_8eae4a8.4bpp.lz"
gUnknown_8EAE528:: @ 8EAE528
.incbin "baserom.gba", 0xEAE528, 0x20 @UNKNOWN
.incbin "graphics/credits/unk_8EAE548.gbapal"
gUnknown_8EAE548:: @ 8EAE548
.incbin "baserom.gba", 0xEAE548, 0x3B8
.incbin "graphics/credits/unk_8EAE548.4bpp.lz"
gUnknown_8EAE900:: @ 8EAE900
.incbin "baserom.gba", 0xEAE900, 0x100
.incbin "graphics/credits/unk_8EAE548.bin.lz"
gUnknown_8EAEA00:: @ 8EAEA00
.incbin "baserom.gba", 0xEAEA00, 0x20 @UNKNOWN
+1 -1
View File
@@ -59,7 +59,7 @@ EventScript_167264:: @ 8167264
setvar VAR_MAP_SCENE_INDIGO_PLATEAU_EXTERIOR, 0
removeobject 1
removeobject 2
special sub_80F39B4
special Special_Credits
waitstate
releaseall
end
+1 -1
View File
@@ -430,7 +430,7 @@ gSpecials:: @ 815FD60
def_special sub_814EA7C
def_special sub_80CCB94
def_special sub_80CCCF8
def_special sub_80F39B4
def_special Special_Credits
def_special sub_8153810
def_special sub_809D764
def_special sub_809D8C0
+209 -124
View File
@@ -3323,260 +3323,345 @@ gUnknown_841D18D:: @ 841D18D
gUnknown_841D198:: @ 841D198
.string "Pokémon FireRed Version\nStaff$"
gUnknown_841D1B6:: @ 0x841D1B6
.string " Pokémon LeafGreen Version\nStaff$"
.align 2
gUnknown_841D1B8:: @ 0x841D1B6
.string "Pokémon LeafGreen Version\nStaff$"
.align 2
gUnknown_841D1D8:: @ 0x841D1D8
.string "\n\nDirector\n\n\n\n$"
gUnknown_841D1E7:: @ 0x841D1E7
.string " \n\n\nJunichi Masuda\n\n\n$"
.align 2
gUnknown_841D1E8:: @ 0x841D1E7
.string "\n\n\nJunichi Masuda\n\n\n$"
gUnknown_841D1FD:: @ 0x841D1FD
.string " \nArt Director\n\nBattle Director\n\n\n$"
.align 2
gUnknown_841D200:: @ 0x841D1FD
.string "\nArt Director\n\nBattle Director\n\n\n$"
gUnknown_841D222:: @ 0x841D222
.string " \n\nKen Sugimori\n\nShigeki Morimoto\n\n$"
.align 2
gUnknown_841D224:: @ 0x841D222
.string "\n\nKen Sugimori\n\nShigeki Morimoto\n\n$"
gUnknown_841D247:: @ 0x841D247
.string " Program Leader\n\nPlanning Leader\n\nGraphic Design Leader\n\n$"
.align 2
gUnknown_841D248:: @ 0x841D247
.string "Program Leader\n\nPlanning Leader\n\nGraphic Design Leader\n\n$"
gUnknown_841D281:: @ 0x841D281
.string " \nTetsuya Watanabe\n\nKoji Nishino\n\nTakao Unno\n$"
.align 2
gUnknown_841D284:: @ 0x841D281
.string "\nTetsuya Watanabe\n\nKoji Nishino\n\nTakao Unno\n$"
gUnknown_841D2B1:: @ 0x841D2B1
.string " Programmers\n\n\n\n\n$"
.align 2
gUnknown_841D2B4:: @ 0x841D2B1
.string "Programmers\n\n\n\n\n$"
gUnknown_841D2C5:: @ 0x841D2C5
.string " \nHiroyuki Nakamura\nMasao Taya\nSatoshi Nohara\nMiyuki Iwasawa\nDaisuke Goto\n$"
.align 2
gUnknown_841D2C8:: @ 0x841D2C5
.string "\nHiroyuki Nakamura\nMasao Taya\nSatoshi Nohara\nMiyuki Iwasawa\nDaisuke Goto\n$"
gUnknown_841D312:: @ 0x841D312
.string " System Programmers\n\n\n\n\n\n$"
.align 2
gUnknown_841D314:: @ 0x841D312
.string "System Programmers\n\n\n\n\n\n$"
gUnknown_841D32D:: @ 0x841D32D
.string " \nTetsuya Watanabe\nAkito Mori\nHisashi Sogabe\nSousuke Tamada\n\n$"
.align 2
gUnknown_841D330:: @ 0x841D32D
.string "\nTetsuya Watanabe\nAkito Mori\nHisashi Sogabe\nSousuke Tamada\n\n$"
gUnknown_841D36D:: @ 0x841D36D
.string " Graphic Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D370:: @ 0x841D36D
.string "Graphic Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D388:: @ 0x841D388
.string "\nTakao Unno\nAsuka Iwashita\nKanako Eo\nHiroki Fuchino\n\n$"
gUnknown_841D3BE:: @ 0x841D3BE
.string " \nGraphic Designers\n\n\n\n\n$"
.align 2
gUnknown_841D3C0:: @ 0x841D3BE
.string "\nGraphic Designers\n\n\n\n\n$"
.align 2
gUnknown_841D3D8:: @ 0x841D3D8
.string "\n\nKen Sugimori\nHironobu Yoshida\n\n\n$"
gUnknown_841D3FB:: @ 0x841D3FB
.string " \nMusic Composition\n\n\n\n\n$"
.align 2
gUnknown_841D3FC:: @ 0x841D3FB
.string "\nMusic Composition\n\n\n\n\n$"
.align 2
gUnknown_841D414:: @ 0x841D414
.string "\n\nGo Ichinose\nJunichi Masuda\n\n\n$"
.align 2
gUnknown_841D434:: @ 0x841D434
.string "\n\nSound Effects\n\n\n\n$"
.align 2
gUnknown_841D448:: @ 0x841D448
.string "\n\n\nGo Ichinose\n\n\n$"
gUnknown_841D45A:: @ 0x841D45A
.string " \nGame Designers\n\n\n\n\n$"
.align 2
gUnknown_841D45C:: @ 0x841D45A
.string "\nGame Designers\n\n\n\n\n$"
gUnknown_841D471:: @ 0x841D471
.string " \n\nJunichi Masuda\nKoji Nishino\nTetsuji Ohta\n\n$"
.align 2
gUnknown_841D474:: @ 0x841D471
.string "\n\nJunichi Masuda\nKoji Nishino\nTetsuji Ohta\n\n$"
gUnknown_841D4A1:: @ 0x841D4A1
.string " \nGame Designers\n\n\n\n\n$"
.align 2
gUnknown_841D4A4:: @ 0x841D4A1
.string "\nGame Designers\n\n\n\n\n$"
gUnknown_841D4B9:: @ 0x841D4B9
.string " \n\nHitomi Sato\nShigeru Ohmori\nTadashi Takahashi\n\n$"
.align 2
gUnknown_841D4BC:: @ 0x841D4B9
.string "\n\nHitomi Sato\nShigeru Ohmori\nTadashi Takahashi\n\n$"
gUnknown_841D4ED:: @ 0x841D4ED
.string " \nGame Scenario\n\n\n\n\n$"
.align 2
gUnknown_841D4F0:: @ 0x841D4ED
.string "\nGame Scenario\n\n\n\n\n$"
.align 2
gUnknown_841D504:: @ 0x841D504
.string "\n\nHitomi Sato\nSatoshi Tajiri\n\n\n$"
.align 2
gUnknown_841D524:: @ 0x841D524
.string "\nScript Designer\n\nMap Designer\n\n\n$"
gUnknown_841D546:: @ 0x841D546
.string " \n\nSatoshi Nohara\n\nShigeru Ohmori\n\n$"
.align 2
gUnknown_841D548:: @ 0x841D546
.string "\n\nSatoshi Nohara\n\nShigeru Ohmori\n\n$"
gUnknown_841D56B:: @ 0x841D56B
.string " \nParametric Designers\n\n\n\n\n$"
.align 2
gUnknown_841D56C:: @ 0x841D56B
.string "\nParametric Designers\n\n\n\n\n$"
gUnknown_841D587:: @ 0x841D587
.string " \n\nKoji Nishino\nTetsuji Ohta\nShigeki Morimoto\n\n$"
.align 2
gUnknown_841D588:: @ 0x841D587
.string "\n\nKoji Nishino\nTetsuji Ohta\nShigeki Morimoto\n\n$"
gUnknown_841D5B7:: @ 0x841D5B7
.string " \n\nPOKéDEX Text\n\n\n\n$"
.align 2
gUnknown_841D5B8:: @ 0x841D5B7
.string "\n\nPOKéDEX Text\n\n\n\n$"
gUnknown_841D5CB:: @ 0x841D5CB
.string " \n\n\nKenji Matsushima\n\n\n$"
.align 2
gUnknown_841D5CC:: @ 0x841D5CB
.string "\n\n\nKenji Matsushima\n\n\n$"
gUnknown_841D5E3:: @ 0x841D5E3
.string " POKéMON Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D5E4:: @ 0x841D5E3
.string "POKéMON Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D5FC:: @ 0x841D5FC
.string "\nKen Sugimori\nMotofumi Fujiwara\nShigeki Morimoto\nHironobu Yoshida\n\n$"
.align 2
gUnknown_841D640:: @ 0x841D640
.string "POKéMON Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D658:: @ 0x841D658
.string "\nSatoshi Ohta\nAsuka Iwashita\nTakao Unno\nKanako Eo\nAimi Tomita\n$"
gUnknown_841D697:: @ 0x841D697
.string " POKéMON Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D698:: @ 0x841D697
.string "POKéMON Designers\n\n\n\n\n\n$"
.align 2
gUnknown_841D6B0:: @ 0x841D6B0
.string "\nAtsuko Nishida\nMuneo Saito\nRena Yoshikawa\nJun Okutani\n\n$"
gUnknown_841D6E9:: @ 0x841D6E9
.string " Supporting Programmers\n\n\n\n$"
.align 2
gUnknown_841D6EC:: @ 0x841D6E9
.string "Supporting Programmers\n\n\n\n$"
gUnknown_841D707:: @ 0x841D707
.string " \nTeruyuki Yoshioka\nTakao Nakano\n\nSatoshi Mitsuhara\nDaisuke Hoshino\n$"
.align 2
gUnknown_841D708:: @ 0x841D707
.string "\nTeruyuki Yoshioka\nTakao Nakano\n\nSatoshi Mitsuhara\nDaisuke Hoshino\n$"
.align 2
gUnknown_841D74C:: @ 0x841D74C
.string "\n\nNCL Product Testing\n\n\n\n$"
gUnknown_841D766:: @ 0x841D766
.string " \n\n\nNCL Super Mario Club\n\n\n$"
.align 2
gUnknown_841D768:: @ 0x841D766
.string "\n\n\nNCL Super Mario Club\n\n\n$"
gUnknown_841D783:: @ 0x841D783
.string " Special Thanks\n\n\n\n\n\n$"
.align 2
gUnknown_841D784:: @ 0x841D783
.string "Special Thanks\n\n\n\n\n\n$"
gUnknown_841D799:: @ 0x841D799
.string " \nHiro Nakamura\nHiroyuki Uesugi\nTeruki Murakawa\n\nKazuya Suyama\n$"
.align 2
gUnknown_841D79C:: @ 0x841D799
.string "\nHiro Nakamura\nHiroyuki Uesugi\nTeruki Murakawa\n\nKazuya Suyama\n$"
gUnknown_841D7DB:: @ 0x841D7DB
.string " Special Thanks\n\n\n\n\n\n$"
.align 2
gUnknown_841D7DC:: @ 0x841D7DB
.string "Special Thanks\n\n\n\n\n\n$"
gUnknown_841D7F1:: @ 0x841D7F1
.string " \nKenji Tominaga\n\nKenjiro Ito\nTomotaka Komura\nMichiko Takizawa\n$"
.align 2
gUnknown_841D7F4:: @ 0x841D7F1
.string "\nKenji Tominaga\n\nKenjiro Ito\nTomotaka Komura\nMichiko Takizawa\n$"
gUnknown_841D833:: @ 0x841D833
.string " Special Thanks\n\n\n\n\n\n$"
.align 2
gUnknown_841D834:: @ 0x841D833
.string "Special Thanks\n\n\n\n\n\n$"
gUnknown_841D849:: @ 0x841D849
.string " \nMakiko Takada\nMikiko Ohashi\nShusaku Egami\nTakanao Kondo\nRui Kawaguchi\n$"
.align 2
gUnknown_841D84C:: @ 0x841D849
.string "\nMakiko Takada\nMikiko Ohashi\nShusaku Egami\nTakanao Kondo\nRui Kawaguchi\n$"
.align 2
gUnknown_841D894:: @ 0x841D894
.string "\n\nBraille Code Check\n\n\n\n$"
gUnknown_841D8AD:: @ 0x841D8AD
.string " \n\n\nJapan Braille Library\n\n\n$"
.align 2
gUnknown_841D8B0:: @ 0x841D8AD
.string "\n\n\nJapan Braille Library\n\n\n$"
.align 2
gUnknown_841D8CC:: @ 0x841D8CC
.string "Information Supervisors\n\n\n\n\n\n$"
gUnknown_841D8EA:: @ 0x841D8EA
.string " \nHiroki Enomoto\nKazuyuki Terada\nYuri Sakurai\nYumi Funasaka\nNaoko Yanase\n$"
.align 2
gUnknown_841D8EC:: @ 0x841D8EA
.string "\nHiroki Enomoto\nKazuyuki Terada\nYuri Sakurai\nYumi Funasaka\nNaoko Yanase\n$"
gUnknown_841D935:: @ 0x841D935
.string " Coordinators\n\n\n\n\n\n$"
.align 2
gUnknown_841D938:: @ 0x841D935
.string "Coordinators\n\n\n\n\n\n$"
gUnknown_841D94B:: @ 0x841D94B
.string " \nAzusa Tajima\nAkira Kinashi\nKazuki Yoshihara\n\nRetsuji Nomoto\n$"
.align 2
gUnknown_841D94C:: @ 0x841D94B
.string "\nAzusa Tajima\nAkira Kinashi\nKazuki Yoshihara\n\nRetsuji Nomoto\n$"
gUnknown_841D98A:: @ 0x841D98A
.string " \nTask Managers\n\n\n\n\n$"
.align 2
gUnknown_841D98C:: @ 0x841D98A
.string "\nTask Managers\n\n\n\n\n$"
.align 2
gUnknown_841D9A0:: @ 0x841D9A0
.string "\n\nHitoshi Yamagami\nGakuji Nomoto\n\n\n$"
.align 2
gUnknown_841D9C4:: @ 0x841D9C4
.string "\nProducers\n\n\n\n\n$"
.align 2
gUnknown_841D9D4:: @ 0x841D9D4
.string "\n\nHiroyuki Jinnai\nTakehiro Izushi\nHiroaki Tsuru\n\n$"
gUnknown_841DA06:: @ 0x841DA06
.string " \n\nExecutive Director\n\n\n\n$"
.align 2
gUnknown_841DA08:: @ 0x841DA06
.string "\n\nExecutive Director\n\n\n\n$"
gUnknown_841DA21:: @ 0x841DA21
.string " \n\n\nSatoshi Tajiri\n\n\n$"
.align 2
gUnknown_841DA24:: @ 0x841DA21
.string "\n\n\nSatoshi Tajiri\n\n\n$"
gUnknown_841DA39:: @ 0x841DA39
.string " \n\nExecutive Producer\n\n\n\n$"
.align 2
gUnknown_841DA3C:: @ 0x841DA39
.string "\n\nExecutive Producer\n\n\n\n$"
gUnknown_841DA55:: @ 0x841DA55
.string " \n\n\nSatoru Iwata\n\n\n$"
.align 2
gUnknown_841DA58:: @ 0x841DA55
.string "\n\n\nSatoru Iwata\n\n\n$"
gUnknown_841DA6B:: @ 0x841DA6B
.string " \n\nExecutive Producer\n\n\n\n$"
.align 2
gUnknown_841DA6C:: @ 0x841DA6B
.string "\n\nExecutive Producer\n\n\n\n$"
gUnknown_841DA85:: @ 0x841DA85
.string " \n\n\nTsunekaz Ishihara\n\n\n$"
.align 2
gUnknown_841DA88:: @ 0x841DA85
.string "\n\n\nTsunekaz Ishihara\n\n\n$"
.align 2
gUnknown_841DAA0:: @ 0x841DAA0
.string "\nEnglish Version Coordinators\n\n\n\n\n$"
gUnknown_841DAC3:: @ 0x841DAC3
.string " \n\nHiro Nakamura\nSeth McMahill\n\n\n$"
.align 2
gUnknown_841DAC4:: @ 0x841DAC3
.string "\n\nHiro Nakamura\nSeth McMahill\n\n\n$"
gUnknown_841DAE5:: @ 0x841DAE5
.string " \nTranslator\n\nText Editor\n\n\n$"
.align 2
gUnknown_841DAE8:: @ 0x841DAE5
.string "\nTranslator\n\nText Editor\n\n\n$"
.align 2
gUnknown_841DB04:: @ 0x841DB04
.string "\n\nNob Ogasawara\n\nTeresa Lillygren\n\n$"
.align 2
gUnknown_841DB28:: @ 0x841DB28
.string "Programmers\n\n\n\n\n\n$"
gUnknown_841DB3A:: @ 0x841DB3A
.string " \nTeruki Murakawa\nSouichi Yamamoto\nYuichiro Ito\nAkira Kinashi\n\n$"
.align 2
gUnknown_841DB3C:: @ 0x841DB3A
.string "\nTeruki Murakawa\nSouichi Yamamoto\nYuichiro Ito\nAkira Kinashi\n\n$"
gUnknown_841DB7B:: @ 0x841DB7B
.string " \nEnvironment Tool Programmers\n\n\n\n\n$"
.align 2
gUnknown_841DB7C:: @ 0x841DB7B
.string "\nEnvironment Tool Programmers\n\n\n\n\n$"
gUnknown_841DBA1:: @ 0x841DBA1
.string " \n\nTeruki Murakawa\nSouichi Yamamoto\nKimiko Nakamichi\n\n$"
.align 2
gUnknown_841DBA4:: @ 0x841DBA1
.string "\n\nTeruki Murakawa\nSouichi Yamamoto\nKimiko Nakamichi\n\n$"
gUnknown_841DBDA:: @ 0x841DBDA
.string " NOA Product Testing\n\n\n\n\n\n$"
.align 2
gUnknown_841DBDC:: @ 0x841DBDA
.string "NOA Product Testing\n\n\n\n\n\n$"
gUnknown_841DBF6:: @ 0x841DBF6
.string " \nThomas Hertzog\nKathy Huguenard\nMika Kurosawa\n\n\n$"
.align 2
gUnknown_841DBF8:: @ 0x841DBF6
.string "\nThomas Hertzog\nKathy Huguenard\nMika Kurosawa\n\n\n$"
gUnknown_841DC29:: @ 0x841DC29
.string " Braille Code Check\n\n\n\n\n\n$"
.align 2
gUnknown_841DC2C:: @ 0x841DC29
.string "Braille Code Check\n\n\n\n\n\n$"
gUnknown_841DC45:: @ 0x841DC45
.string " \nNational Federation\n{CLEAR_TO 0x13}of the Blind\nPatricia A. Maurer\nJapan Braille Library\nEuropean Blind Union\n$"
.align 2
gUnknown_841DC48:: @ 0x841DC45
.string "\nNational Federation\n{CLEAR_TO 0x13}of the Blind\nPatricia A. Maurer\nJapan Braille Library\nEuropean Blind Union\n$"
.align 2
gUnknown_841DCAC:: @ 0x841DCAC
.string "\nBraille Code Check\n\n\n\n\n$"
gUnknown_841DCC5:: @ 0x841DCC5
.string " \n\nNational Information Library\n{CLEAR_TO 0x2D}Service\nMargaret Campion\n\n$"
.align 2
gUnknown_841DCC8:: @ 0x841DCC5
.string "\n\nNational Information Library\n{CLEAR_TO 0x2D}Service\nMargaret Campion\n\n$"
gUnknown_841DD05:: @ 0x841DD05
.string " Special Thanks\n\n\n\n\n\n$"
.align 2
gUnknown_841DD08:: @ 0x841DD05
.string "Special Thanks\n\n\n\n\n\n$"
gUnknown_841DD1D:: @ 0x841DD1D
.string " \nTakehiro Izushi\nMotoyasu Tojima\nHitoshi Yamagami\nHiroyuki Uesugi\n\n$"
.align 2
gUnknown_841DD20:: @ 0x841DD1D
.string "\nTakehiro Izushi\nMotoyasu Tojima\nHitoshi Yamagami\nHiroyuki Uesugi\n\n$"
.align 2
gUnknown_841DD64:: @ 0x841DD64
.string "Special Thanks\n\n\n\n\n\n$"
gUnknown_841DD79:: @ 0x841DD79
.string " \nNicola Pratt-Barlow\nShellie Dow\nAnthony Howitt\nNaoko Saeki\nKyoko Onishi\n$"
.align 2
gUnknown_841DD7C:: @ 0x841DD79
.string "\nNicola Pratt-Barlow\nShellie Dow\nAnthony Howitt\nNaoko Saeki\nKyoko Onishi\n$"
gUnknown_841DDC6:: @ 0x841DDC6
.string " \nBraille Code Check\n\n\n\n\n$"
.align 2
gUnknown_841DDC8:: @ 0x841DDC6
.string "\nBraille Code Check\n\n\n\n\n$"
gUnknown_841DDE1:: @ 0x841DDE1
.string " \n\nThe Royal New Zealand\nFoundation of the Blind\nGreg Moran\n\n$"
.align 2
gUnknown_841DDE4:: @ 0x841DDE1
.string "\n\nThe Royal New Zealand\nFoundation of the Blind\nGreg Moran\n\n$"
gUnknown_841DE21:: @ 0x841DE21
.string " \n\nGraphic Designer\n\n\n\n$"
.align 2
gUnknown_841DE24:: @ 0x841DE21
.string "\n\nGraphic Designer\n\n\n\n$"
gUnknown_841DE3B:: @ 0x841DE3B
.string " \n\n\nAkira Kinashi\n\n\n$"
.align 2
gUnknown_841DE3C:: @ 0x841DE3B
.string "\n\n\nAkira Kinashi\n\n\n$"
gJPText_MysteryGift:: @ 841DE50
.string "$"
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
148 197 246
131 180 246
106 164 246
90 148 255
57 98 164
24 49 82
172 222 246
131 172 197
98 131 148
65 82 98
32 41 49
16 98 255
8 65 164
0 32 82
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
230 98 90
213 65 82
189 32 74
172 0 74
115 0 49
57 0 24
255 131 98
197 98 74
148 74 57
98 49 32
49 24 16
255 0 8
164 0 0
82 0 0
0 0 0
+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
255 230 57
255 213 41
255 189 16
255 172 0
164 115 0
82 57 0
255 255 82
213 213 65
180 180 57
148 148 41
106 106 32
255 90 0
164 57 0
82 24 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

+19
View File
@@ -0,0 +1,19 @@
JASC-PAL
0100
16
0 0 0
131 205 131
90 164 115
49 115 98
16 115 123
8 74 82
0 32 41
172 255 156
131 197 123
98 148 90
65 98 57
32 49 24
16 180 0
8 115 0
0 57 0
0 0 0
+4
View File
@@ -24,6 +24,7 @@ TEACHYTVGFXDIR := graphics/teachy_tv
SSANNEGFXDIR := graphics/ss_anne
ITEMPCGFXDIR := graphics/item_pc
TITLESCREENGFXDIR := graphics/title_screen
CREDITSGFXDIR := graphics/credits
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
contest_types := cool beauty cute smart tough
@@ -497,3 +498,6 @@ $(ITEMPCGFXDIR)/unk_8E85090.4bpp: %.4bpp: %.png
$(TITLESCREENGFXDIR)/unk_8ead608.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 135
$(CREDITSGFXDIR)/unk_8EAE548.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 77
+8
View File
@@ -974,4 +974,12 @@ extern const u8 gGraphics_TitleScreen_CopyrightPressStartMap[];
extern const u16 gGraphics_TitleScreen_FirePals[];
extern const u8 gGraphics_TitleScreen_BlankObjTiles[];
// credits
extern const u32 gUnknown_8EAAB98[];
extern const u32 gUnknown_8EAB30C[];
extern const u16 gUnknown_8EAAB18[][16];
extern const u16 gUnknown_8EAE528[];
extern const u8 gUnknown_8EAE548[];
extern const u8 gUnknown_8EAE900[];
#endif //GUARD_GRAPHICS_H
+8 -1
View File
@@ -23,6 +23,13 @@ struct UCoords32
u32 x, y;
};
struct CreditsOverworldCmd
{
s16 unk_0;
u16 unk_2;
u16 unk_4;
};
extern struct UCoords32 gDirectionToVectors[];
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
@@ -120,6 +127,6 @@ void Overworld_ResetStateAfterDigEscRope(void);
bool32 sub_8058244(void);
void sub_80574A4(void);
bool32 sub_805750C(u8 *, const char *, u8);
bool32 sub_805750C(u8 *, const struct CreditsOverworldCmd *, u8);
#endif //GUARD_ROM4_H
+87 -1
View File
@@ -209,6 +209,92 @@ extern const u8 gString_QuitPlaying[];
extern const u8 gString_SlotMachineControls[];
// credits
extern const u8 gUnknown_841D198[];
extern const u8 gUnknown_84161CD[];
extern const u8 gUnknown_841D198[]; // FR
extern const u8 gUnknown_841D1B8[]; // LG
extern const u8 gUnknown_841D1D8[];
extern const u8 gUnknown_841D1E8[];
extern const u8 gUnknown_841D200[];
extern const u8 gUnknown_841D224[];
extern const u8 gUnknown_841D248[];
extern const u8 gUnknown_841D284[];
extern const u8 gUnknown_841D2B4[];
extern const u8 gUnknown_841D2C8[];
extern const u8 gUnknown_841D314[];
extern const u8 gUnknown_841D330[];
extern const u8 gUnknown_841D370[];
extern const u8 gUnknown_841D388[];
extern const u8 gUnknown_841D3C0[];
extern const u8 gUnknown_841D3D8[];
extern const u8 gUnknown_841D3FC[];
extern const u8 gUnknown_841D414[];
extern const u8 gUnknown_841D434[];
extern const u8 gUnknown_841D448[];
extern const u8 gUnknown_841D45C[];
extern const u8 gUnknown_841D474[];
extern const u8 gUnknown_841D4A4[];
extern const u8 gUnknown_841D4BC[];
extern const u8 gUnknown_841D4F0[];
extern const u8 gUnknown_841D504[];
extern const u8 gUnknown_841D524[];
extern const u8 gUnknown_841D548[];
extern const u8 gUnknown_841D56C[];
extern const u8 gUnknown_841D588[];
extern const u8 gUnknown_841D5B8[];
extern const u8 gUnknown_841D5CC[];
extern const u8 gUnknown_841D5E4[];
extern const u8 gUnknown_841D5FC[];
extern const u8 gUnknown_841D640[];
extern const u8 gUnknown_841D658[];
extern const u8 gUnknown_841D698[];
extern const u8 gUnknown_841D6B0[];
extern const u8 gUnknown_841D6EC[];
extern const u8 gUnknown_841D708[];
extern const u8 gUnknown_841D74C[];
extern const u8 gUnknown_841D768[];
extern const u8 gUnknown_841D784[];
extern const u8 gUnknown_841D79C[];
extern const u8 gUnknown_841D7DC[];
extern const u8 gUnknown_841D7F4[];
extern const u8 gUnknown_841D834[];
extern const u8 gUnknown_841D84C[];
extern const u8 gUnknown_841D894[];
extern const u8 gUnknown_841D8B0[];
extern const u8 gUnknown_841D8CC[];
extern const u8 gUnknown_841D8EC[];
extern const u8 gUnknown_841D938[];
extern const u8 gUnknown_841D94C[];
extern const u8 gUnknown_841D98C[];
extern const u8 gUnknown_841D9A0[];
extern const u8 gUnknown_841D9C4[];
extern const u8 gUnknown_841D9D4[];
extern const u8 gUnknown_841DA08[];
extern const u8 gUnknown_841DA24[];
extern const u8 gUnknown_841DA3C[];
extern const u8 gUnknown_841DA58[];
extern const u8 gUnknown_841DA6C[];
extern const u8 gUnknown_841DA88[];
extern const u8 gUnknown_841DAA0[];
extern const u8 gUnknown_841DAC4[];
extern const u8 gUnknown_841DAE8[];
extern const u8 gUnknown_841DB04[];
extern const u8 gUnknown_841DB28[];
extern const u8 gUnknown_841DB3C[];
extern const u8 gUnknown_841DB7C[];
extern const u8 gUnknown_841DBA4[];
extern const u8 gUnknown_841DBDC[];
extern const u8 gUnknown_841DBF8[];
extern const u8 gUnknown_841DC2C[];
extern const u8 gUnknown_841DC48[];
extern const u8 gUnknown_841DCAC[];
extern const u8 gUnknown_841DCC8[];
extern const u8 gUnknown_841DD08[];
extern const u8 gUnknown_841DD20[];
extern const u8 gUnknown_841DD64[];
extern const u8 gUnknown_841DD7C[];
extern const u8 gUnknown_841DDC8[];
extern const u8 gUnknown_841DDE4[];
extern const u8 gUnknown_841DE24[];
extern const u8 gUnknown_841DE3C[];
#endif //GUARD_STRINGS_H
+1
View File
@@ -14,5 +14,6 @@ u8 sub_818D97C(u8 a0, u8 a1);
u16 CreateTrainerPicSprite(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
u16 FreeAndDestroyTrainerPicSprite(u16);
u16 PlayerGenderToFrontTrainerPicId_Debug(u8 gender, bool8 getClass);
u16 sub_810C228(u16 species, u32 otId, u32 personality, bool8 isFrontPic, u8 paletteSlot, u8 windowId);
#endif // GUARD_TRAINER_POKEMON_SPRITES_H
-2
View File
@@ -213,7 +213,6 @@ SECTIONS {
asm/battle_anim_special.o(.text);
asm/hall_of_fame.o(.text);
src/credits.o(.text);
asm/credits.o(.text);
src/diploma.o(.text);
asm/save_failed_screen.o(.text);
asm/clear_save_data_screen.o(.text);
@@ -426,7 +425,6 @@ SECTIONS {
src/intro.o(.rodata);
data/data_83FECCC.o(.rodata.battle_anim_special);
src/credits.o(.rodata);
data/credits.o(.rodata);
src/diploma.o(.rodata);
data/strings.o(.rodata);
data/data_83FECCC.o(.rodata.841EE44);
+942 -12
View File
@@ -1,5 +1,6 @@
#include "global.h"
#include "malloc.h"
#include "bg.h"
#include "palette.h"
#include "gpu_regs.h"
#include "task.h"
@@ -7,9 +8,13 @@
#include "event_data.h"
#include "window.h"
#include "new_menu_helpers.h"
#include "menu.h"
#include "decompress.h"
#include "graphics.h"
#include "strings.h"
#include "field_weather.h"
#include "trainer_pokemon_sprites.h"
#include "sound.h"
#include "constants/species.h"
#include "constants/maps.h"
struct CreditsResources
{
@@ -22,7 +27,9 @@ struct CreditsResources
u8 unk_09;
u8 unk_0A;
bool8 unk_0B;
u8 filler_0C[16];
u16 unk_0C;
u16 unk_0E;
u8 filler_10[12];
u8 unk_1C;
u8 unk_1D;
};
@@ -41,6 +48,24 @@ struct UnkStruct_84145BC
u8 unk_8;
};
struct CompressedGraphicsHeader
{
const u8 * tiles;
const u8 * map;
const u16 * palette;
};
struct CreditsTaskData
{
u8 field_00;
u8 field_01;
u16 field_02;
u16 field_04;
u8 field_06;
u16 field_08;
u16 field_0A;
};
EWRAM_DATA struct CreditsResources * gUnknown_203AB40 = NULL;
void sub_80F39E8(void);
@@ -50,7 +75,246 @@ bool32 sub_80F4674(void);
void sub_80F48D0(void);
void sub_80F4930(u8 a0);
/*
const struct BgTemplate gUnknown_840C5A4[] = {
{
.bg = 0,
.charBaseIndex = 0,
.mapBaseIndex = 15,
.screenSize = 0,
.paletteMode = FALSE,
.priority = 0,
.baseTile = 0x0
}, {
.bg = 1,
.charBaseIndex = 2,
.mapBaseIndex = 23,
.screenSize = 0,
.paletteMode = FALSE,
.priority = 1,
.baseTile = 0x0
}, {
.bg = 2,
.charBaseIndex = 3,
.mapBaseIndex = 31,
.screenSize = 1,
.paletteMode = TRUE,
.priority = 2,
.baseTile = 0x0
}
};
const struct WindowTemplate gUnknown_840C5B0[] = {
{
.bg = 0x00,
.tilemapLeft = 0x0b,
.tilemapTop = 0x06,
.width = 0x08,
.height = 0x08,
.paletteNum = 0x0a,
.baseBlock = 0x0008
}, {
.bg = 0x00,
.tilemapLeft = 0x0a,
.tilemapTop = 0x05,
.width = 0x0a,
.height = 0x0a,
.paletteNum = 0x0a,
.baseBlock = 0x0048
}, {
.bg = 0x00,
.tilemapLeft = 0x09,
.tilemapTop = 0x03,
.width = 0x0c,
.height = 0x0d,
.paletteNum = 0x0a,
.baseBlock = 0x00ac
}, DUMMY_WIN_TEMPLATE
};
const struct WindowTemplate gUnknown_840C5D0[] = {
{
.bg = 0x00,
.tilemapLeft = 0x0b,
.tilemapTop = 0x06,
.width = 0x08,
.height = 0x08,
.paletteNum = 0x0a,
.baseBlock = 0x0008
}, {
.bg = 0x00,
.tilemapLeft = 0x0a,
.tilemapTop = 0x05,
.width = 0x0a,
.height = 0x0a,
.paletteNum = 0x0a,
.baseBlock = 0x0048
}, {
.bg = 0x00,
.tilemapLeft = 0x09,
.tilemapTop = 0x05,
.width = 0x0c,
.height = 0x0a,
.paletteNum = 0x0a,
.baseBlock = 0x00ac
}, DUMMY_WIN_TEMPLATE
};
const struct WindowTemplate gUnknown_840C5F0[] = {
{
.bg = 0x00,
.tilemapLeft = 0x0b,
.tilemapTop = 0x06,
.width = 0x08,
.height = 0x08,
.paletteNum = 0x0a,
.baseBlock = 0x0008
}, {
.bg = 0x00,
.tilemapLeft = 0x0a,
.tilemapTop = 0x05,
.width = 0x0a,
.height = 0x0a,
.paletteNum = 0x0a,
.baseBlock = 0x0048
}, {
.bg = 0x00,
.tilemapLeft = 0x0a,
.tilemapTop = 0x04,
.width = 0x0a,
.height = 0x0c,
.paletteNum = 0x0a,
.baseBlock = 0x00ac
}, DUMMY_WIN_TEMPLATE
};
const struct WindowTemplate gUnknown_840C610[] = {
{
.bg = 0x00,
.tilemapLeft = 0x0b,
.tilemapTop = 0x06,
.width = 0x08,
.height = 0x08,
.paletteNum = 0x0a,
.baseBlock = 0x0008
}, {
.bg = 0x00,
.tilemapLeft = 0x0a,
.tilemapTop = 0x05,
.width = 0x0a,
.height = 0x0a,
.paletteNum = 0x0a,
.baseBlock = 0x0048
}, {
.bg = 0x00,
.tilemapLeft = 0x09,
.tilemapTop = 0x04,
.width = 0x0c,
.height = 0x0c,
.paletteNum = 0x0a,
.baseBlock = 0x00ac
}, DUMMY_WIN_TEMPLATE
};
const u16 gUnknown_840C630[] = INCBIN_U16("data/credits/unk_840C630.gbapal");
const u32 gUnknown_840C650[] = INCBIN_U32("data/credits/unk_840C650.8bpp.lz");
const u32 gUnknown_840CA54[] = INCBIN_U32("data/credits/unk_840CA54.bin.lz");
const u32 gUnknown_840CB8C[] = INCBIN_U32("data/credits/unk_840CB8C.bin.lz");
const u32 gUnknown_840D228[] = INCBIN_U32("data/credits/unk_840D228.bin.lz");
const u32 gUnknown_840E158[] = INCBIN_U32("data/credits/unk_840E158.bin.lz");
const u32 gUnknown_840E904[] = INCBIN_U32("data/credits/unk_840E904.bin.lz");
const u32 gUnknown_840F240[] = INCBIN_U32("data/credits/unk_840F240.bin.lz");
const u32 gUnknown_840F944[] = INCBIN_U32("data/credits/unk_840F944.bin.lz");
const u32 gUnknown_8410198[] = INCBIN_U32("data/credits/unk_8410198.bin.lz");
const u32 gUnknown_84105B4[] = INCBIN_U32("data/credits/unk_84105B4.bin.lz");
const u32 filler_8410AFC = 0xF0;
const u16 gUnknown_8410B00[] = INCBIN_U16("data/credits/unk_8410B20.gbapal");
const u8 gUnknown_8410B20[] = INCBIN_U8("data/credits/unk_8410B20.4bpp.lz");
const u8 gUnknown_8410B94[] = INCBIN_U8("data/credits/unk_8410B20.bin.lz");
const struct CompressedGraphicsHeader gUnknown_8410CDC[] = {
{
.tiles = gUnknown_8EAE548,
.map = gUnknown_8EAE900,
.palette = gUnknown_8EAE528
}, {
.tiles = gUnknown_8410B20,
.map = gUnknown_8410B94,
.palette = gUnknown_8410B00
}
};
const struct UnkStruct_8410CF4 gUnknown_8410CF4[] = {
{ 1, 0, 16 },
{ 0, 0, 300 },
{ 0, 1, 300 },
{ 0, 2, 300 },
{ 0, 42, 60 },
{ 1, 1, 0 },
{ 0, 3, 211 },
{ 0, 4, 211 },
{ 0, 5, 211 },
{ 1, 2, 0 },
{ 0, 6, 211 },
{ 0, 7, 210 },
{ 0, 8, 210 },
{ 3, 0, 0 },
{ 2, 3, 16 },
{ 0, 9, 211 },
{ 0, 10, 210 },
{ 0, 11, 210 },
{ 1, 4, 16 },
{ 0, 12, 211 },
{ 0, 13, 210 },
{ 0, 14, 210 },
{ 1, 5, 16 },
{ 0, 15, 211 },
{ 0, 16, 210 },
{ 0, 17, 210 },
{ 3, 1, 0 },
{ 2, 6, 16 },
{ 0, 18, 211 },
{ 0, 19, 210 },
{ 0, 20, 210 },
{ 1, 7, 16 },
{ 0, 21, 221 },
{ 0, 22, 221 },
{ 0, 23, 221 },
{ 0, 24, 221 },
{ 0, 42, 51 },
{ 1, 8, 16 },
{ 0, 25, 211 },
{ 0, 26, 210 },
{ 0, 27, 210 },
{ 3, 2, 0 },
{ 2, 9, 16 },
{ 0, 28, 331 },
{ 0, 29, 331 },
{ 0, 30, 331 },
{ 1, 10, 16 },
{ 0, 31, 221 },
{ 0, 32, 221 },
{ 0, 33, 221 },
{ 0, 34, 221 },
{ 0, 42, 52 },
{ 1, 11, 16 },
{ 0, 41, 210 },
{ 0, 35, 210 },
{ 0, 36, 211 },
{ 3, 3, 0 },
{ 2, 12, 16 },
{ 0, 37, 221 },
{ 0, 40, 221 },
{ 0, 38, 221 },
{ 0, 39, 221 },
{ 0, 42, 52 },
{ 4, 0, 224 },
{ 4, 1, 240 },
{ 5, 0, 600 }
};
const ALIGNED(4) u8 gUnknown_8410FFC[3] = {0, 1, 2};
const ALIGNED(4) u8 gUnknown_8410E00[3] = {0, 5, 2};
const ALIGNED(4) u8 gUnknown_8410E04[3] = {0, 1, 2};
@@ -63,17 +327,274 @@ const struct WindowTemplate gUnknown_8410E08 = {
.paletteNum = 15,
.baseBlock = 0x008
};
*/
extern const struct UnkStruct_8410CF4 gUnknown_8410CF4[];
extern const u8 gUnknown_8410E00[3];
extern const u8 gUnknown_8410E04[3];
extern const struct WindowTemplate gUnknown_8410E08;
const u16 gUnknown_8410E10[] = INCBIN_U16("data/credits/unk_8410E10.gbapal");
const u32 gUnknown_8410E30[] = INCBIN_U32("data/credits/unk_8410E30.4bpp.lz");
const u16 gUnknown_8411BF8[] = INCBIN_U16("data/credits/unk_8411BF8.gbapal");
const u32 gUnknown_8411C18[] = INCBIN_U32("data/credits/unk_8411C18.4bpp.lz");
const u16 gUnknown_84129A0[] = INCBIN_U16("data/credits/unk_84129A0.gbapal");
const u32 gUnknown_84129C0[] = INCBIN_U32("data/credits/unk_84129C0.4bpp.lz");
const u16 gUnknown_8413318[] = INCBIN_U16("data/credits/unk_8413318.gbapal");
const u32 gUnknown_8413338[] = INCBIN_U32("data/credits/unk_8413338.4bpp.lz");
const u16 gUnknown_8413854[] = INCBIN_U16("data/credits/unk_8413854.gbapal");
const u32 gUnknown_8413874[] = INCBIN_U32("data/credits/unk_8413874.4bpp.lz");
const u16 gUnknown_8413D98[] = INCBIN_U16("data/credits/unk_8413D98.gbapal");
const u32 gUnknown_8413DB8[] = INCBIN_U32("data/credits/unk_8413DB8.4bpp.lz");
extern const char * gUnknown_8414588[];
extern const struct UnkStruct_84145BC gUnknown_84145BC[];
const u16 gUnknown_841431C[][3] = {
{ 0, 3, 1 },
{ 0, 2, 0 },
{ 0, 3, 0 },
{ 1, 1, 2 },
{ 0, 0, 3 }
};
void sub_80F39B4(void)
const struct OamData gOamData_841433C = {
.affineMode = ST_OAM_AFFINE_OFF,
.mosaic = FALSE,
.objMode = ST_OAM_OBJ_NORMAL,
.bpp = ST_OAM_4BPP,
.shape = ST_OAM_SQUARE,
.size = ST_OAM_SIZE_3,
.tileNum = 0x000,
.priority = 0,
.paletteNum = 15
};
const union AnimCmd gAnimCmds_8414344[] = {
ANIMCMD_FRAME(0x000, 8),
ANIMCMD_FRAME(0x040, 8),
ANIMCMD_FRAME(0x080, 8),
ANIMCMD_FRAME(0x0C0, 8),
ANIMCMD_FRAME(0x100, 8),
ANIMCMD_FRAME(0x140, 8),
ANIMCMD_JUMP(0)
};
const union AnimCmd *const gAnimCmdTable_8414360[] = {
gAnimCmds_8414344
};
const struct SpriteTemplate gUnknown_8414364 = {
.oam = &gOamData_841433C,
.anims = gAnimCmdTable_8414360,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct OamData gOamData_841437C = {
.affineMode = ST_OAM_AFFINE_OFF,
.mosaic = FALSE,
.objMode = ST_OAM_OBJ_NORMAL,
.bpp = ST_OAM_4BPP,
.shape = ST_OAM_H_RECTANGLE,
.size = ST_OAM_SIZE_3,
.tileNum = 0x000,
.priority = 0,
.paletteNum = 14
};
const union AnimCmd gAnimCmds_8414384[] = {
ANIMCMD_FRAME(0x00, 8),
ANIMCMD_FRAME(0x20, 8),
ANIMCMD_FRAME(0x40, 8),
ANIMCMD_FRAME(0x60, 8),
ANIMCMD_FRAME(0x80, 8),
ANIMCMD_FRAME(0xA0, 8),
ANIMCMD_FRAME(0xC0, 8),
ANIMCMD_FRAME(0xE0, 8),
ANIMCMD_JUMP(0)
};
const union AnimCmd gAnimCmds_84143A8[] = {
ANIMCMD_FRAME(0x00, 8),
ANIMCMD_JUMP(0)
};
const union AnimCmd *const gAnimCmdTable_84143B0[] = {
gAnimCmds_8414384
};
const union AnimCmd *const gAnimCmdTable_84143B4[] = {
gAnimCmds_84143A8
};
const struct SpriteTemplate gUnknown_84143B8 = {
.oam = &gOamData_841437C,
.anims = gAnimCmdTable_84143B0,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct SpriteTemplate gUnknown_84143D0 = {
.oam = &gOamData_841437C,
.anims = gAnimCmdTable_84143B4,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = SpriteCallbackDummy
};
const struct CreditsOverworldCmd gUnknown_84143E8[] = {
{ 0x00fe, MAP_GROUP(ROUTE23), MAP_NUM(ROUTE23) },
{ 0x000b, 0x006b, 0x0001 },
{ 0x0000, 0x0001, 0x0500 }, // Scroll down
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_8414408[] = {
{ 0x00fe, MAP_GROUP(VIRIDIAN_CITY), MAP_NUM(VIRIDIAN_CITY) },
{ 0x001e, 0x0022, 0x0001 },
{ 0x0000, 0xffff, 0x0500 }, // Scroll up
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_8414428[] = {
{ 0x00fe, MAP_GROUP(PEWTER_CITY), MAP_NUM(PEWTER_CITY) },
{ 0x0014, 0x001a, 0x0001 },
{ 0x0000, 0xffff, 0x0500 }, // Scroll up
{ 0x00fd, 0x00fd, 0x00fd }
};
// Charizard
const struct CreditsOverworldCmd gUnknown_8414448[] = {
{ 0x00fe, MAP_GROUP(CERULEAN_CITY), MAP_NUM(CERULEAN_CITY) },
{ 0x0008, 0x0006, 0x0001 },
{ 0x0001, 0x0001, 0x0500 }, // Scroll right and down
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_8414468[] = {
{ 0x00fe, MAP_GROUP(ROUTE25), MAP_NUM(ROUTE25) },
{ 0x0019, 0x0006, 0x0001 },
{ 0x0001, 0x0000, 0x0500 }, // Scroll right
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_8414488[] = {
{ 0x00fe, MAP_GROUP(VERMILION_CITY), MAP_NUM(VERMILION_CITY) },
{ 0x0009, 0x0007, 0x0001 },
{ 0x0001, 0x0001, 0x0500 }, // Scroll right and down
{ 0x00fd, 0x00fd, 0x00fd }
};
// Venusaur
const struct CreditsOverworldCmd gUnknown_84144A8[] = {
{ 0x00fe, MAP_GROUP(ROUTE10), MAP_NUM(ROUTE10) },
{ 0x000b, 0x0044, 0x0001 },
{ 0x0000, 0x0001, 0x0500 }, // Scroll down
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_84144C8[] = {
{ 0x00fe, MAP_GROUP(CELADON_CITY), MAP_NUM(CELADON_CITY) },
{ 0x0030, 0x0010, 0x0001 },
{ 0xffff, 0x0000, 0x0500 }, // Scroll left
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_84144E8[] = {
{ 0x00fe, MAP_GROUP(SAFFRON_CITY_DUPLICATE), MAP_NUM(SAFFRON_CITY_DUPLICATE) },
{ 0x0027, 0x0005, 0x0001 },
{ 0x0000, 0x0001, 0x0500 }, // Scroll down
{ 0x00fd, 0x00fd, 0x00fd }
};
// Blastoise
const struct CreditsOverworldCmd gUnknown_8414508[] = {
{ 0x00fe, MAP_GROUP(ROUTE17), MAP_NUM(ROUTE17) },
{ 0x0007, 0x002b, 0x0001 },
{ 0x0000, 0x0001, 0x0500 }, // Scroll down
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_8414528[] = {
{ 0x00fe, MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY) },
{ 0x001c, 0x0005, 0x0001 },
{ 0x0000, 0x0001, 0x0500 }, // Scroll down
{ 0x00fd, 0x00fd, 0x00fd }
};
const struct CreditsOverworldCmd gUnknown_8414548[] = {
{ 0x00fe, MAP_GROUP(CINNABAR_ISLAND), MAP_NUM(CINNABAR_ISLAND) },
{ 0x000d, 0x0011, 0x0001 },
{ 0x0000, 0xffff, 0x0500 }, // Scroll up
{ 0x00fd, 0x00fd, 0x00fd }
};
// Pikachu
const struct CreditsOverworldCmd gUnknown_8414568[] = {
{ 0x00fe, MAP_GROUP(ROUTE21_NORTH), MAP_NUM(ROUTE21_NORTH) },
{ 0x0008, 0x0014, 0x0001 },
{ 0x0000, 0xffff, 0x0500 }, // Scroll up
{ 0x00fd, 0x00fd, 0x00fd },
};
const struct CreditsOverworldCmd *const gUnknown_8414588[] = {
gUnknown_84143E8,
gUnknown_8414408,
gUnknown_8414428,
gUnknown_8414448,
gUnknown_8414468,
gUnknown_8414488,
gUnknown_84144A8,
gUnknown_84144C8,
gUnknown_84144E8,
gUnknown_8414508,
gUnknown_8414528,
gUnknown_8414548,
gUnknown_8414568
};
const struct UnkStruct_84145BC gUnknown_84145BC[] = {
{ gUnknown_841D1D8, gUnknown_841D1E8, 0 },
{ gUnknown_841D200, gUnknown_841D224, 0 },
{ gUnknown_841D248, gUnknown_841D284, 0 },
{ gUnknown_841D2B4, gUnknown_841D2C8, 0 },
{ gUnknown_841D314, gUnknown_841D330, 1 },
{ gUnknown_841D370, gUnknown_841D388, 1 },
{ gUnknown_841D3C0, gUnknown_841D3D8, 1 },
{ gUnknown_841D3FC, gUnknown_841D414, 1 },
{ gUnknown_841D434, gUnknown_841D448, 0 },
{ gUnknown_841D45C, gUnknown_841D474, 0 },
{ gUnknown_841D4A4, gUnknown_841D4BC, 0 },
{ gUnknown_841D4F0, gUnknown_841D504, 1 },
{ gUnknown_841D524, gUnknown_841D548, 0 },
{ gUnknown_841D56C, gUnknown_841D588, 0 },
{ gUnknown_841D5B8, gUnknown_841D5CC, 0 },
{ gUnknown_841D5E4, gUnknown_841D5FC, 1 },
{ gUnknown_841D640, gUnknown_841D658, 0 },
{ gUnknown_841D698, gUnknown_841D6B0, 1 },
{ gUnknown_841D6EC, gUnknown_841D708, 0 },
{ gUnknown_841D74C, gUnknown_841D768, 0 },
{ gUnknown_841D784, gUnknown_841D79C, 0 },
{ gUnknown_841D7DC, gUnknown_841D7F4, 0 },
{ gUnknown_841D834, gUnknown_841D84C, 0 },
{ gUnknown_841D894, gUnknown_841D8B0, 0 },
{ gUnknown_841D8CC, gUnknown_841D8EC, 0 },
{ gUnknown_841D938, gUnknown_841D94C, 0 },
{ gUnknown_841D98C, gUnknown_841D9A0, 1 },
{ gUnknown_841D9C4, gUnknown_841D9D4, 0 },
{ gUnknown_841DA08, gUnknown_841DA24, 0 },
{ gUnknown_841DA3C, gUnknown_841DA58, 0 },
{ gUnknown_841DA6C, gUnknown_841DA88, 0 },
{ gUnknown_841DAA0, gUnknown_841DAC4, 0 },
{ gUnknown_841DAE8, gUnknown_841DB04, 0 },
{ gUnknown_841DB28, gUnknown_841DB3C, 0 },
{ gUnknown_841DB7C, gUnknown_841DBA4, 1 },
{ gUnknown_841DBDC, gUnknown_841DBF8, 1 },
{ gUnknown_841DC2C, gUnknown_841DC48, 1 },
{ gUnknown_841DCAC, gUnknown_841DCC8, 1 },
{ gUnknown_841DD08, gUnknown_841DD20, 0 },
{ gUnknown_841DD64, gUnknown_841DD7C, 0 },
{ gUnknown_841DDC8, gUnknown_841DDE4, 0 },
{ gUnknown_841DE24, gUnknown_841DE3C, 0 },
{ gUnknown_84161CD, gUnknown_84161CD, 0 }
};
void Special_Credits(void)
{
gUnknown_203AB40 = AllocZeroed(sizeof(*gUnknown_203AB40));
ResetTasks();
@@ -1114,3 +1635,412 @@ s32 sub_80F3BD0(void)
"_080F418C: .4byte gPaletteFade");
}
#endif //NONMATCHING
void sub_80F4190(void)
{
LoadOam();
ProcessSpriteCopyRequests();
TransferPlttBuffer();
}
void sub_80F41A4(u8 a0)
{
switch (a0)
{
case 0:
InitWindows(gUnknown_840C5B0);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
sub_810C228(SPECIES_CHARIZARD, 8, 0, TRUE, 10, 0);
CopyToWindowPixelBuffer(1, (const void *)gUnknown_840CB8C, 0, 0);
CopyToWindowPixelBuffer(2, (const void *)gUnknown_840D228, 0, 0);
break;
case 1:
InitWindows(gUnknown_840C5D0);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
sub_810C228(SPECIES_VENUSAUR, 8, 0, TRUE, 10, 0);
CopyToWindowPixelBuffer(1, (const void *)gUnknown_840E158, 0, 0);
CopyToWindowPixelBuffer(2, (const void *)gUnknown_840E904, 0, 0);
break;
case 2:
InitWindows(gUnknown_840C5F0);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
sub_810C228(SPECIES_BLASTOISE, 8, 0, TRUE, 10, 0);
CopyToWindowPixelBuffer(1, (const void *)gUnknown_840F240, 0, 0);
CopyToWindowPixelBuffer(2, (const void *)gUnknown_840F944, 0, 0);
break;
case 3:
InitWindows(gUnknown_840C610);
FillWindowPixelBuffer(0, PIXEL_FILL(0));
sub_810C228(SPECIES_PIKACHU, 8, 0, TRUE, 10, 0);
CopyToWindowPixelBuffer(1, (const void *)gUnknown_8410198, 0, 0);
CopyToWindowPixelBuffer(2, (const void *)gUnknown_84105B4, 0, 0);
break;
}
CopyWindowToVram(0, 2);
CopyWindowToVram(1, 2);
CopyWindowToVram(2, 2);
}
u16 sub_80F42F0(u8 a0)
{
switch (a0)
{
case 0:
return SPECIES_CHARIZARD;
case 1:
return SPECIES_VENUSAUR;
case 2:
return SPECIES_BLASTOISE;
case 3:
return SPECIES_PIKACHU;
default:
return SPECIES_NONE;
}
}
bool32 sub_80F4328(void)
{
switch (gUnknown_203AB40->unk_01)
{
case 0:
SetVBlankCallback(NULL);
SetHBlankCallback(NULL);
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
SetGpuReg(REG_OFFSET_WININ, 0);
SetGpuReg(REG_OFFSET_WINOUT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
ResetPaletteFade();
ResetSpriteData();
ResetTasks();
ResetBgsAndClearDma3BusyFlags(1);
InitBgsFromTemplates(1, gUnknown_840C5A4, NELEMS(gUnknown_840C5A4));
SetBgTilemapBuffer(0, Alloc(BG_SCREEN_SIZE));
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
ChangeBgX(1, 0, 0);
ChangeBgY(1, 0, 0);
gUnknown_203AB40->unk_0C = 0;
gUnknown_203AB40->unk_0E = 0;
SetBgAffine(2, 0x8000, 0x8000, 0x78, 0x50, gUnknown_203AB40->unk_0C, gUnknown_203AB40->unk_0C, 0);
DecompressAndLoadBgGfxUsingHeap(1, gUnknown_8EAAB98, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(2, gUnknown_840C650, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(1, gUnknown_8EAB30C, 0x500, 0, 1);
DecompressAndLoadBgGfxUsingHeap(2, gUnknown_840CA54, 0x400, 0, 1);
LoadPalette(gUnknown_8EAAB18[gUnknown_203AB40->unk_09], 0, 0x20);
LoadPalette(gUnknown_840C630, 0xF0, 0x20);
sub_80F41A4(gUnknown_203AB40->unk_09);
SetVBlankCallback(sub_80F4190);
EnableInterrupts(INTR_FLAG_VBLANK);
gUnknown_203AB40->unk_01++;
break;
case 1:
FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, PIXEL_FILL(1));
PutWindowTilemap(0);
CopyBgTilemapBufferToVram(2);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(0);
gUnknown_203AB40->unk_01++;
break;
case 2:
ShowBg(2);
ShowBg(0);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gUnknown_203AB40->unk_0C = 0x28;
gUnknown_203AB40->unk_01++;
break;
case 3:
if (gUnknown_203AB40->unk_0C != 0)
gUnknown_203AB40->unk_0C--;
else
gUnknown_203AB40->unk_01++;
break;
case 4:
if (!gPaletteFade.active)
{
gUnknown_203AB40->unk_0C = 8;
gUnknown_203AB40->unk_0E = 1;
gUnknown_203AB40->unk_01++;
}
break;
case 5:
if (gUnknown_203AB40->unk_0C != 0)
gUnknown_203AB40->unk_0C--;
else
{
if (gUnknown_203AB40->unk_0E < 3)
{
PutWindowTilemap(gUnknown_203AB40->unk_0E);
CopyBgTilemapBufferToVram(0);
gUnknown_203AB40->unk_0C = 4;
gUnknown_203AB40->unk_0E++;
}
else
gUnknown_203AB40->unk_01++;
}
break;
case 6:
if (gUnknown_203AB40->unk_0C < 256)
{
gUnknown_203AB40->unk_0C += 16;
SetBgAffine(2, 0x8000, 0x8000, 0x78, 0x50, gUnknown_203AB40->unk_0C, gUnknown_203AB40->unk_0C, 0);
}
else
{
SetBgAffine(2, 0x8000, 0x8000, 0x78, 0x50, 0x100, 0x100, 0);
gUnknown_203AB40->unk_0C = 32;
gUnknown_203AB40->unk_01++;
}
break;
case 7:
if (gUnknown_203AB40->unk_0C != 0)
gUnknown_203AB40->unk_0C--;
else
{
HideBg(2);
ShowBg(1);
PlayCry2(sub_80F42F0(gUnknown_203AB40->unk_09), 0, 125, 10);
gUnknown_203AB40->unk_0C = 128;
gUnknown_203AB40->unk_01++;
}
break;
case 8:
if (gUnknown_203AB40->unk_0C != 0)
gUnknown_203AB40->unk_0C--;
else
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
gUnknown_203AB40->unk_01++;
}
break;
case 9:
if (!gPaletteFade.active)
{
FreeAllWindowBuffers();
Free(GetBgTilemapBuffer(0));
gUnknown_203AB40->unk_01 = 0;
return TRUE;
}
break;
}
return FALSE;
}
bool32 sub_80F4674(void)
{
switch (gUnknown_203AB40->unk_01)
{
case 0:
SetVBlankCallback(NULL);
SetHBlankCallback(NULL);
ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_WIN1_ON);
SetGpuReg(REG_OFFSET_WININ, 0);
SetGpuReg(REG_OFFSET_WINOUT, 0);
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
ResetPaletteFade();
ResetSpriteData();
ResetTasks();
ResetBgsAndClearDma3BusyFlags(1);
InitBgsFromTemplates(0, gUnknown_840C5A4, 1);
ChangeBgX(0, 0, 0);
ChangeBgY(0, 0, 0);
DecompressAndLoadBgGfxUsingHeap(0, gUnknown_8410CDC[gUnknown_203AB40->unk_09].tiles, 0x2000, 0, 0);
DecompressAndLoadBgGfxUsingHeap(0, gUnknown_8410CDC[gUnknown_203AB40->unk_09].map, 0x800, 0, 1);
LoadPalette(gUnknown_8410CDC[gUnknown_203AB40->unk_09].palette, 0x00, 0x200);
SetVBlankCallback(sub_80F4190);
EnableInterrupts(INTR_FLAG_VBLANK);
gUnknown_203AB40->unk_01++;
break;
case 1:
CopyBgTilemapBufferToVram(0);
gUnknown_203AB40->unk_01++;
break;
case 2:
ShowBg(0);
if (gUnknown_203AB40->unk_09 != 0)
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0, RGB_BLACK);
else
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
gUnknown_203AB40->unk_01++;
break;
case 3:
if (!gPaletteFade.active)
{
gUnknown_203AB40->unk_01 = 0;
return TRUE;
}
break;
}
return FALSE;
}
void sub_80F47F8(u8 taskId)
{
struct CreditsTaskData * data = (void *)gTasks[taskId].data;
switch (data->field_00)
{
case 0:
break;
case 1:
if (gSprites[data->field_01].pos1.x != 0xD0)
{
gSprites[data->field_01].pos1.x--;
gSprites[data->field_06].pos1.x--;
}
else
{
data->field_00 = 0;
}
break;
case 2:
if (gUnknown_203AB40->unk_1D & 1)
{
if (gSprites[data->field_01].pos1.y != 0x50)
{
gSprites[data->field_01].pos1.y--;
gSprites[data->field_06].pos1.y--;
}
else
{
data->field_00 = 0;
}
}
break;
case 3:
if (gUnknown_203AB40->unk_00 == 15)
{
gSprites[data->field_01].pos1.x--;
gSprites[data->field_06].pos1.x--;
}
break;
}
}
void sub_80F48D0(void)
{
if (gUnknown_203AB40->unk_02 != 0xFF)
{
struct CreditsTaskData * data = (void *)gTasks[gUnknown_203AB40->unk_02].data;
FreeSpriteTilesByTag(data->field_02);
DestroySprite(&gSprites[data->field_01]);
FreeSpriteTilesByTag(data->field_08);
DestroySprite(&gSprites[data->field_06]);
DestroyTask(gUnknown_203AB40->unk_02);
gUnknown_203AB40->unk_02 = 0xFF;
}
}
void sub_80F4930(u8 a0)
{
u8 taskId;
struct CreditsTaskData * data;
s32 r4, r9;
struct SpriteTemplate sp00;
struct CompressedSpriteSheet sp18;
if (gUnknown_203AB40->unk_02 == 0xFF)
{
taskId = CreateTask(sub_80F47F8, 0);
data = (void *)gTasks[taskId].data;
gUnknown_203AB40->unk_02 = taskId;
switch (gUnknown_841431C[a0][2])
{
default:
case 0:
r4 = 0xd0;
r9 = 0x50;
break;
case 1:
r4 = 0x110;
r9 = 0x50;
break;
case 2:
r4 = 0xd0;
r9 = 0xa0;
break;
}
data->field_00 = gUnknown_841431C[a0][2];
data->field_02 = 0x2000;
data->field_04 = 0xFFFF;
switch (gUnknown_841431C[a0][0])
{
case 0:
// Player
if (gSaveBlock2Ptr->playerGender == MALE)
{
sp18.data = gUnknown_8410E30;
sp18.size = 0x3000;
sp18.tag = data->field_02;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_8410E10, 0x1F0, 0x20);
}
else
{
sp18.data = gUnknown_8411C18;
sp18.size = 0x3000;
sp18.tag = data->field_02;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_8411BF8, 0x1F0, 0x20);
}
break;
case 1:
// Rival
sp18.data = gUnknown_84129C0;
sp18.size = 0x3000;
sp18.tag = data->field_02;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_84129A0, 0x1F0, 0x20);
break;
}
sp00 = gUnknown_8414364;
sp00.tileTag = data->field_02;
data->field_01 = CreateSprite(&sp00, r4, r9, 0);
gSprites[data->field_01].oam.paletteNum = 0xF;
gSprites[data->field_01].subpriority = 0;
data->field_08 = 0x2001;
data->field_0A = 0xFFFF;
switch (gUnknown_841431C[a0][1])
{
case 0:
sp18.data = gUnknown_8413338;
sp18.size = 0x3000;
sp18.tag = data->field_08;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_8413318, 0x1E0, 0x20);
sp00 = gUnknown_84143B8;
break;
case 1:
sp18.data = gUnknown_8413338;
sp18.size = 0x3000;
sp18.tag = data->field_08;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_8413318, 0x1E0, 0x20);
sp00 = gUnknown_84143D0;
break;
case 2:
sp18.data = gUnknown_8413874;
sp18.size = 0x3000;
sp18.tag = data->field_08;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_8413854, 0x1E0, 0x20);
sp00 = gUnknown_84143B8;
break;
case 3:
sp18.data = gUnknown_8413DB8;
sp18.size = 0x3000;
sp18.tag = data->field_08;
LoadCompressedSpriteSheet(&sp18);
LoadPalette(gUnknown_8413D98, 0x1E0, 0x20);
sp00 = gUnknown_84143B8;
break;
}
sp00.tileTag = data->field_08;
data->field_06 = CreateSprite(&sp00, r4, r9 + 0x26, 0);
gSprites[data->field_06].oam.paletteNum = 0xE;
gSprites[data->field_06].subpriority = 1;
}
}