mirror of
https://github.com/pret/pokediamond.git
synced 2026-10-02 05:16:49 -05:00
1
Makefile
1
Makefile
@@ -194,6 +194,7 @@ TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%)
|
||||
TOOLS = $(foreach tool,$(TOOLBASE),$(TOOLS_DIR)/$(tool)/$(tool)$(EXE))
|
||||
|
||||
export LM_LICENSE_FILE := $(TOOLS_DIR)/mwccarm/license.dat
|
||||
export MWCIncludes := arm9/lib/include
|
||||
|
||||
######################### Targets ###########################
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -17,28 +17,39 @@ cAdpcmIndexTable4: ; 0x020FF5C4
|
||||
|
||||
.global cAdpcmStepSizeTable
|
||||
cAdpcmStepSizeTable: ; 0x020FF5D4
|
||||
.byte 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x0D, 0x00, 0x0E, 0x00
|
||||
.byte 0x10, 0x00, 0x11, 0x00, 0x13, 0x00, 0x15, 0x00, 0x17, 0x00, 0x19, 0x00, 0x1C, 0x00, 0x1F, 0x00
|
||||
.byte 0x22, 0x00, 0x25, 0x00, 0x29, 0x00, 0x2D, 0x00, 0x32, 0x00, 0x37, 0x00, 0x3C, 0x00, 0x42, 0x00
|
||||
.byte 0x49, 0x00, 0x50, 0x00, 0x58, 0x00, 0x61, 0x00, 0x6B, 0x00, 0x76, 0x00, 0x82, 0x00, 0x8F, 0x00
|
||||
.byte 0x9D, 0x00, 0xAD, 0x00, 0xBE, 0x00, 0xD1, 0x00, 0xE6, 0x00, 0xFD, 0x00, 0x17, 0x01, 0x33, 0x01
|
||||
.byte 0x51, 0x01, 0x73, 0x01, 0x98, 0x01, 0xC1, 0x01, 0xEE, 0x01, 0x20, 0x02, 0x56, 0x02, 0x92, 0x02
|
||||
.byte 0xD4, 0x02, 0x1C, 0x03, 0x6C, 0x03, 0xC3, 0x03, 0x24, 0x04, 0x8E, 0x04, 0x02, 0x05, 0x83, 0x05
|
||||
.byte 0x10, 0x06, 0xAB, 0x06, 0x56, 0x07, 0x12, 0x08, 0xE0, 0x08, 0xC3, 0x09, 0xBD, 0x0A, 0xD0, 0x0B
|
||||
.byte 0xFF, 0x0C, 0x4C, 0x0E, 0xBA, 0x0F, 0x4C, 0x11, 0x07, 0x13, 0xEE, 0x14, 0x06, 0x17, 0x54, 0x19
|
||||
.byte 0xDC, 0x1B, 0xA5, 0x1E, 0xB6, 0x21, 0x15, 0x25, 0xCA, 0x28, 0xDF, 0x2C, 0x5B, 0x31, 0x4B, 0x36
|
||||
.byte 0xB9, 0x3B, 0xB2, 0x41, 0x44, 0x48, 0x7E, 0x4F, 0x71, 0x57, 0x2F, 0x60, 0xCE, 0x69, 0x62, 0x74
|
||||
.byte 0xFF, 0x7F, 0x00, 0x00
|
||||
.short 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E
|
||||
.short 0x0010, 0x0011, 0x0013, 0x0015, 0x0017, 0x0019, 0x001C, 0x001F
|
||||
.short 0x0022, 0x0025, 0x0029, 0x002D, 0x0032, 0x0037, 0x003C, 0x0042
|
||||
.short 0x0049, 0x0050, 0x0058, 0x0061, 0x006B, 0x0076, 0x0082, 0x008F
|
||||
.short 0x009D, 0x00AD, 0x00BE, 0x00D1, 0x00E6, 0x00FD, 0x0117, 0x0133
|
||||
.short 0x0151, 0x0173, 0x0198, 0x01C1, 0x01EE, 0x0220, 0x0256, 0x0292
|
||||
.short 0x02D4, 0x031C, 0x036C, 0x03C3, 0x0424, 0x048E, 0x0502, 0x0583
|
||||
.short 0x0610, 0x06AB, 0x0756, 0x0812, 0x08E0, 0x09C3, 0x0ABD, 0x0BD0
|
||||
.short 0x0CFF, 0x0E4C, 0x0FBA, 0x114C, 0x1307, 0x14EE, 0x1706, 0x1954
|
||||
.short 0x1BDC, 0x1EA5, 0x21B6, 0x2515, 0x28CA, 0x2CDF, 0x315B, 0x364B
|
||||
.short 0x3BB9, 0x41B2, 0x4844, 0x4F7E, 0x5771, 0x602F, 0x69CE, 0x7462
|
||||
.short 0x7FFF, 0x0000
|
||||
|
||||
.global sCodecInfo
|
||||
sCodecInfo: ; 0x020FF688
|
||||
.byte 0x08, 0x00, 0x08, 0x00, 0x02, 0x04, 0x03, 0x04, 0x04, 0x04, 0x00, 0x00
|
||||
.byte 0x08, 0x00
|
||||
.byte 0x08, 0x00
|
||||
.byte 0x02, 0x04
|
||||
.byte 0x03, 0x04
|
||||
.byte 0x04, 0x04
|
||||
|
||||
.balign 4, 0
|
||||
.global UNK_020FF694
|
||||
UNK_020FF694: ; 0x020FF694
|
||||
.byte 0x01, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02
|
||||
.byte 0x02, 0x02, 0x02, 0x02, 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00
|
||||
.byte 0x01, 0x01, 0x00
|
||||
.byte 0x01, 0x01, 0x01
|
||||
.byte 0x01, 0x01, 0x02
|
||||
.byte 0x01, 0x02, 0x02
|
||||
.byte 0x02, 0x02, 0x02
|
||||
.byte 0x02, 0x02, 0x03
|
||||
|
||||
.balign 4, 0
|
||||
.global UNK_020FF6AC
|
||||
UNK_020FF6AC: ; 0x020FF6AC
|
||||
.byte 0x01, 0x08, 0x04, 0x0A, 0x00, 0x00, 0x00, 0x00
|
||||
@@ -49,58 +60,72 @@ UNK_020FF6B4: ; 0x020FF6B4
|
||||
|
||||
.global UNK_020FF6BC
|
||||
UNK_020FF6BC: ; 0x020FF6BC
|
||||
.byte 0x04, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF
|
||||
.byte 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFE, 0x05, 0x05, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0x05, 0xFE
|
||||
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0xFF, 0xFF
|
||||
.byte 0x00, 0xFF, 0x00, 0x00
|
||||
.byte 0x04, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00
|
||||
.byte 0xFE, 0x05, 0x05, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0x05, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF
|
||||
|
||||
.balign 4, 0
|
||||
.global UNK_020FF700
|
||||
UNK_020FF700: ; 0x020FF700
|
||||
.byte 0xFE, 0xFE, 0xFE, 0x03, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFF
|
||||
.byte 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFE, 0xFE, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFF, 0xFE, 0x00, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD
|
||||
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD, 0xFF, 0x00, 0x00, 0xFF, 0xFF
|
||||
.byte 0x00, 0xFF, 0x00, 0x00
|
||||
.byte 0xFE, 0xFE, 0xFE, 0x03, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFD, 0xFF, 0x02, 0x00, 0x00, 0x00, 0xFF, 0x00
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0x00, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFD, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF
|
||||
|
||||
.balign 4, 0
|
||||
.global UNK_020FF744
|
||||
UNK_020FF744: ; 0x020FF744
|
||||
.byte 0x01, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0x05, 0xFE, 0xFE
|
||||
.byte 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x05, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0x02, 0x00, 0x00, 0x00, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE
|
||||
.byte 0x00, 0xFE, 0x00, 0x00
|
||||
.byte 0x01, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0x05, 0xFE, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0x05, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x02, 0x00, 0x00, 0x00, 0xFE, 0x00
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0xFE
|
||||
|
||||
.balign 4, 0
|
||||
.global UNK_020FF788
|
||||
UNK_020FF788: ; 0x020FF788
|
||||
.byte 0xFE, 0xFE, 0xFE, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0x05, 0x05, 0xFE, 0xFF
|
||||
.byte 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0x05, 0xFE, 0xFE, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0xFE, 0xFE
|
||||
.byte 0x00, 0xFE, 0x00, 0x00
|
||||
.byte 0xFE, 0xFE, 0xFE, 0x01, 0xFF, 0xFE, 0x00, 0x00, 0x00, 0xFE, 0xFE
|
||||
.byte 0xFE, 0x05, 0x05, 0xFE, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0x05, 0xFE, 0xFE, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0xFE, 0x00, 0xFE, 0xFE, 0xFE, 0xFE
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x03, 0x00, 0x00, 0x00, 0xFE, 0x00
|
||||
.byte 0xFE, 0xFE, 0xFE, 0xFE, 0xFF, 0x00, 0x00, 0xFE, 0xFE, 0x00, 0xFE
|
||||
|
||||
.section .data
|
||||
|
||||
.global UNK_0210646C
|
||||
UNK_0210646C: ; 0x0210646C
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.word 1
|
||||
|
||||
.global UNK_02106470
|
||||
UNK_02106470: ; 0x02106470
|
||||
.byte 0x3F, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x01, 0x00, 0x00
|
||||
.byte 0xFF, 0x03, 0x00, 0x00, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x0F, 0x00, 0x00, 0xFF, 0x1F, 0x00, 0x00
|
||||
.word 0x0000003F
|
||||
.word 0x0000007F
|
||||
.word 0x000000FF
|
||||
.word 0x000001FF
|
||||
.word 0x000003FF
|
||||
.word 0x000007FF
|
||||
.word 0x00000FFF
|
||||
.word 0x00001FFF
|
||||
|
||||
.global UNK_02106490
|
||||
UNK_02106490: ; 0x02106490
|
||||
.byte 0xF7, 0xB5, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
; u64
|
||||
.word 15709687, 0
|
||||
|
||||
.global UNK_02106498
|
||||
UNK_02106498: ; 0x02106498
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00
|
||||
.word 0x00000000, 0x00000000, 0x0000000F, 0x000003FC
|
||||
|
||||
.global UNK_021064A8
|
||||
UNK_021064A8: ; 0x021064A8
|
||||
.byte 0xFB, 0xE9, 0x3D, 0x40, 0xBC, 0xC7, 0xD1, 0x2C, 0x2A, 0xD0, 0x7C, 0x03, 0xF0, 0x08, 0x93, 0xF5
|
||||
.short 0xE9FB, 0x403D, 0xC7BC, 0x2CD1, 0xD02A, 0x037C, 0x08F0, 0xF593
|
||||
|
||||
.bss
|
||||
|
||||
|
||||
@@ -2,61 +2,6 @@
|
||||
.include "global.inc"
|
||||
.extern OSi_ThreadInfo
|
||||
|
||||
.extern UNK_02106A58
|
||||
.extern UNK_02106AA4
|
||||
.extern UNK_02106AF0
|
||||
.extern UNK_02106B3C
|
||||
.extern UNK_02106B74
|
||||
.extern UNK_02106B78
|
||||
.extern UNK_02106B7C
|
||||
.extern UNK_02106C98
|
||||
.extern UNK_02106DA0
|
||||
.extern UNK_02106DA8
|
||||
.extern UNK_02106DB0
|
||||
.extern UNK_02106DB8
|
||||
.extern UNK_02106DBC
|
||||
.extern UNK_02106DC0
|
||||
.extern UNK_02106DC8
|
||||
.extern UNK_02106DD0
|
||||
.extern UNK_02106DD4
|
||||
.extern UNK_02106DD8
|
||||
.extern UNK_02106DDC
|
||||
.extern UNK_02106DE0
|
||||
.extern UNK_02106DE4
|
||||
.extern UNK_02106DF0
|
||||
.extern UNK_02106DFC
|
||||
.extern UNK_02106E08
|
||||
.extern UNK_02106E10
|
||||
.extern UNK_02106E18
|
||||
.extern UNK_02106E24
|
||||
.extern UNK_02106E30
|
||||
.extern UNK_02106E38
|
||||
.extern UNK_02106E40
|
||||
.extern UNK_02106E44
|
||||
.extern UNK_02106E48
|
||||
.extern UNK_02106E88
|
||||
.extern UNK_02106EB8
|
||||
.extern UNK_02106EE0
|
||||
.extern UNK_02106EF8
|
||||
.extern UNK_02106F08
|
||||
.extern UNK_02106F10
|
||||
.extern UNK_02106F18
|
||||
.extern UNK_02106F20
|
||||
.extern UNK_02106F28
|
||||
.extern UNK_02106F2C
|
||||
.extern UNK_02106F30
|
||||
.extern UNK_02106F34
|
||||
.extern UNK_02106F38
|
||||
.extern UNK_02106F3C
|
||||
.extern UNK_02106F40
|
||||
.extern UNK_02106F44
|
||||
.extern UNK_02106F48
|
||||
.extern UNK_02106F4C
|
||||
.extern UNK_02106F50
|
||||
.extern UNK_02106F54
|
||||
.extern UNK_02106F58
|
||||
.extern UNK_02106F5C
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global UNK_0210420C
|
||||
@@ -229,15 +174,15 @@ UNK_02106B3C: ; 0x02106B3C
|
||||
.balign 4, 0
|
||||
.global UNK_02106B74
|
||||
UNK_02106B74: ; 0x02106B74
|
||||
.byte 0x00, 0x00, 0x80, 0x7F
|
||||
.word 0x7F800000 ; inf
|
||||
|
||||
.global UNK_02106B78
|
||||
UNK_02106B78: ; 0x02106B78
|
||||
.byte 0xFF, 0xFF, 0xFF, 0x7F
|
||||
.word 0x7FFFFFFF ; nan
|
||||
|
||||
.global UNK_02106B7C
|
||||
UNK_02106B7C: ; 0x02106B7C
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x7F
|
||||
.word 0x00000000, 0x7FF00000 ; 1.06047983e-314
|
||||
|
||||
.global UNK_02106B84
|
||||
UNK_02106B84: ; 0x02106B84
|
||||
|
||||
@@ -618,6 +618,10 @@
|
||||
.extern FUN_0200BD20
|
||||
.extern FUN_0200BE38
|
||||
.extern FUN_0200BF60
|
||||
.extern WCM_GetLinkLevel
|
||||
.extern STD_CompareNString
|
||||
.extern STD_CompareString
|
||||
.extern STD_GetStringLength
|
||||
.extern FUN_0200C00C
|
||||
.extern FUN_0200C06C
|
||||
.extern FUN_0200C0DC
|
||||
|
||||
@@ -33,7 +33,7 @@ typedef struct FSDirPos
|
||||
u16 index;
|
||||
u32 pos;
|
||||
}
|
||||
FSDirPos;
|
||||
FSDirPos; // size = 0xC
|
||||
|
||||
typedef struct FSFileID
|
||||
{
|
||||
@@ -138,41 +138,41 @@ FSWriteFileInfo;
|
||||
|
||||
typedef struct FSFile
|
||||
{
|
||||
FSFileLink link;
|
||||
struct FSArchive *arc;
|
||||
u32 stat;
|
||||
FSCommandType command;
|
||||
FSResult error;
|
||||
OSThreadQueue queue[1];
|
||||
FSFileLink link; // 0x00
|
||||
struct FSArchive *arc; // 0x08
|
||||
u32 stat; // 0xC
|
||||
FSCommandType command; // 0x10
|
||||
FSResult error; // 0x14
|
||||
OSThreadQueue queue[1]; // 0x18
|
||||
union {
|
||||
struct
|
||||
{
|
||||
u32 own_id;
|
||||
u32 top;
|
||||
u32 bottom;
|
||||
u32 pos;
|
||||
u32 own_id; // 0x20
|
||||
u32 top; // 0x24
|
||||
u32 bottom; // 0x28
|
||||
u32 pos; // 0x2C
|
||||
} file;
|
||||
struct
|
||||
{
|
||||
FSDirPos pos;
|
||||
u32 parent;
|
||||
FSDirPos pos; // 0x20
|
||||
u32 parent; // 0x2C
|
||||
} dir;
|
||||
} prop;
|
||||
} prop; // 0x20
|
||||
|
||||
union {
|
||||
FSReadFileInfo readfile;
|
||||
FSWriteFileInfo writefile;
|
||||
FSReadFileInfo readfile; // 0x30
|
||||
FSWriteFileInfo writefile; // 0x30
|
||||
|
||||
FSSeekDirInfo seekdir;
|
||||
FSReadDirInfo readdir;
|
||||
FSFindPathInfo findpath;
|
||||
FSGetPathInfo getpath;
|
||||
FSOpenFileFastInfo openfilefast;
|
||||
FSOpenFileDirectInfo openfiledirect;
|
||||
FSCloseFileInfo closefile;
|
||||
} arg;
|
||||
FSSeekDirInfo seekdir; // 0x30
|
||||
FSReadDirInfo readdir; // 0x30
|
||||
FSFindPathInfo findpath; // 0x30
|
||||
FSGetPathInfo getpath; // 0x30
|
||||
FSOpenFileFastInfo openfilefast; // 0x30
|
||||
FSOpenFileDirectInfo openfiledirect; // 0x30
|
||||
FSCloseFileInfo closefile; // 0x30
|
||||
} arg; // 0x30
|
||||
}
|
||||
FSFile;
|
||||
FSFile; // size = 0x50
|
||||
|
||||
void FS_Init(u32 default_dma_no);
|
||||
BOOL FS_IsAvailable(void);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -22372,13 +22372,13 @@ MOD06_02244758: ; 0x02244758
|
||||
ldr r1, _02244768 ; =0x0000083E
|
||||
add r2, r0, #0
|
||||
add r1, r2, r1
|
||||
ldr r3, _0224476C ; =0x020CE3E0
|
||||
ldr r3, _0224476C ; =MI_CpuCopy8
|
||||
add r0, #0x3e
|
||||
mov r2, #0x1c
|
||||
bx r3
|
||||
nop
|
||||
_02244768: .word 0x0000083E
|
||||
_0224476C: .word 0x020CE3E0
|
||||
_0224476C: .word MI_CpuCopy8
|
||||
|
||||
thumb_func_start MOD06_02244770
|
||||
MOD06_02244770: ; 0x02244770
|
||||
|
||||
405
arm9/src/filesystem.c
Normal file
405
arm9/src/filesystem.c
Normal file
@@ -0,0 +1,405 @@
|
||||
#include "global.h"
|
||||
#include "FS_file.h"
|
||||
#include "heap.h"
|
||||
#include "filesystem.h"
|
||||
|
||||
static char * sNarcFileList[] = {
|
||||
"battle/skill/waza_seq.narc",
|
||||
"battle/skill/sub_seq.narc",
|
||||
"poketool/personal/personal.narc",
|
||||
"poketool/personal/growtbl.narc",
|
||||
"poketool/pokegra/pokegra.narc",
|
||||
"poketool/pokegra/height.narc",
|
||||
"poketool/trgra/trbgra.narc",
|
||||
"battle/graphic/batt_bg.narc",
|
||||
"wazaeffect/we.arc",
|
||||
"poketool/waza/waza_tbl.narc",
|
||||
"fielddata/script/scr_seq_release.narc",
|
||||
"msgdata/scenario/scr_msg.narc",
|
||||
"graphic/poketch.narc",
|
||||
"graphic/bag_gra.narc",
|
||||
"graphic/font.narc",
|
||||
"itemtool/itemdata/item_data.narc",
|
||||
"itemtool/itemdata/item_icon.narc",
|
||||
"graphic/tmap_gra.narc",
|
||||
"graphic/box.narc",
|
||||
"poketool/icongra/poke_icon.narc",
|
||||
"graphic/plist_gra.narc",
|
||||
"wazaeffect/effectclact/wechar.narc",
|
||||
"wazaeffect/effectclact/wepltt.narc",
|
||||
"wazaeffect/effectclact/wecell.narc",
|
||||
"wazaeffect/effectclact/wecellanm.narc",
|
||||
"graphic/imageclip.narc",
|
||||
"msgdata/msg.narc",
|
||||
"battle/graphic/batt_obj.narc",
|
||||
"data/underg_radar.narc",
|
||||
"wazaeffect/effectdata/waza_particle.narc",
|
||||
"battle/skill/be_seq.narc",
|
||||
"data/namein.narc",
|
||||
"fielddata/eventdata/zone_event_release.narc",
|
||||
"poketool/personal/wotbl.narc",
|
||||
"poketool/personal/evo.narc",
|
||||
"graphic/fontoam.narc",
|
||||
"graphic/field_board.narc",
|
||||
"fielddata/encountdata/d_enc_data.narc",
|
||||
"graphic/winframe.narc",
|
||||
"graphic/pst_gra.narc",
|
||||
"fielddata/build_model/build_model.narc",
|
||||
"fielddata/mapmatrix/map_matrix.narc",
|
||||
"fielddata/areadata/area_data.narc",
|
||||
"fielddata/areadata/area_build_model/area_build.narc",
|
||||
"fielddata/areadata/area_map_tex/map_tex_set.narc",
|
||||
"contest/graphic/contest_bg.narc",
|
||||
"contest/graphic/contest_obj.narc",
|
||||
"data/ugeffect_obj_graphic.narc",
|
||||
"demo/title/titledemo.narc",
|
||||
"fielddata/areadata/area_move_model/move_model_list.narc",
|
||||
"data/ug_trap.narc",
|
||||
"graphic/trainer_case.narc",
|
||||
"data/ug_fossil.narc",
|
||||
"graphic/ntag_gra.narc",
|
||||
"data/tradelist.narc",
|
||||
"data/ug_parts.narc",
|
||||
"graphic/opening.narc",
|
||||
"poketool/trainer/trdata.narc",
|
||||
"poketool/trainer/trpoke.narc",
|
||||
"poketool/trmsg/trtbl.narc",
|
||||
"poketool/trgra/trfgra.narc",
|
||||
"particledata/particledata.narc",
|
||||
"graphic/shop_gra.narc",
|
||||
"wazaeffect/we_sub.narc",
|
||||
"data/ug_anim.narc",
|
||||
"data/weather_sys.narc",
|
||||
"graphic/menu_gra.narc",
|
||||
"fielddata/land_data/land_data_release.narc",
|
||||
"itemtool/itemdata/nuts_data.narc",
|
||||
"resource/eng/zukan/zukan.narc",
|
||||
"poketool/pokefoot/pokefoot.narc",
|
||||
"fielddata/areadata/area_build_model/areabm_texset.narc",
|
||||
"battle/graphic/b_plist_gra.narc",
|
||||
"graphic/config_gra.narc",
|
||||
"graphic/unionroom.narc",
|
||||
"application/zukanlist/zkn_data/zukan_data.narc",
|
||||
"graphic/pmsi.narc",
|
||||
"battle/graphic/b_bag_gra.narc",
|
||||
"graphic/oekaki.narc",
|
||||
"graphic/mail_gra.narc",
|
||||
"graphic/f_note_gra.narc",
|
||||
"data/mmodel/mmodel.narc",
|
||||
"graphic/ev_pokeselect.narc",
|
||||
"graphic/poru_gra.narc",
|
||||
"graphic/touch_subwindow.narc",
|
||||
"graphic/fld_comact.narc",
|
||||
"graphic/record.narc",
|
||||
"graphic/porudemo.narc",
|
||||
"graphic/poruact.narc",
|
||||
"data/wifinote.narc",
|
||||
"contest/data/contest_data.narc",
|
||||
"application/custom_ball/data/cb_data.narc",
|
||||
"data/wifip2pmatch.narc",
|
||||
"graphic/demo_trade.narc",
|
||||
"pokeanime/poke_anm.narc",
|
||||
"graphic/mysign.narc",
|
||||
"fielddata/mm_list/move_model_list.narc",
|
||||
"data/field_cutin.narc",
|
||||
"data/demo_climax.narc",
|
||||
"wazaeffect/effectdata/ball_particle.narc",
|
||||
"wazaeffect/pt_debug/debug_particle.narc",
|
||||
"graphic/dendou_pc.narc",
|
||||
"application/wifi_earth/wifi_earth_place.narc",
|
||||
"battle/tr_ai/tr_ai_seq.narc",
|
||||
"graphic/worldtrade.narc",
|
||||
"graphic/dendou_demo.narc",
|
||||
"arc/encdata_ex.narc",
|
||||
"data/mmodel/fldeff.narc",
|
||||
"battle/graphic/vs_demo_gra.narc",
|
||||
"poketool/pokezukan.narc",
|
||||
"arc/bm_anime.narc",
|
||||
"arc/bm_anime_list.narc",
|
||||
"graphic/field_encounteffect.narc",
|
||||
"graphic/waza_oshie_gra.narc",
|
||||
"poketool/pokeanm/pokeanm.narc",
|
||||
"fielddata/pokemon_trade/fld_trade.narc",
|
||||
"graphic/mystery.narc",
|
||||
"poketool/pokegra/otherpoke.narc",
|
||||
"demo/egg/data/egg_data.narc",
|
||||
"demo/egg/data/particle/egg_demo_particle.narc",
|
||||
"arc/ship_demo.narc",
|
||||
"poketool/pokegra/height_o.narc",
|
||||
"graphic/nutmixer.narc",
|
||||
"graphic/btower.narc",
|
||||
"demo/shinka/data/particle/shinka_demo_particle.narc",
|
||||
"demo/intro/intro.narc",
|
||||
"arc/tv.narc",
|
||||
"graphic/ending.narc",
|
||||
"demo/title/op_demo.narc",
|
||||
"application/wifi_earth/wifi_earth.narc",
|
||||
"graphic/ranking.narc",
|
||||
"arc/ppark.narc",
|
||||
"demo/syoujyou/syoujyou.narc",
|
||||
"data/slot.narc",
|
||||
"battle/b_tower/btdtr.narc",
|
||||
"battle/b_tower/btdpm.narc",
|
||||
"demo/intro/intro_tv.narc",
|
||||
"poketool/trmsg/trtblofs.narc",
|
||||
"poketool/pokegra/poke_yofs.narc",
|
||||
"application/zukanlist/zkn_data/zukan_enc_diamond.narc",
|
||||
"application/zukanlist/zkn_data/zukan_enc_pearl.narc",
|
||||
"graphic/hiden_effect.narc",
|
||||
"poketool/pokegra/poke_shadow.narc",
|
||||
"fielddata/encountdata/p_enc_data.narc",
|
||||
"poketool/pokegra/poke_shadow_ofx.narc",
|
||||
"poketool/shinzukan.narc",
|
||||
};
|
||||
|
||||
THUMB_FUNC void ReadNARCFile(void * dest, const char * path, s32 file_idx, u32 offset, u32 size)
|
||||
{
|
||||
FSFile file;
|
||||
register u32 chunk_starts[3];
|
||||
u32 btnf_size = 0;
|
||||
u32 chunk_size = 0;
|
||||
u32 file_start = 0;
|
||||
u32 file_end = 0;
|
||||
u16 num_files = 0;
|
||||
|
||||
FS_InitFile(&file);
|
||||
FS_OpenFile(&file, path);
|
||||
|
||||
FS_SeekFile(&file, 12, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 2);
|
||||
chunk_starts[0] = chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[0] + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 4);
|
||||
FS_ReadFile(&file, &num_files, 2);
|
||||
if (num_files <= file_idx)
|
||||
ErrorHandling();
|
||||
chunk_starts[1] = chunk_starts[0] + chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[1] + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 4);
|
||||
btnf_size = chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[0] + 12 + 8 * file_idx, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &file_start, 4);
|
||||
FS_ReadFile(&file, &file_end, 4);
|
||||
chunk_starts[2] = chunk_starts[1] + btnf_size;
|
||||
FS_SeekFile(&file, chunk_starts[2] + 8 + file_start + offset, FS_SEEK_SET);
|
||||
if (size == 0)
|
||||
chunk_size = file_end - file_start;
|
||||
else
|
||||
chunk_size = size;
|
||||
if (chunk_size == 0)
|
||||
ErrorHandling();
|
||||
FS_ReadFile(&file, dest, chunk_size);
|
||||
FS_CloseFile(&file);
|
||||
}
|
||||
|
||||
THUMB_FUNC void * LoadFileIntoMemory(const char * path, s32 file_idx, u32 heap_id, u32 offset, u32 size, BOOL r4)
|
||||
{
|
||||
FSFile file;
|
||||
register u32 chunk_starts[3];
|
||||
u32 btnf_size = 0;
|
||||
u32 chunk_size = 0;
|
||||
u32 file_start = 0;
|
||||
u32 file_end = 0;
|
||||
u16 num_files = 0;
|
||||
void * dest = NULL;
|
||||
|
||||
FS_InitFile(&file);
|
||||
FS_OpenFile(&file, path);
|
||||
|
||||
FS_SeekFile(&file, 12, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 2);
|
||||
chunk_starts[0] = chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[0] + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 4);
|
||||
FS_ReadFile(&file, &num_files, 2);
|
||||
if (num_files <= file_idx)
|
||||
ErrorHandling();
|
||||
chunk_starts[1] = chunk_starts[0] + chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[1] + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 4);
|
||||
btnf_size = chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[0] + 12 + 8 * file_idx, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &file_start, 4);
|
||||
FS_ReadFile(&file, &file_end, 4);
|
||||
chunk_starts[2] = chunk_starts[1] + btnf_size;
|
||||
FS_SeekFile(&file, chunk_starts[2] + 8 + file_start + offset, FS_SEEK_SET);
|
||||
if (size == 0)
|
||||
chunk_size = file_end - file_start;
|
||||
else
|
||||
chunk_size = size;
|
||||
if (chunk_size == 0)
|
||||
ErrorHandling();
|
||||
switch (r4)
|
||||
{
|
||||
case 0:
|
||||
dest = FUN_02016998(heap_id, chunk_size);
|
||||
break;
|
||||
default:
|
||||
dest = FUN_020169D8(heap_id, chunk_size);
|
||||
break;
|
||||
}
|
||||
FS_ReadFile(&file, dest, chunk_size);
|
||||
FS_CloseFile(&file);
|
||||
return dest;
|
||||
}
|
||||
|
||||
THUMB_FUNC void LoadFromNARC(void * dest, NarcId narc_id, s32 file_id)
|
||||
{
|
||||
ReadNARCFile(dest, sNarcFileList[narc_id], file_id, 0, 0);
|
||||
}
|
||||
|
||||
THUMB_FUNC void * LoadFromNarc_2(NarcId narc_id, s32 file_id, u32 heap_id)
|
||||
{
|
||||
return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, 0, 0, FALSE);
|
||||
}
|
||||
|
||||
THUMB_FUNC void * FUN_02006528(NarcId narc_id, s32 file_id, u32 heap_id)
|
||||
{
|
||||
return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, 0, 0, TRUE);
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02006548(void * dest, NarcId narc_id, s32 file_id, u32 offset, u32 size)
|
||||
{
|
||||
ReadNARCFile(dest, sNarcFileList[narc_id], file_id, offset, size);
|
||||
}
|
||||
|
||||
THUMB_FUNC void * FUN_02006564(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size)
|
||||
{
|
||||
return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, offset, size, FALSE);
|
||||
}
|
||||
|
||||
THUMB_FUNC void * FUN_02006584(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size)
|
||||
{
|
||||
return LoadFileIntoMemory(sNarcFileList[narc_id], file_id, heap_id, offset, size, TRUE);
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 LoadFromNARC_7(NarcId narc_id, s32 file_idx)
|
||||
{
|
||||
FSFile file;
|
||||
register u32 chunk_starts[3];
|
||||
u32 btnf_size = 0;
|
||||
u32 chunk_size = 0;
|
||||
u32 file_start = 0;
|
||||
u32 file_end = 0;
|
||||
u16 num_files = 0;
|
||||
|
||||
FS_InitFile(&file);
|
||||
FS_OpenFile(&file, sNarcFileList[narc_id]);
|
||||
|
||||
FS_SeekFile(&file, 12, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 2);
|
||||
chunk_starts[0] = chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[0] + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 4);
|
||||
FS_ReadFile(&file, &num_files, 2);
|
||||
if (num_files <= file_idx)
|
||||
ErrorHandling();
|
||||
chunk_starts[1] = chunk_starts[0] + chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[1] + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &chunk_size, 4);
|
||||
btnf_size = chunk_size;
|
||||
FS_SeekFile(&file, chunk_starts[0] + 12 + 8 * file_idx, FS_SEEK_SET);
|
||||
FS_ReadFile(&file, &file_start, 4);
|
||||
FS_ReadFile(&file, &file_end, 4);
|
||||
chunk_starts[2] = chunk_starts[1] + btnf_size;
|
||||
FS_SeekFile(&file, chunk_starts[2] + 8 + file_start + 0, FS_SEEK_SET);
|
||||
chunk_size = file_end - file_start;
|
||||
if (chunk_size == 0)
|
||||
ErrorHandling();
|
||||
// Bug: File is never closed
|
||||
return chunk_size;
|
||||
}
|
||||
|
||||
THUMB_FUNC NARC * FUN_02006670(NarcId narc_id, u32 heap_id)
|
||||
{
|
||||
NARC * narc = (NARC *)FUN_02016998(heap_id, sizeof(NARC));
|
||||
u32 btnf_start;
|
||||
u32 chunk_size;
|
||||
if (narc != NULL)
|
||||
{
|
||||
narc->btaf_start = 0;
|
||||
FS_InitFile(&narc->file);
|
||||
FS_OpenFile(&narc->file, sNarcFileList[narc_id]);
|
||||
FS_SeekFile(&narc->file, 12, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &narc->btaf_start, 2);
|
||||
FS_SeekFile(&narc->file, narc->btaf_start + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &chunk_size, 4);
|
||||
FS_ReadFile(&narc->file, &narc->num_files, 2);
|
||||
btnf_start = narc->btaf_start + chunk_size;
|
||||
FS_SeekFile(&narc->file, btnf_start + 4, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &chunk_size, 4);
|
||||
narc->gmif_start = btnf_start + chunk_size;
|
||||
}
|
||||
return narc;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_020066F4(NARC * narc)
|
||||
{
|
||||
FS_CloseFile(&narc->file);
|
||||
FUN_02016A18(narc); // free to heap
|
||||
}
|
||||
|
||||
THUMB_FUNC void * FUN_02006704(NARC * narc, u32 file_id, u32 heap_id)
|
||||
{
|
||||
u32 file_start;
|
||||
u32 file_end;
|
||||
void * dest;
|
||||
if (narc->num_files <= file_id)
|
||||
ErrorHandling();
|
||||
FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &file_start, 4);
|
||||
FS_ReadFile(&narc->file, &file_end, 4);
|
||||
FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start, FS_SEEK_SET);
|
||||
dest = FUN_02016998(heap_id, file_end - file_start);
|
||||
if (dest != NULL)
|
||||
{
|
||||
FS_ReadFile(&narc->file, dest, file_end - file_start);
|
||||
}
|
||||
return dest;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02006774(NARC * narc, u32 file_id, void * dest)
|
||||
{
|
||||
u32 file_start;
|
||||
u32 file_end;
|
||||
if (narc->num_files <= file_id)
|
||||
ErrorHandling();
|
||||
FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &file_start, 4);
|
||||
FS_ReadFile(&narc->file, &file_end, 4);
|
||||
FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, dest, file_end - file_start);
|
||||
}
|
||||
|
||||
THUMB_FUNC u32 FUN_020067D0(NARC * narc, u32 file_id)
|
||||
{
|
||||
u32 file_start;
|
||||
u32 file_end;
|
||||
if (narc->num_files <= file_id)
|
||||
ErrorHandling();
|
||||
FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &file_start, 4);
|
||||
FS_ReadFile(&narc->file, &file_end, 4);
|
||||
return file_end - file_start;
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02006814(NARC * narc, u32 file_id, u32 pos, u32 size, void * dest)
|
||||
{
|
||||
u32 file_start;
|
||||
if (narc->num_files <= file_id)
|
||||
ErrorHandling();
|
||||
FS_SeekFile(&narc->file, narc->btaf_start + 12 + 8 * file_id, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, &file_start, 4);
|
||||
FS_SeekFile(&narc->file, narc->gmif_start + 8 + file_start + pos, FS_SEEK_SET);
|
||||
FS_ReadFile(&narc->file, dest, size);
|
||||
}
|
||||
|
||||
THUMB_FUNC void FUN_02006864(NARC * narc, u32 size, void * dest)
|
||||
{
|
||||
FS_ReadFile(&narc->file, dest, size);
|
||||
}
|
||||
|
||||
THUMB_FUNC u16 FUN_02006874(NARC * narc)
|
||||
{
|
||||
return narc->num_files;
|
||||
}
|
||||
180
include/filesystem.h
Normal file
180
include/filesystem.h
Normal file
@@ -0,0 +1,180 @@
|
||||
#ifndef POKEDIAMOND_FILESYSTEM_H
|
||||
#define POKEDIAMOND_FILESYSTEM_H
|
||||
|
||||
typedef struct NARC
|
||||
{
|
||||
FSFile file;
|
||||
u32 btaf_start;
|
||||
u32 gmif_start;
|
||||
u16 num_files;
|
||||
} NARC;
|
||||
|
||||
typedef enum NarcId
|
||||
{
|
||||
NARC_BATTLE_SKILL_WAZA_SEQ = 0,
|
||||
NARC_BATTLE_SKILL_SUB_SEQ,
|
||||
NARC_POKETOOL_PERSONAL_PERSONAL,
|
||||
NARC_POKETOOL_PERSONAL_GROWTBL,
|
||||
NARC_POKETOOL_POKEGRA_POKEGRA,
|
||||
NARC_POKETOOL_POKEGRA_HEIGHT,
|
||||
NARC_POKETOOL_TRGRA_TRBGRA,
|
||||
NARC_BATTLE_GRAPHIC_BATT_BG,
|
||||
NARC_WAZAEFFECT_WE,
|
||||
NARC_POKETOOL_WAZA_WAZA_TBL,
|
||||
NARC_FIELDDATA_SCRIPT_SCR_SEQ_RELEASE,
|
||||
NARC_MSGDATA_SCENARIO_SCR_MSG,
|
||||
NARC_GRAPHIC_POKETCH,
|
||||
NARC_GRAPHIC_BAG_GRA,
|
||||
NARC_GRAPHIC_FONT,
|
||||
NARC_ITEMTOOL_ITEMDATA_ITEM_DATA,
|
||||
NARC_ITEMTOOL_ITEMDATA_ITEM_ICON,
|
||||
NARC_GRAPHIC_TMAP_GRA,
|
||||
NARC_GRAPHIC_BOX,
|
||||
NARC_POKETOOL_ICONGRA_POKE_ICON,
|
||||
NARC_GRAPHIC_PLIST_GRA,
|
||||
NARC_WAZAEFFECT_EFFECTCLACT_WECHAR,
|
||||
NARC_WAZAEFFECT_EFFECTCLACT_WEPLTT,
|
||||
NARC_WAZAEFFECT_EFFECTCLACT_WECELL,
|
||||
NARC_WAZAEFFECT_EFFECTCLACT_WECELLANM,
|
||||
NARC_GRAPHIC_IMAGECLIP,
|
||||
NARC_MSGDATA_MSG,
|
||||
NARC_BATTLE_GRAPHIC_BATT_OBJ,
|
||||
NARC_DATA_UNDERG_RADAR,
|
||||
NARC_WAZAEFFECT_EFFECTDATA_WAZA_PARTICLE,
|
||||
NARC_BATTLE_SKILL_BE_SEQ,
|
||||
NARC_DATA_NAMEIN,
|
||||
NARC_FIELDDATA_EVENTDATA_ZONE_EVENT_RELEASE,
|
||||
NARC_POKETOOL_PERSONAL_WOTBL,
|
||||
NARC_POKETOOL_PERSONAL_EVO,
|
||||
NARC_GRAPHIC_FONTOAM,
|
||||
NARC_GRAPHIC_FIELD_BOARD,
|
||||
NARC_FIELDDATA_ENCOUNTDATA_D_ENC_DATA,
|
||||
NARC_GRAPHIC_WINFRAME,
|
||||
NARC_GRAPHIC_PST_GRA,
|
||||
NARC_FIELDDATA_BUILD_MODEL_BUILD_MODEL,
|
||||
NARC_FIELDDATA_MAPMATRIX_MAP_MATRIX,
|
||||
NARC_FIELDDATA_AREADATA_AREA_DATA,
|
||||
NARC_FIELDDATA_AREADATA_AREA_BUILD_MODEL_AREA_BUILD,
|
||||
NARC_FIELDDATA_AREADATA_AREA_MAP_TEX_MAP_TEX_SET,
|
||||
NARC_CONTEST_GRAPHIC_CONTEST_BG,
|
||||
NARC_CONTEST_GRAPHIC_CONTEST_OBJ,
|
||||
NARC_DATA_UGEFFECT_OBJ_GRAPHIC,
|
||||
NARC_DEMO_TITLE_TITLEDEMO,
|
||||
NARC_FIELDDATA_AREADATA_AREA_MOVE_MODEL_MOVE_MODEL_LIST,
|
||||
NARC_DATA_UG_TRAP,
|
||||
NARC_GRAPHIC_TRAINER_CASE,
|
||||
NARC_DATA_UG_FOSSIL,
|
||||
NARC_GRAPHIC_NTAG_GRA,
|
||||
NARC_DATA_TRADELIST,
|
||||
NARC_DATA_UG_PARTS,
|
||||
NARC_GRAPHIC_OPENING,
|
||||
NARC_POKETOOL_TRAINER_TRDATA,
|
||||
NARC_POKETOOL_TRAINER_TRPOKE,
|
||||
NARC_POKETOOL_TRMSG_TRTBL,
|
||||
NARC_POKETOOL_TRGRA_TRFGRA,
|
||||
NARC_PARTICLEDATA_PARTICLEDATA,
|
||||
NARC_GRAPHIC_SHOP_GRA,
|
||||
NARC_WAZAEFFECT_WE_SUB,
|
||||
NARC_DATA_UG_ANIM,
|
||||
NARC_DATA_WEATHER_SYS,
|
||||
NARC_GRAPHIC_MENU_GRA,
|
||||
NARC_FIELDDATA_LAND_DATA_LAND_DATA_RELEASE,
|
||||
NARC_ITEMTOOL_ITEMDATA_NUTS_DATA,
|
||||
NARC_RESOURCE_ENG_ZUKAN_ZUKAN,
|
||||
NARC_POKETOOL_POKEFOOT_POKEFOOT,
|
||||
NARC_FIELDDATA_AREADATA_AREA_BUILD_MODEL_AREABM_TEXSET,
|
||||
NARC_BATTLE_GRAPHIC_B_PLIST_GRA,
|
||||
NARC_GRAPHIC_CONFIG_GRA,
|
||||
NARC_GRAPHIC_UNIONROOM,
|
||||
NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_DATA,
|
||||
NARC_GRAPHIC_PMSI,
|
||||
NARC_BATTLE_GRAPHIC_B_BAG_GRA,
|
||||
NARC_GRAPHIC_OEKAKI,
|
||||
NARC_GRAPHIC_MAIL_GRA,
|
||||
NARC_GRAPHIC_F_NOTE_GRA,
|
||||
NARC_DATA_MMODEL_MMODEL,
|
||||
NARC_GRAPHIC_EV_POKESELECT,
|
||||
NARC_GRAPHIC_PORU_GRA,
|
||||
NARC_GRAPHIC_TOUCH_SUBWINDOW,
|
||||
NARC_GRAPHIC_FLD_COMACT,
|
||||
NARC_GRAPHIC_RECORD,
|
||||
NARC_GRAPHIC_PORUDEMO,
|
||||
NARC_GRAPHIC_PORUACT,
|
||||
NARC_DATA_WIFINOTE,
|
||||
NARC_CONTEST_DATA_CONTEST_DATA,
|
||||
NARC_APPLICATION_CUSTOM_BALL_DATA_CB_DATA,
|
||||
NARC_DATA_WIFIP2PMATCH,
|
||||
NARC_GRAPHIC_DEMO_TRADE,
|
||||
NARC_POKEANIME_POKE_ANM,
|
||||
NARC_GRAPHIC_MYSIGN,
|
||||
NARC_FIELDDATA_MM_LIST_MOVE_MODEL_LIST,
|
||||
NARC_DATA_FIELD_CUTIN,
|
||||
NARC_DATA_DEMO_CLIMAX,
|
||||
NARC_WAZAEFFECT_EFFECTDATA_BALL_PARTICLE,
|
||||
NARC_WAZAEFFECT_PT_DEBUG_DEBUG_PARTICLE,
|
||||
NARC_GRAPHIC_DENDOU_PC,
|
||||
NARC_APPLICATION_WIFI_EARTH_WIFI_EARTH_PLACE,
|
||||
NARC_BATTLE_TR_AI_TR_AI_SEQ,
|
||||
NARC_GRAPHIC_WORLDTRADE,
|
||||
NARC_GRAPHIC_DENDOU_DEMO,
|
||||
NARC_ARC_ENCDATA_EX,
|
||||
NARC_DATA_MMODEL_FLDEFF,
|
||||
NARC_BATTLE_GRAPHIC_VS_DEMO_GRA,
|
||||
NARC_POKETOOL_POKEZUKAN,
|
||||
NARC_ARC_BM_ANIME,
|
||||
NARC_ARC_BM_ANIME_LIST,
|
||||
NARC_GRAPHIC_FIELD_ENCOUNTEFFECT,
|
||||
NARC_GRAPHIC_WAZA_OSHIE_GRA,
|
||||
NARC_POKETOOL_POKEANM_POKEANM,
|
||||
NARC_FIELDDATA_POKEMON_TRADE_FLD_TRADE,
|
||||
NARC_GRAPHIC_MYSTERY,
|
||||
NARC_POKETOOL_POKEGRA_OTHERPOKE,
|
||||
NARC_DEMO_EGG_DATA_EGG_DATA,
|
||||
NARC_DEMO_EGG_DATA_PARTICLE_EGG_DEMO_PARTICLE,
|
||||
NARC_ARC_SHIP_DEMO,
|
||||
NARC_POKETOOL_POKEGRA_HEIGHT_O,
|
||||
NARC_GRAPHIC_NUTMIXER,
|
||||
NARC_GRAPHIC_BTOWER,
|
||||
NARC_DEMO_SHINKA_DATA_PARTICLE_SHINKA_DEMO_PARTICLE,
|
||||
NARC_DEMO_INTRO_INTRO,
|
||||
NARC_ARC_TV,
|
||||
NARC_GRAPHIC_ENDING,
|
||||
NARC_DEMO_TITLE_OP_DEMO,
|
||||
NARC_APPLICATION_WIFI_EARTH_WIFI_EARTH,
|
||||
NARC_GRAPHIC_RANKING,
|
||||
NARC_ARC_PPARK,
|
||||
NARC_DEMO_SYOUJYOU_SYOUJYOU,
|
||||
NARC_DATA_SLOT,
|
||||
NARC_BATTLE_B_TOWER_BTDTR,
|
||||
NARC_BATTLE_B_TOWER_BTDPM,
|
||||
NARC_DEMO_INTRO_INTRO_TV,
|
||||
NARC_POKETOOL_TRMSG_TRTBLOFS,
|
||||
NARC_POKETOOL_POKEGRA_POKE_YOFS,
|
||||
NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_DIAMOND,
|
||||
NARC_APPLICATION_ZUKANLIST_ZKN_DATA_ZUKAN_ENC_PEARL,
|
||||
NARC_GRAPHIC_HIDEN_EFFECT,
|
||||
NARC_POKETOOL_POKEGRA_POKE_SHADOW,
|
||||
NARC_FIELDDATA_ENCOUNTDATA_P_ENC_DATA,
|
||||
NARC_POKETOOL_POKEGRA_POKE_SHADOW_OFX,
|
||||
NARC_POKETOOL_SHINZUKAN,
|
||||
} NarcId;
|
||||
|
||||
void ReadNARCFile(void * dest, const char * path, s32 file_idx, u32 offset, u32 size);
|
||||
void * LoadFileIntoMemory(const char * path, s32 file_idx, u32 heap_id, u32 offset, u32 size, BOOL r4);
|
||||
void LoadFromNARC(void * dest, NarcId narc_id, s32 file_id);
|
||||
void * LoadFromNarc_2(NarcId narc_id, s32 file_id, u32 heap_id);
|
||||
void * FUN_02006528(NarcId narc_id, s32 file_id, u32 heap_id);
|
||||
void FUN_02006548(void * dest, NarcId narc_id, s32 file_id, u32 offset, u32 size);
|
||||
void * FUN_02006564(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size);
|
||||
void * FUN_02006584(NarcId narc_id, s32 file_id, u32 heap_id, u32 offset, u32 size);
|
||||
u32 LoadFromNARC_7(NarcId narc_id, s32 file_idx);
|
||||
NARC * FUN_02006670(NarcId narc_id, u32 heap_id);
|
||||
void FUN_020066F4(NARC * narc);
|
||||
void * FUN_02006704(NARC * narc, u32 file_id, u32 heap_id);
|
||||
void FUN_02006774(NARC * narc, u32 file_id, void * dest);
|
||||
u32 FUN_020067D0(NARC * narc, u32 file_id);
|
||||
void FUN_02006814(NARC * narc, u32 file_id, u32 pos, u32 size, void * dest);
|
||||
void FUN_02006864(NARC * narc, u32 size, void * dest);
|
||||
u16 FUN_02006874(NARC * narc);
|
||||
|
||||
#endif //POKEDIAMOND_FILESYSTEM_H
|
||||
8
include/heap.h
Normal file
8
include/heap.h
Normal file
@@ -0,0 +1,8 @@
|
||||
#ifndef POKEDIAMOND_HEAP_H
|
||||
#define POKEDIAMOND_HEAP_H
|
||||
|
||||
void * FUN_02016998(u32 heap_id, u32 size);
|
||||
void * FUN_020169D8(u32 heap_id, u32 size);
|
||||
void FUN_02016A18(void * ptr);
|
||||
|
||||
#endif //POKEDIAMOND_HEAP_H
|
||||
Reference in New Issue
Block a user