summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCleverking2003 <30466983+Cleverking2003@users.noreply.github.com>2020-06-09 22:37:08 +0300
committerGitHub <noreply@github.com>2020-06-09 22:37:08 +0300
commitcaba1031233657d89f3c35079e664551a07cd72f (patch)
tree9d4fb9b4cee8f4b3697f9103e28897d7cd225de2
parentc8f98c38d5baf6bf86531188b1a6ff0745d8d8c9 (diff)
parent912f95b5d5125f1d20b80c9909527259c09c1262 (diff)
Merge pull request #152 from PikalaxALT/pikalax_work
Some cleanup; grow2bin is now a general purpose csv2bin converter for integers
-rw-r--r--Makefile21
-rw-r--r--arm9/asm/pokemon.s122
-rw-r--r--arm9/asm/unk_02023C40.s2
-rw-r--r--arm9/asm/unk_020476CC.s2
-rw-r--r--arm9/asm/unk_0206BB5C.s2
-rw-r--r--arm9/asm/unk_02079C70.s4
-rw-r--r--arm9/asm/unk_0207C328.s2
-rw-r--r--arm9/asm/unk_0207EF6C.s2
-rw-r--r--arm9/global.inc20
-rw-r--r--arm9/modules/05/asm/module_05.s10
-rw-r--r--arm9/modules/06/asm/module_06.s18
-rw-r--r--arm9/modules/09/asm/module_09.s4
-rw-r--r--arm9/modules/11/asm/module_11.s52
-rw-r--r--arm9/modules/14/asm/module_14.s8
-rw-r--r--arm9/modules/16/asm/module_16.s18
-rw-r--r--arm9/modules/28/asm/module_28.s2
-rw-r--r--arm9/modules/35/asm/module_35.s2
-rw-r--r--arm9/modules/39/asm/module_39.s2
-rw-r--r--arm9/modules/65/asm/module_65.s2
-rw-r--r--arm9/modules/71/asm/module_71.s2
-rw-r--r--arm9/modules/80/asm/module_80.s6
-rw-r--r--arm9/modules/81/asm/module_81.s2
-rw-r--r--arm9/modules/83/asm/module_83.s10
-rw-r--r--files/FILE_339200_area00light.txt300
-rw-r--r--files/FILE_339C00_area01light.txt302
-rw-r--r--files/FILE_33A400_area02light.txt302
-rw-r--r--files/FILE_3B3600_dt_test_celact.txt4
-rw-r--r--files/FILE_3B3800_dt_test_res_cell.txt6
-rw-r--r--files/FILE_3B3A00_dt_test_res_cellanm.txt6
-rw-r--r--files/FILE_3B3C00_dt_test_res_char.txt6
-rw-r--r--files/FILE_3B3E00_dt_test_res_multi.txt4
-rw-r--r--files/FILE_3B4000_dt_test_res_multianm.txt4
-rw-r--r--files/FILE_3B4200_dt_test_res_pltt.txt6
-rw-r--r--files/FILE_441C00_tmapn_celact.txt16
-rw-r--r--files/FILE_442400_tmapn_res_canm.txt18
-rw-r--r--files/FILE_442600_tmapn_res_cell.txt20
-rw-r--r--files/FILE_442800_tmapn_res_chr.txt18
-rw-r--r--files/FILE_442A00_tmapn_res_pal.txt12
-rw-r--r--files/data/area00light.txt300
-rw-r--r--files/data/area01light.txt302
-rw-r--r--files/data/area02light.txt302
-rw-r--r--files/data/dt_test_celact.txt4
-rw-r--r--files/data/dt_test_res_cell.txt6
-rw-r--r--files/data/dt_test_res_cellanm.txt6
-rw-r--r--files/data/dt_test_res_char.txt6
-rw-r--r--files/data/dt_test_res_multi.txt4
-rw-r--r--files/data/dt_test_res_multianm.txt4
-rw-r--r--files/data/dt_test_res_pltt.txt6
-rw-r--r--files/data/tmapn_celact.txt16
-rw-r--r--files/data/tmapn_res_canm.txt18
-rw-r--r--files/data/tmapn_res_cell.txt20
-rw-r--r--files/data/tmapn_res_chr.txt18
-rw-r--r--files/data/tmapn_res_pal.txt12
-rw-r--r--files/poketool/personal/growtbl/grow2bin.c106
-rw-r--r--files/poketool/personal/growtbl/narc_0000.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0001.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0002.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0003.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0004.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0005.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0006.txt202
-rw-r--r--files/poketool/personal/growtbl/narc_0007.txt202
-rw-r--r--filesystem.mk12
-rw-r--r--include/pokemon.h7
-rw-r--r--pokediamond.rsf2
65 files changed, 2098 insertions, 2008 deletions
diff --git a/Makefile b/Makefile
index ff18771a..77352f41 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,6 @@
# Makefile to build Pokemon Diamond image
include config.mk
-include filesystem.mk
HOSTCC = $(CC)
HOSTCXX = $(CXX)
@@ -204,6 +203,7 @@ JSONPROC = $(TOOLS_DIR)/jsonproc/jsonproc
GFX = $(TOOLS_DIR)/nitrogfx/nitrogfx
MWASMARM_PATCHER = $(TOOLS_DIR)/mwasmarm_patcher/mwasmarm_patcher$(EXE) -q
MAKEBANNER = $(WINE) $(TOOLS_DIR)/bin/makebanner.exe
+MAKEROM = $(WIND) $(TOOLS_DIR)/bin/makerom.exe
TOOLDIRS = $(filter-out $(TOOLS_DIR)/mwccarm $(TOOLS_DIR)/bin,$(wildcard $(TOOLS_DIR)/*))
TOOLBASE = $(TOOLDIRS:$(TOOLS_DIR)/%=%)
@@ -300,9 +300,16 @@ $(ELF): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(BINFILES) $(BUILD_DIR)/pokediamon
$(ROM): $(ELF)
$(OBJCOPY) -O binary --gap-fill=0xFF --pad-to=0x04000000 $< $@
+# TODO: Rules for Pearl
+# FIXME: Computed secure area CRC in header is incorrect due to first 8 bytes of header not actually being "encryObj"
+#$(ROM): pokediamond.rsf $(BUILD_DIR)/pokediamond_bnr.bin $(SBINFILES) $(HOSTFS_FILES)
+# $(MAKEROM) -DNITROFS_FILES="$(NITROFS_FILES)" $< $@
+
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
+include filesystem.mk
+
%.4bpp: %.png
$(GFX) $< $@
@@ -318,18 +325,6 @@ DUMMY != mkdir -p $(ALL_DIRS)
%.png: ;
%.pal: ;
-%.narc:
- $(KNARC) -d $(basename $@)/ -p $@
-
-%.arc:
- $(KNARC) -d $(basename $@)/ -p $@
-
-files/poketool/personal/pms.narc: ;
-
-files/poketool/personal/growtbl.narc: $(wildcard files/poketool/personal/growtbl/*.txt)
- $(MAKE) -C $(<D)
- $(NARCCOMP) -o $@ -p 255 $(^:%.txt=%.bin)
-
######################## Misc #######################
$(BUILD_DIR)/pokediamond_bnr.bin: pokediamond.bsf graphics/icon.4bpp graphics/icon.gbapal
diff --git a/arm9/asm/pokemon.s b/arm9/asm/pokemon.s
index 3b50e07b..77d0e35c 100644
--- a/arm9/asm/pokemon.s
+++ b/arm9/asm/pokemon.s
@@ -443,7 +443,7 @@ _02066BDE:
bl FUN_02067960
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x28]
- bl FUN_02068758
+ bl GetMonExpByLevel
str r0, [sp, #0x8]
add r0, r5, #0x0
mov r1, #0x8
@@ -451,7 +451,7 @@ _02066BDE:
bl FUN_02067960
ldr r0, [sp, #0x24]
mov r1, #0x14
- bl FUN_02068678
+ bl GetMonBaseStat
str r0, [sp, #0x8]
add r0, r5, #0x0
mov r1, #0x9
@@ -561,11 +561,11 @@ _02066C94:
_02066D18:
ldr r0, [sp, #0x24]
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
str r0, [sp, #0x8]
ldr r0, [sp, #0x24]
mov r1, #0x19
- bl FUN_02068678
+ bl GetMonBaseStat
str r0, [sp, #0x4]
cmp r0, #0x0
beq _02066D50
@@ -731,7 +731,7 @@ FUN_02066E74: ; 0x02066E74
add r5, r1, #0x0
mov r1, #0x12
add r4, r2, #0x0
- bl FUN_02068678
+ bl GetMonBaseStat
lsl r0, r0, #0x18
lsr r0, r0, #0x18
beq _02066EA0
@@ -896,7 +896,7 @@ FUN_02066F04: ; 0x02066F04
ldr r1, [sp, #0x38]
add r0, r7, #0x0
add r2, r6, #0x0
- bl FUN_0206A380
+ bl LoadMonBaseStats_HandleUnownOrArceus
mov r0, #0x49
lsl r0, r0, #0x2
cmp r7, r0
@@ -1588,7 +1588,7 @@ _0206753C:
_02067540:
ldrh r0, [r5, #0x0]
ldr r1, [r5, #0x8]
- bl FUN_02068800
+ bl CalcMonLevel
add r4, r0, #0x0
b _0206781A
_0206754C:
@@ -2003,7 +2003,7 @@ _020677FC:
sub r2, #0xaa
lsr r1, r1, #0x1b
str r2, [sp, #0x4]
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
add r4, r0, #0x0
b _0206781A
_02067810:
@@ -3436,14 +3436,14 @@ _0206814E: ; jump table (using 16-bit offset)
_020682B4:
ldrh r0, [r4, #0x0]
mov r1, #0x64
- bl FUN_02068758
+ bl GetMonExpByLevel
ldr r1, [r4, #0x8]
add r1, r1, r6
cmp r1, r0
bls _020682D2
ldrh r0, [r4, #0x0]
mov r1, #0x64
- bl FUN_02068758
+ bl GetMonExpByLevel
add sp, #0xc
str r0, [r4, #0x8]
pop {r4-r7, pc}
@@ -3773,8 +3773,8 @@ _02068510: .word 0xFFF07FFF
_02068514: .word 0xFE0FFFFF
_02068518: .word 0xC1FFFFFF
- thumb_func_start FUN_0206851C
-FUN_0206851C: ; 0x0206851C
+ thumb_func_start AllocAndLoadMonPersonal
+AllocAndLoadMonPersonal: ; 0x0206851C
push {r3-r5, lr}
add r5, r0, #0x0
add r0, r1, #0x0
@@ -3788,8 +3788,8 @@ FUN_0206851C: ; 0x0206851C
pop {r3-r5, pc}
.balign 4
- thumb_func_start FUN_02068538
-FUN_02068538: ; 0x02068538
+ thumb_func_start GetPersonalAttr
+GetPersonalAttr: ; 0x02068538
push {r4-r6, lr}
add r4, r0, #0x0
add r6, r1, #0x0
@@ -3958,8 +3958,8 @@ _0206863A:
pop {r4-r6, pc}
.balign 4
- thumb_func_start FUN_02068640
-FUN_02068640: ; 0x02068640
+ thumb_func_start FreeMonPersonal
+FreeMonPersonal: ; 0x02068640
push {r4, lr}
add r4, r0, #0x0
bne _0206864A
@@ -3970,35 +3970,35 @@ _0206864A:
pop {r4, pc}
.balign 4
- thumb_func_start FUN_02068654
-FUN_02068654: ; 0x02068654
+ thumb_func_start GetMonBaseStat_HandleUnownOrArceus
+GetMonBaseStat_HandleUnownOrArceus: ; 0x02068654
push {r3-r5, lr}
add r4, r2, #0x0
bl ConvertUnownOrArceusSpecies
mov r1, #0x0
- bl FUN_0206851C
+ bl AllocAndLoadMonPersonal
add r5, r0, #0x0
add r1, r4, #0x0
- bl FUN_02068538
+ bl GetPersonalAttr
add r4, r0, #0x0
add r0, r5, #0x0
- bl FUN_02068640
+ bl FreeMonPersonal
add r0, r4, #0x0
pop {r3-r5, pc}
.balign 4
- thumb_func_start FUN_02068678
-FUN_02068678: ; 0x02068678
+ thumb_func_start GetMonBaseStat
+GetMonBaseStat: ; 0x02068678
push {r3-r5, lr}
add r4, r1, #0x0
mov r1, #0x0
- bl FUN_0206851C
+ bl AllocAndLoadMonPersonal
add r5, r0, #0x0
add r1, r4, #0x0
- bl FUN_02068538
+ bl GetPersonalAttr
add r4, r0, #0x0
add r0, r5, #0x0
- bl FUN_02068640
+ bl FreeMonPersonal
add r0, r4, #0x0
pop {r3-r5, pc}
.balign 4
@@ -4023,11 +4023,11 @@ FUN_02068698: ; 0x02068698
lsr r7, r0, #0x18
add r0, r6, #0x0
add r1, r7, #0x0
- bl FUN_02068758
+ bl GetMonExpByLevel
add r4, r0, #0x0
add r0, r6, #0x0
add r1, r7, #0x1
- bl FUN_02068758
+ bl GetMonExpByLevel
add r6, r0, #0x0
add r0, r5, #0x0
mov r1, #0x8
@@ -4074,7 +4074,7 @@ FUN_02068700: ; 0x02068700
add r4, r0, #0x0
add r0, r6, #0x0
add r1, r5, #0x0
- bl FUN_02068758
+ bl GetMonExpByLevel
sub r0, r0, r4
pop {r4-r6, pc}
@@ -4092,16 +4092,16 @@ FUN_02068734: ; 0x02068734
bl FUN_020671BC
add r1, r0, #0x0
add r0, r4, #0x0
- bl FUN_02068758
+ bl GetMonExpByLevel
pop {r3-r5, pc}
.balign 4
- thumb_func_start FUN_02068758
-FUN_02068758: ; 0x02068758
+ thumb_func_start GetMonExpByLevel
+GetMonExpByLevel: ; 0x02068758
push {r4, lr}
add r4, r1, #0x0
mov r1, #0x15
- bl FUN_02068678
+ bl GetMonBaseStat
add r1, r4, #0x0
bl GetExpByGrowthRateAndLevel
pop {r4, pc}
@@ -4180,34 +4180,34 @@ FUN_020687C8: ; 0x020687C8
lsl r0, r4, #0x10
lsr r0, r0, #0x10
add r1, r7, #0x0
- bl FUN_02068800
+ bl CalcMonLevel
pop {r3-r7, pc}
.balign 4
- thumb_func_start FUN_02068800
-FUN_02068800: ; 0x02068800
+ thumb_func_start CalcMonLevel
+CalcMonLevel: ; 0x02068800
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
mov r1, #0x0
- bl FUN_0206851C
+ bl AllocAndLoadMonPersonal
add r6, r0, #0x0
add r1, r5, #0x0
add r2, r4, #0x0
- bl FUN_02068824
+ bl CalcMonLevelInternal
add r4, r0, #0x0
add r0, r6, #0x0
- bl FUN_02068640
+ bl FreeMonPersonal
add r0, r4, #0x0
pop {r4-r6, pc}
.balign 4
- thumb_func_start FUN_02068824
-FUN_02068824: ; 0x02068824
+ thumb_func_start CalcMonLevelInternal
+CalcMonLevelInternal: ; 0x02068824
push {r4, lr}
mov r1, #0x15
add r4, r2, #0x0
- bl FUN_02068538
+ bl GetPersonalAttr
ldr r1, _0206884C ; =UNK_021C5AC0
bl LoadGrowthTable
ldr r2, _02068850 ; =UNK_021C5AC0 + 4
@@ -4475,14 +4475,14 @@ FUN_02068A20: ; 0x02068A20
add r4, r1, #0x0
add r5, r0, #0x0
mov r1, #0x0
- bl FUN_0206851C
+ bl AllocAndLoadMonPersonal
add r6, r0, #0x0
add r1, r5, #0x0
add r2, r4, #0x0
bl FUN_02068A44
add r4, r0, #0x0
add r0, r6, #0x0
- bl FUN_02068640
+ bl FreeMonPersonal
add r0, r4, #0x0
pop {r4-r6, pc}
.balign 4
@@ -4492,7 +4492,7 @@ FUN_02068A44: ; 0x02068A44
push {r4, lr}
mov r1, #0x12
add r4, r2, #0x0
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x18
lsr r1, r0, #0x18
beq _02068A5E
@@ -5467,7 +5467,7 @@ FUN_020690E8: ; 0x020690E8
str r0, [sp, #0x4]
add r0, r5, #0x0
mov r1, #0x15
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #0x64
add r5, r0, #0x0
bl GetExpByGrowthRateAndLevel
@@ -5575,7 +5575,7 @@ _020691EA:
str r0, [sp, #0x18]
ldr r0, [sp, #0x2c]
ldr r1, [sp, #0x18]
- bl FUN_0206A394
+ bl LoadMonEvolutionTable
cmp r4, #0x3
bls _02069202
b _0206954A
@@ -6029,8 +6029,8 @@ _0206954A:
pop {r4-r7, pc}
.balign 4
- thumb_func_start FUN_02069558
-FUN_02069558: ; 0x02069558
+ thumb_func_start ReadFromPersonalPmsNarc
+ReadFromPersonalPmsNarc: ; 0x02069558
push {r3-r4, lr}
sub sp, #0x4c
add r4, r0, #0x0
@@ -6065,8 +6065,8 @@ _0206956E:
_020695A0: .word 0x000001EE
_020695A4: .word UNK_02105FC8
- thumb_func_start FUN_020695A8
-FUN_020695A8: ; 0x020695A8
+ thumb_func_start GetEggSpecies
+GetEggSpecies: ; 0x020695A8
push {r3, lr}
cmp r0, #0xb9
bgt _020695CC
@@ -6105,7 +6105,7 @@ _020695E2:
cmp r0, r1
beq _020695EC
_020695E8:
- bl FUN_02069558
+ bl ReadFromPersonalPmsNarc
_020695EC:
pop {r3, pc}
nop
@@ -7540,13 +7540,13 @@ FUN_0206A094: ; 0x0206A094
ldr r1, [sp, #0x0]
add r0, r6, #0x0
mov r2, #0x10
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
add r1, sp, #0x4
strh r0, [r1, #0x2]
ldr r1, [sp, #0x0]
add r0, r6, #0x0
mov r2, #0x11
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
add r1, sp, #0x4
strh r0, [r1, #0x0]
ldrh r2, [r1, #0x2]
@@ -7658,7 +7658,7 @@ _0206A1A6:
lsl r4, r2
mov r2, #0x20
_0206A1B0:
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
tst r0, r4
beq _0206A1BC
mov r0, #0x1
@@ -7695,11 +7695,11 @@ FUN_0206A1CC: ; 0x0206A1CC
add r6, r0, #0x0
add r0, r4, #0x0
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
str r0, [sp, #0x4]
add r0, r4, #0x0
mov r1, #0x19
- bl FUN_02068678
+ bl GetMonBaseStat
str r0, [sp, #0x0]
cmp r0, #0x0
beq _0206A226
@@ -7880,8 +7880,8 @@ FUN_0206A370: ; 0x0206A370
nop
_0206A37C: .word ReadWholeNarcMemberByIdPair
- thumb_func_start FUN_0206A380
-FUN_0206A380: ; 0x0206A380
+ thumb_func_start LoadMonBaseStats_HandleUnownOrArceus
+LoadMonBaseStats_HandleUnownOrArceus: ; 0x0206A380
push {r4, lr}
add r4, r2, #0x0
bl ConvertUnownOrArceusSpecies
@@ -7891,8 +7891,8 @@ FUN_0206A380: ; 0x0206A380
bl ReadWholeNarcMemberByIdPair
pop {r4, pc}
- thumb_func_start FUN_0206A394
-FUN_0206A394: ; 0x0206A394
+ thumb_func_start LoadMonEvolutionTable
+LoadMonEvolutionTable: ; 0x0206A394
ldr r3, _0206A3A0 ; =ReadWholeNarcMemberByIdPair
add r2, r0, #0x0
add r0, r1, #0x0
diff --git a/arm9/asm/unk_02023C40.s b/arm9/asm/unk_02023C40.s
index 9ab8cab3..654401ed 100644
--- a/arm9/asm/unk_02023C40.s
+++ b/arm9/asm/unk_02023C40.s
@@ -975,7 +975,7 @@ FUN_020242C8: ; 0x020242C8
add r0, r6, #0x0
mov r1, #0x12
add r4, r2, #0x0
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0xff
bne _020242EA
cmp r4, #0x0
diff --git a/arm9/asm/unk_020476CC.s b/arm9/asm/unk_020476CC.s
index 887e4151..aa31a8f5 100644
--- a/arm9/asm/unk_020476CC.s
+++ b/arm9/asm/unk_020476CC.s
@@ -677,7 +677,7 @@ _02047C40:
mov r2, #0x0
bl FUN_020671BC
add r1, r7, #0x0
- bl FUN_02068758
+ bl GetMonExpByLevel
str r0, [sp, #0x18]
add r0, r5, #0x0
mov r1, #0x8
diff --git a/arm9/asm/unk_0206BB5C.s b/arm9/asm/unk_0206BB5C.s
index 974b2f9c..f9c4641c 100644
--- a/arm9/asm/unk_0206BB5C.s
+++ b/arm9/asm/unk_0206BB5C.s
@@ -70,7 +70,7 @@ _0206BBD0:
cmp r0, #0x0
bne _0206BBEA
add r0, r6, #0x0
- bl FUN_020695A8
+ bl GetEggSpecies
cmp r6, r0
beq _0206BBEA
mov r0, #0x0
diff --git a/arm9/asm/unk_02079C70.s b/arm9/asm/unk_02079C70.s
index ad625101..7175ad49 100644
--- a/arm9/asm/unk_02079C70.s
+++ b/arm9/asm/unk_02079C70.s
@@ -2013,7 +2013,7 @@ _0207AC1E:
ldrh r0, [r5, #0xc]
lsl r1, r1, #0x19
lsr r1, r1, #0x19
- bl FUN_02068758
+ bl GetMonExpByLevel
str r0, [r5, #0x1c]
ldrb r0, [r5, #0x12]
lsl r0, r0, #0x19
@@ -2025,7 +2025,7 @@ _0207AC1E:
_0207ACAA:
ldrh r0, [r5, #0xc]
add r1, r1, #0x1
- bl FUN_02068758
+ bl GetMonExpByLevel
_0207ACB2:
str r0, [r5, #0x20]
add r0, r6, #0x0
diff --git a/arm9/asm/unk_0207C328.s b/arm9/asm/unk_0207C328.s
index d3f7377a..5c518aa4 100644
--- a/arm9/asm/unk_0207C328.s
+++ b/arm9/asm/unk_0207C328.s
@@ -1893,7 +1893,7 @@ _0207D00C:
lsl r0, r0, #0x2
ldrh r0, [r4, r0]
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
add r2, r0, #0x0
ldr r0, _0207D068 ; =0x00000454
mov r1, #0x1
diff --git a/arm9/asm/unk_0207EF6C.s b/arm9/asm/unk_0207EF6C.s
index 6ad1e7e8..7050dea9 100644
--- a/arm9/asm/unk_0207EF6C.s
+++ b/arm9/asm/unk_0207EF6C.s
@@ -1169,7 +1169,7 @@ _0207F876:
lsl r0, r0, #0x2
ldrh r0, [r4, r0]
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #0x1
eor r0, r1
mov r1, #0xb6
diff --git a/arm9/global.inc b/arm9/global.inc
index 590dce1f..7897bc2c 100644
--- a/arm9/global.inc
+++ b/arm9/global.inc
@@ -4724,19 +4724,19 @@
.extern FUN_02067830
.extern FUN_02067960
.extern FUN_02068018
-.extern FUN_0206851C
-.extern FUN_02068538
-.extern FUN_02068640
-.extern FUN_02068654
-.extern FUN_02068678
+.extern AllocAndLoadMonPersonal
+.extern GetPersonalAttr
+.extern FreeMonPersonal
+.extern GetMonBaseStat_HandleUnownOrArceus
+.extern GetMonBaseStat
.extern FUN_02068698
.extern FUN_020686F8
.extern FUN_02068734
-.extern FUN_02068758
+.extern GetMonExpByLevel
.extern FUN_020687C0
.extern FUN_020687C8
-.extern FUN_02068800
-.extern FUN_02068824
+.extern CalcMonLevel
+.extern CalcMonLevelInternal
.extern FUN_02068854
.extern FUN_0206885C
.extern GetNatureFromPersonality
@@ -4765,8 +4765,8 @@
.extern FUN_020690E4
.extern FUN_020690E8
.extern FUN_02069168
-.extern FUN_02069558
-.extern FUN_020695A8
+.extern ReadFromPersonalPmsNarc
+.extern GetEggSpecies
.extern FUN_02069698
.extern FUN_02069708
.extern FUN_020697CC
diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s
index b6c8c3b5..5f07ebe7 100644
--- a/arm9/modules/05/asm/module_05.s
+++ b/arm9/modules/05/asm/module_05.s
@@ -44333,7 +44333,7 @@ _021ECE8C:
lsl r1, r0, #1
add r0, sp, #0xc
ldrh r0, [r0, r1]
- bl FUN_02069558
+ bl ReadFromPersonalPmsNarc
add r4, r0, #0
cmp r4, #0x1d
bne _021ECEBC
@@ -44403,7 +44403,7 @@ MOD05_021ECF14: ; 0x021ECF14
add r0, r6, #0
mov r1, #0x13
add r4, r3, #0
- bl FUN_02068678
+ bl GetMonBaseStat
add r1, sp, #0x10
strb r0, [r1]
mov r0, #0
@@ -44514,7 +44514,7 @@ MOD05_021ED00C: ; 0x021ED00C
mov r1, #0x13
add r5, r2, #0
add r6, r3, #0
- bl FUN_02068678
+ bl GetMonBaseStat
add r1, sp, #0x14
strb r0, [r1]
add r0, r5, #0
@@ -44783,11 +44783,11 @@ _021ED228:
stmia r7!, {r0}
ldrh r0, [r4]
mov r1, #0x16
- bl FUN_02068678
+ bl GetMonBaseStat
strh r0, [r6]
ldrh r0, [r4]
mov r1, #0x17
- bl FUN_02068678
+ bl GetMonBaseStat
strh r0, [r6, #2]
ldr r0, [sp]
add r5, r5, #4
diff --git a/arm9/modules/06/asm/module_06.s b/arm9/modules/06/asm/module_06.s
index 0656aec0..a6a14d1d 100644
--- a/arm9/modules/06/asm/module_06.s
+++ b/arm9/modules/06/asm/module_06.s
@@ -6567,7 +6567,7 @@ MOD06_0223C854: ; 0x0223C854
bne _0223C8BE
ldr r0, [sp, #0x10]
mov r1, #0x12
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
beq _0223C8E0
cmp r0, #0xfe
@@ -6690,7 +6690,7 @@ MOD06_0223C968: ; 0x0223C968
add r0, r7, #0
mov r1, #0x12
mov r6, #1
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
beq _0223C996
cmp r0, #0xfe
@@ -7320,14 +7320,14 @@ _0223CE6A:
str r0, [sp, #0xc]
ldr r0, [r6, r0]
mov r1, #6
- bl FUN_02068678
+ bl GetMonBaseStat
lsl r0, r0, #0x18
lsr r0, r0, #0x18
str r0, [sp, #8]
ldr r0, [sp, #0xc]
mov r1, #7
ldr r0, [r6, r0]
- bl FUN_02068678
+ bl GetMonBaseStat
lsl r0, r0, #0x18
lsr r1, r0, #0x18
ldr r0, [sp, #8]
@@ -22165,7 +22165,7 @@ _022445A6:
mov r2, #0
bl FUN_020671BC
mov r1, #0x32
- bl FUN_02068758
+ bl GetMonExpByLevel
str r0, [sp, #8]
add r0, r4, #0
mov r1, #8
@@ -22672,7 +22672,7 @@ _0224499C:
ldrh r0, [r5]
lsl r0, r0, #0x15
lsr r0, r0, #0x15
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
beq _022449E0
ldr r2, [r5, #0x10]
@@ -22688,7 +22688,7 @@ _022449CC:
mov r1, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x15
- bl FUN_02068678
+ bl GetMonBaseStat
add r1, r5, #0
add r1, #0x20
strb r0, [r1]
@@ -22698,7 +22698,7 @@ _022449E0:
mov r1, #0x18
lsl r0, r0, #0x15
lsr r0, r0, #0x15
- bl FUN_02068678
+ bl GetMonBaseStat
add r1, r5, #0
add r1, #0x20
strb r0, [r1]
@@ -23233,7 +23233,7 @@ MOD06_02244DC4: ; 0x02244DC4
str r1, [r7, r0]
add r0, r4, #0
mov r1, #0x12
- bl FUN_02068678
+ bl GetMonBaseStat
lsl r0, r0, #0x18
lsr r0, r0, #0x18
beq _02244DEC
diff --git a/arm9/modules/09/asm/module_09.s b/arm9/modules/09/asm/module_09.s
index 7c980707..f03d3e57 100644
--- a/arm9/modules/09/asm/module_09.s
+++ b/arm9/modules/09/asm/module_09.s
@@ -2588,7 +2588,7 @@ _022132C2:
ldrh r0, [r4, #8]
lsl r1, r1, #0x19
lsr r1, r1, #0x19
- bl FUN_02068758
+ bl GetMonExpByLevel
str r0, [r4, #0x24]
ldrb r0, [r6, r5]
lsl r0, r0, #0x19
@@ -2604,7 +2604,7 @@ _0221335A:
add r1, r1, #1
add r4, r0, r5
ldrh r0, [r4, #8]
- bl FUN_02068758
+ bl GetMonExpByLevel
_02213366:
str r0, [r4, #0x28]
ldr r0, [r4, #4]
diff --git a/arm9/modules/11/asm/module_11.s b/arm9/modules/11/asm/module_11.s
index 466a8905..7be295ce 100644
--- a/arm9/modules/11/asm/module_11.s
+++ b/arm9/modules/11/asm/module_11.s
@@ -12644,7 +12644,7 @@ _022339C6:
lsl r0, r0, #6
ldrh r0, [r1, r0]
mov r1, #9
- bl FUN_02068678
+ bl GetMonBaseStat
lsl r0, r0, #0x10
lsr r1, r0, #0x10
ldr r2, [r5, #0x74]
@@ -20687,7 +20687,7 @@ _02237900:
ldr r0, [sp, #4]
add r1, r6, #0
mov r2, #1
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
ldr r1, _02237AB0 ; =0x00002144
ldr r2, _02237AB4 ; =0x00003044
str r0, [r5, r1]
@@ -20719,7 +20719,7 @@ _02237900:
mov r2, #2
lsl r1, r1, #0x1b
lsr r1, r1, #0x1b
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
add r1, r0, #0
ldr r0, _02237AB0 ; =0x00002144
ldr r0, [r5, r0]
@@ -27984,7 +27984,7 @@ MOD11_0223B2DC: ; 0x0223B2DC
add r0, r2, #0
mov r1, #5
mov r4, #0
- bl FUN_0206851C
+ bl AllocAndLoadMonPersonal
add r7, r0, #0
ldr r0, [sp]
ldr r1, [sp, #4]
@@ -28063,7 +28063,7 @@ _0223B37A: ; jump table
_0223B386:
add r0, r7, #0
mov r1, #0xa
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r5, #0x79
@@ -28075,7 +28075,7 @@ _0223B386:
_0223B39E:
add r0, r7, #0
mov r1, #0xb
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r5, #0x74
@@ -28087,7 +28087,7 @@ _0223B39E:
_0223B3B6:
add r0, r7, #0
mov r1, #0xc
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r5, #0x75
@@ -28099,7 +28099,7 @@ _0223B3B6:
_0223B3CE:
add r0, r7, #0
mov r1, #0xd
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r5, #0x78
@@ -28111,7 +28111,7 @@ _0223B3CE:
_0223B3E6:
add r0, r7, #0
mov r1, #0xe
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r5, #0x76
@@ -28123,7 +28123,7 @@ _0223B3E6:
_0223B3FE:
add r0, r7, #0
mov r1, #0xf
- bl FUN_02068538
+ bl GetPersonalAttr
lsl r0, r0, #0x10
asr r4, r0, #0x10
cmp r5, #0x77
@@ -28195,7 +28195,7 @@ _0223B45A:
b _0223B35E
_0223B48C:
add r0, r7, #0
- bl FUN_02068640
+ bl FreeMonPersonal
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
nop
@@ -29533,7 +29533,7 @@ _0223BFEE:
lsl r0, r0, #6
ldrh r0, [r1, r0]
mov r1, #8
- bl FUN_02068678
+ bl GetMonBaseStat
ldr r1, _0223C200 ; =0x0000311C
ldr r2, _0223C204 ; =0x0225DCF0
ldrb r1, [r4, r1]
@@ -29554,7 +29554,7 @@ _0223C026:
lsl r0, r0, #6
ldrh r0, [r1, r0]
mov r1, #8
- bl FUN_02068678
+ bl GetMonBaseStat
str r0, [sp]
_0223C03A:
ldr r1, [r4, #0x6c]
@@ -72923,7 +72923,7 @@ MOD11_02250F94: ; 0x02250F94
lsl r0, r0, #0x10
lsr r0, r0, #0x10
mov r1, #0x1a
- bl FUN_02068678
+ bl GetMonBaseStat
ldr r2, _0225100C ; =0x0225E830
lsl r1, r5, #1
ldrb r2, [r2, r1]
@@ -81124,7 +81124,7 @@ _022550D0:
_022550EA:
ldr r0, [sp, #0x10]
ldr r1, [sp, #0xc]
- bl FUN_02068758
+ bl GetMonExpByLevel
mov r1, #0xc0
mul r1, r4
add r2, r5, r1
@@ -81135,11 +81135,11 @@ _022550EA:
str r0, [sp, #0x1c]
ldr r0, [sp, #0x10]
add r1, r1, #1
- bl FUN_02068758
+ bl GetMonExpByLevel
add r5, r0, #0
ldr r0, [sp, #0x10]
ldr r1, [sp, #0xc]
- bl FUN_02068758
+ bl GetMonExpByLevel
sub r0, r5, r0
str r0, [sp, #0x20]
ldrh r1, [r7, r6]
@@ -82432,7 +82432,7 @@ _02255B04:
_02255B12:
add r0, r7, #0
add r1, r6, #0
- bl FUN_02068758
+ bl GetMonExpByLevel
ldr r1, _02255B64 ; =0x00002DA4
add r2, r5, r4
ldr r1, [r2, r1]
@@ -82440,11 +82440,11 @@ _02255B12:
str r0, [sp, #0x18]
add r0, r7, #0
add r1, r6, #1
- bl FUN_02068758
+ bl GetMonExpByLevel
add r4, r0, #0
add r0, r7, #0
add r1, r6, #0
- bl FUN_02068758
+ bl GetMonExpByLevel
sub r0, r4, r0
str r0, [sp, #0x1c]
mov r0, #0x14
@@ -82494,7 +82494,7 @@ MOD11_02255B68: ; 0x02255B68
add r1, r6, #0
str r0, [sp, #0x10]
add r0, r7, #0
- bl FUN_02068758
+ bl GetMonExpByLevel
mov r1, #0xc0
mul r1, r4
add r2, r5, r1
@@ -82504,11 +82504,11 @@ MOD11_02255B68: ; 0x02255B68
str r0, [sp, #0x14]
add r0, r7, #0
add r1, r6, #1
- bl FUN_02068758
+ bl GetMonExpByLevel
add r5, r0, #0
add r0, r7, #0
add r1, r6, #0
- bl FUN_02068758
+ bl GetMonExpByLevel
sub r0, r5, r0
str r0, [sp, #0x18]
mov r0, #0x10
@@ -83183,7 +83183,7 @@ _022560BA:
_022560D4:
ldr r0, [sp, #0xc]
ldr r1, [sp, #8]
- bl FUN_02068758
+ bl GetMonExpByLevel
mov r1, #0xc0
mul r1, r4
add r2, r5, r1
@@ -83194,11 +83194,11 @@ _022560D4:
str r0, [sp, #0x18]
ldr r0, [sp, #0xc]
add r1, r1, #1
- bl FUN_02068758
+ bl GetMonExpByLevel
add r5, r0, #0
ldr r0, [sp, #0xc]
ldr r1, [sp, #8]
- bl FUN_02068758
+ bl GetMonExpByLevel
sub r0, r5, r0
str r0, [sp, #0x1c]
ldrh r1, [r7, r6]
diff --git a/arm9/modules/14/asm/module_14.s b/arm9/modules/14/asm/module_14.s
index 22ebe973..79050eac 100644
--- a/arm9/modules/14/asm/module_14.s
+++ b/arm9/modules/14/asm/module_14.s
@@ -9216,7 +9216,7 @@ MOD14_021DBEAC: ; 0x021DBEAC
strb r0, [r4, #0xf]
ldrh r0, [r4, #4]
mov r1, #9
- bl FUN_0206851C
+ bl AllocAndLoadMonPersonal
add r7, r0, #0
add r0, r5, #0
mov r1, #8
@@ -9225,7 +9225,7 @@ MOD14_021DBEAC: ; 0x021DBEAC
add r2, r0, #0
ldrh r1, [r4, #4]
add r0, r7, #0
- bl FUN_02068824
+ bl CalcMonLevelInternal
strb r0, [r4, #0xa]
add r0, r5, #0
mov r1, #0xb
@@ -9320,7 +9320,7 @@ _021DBFB8:
ldr r2, [r4, #0x24]
bl FUN_0200A8E0
add r0, r7, #0
- bl FUN_02068640
+ bl FreeMonPersonal
ldr r1, [sp]
add r0, r5, #0
bl FUN_02066A94
@@ -21843,7 +21843,7 @@ _021E204A:
lsr r1, r0, #0x10
add r0, r7, #0
mov r2, #0x1b
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
lsl r0, r0, #0x18
lsr r1, r0, #0x18
b _021E20AA
diff --git a/arm9/modules/16/asm/module_16.s b/arm9/modules/16/asm/module_16.s
index ffd7eb1f..34107e9c 100644
--- a/arm9/modules/16/asm/module_16.s
+++ b/arm9/modules/16/asm/module_16.s
@@ -30379,12 +30379,12 @@ MOD16_021E5554: ; 0x021E5554
ldr r1, [sp, #0x30]
add r0, r7, #0
mov r2, #6
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
add r6, r0, #0
ldr r1, [sp, #0x30]
add r0, r7, #0
mov r2, #7
- bl FUN_02068654
+ bl GetMonBaseStat_HandleUnownOrArceus
add r7, r0, #0
add r0, r6, #0
bl MOD16_021E563C
@@ -32759,7 +32759,7 @@ MOD16_021E66F4: ; 0x021E66F4
add r4, r1, #0
mov r1, #0x12
add r5, r0, #0
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
bne _021E6708
mov r0, #1
@@ -51949,11 +51949,11 @@ MOD16_021EF6E0: ; 0x021EF6E0
mov r1, #6
str r2, [sp]
str r3, [sp, #4]
- bl FUN_02068678
+ bl GetMonBaseStat
add r4, r0, #0
ldr r0, [sp, #0x60]
mov r1, #7
- bl FUN_02068678
+ bl GetMonBaseStat
add r6, r0, #0
add r0, r4, #0
bl MOD16_021E563C
@@ -55170,11 +55170,11 @@ _021F0F88:
add r7, r5, r3
ldrh r0, [r7, r6]
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
add r4, r0, #0
ldrh r0, [r7, r6]
mov r1, #0x19
- bl FUN_02068678
+ bl GetMonBaseStat
add r6, r0, #0
cmp r4, #0
beq _021F0FC2
@@ -55281,12 +55281,12 @@ _021F1046:
ldrh r0, [r6, r1]
str r1, [sp]
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
add r4, r0, #0
ldr r0, [sp]
mov r1, #0x19
ldrh r0, [r6, r0]
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r4, #0
beq _021F108C
cmp r0, #0
diff --git a/arm9/modules/28/asm/module_28.s b/arm9/modules/28/asm/module_28.s
index 8a9f5379..a839daf7 100644
--- a/arm9/modules/28/asm/module_28.s
+++ b/arm9/modules/28/asm/module_28.s
@@ -760,7 +760,7 @@ _02254DDC:
_02254DE0:
ldrh r0, [r4, #8]
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #0x59
lsl r1, r1, #2
strb r0, [r5, r1]
diff --git a/arm9/modules/35/asm/module_35.s b/arm9/modules/35/asm/module_35.s
index 135c8922..727fced8 100644
--- a/arm9/modules/35/asm/module_35.s
+++ b/arm9/modules/35/asm/module_35.s
@@ -925,7 +925,7 @@ _02254F00:
beq _02254F36
ldrh r0, [r6, #0x1c]
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
ldr r0, [r7, #0x24]
beq _02254F30
diff --git a/arm9/modules/39/asm/module_39.s b/arm9/modules/39/asm/module_39.s
index 29b974a0..42fc9155 100644
--- a/arm9/modules/39/asm/module_39.s
+++ b/arm9/modules/39/asm/module_39.s
@@ -1008,7 +1008,7 @@ MOD39_02254FA4: ; 0x02254FA4
_02254FBA:
add r0, r7, #0
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
beq _02254FCA
mov r1, #4
diff --git a/arm9/modules/65/asm/module_65.s b/arm9/modules/65/asm/module_65.s
index 437fc4a6..1b712f1c 100644
--- a/arm9/modules/65/asm/module_65.s
+++ b/arm9/modules/65/asm/module_65.s
@@ -3388,7 +3388,7 @@ MOD65_021D8F34: ; 0x021D8F34
strb r0, [r1]
ldrh r0, [r4, #0x34]
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #1
eor r1, r0
add r0, r4, #0
diff --git a/arm9/modules/71/asm/module_71.s b/arm9/modules/71/asm/module_71.s
index 8a04256d..92db112b 100644
--- a/arm9/modules/71/asm/module_71.s
+++ b/arm9/modules/71/asm/module_71.s
@@ -1387,7 +1387,7 @@ MOD71_0222E118: ; 0x0222E118
cmp r0, #0
beq _0222E18E
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
strh r0, [r4, #0xa]
_0222E18E:
cmp r6, #0
diff --git a/arm9/modules/80/asm/module_80.s b/arm9/modules/80/asm/module_80.s
index c8b610a8..61091d0c 100644
--- a/arm9/modules/80/asm/module_80.s
+++ b/arm9/modules/80/asm/module_80.s
@@ -6811,7 +6811,7 @@ _02230BD4:
cmp r0, #0
beq _02230C04
mov r1, #0x12
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #0xfe
lsl r1, r1, #4
ldr r2, [r4, r1]
@@ -7821,7 +7821,7 @@ _0223138C:
bl MOD80_02233EA4
add r0, r5, #0
mov r1, #0x12
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #0xfe
lsl r1, r1, #4
ldr r2, [r4, r1]
@@ -12478,7 +12478,7 @@ _0223398C:
bl FUN_020054C8
add r0, r5, #0
mov r1, #0x12
- bl FUN_02068678
+ bl GetMonBaseStat
mov r1, #0xfe
lsl r1, r1, #4
ldr r2, [r4, r1]
diff --git a/arm9/modules/81/asm/module_81.s b/arm9/modules/81/asm/module_81.s
index 2398e91b..f852db8d 100644
--- a/arm9/modules/81/asm/module_81.s
+++ b/arm9/modules/81/asm/module_81.s
@@ -199,7 +199,7 @@ MOD81_02237FE8: ; 0x02237FE8
mov r2, #0
bl FUN_020672BC
mov r1, #0x1c
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
bne _02238000
mov r0, #1
diff --git a/arm9/modules/83/asm/module_83.s b/arm9/modules/83/asm/module_83.s
index 411e6c20..400b4083 100644
--- a/arm9/modules/83/asm/module_83.s
+++ b/arm9/modules/83/asm/module_83.s
@@ -21798,7 +21798,7 @@ MOD83_02237EDC: ; 0x02237EDC
add r1, r0, #0
lsl r0, r4, #0x10
lsr r0, r0, #0x10
- bl FUN_02068800
+ bl CalcMonLevel
pop {r3, r4, r5, pc}
thumb_func_end MOD83_02237EDC
@@ -21819,7 +21819,7 @@ MOD83_02237F04: ; 0x02237F04
add r6, r0, #0
add r0, r5, #0
mov r1, #0x19
- bl FUN_02068678
+ bl GetMonBaseStat
cmp r0, #0
beq _02237F5E
ldr r2, _02237F68 ; =0x0223B4C0
@@ -21830,7 +21830,7 @@ _02237F32:
bne _02237F42
add r0, r5, #0
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
b _02237F4A
_02237F42:
add r4, r4, #1
@@ -21845,12 +21845,12 @@ _02237F4A:
bne _02237F66
add r0, r5, #0
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
pop {r4, r5, r6, pc}
_02237F5E:
add r0, r5, #0
mov r1, #0x18
- bl FUN_02068678
+ bl GetMonBaseStat
_02237F66:
pop {r4, r5, r6, pc}
.align 2, 0
diff --git a/files/FILE_339200_area00light.txt b/files/FILE_339200_area00light.txt
index 438ee9c5..f2d44594 100644
--- a/files/FILE_339200_area00light.txt
+++ b/files/FILE_339200_area00light.txt
@@ -1,151 +1,151 @@
-0,
-1,11,11,16,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,22,18,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,16,
-10,10,10,
-14,14,16,
-8,8,11,
-
-7200,
-1,11,11,16,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,0,0,8,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,16,
-10,10,10,
-14,14,16,
-8,8,11,
-
-8100,
-1,12,12,18,692,-3584,-680,
-0,0,0,0,0,0,0,
-1,0,4,8,0,0,4096,
-1,31,31,31,0,0,4096,
-10,10,14,
-13,13,13,
-8,8,14,
-10,10,12,
-
-9000,
-1,12,12,22,-513,-3568,-894,
-0,0,0,0,0,0,0,
-1,0,2,10,0,0,4096,
-1,31,31,31,0,0,4096,
-11,11,13,
-10,10,10,
-10,10,14,
-13,13,14,
-
-14400,
-1,15,15,22,-1718,-3551,-1108,
-0,0,0,0,0,0,0,
-1,0,0,10,0,0,4096,
-1,31,31,31,0,0,4096,
-12,12,12,
-8,8,8,
-12,12,14,
-14,14,18,
-
-20700,
-1,18,18,21,-1826,-3548,-702,
-0,0,0,0,0,0,0,
-1,1,1,11,0,0,4096,
-1,31,31,31,0,0,4096,
-13,13,13,
-9,9,9,
-14,14,15,
-14,14,16,
-
-21600,
-1,22,22,20,-1934,-3548,-296,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-9,11,11,
-16,16,16,
-14,14,14,
-
-27000,
-1,24,24,20,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,13,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-27900,
-1,22,22,18,-730,-3560,-82,
-0,0,0,0,0,0,0,
-1,4,4,10,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-11,12,12,
-17,17,17,
-13,13,13,
-
-30600,
-1,20,18,16,-730,-3560,-82,
-0,0,0,0,0,0,0,
-1,3,4,10,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-11,12,12,
-17,17,17,
-12,11,11,
-
-32400,
-1,19,16,12,583,-3580,274,
-0,0,0,0,0,0,0,
-1,3,5,8,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-11,12,12,
-17,17,17,
-8,8,7,
-
-33300,
-1,17,13,10,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,14,6,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,14,
-12,12,12,
-16,16,16,
-9,7,7,
-
-34200,
-1,16,13,10,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,10,4,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,14,
-12,12,12,
-14,14,16,
-9,8,7,
-
-36000,
-1,11,12,15,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,10,4,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,14,
-12,12,12,
-14,14,16,
-8,8,9,
-
-43200,
-1,11,11,16,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,22,18,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,16,
-10,10,10,
-14,14,16,
-8,8,11,
-
+0,
+1,11,11,16,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,22,18,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,16,
+10,10,10,
+14,14,16,
+8,8,11,
+
+7200,
+1,11,11,16,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,0,0,8,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,16,
+10,10,10,
+14,14,16,
+8,8,11,
+
+8100,
+1,12,12,18,692,-3584,-680,
+0,0,0,0,0,0,0,
+1,0,4,8,0,0,4096,
+1,31,31,31,0,0,4096,
+10,10,14,
+13,13,13,
+8,8,14,
+10,10,12,
+
+9000,
+1,12,12,22,-513,-3568,-894,
+0,0,0,0,0,0,0,
+1,0,2,10,0,0,4096,
+1,31,31,31,0,0,4096,
+11,11,13,
+10,10,10,
+10,10,14,
+13,13,14,
+
+14400,
+1,15,15,22,-1718,-3551,-1108,
+0,0,0,0,0,0,0,
+1,0,0,10,0,0,4096,
+1,31,31,31,0,0,4096,
+12,12,12,
+8,8,8,
+12,12,14,
+14,14,18,
+
+20700,
+1,18,18,21,-1826,-3548,-702,
+0,0,0,0,0,0,0,
+1,1,1,11,0,0,4096,
+1,31,31,31,0,0,4096,
+13,13,13,
+9,9,9,
+14,14,15,
+14,14,16,
+
+21600,
+1,22,22,20,-1934,-3548,-296,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+9,11,11,
+16,16,16,
+14,14,14,
+
+27000,
+1,24,24,20,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,13,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+27900,
+1,22,22,18,-730,-3560,-82,
+0,0,0,0,0,0,0,
+1,4,4,10,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+11,12,12,
+17,17,17,
+13,13,13,
+
+30600,
+1,20,18,16,-730,-3560,-82,
+0,0,0,0,0,0,0,
+1,3,4,10,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+11,12,12,
+17,17,17,
+12,11,11,
+
+32400,
+1,19,16,12,583,-3580,274,
+0,0,0,0,0,0,0,
+1,3,5,8,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+11,12,12,
+17,17,17,
+8,8,7,
+
+33300,
+1,17,13,10,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,14,6,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,14,
+12,12,12,
+16,16,16,
+9,7,7,
+
+34200,
+1,16,13,10,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,10,4,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,14,
+12,12,12,
+14,14,16,
+9,8,7,
+
+36000,
+1,11,12,15,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,10,4,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,14,
+12,12,12,
+14,14,16,
+8,8,9,
+
+43200,
+1,11,11,16,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,22,18,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,16,
+10,10,10,
+14,14,16,
+8,8,11,
+
EOF \ No newline at end of file
diff --git a/files/FILE_339C00_area01light.txt b/files/FILE_339C00_area01light.txt
index 8261dc97..55bc4f53 100644
--- a/files/FILE_339C00_area01light.txt
+++ b/files/FILE_339C00_area01light.txt
@@ -1,151 +1,151 @@
-900,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-1800,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-7200,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-8100,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-9000,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-19800,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-20700,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-21600,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-28800,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-29700,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-30600,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-34200,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-35100,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-36000,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-43200,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-EOF
+900,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+1800,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+7200,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+8100,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+9000,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+19800,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+20700,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+21600,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+28800,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+29700,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+30600,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+34200,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+35100,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+36000,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+43200,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+EOF
diff --git a/files/FILE_33A400_area02light.txt b/files/FILE_33A400_area02light.txt
index ecf534a2..9d055de3 100644
--- a/files/FILE_33A400_area02light.txt
+++ b/files/FILE_33A400_area02light.txt
@@ -1,151 +1,151 @@
-900,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-1800,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-7200,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-8100,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-9000,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-19800,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-20700,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-21600,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-28800,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-29700,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-30600,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-34200,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-35100,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-36000,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-43200,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-EOF
+900,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+1800,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+7200,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+8100,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+9000,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+19800,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+20700,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+21600,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+28800,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+29700,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+30600,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+34200,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+35100,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+36000,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+43200,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+EOF
diff --git a/files/FILE_3B3600_dt_test_celact.txt b/files/FILE_3B3600_dt_test_celact.txt
index 6802e0ed..d286d447 100644
--- a/files/FILE_3B3600_dt_test_celact.txt
+++ b/files/FILE_3B3600_dt_test_celact.txt
@@ -1,2 +1,2 @@
-0,0,0,0,n,n,0,0, Rg܂
-e,e,e,e,e,e,e,e,
+0,0,0,0,n,n,0,0, Rg܂
+e,e,e,e,e,e,e,e,
diff --git a/files/FILE_3B3800_dt_test_res_cell.txt b/files/FILE_3B3800_dt_test_res_cell.txt
index b23c8226..3871fd66 100644
--- a/files/FILE_3B3800_dt_test_res_cell.txt
+++ b/files/FILE_3B3800_dt_test_res_cell.txt
@@ -1,3 +1,3 @@
-2,0,
-data/ug_hero.NCER,0,
-e,e,e,e,
+2,0,
+data/ug_hero.NCER,0,
+e,e,e,e,
diff --git a/files/FILE_3B3A00_dt_test_res_cellanm.txt b/files/FILE_3B3A00_dt_test_res_cellanm.txt
index c80a0e2c..a882a909 100644
--- a/files/FILE_3B3A00_dt_test_res_cellanm.txt
+++ b/files/FILE_3B3A00_dt_test_res_cellanm.txt
@@ -1,3 +1,3 @@
-3,0,
-data/ug_hero.NANR,0,
-e,e,e,e,
+3,0,
+data/ug_hero.NANR,0,
+e,e,e,e,
diff --git a/files/FILE_3B3C00_dt_test_res_char.txt b/files/FILE_3B3C00_dt_test_res_char.txt
index 5af4589b..b1d86da1 100644
--- a/files/FILE_3B3C00_dt_test_res_char.txt
+++ b/files/FILE_3B3C00_dt_test_res_char.txt
@@ -1,3 +1,3 @@
-0,0,
-data/ug_boygirl.NCGR,0,3,
-e,e,e,e,
+0,0,
+data/ug_boygirl.NCGR,0,3,
+e,e,e,e,
diff --git a/files/FILE_3B3E00_dt_test_res_multi.txt b/files/FILE_3B3E00_dt_test_res_multi.txt
index 94493646..ea0e48e4 100644
--- a/files/FILE_3B3E00_dt_test_res_multi.txt
+++ b/files/FILE_3B3E00_dt_test_res_multi.txt
@@ -1,2 +1,2 @@
-4,0,
-e,e,e,e,
+4,0,
+e,e,e,e,
diff --git a/files/FILE_3B4000_dt_test_res_multianm.txt b/files/FILE_3B4000_dt_test_res_multianm.txt
index da4150b4..35262c6b 100644
--- a/files/FILE_3B4000_dt_test_res_multianm.txt
+++ b/files/FILE_3B4000_dt_test_res_multianm.txt
@@ -1,2 +1,2 @@
-5,0,
-e,e,e,e,
+5,0,
+e,e,e,e,
diff --git a/files/FILE_3B4200_dt_test_res_pltt.txt b/files/FILE_3B4200_dt_test_res_pltt.txt
index f7849d4a..745a88a1 100644
--- a/files/FILE_3B4200_dt_test_res_pltt.txt
+++ b/files/FILE_3B4200_dt_test_res_pltt.txt
@@ -1,3 +1,3 @@
-1,0,
-data/ug_boygirl.NCLR,0,3,1,
-e,e,e,e,
+1,0,
+data/ug_boygirl.NCLR,0,3,1,
+e,e,e,e,
diff --git a/files/FILE_441C00_tmapn_celact.txt b/files/FILE_441C00_tmapn_celact.txt
index a9c7d20a..3720efc6 100644
--- a/files/FILE_441C00_tmapn_celact.txt
+++ b/files/FILE_441C00_tmapn_celact.txt
@@ -1,8 +1,8 @@
-0,1,0,0,n,n,0,0, <-Tu{^Z
-1,0,1,1,n,n,0,2, <-CJ[\Z
-2,0,2,2,n,n,0,2, <-C@Z
-3,0,3,3,n,n,0,2, <-CՃZ
-4,0,4,4,n,n,0,2, <-CXZ
-e,e,e,e,e,e,e,e,
-
-charID,palID,celID,celAnmID,McelID,McelAnmID,vramTransferF,BGPriority
+0,1,0,0,n,n,0,0, <-Tu{^Z
+1,0,1,1,n,n,0,2, <-CJ[\Z
+2,0,2,2,n,n,0,2, <-C@Z
+3,0,3,3,n,n,0,2, <-CՃZ
+4,0,4,4,n,n,0,2, <-CXZ
+e,e,e,e,e,e,e,e,
+
+charID,palID,celID,celAnmID,McelID,McelAnmID,vramTransferF,BGPriority
diff --git a/files/FILE_442400_tmapn_res_canm.txt b/files/FILE_442400_tmapn_res_canm.txt
index 0f33864a..23fda8d2 100644
--- a/files/FILE_442400_tmapn_res_canm.txt
+++ b/files/FILE_442400_tmapn_res_canm.txt
@@ -1,9 +1,9 @@
-3,1,
-17,6,0,0, <-Tu{^
-17,9,0,1, <-CJ[\
-17,12,0,2, <-C@
-17,15,0,3, <-C
-17,18,0,4, <-CX
-e,e,e,e,
-
-arcFidx,arcDidx,cmpF,myID
+3,1,
+17,6,0,0, <-Tu{^
+17,9,0,1, <-CJ[\
+17,12,0,2, <-C@
+17,15,0,3, <-C
+17,18,0,4, <-CX
+e,e,e,e,
+
+arcFidx,arcDidx,cmpF,myID
diff --git a/files/FILE_442600_tmapn_res_cell.txt b/files/FILE_442600_tmapn_res_cell.txt
index 93f58403..fa7b70c6 100644
--- a/files/FILE_442600_tmapn_res_cell.txt
+++ b/files/FILE_442600_tmapn_res_cell.txt
@@ -1,10 +1,10 @@
-2,1,
-17,5,0,0, <-Tuʃ{^GtFNg
-17,8,0,1, <-CJ[\
-17,11,0,2, <-C@
-17,14,0,3, <-C
-17,17,0,4, <-CX
-e,e,e,e,
-
-arcFidx,arcDidx,cmpF,myID
-
+2,1,
+17,5,0,0, <-Tuʃ{^GtFNg
+17,8,0,1, <-CJ[\
+17,11,0,2, <-C@
+17,14,0,3, <-C
+17,17,0,4, <-CX
+e,e,e,e,
+
+arcFidx,arcDidx,cmpF,myID
+
diff --git a/files/FILE_442800_tmapn_res_chr.txt b/files/FILE_442800_tmapn_res_chr.txt
index 8489deb3..b7b27652 100644
--- a/files/FILE_442800_tmapn_res_chr.txt
+++ b/files/FILE_442800_tmapn_res_chr.txt
@@ -1,9 +1,9 @@
-0,1,
-17,4,0,0,2, <-Tu{^
-17,7,0,1,1, <-CJ[\
-17,10,0,2,1, <-C@
-17,13,0,3,1, <-C
-17,16,0,4,1, <-CXACR
-e,e,e,e,e,
-
-arcFidx,arcDidx,cmpF,myID,vramType(1:main,2:sub,3:both)
+0,1,
+17,4,0,0,2, <-Tu{^
+17,7,0,1,1, <-CJ[\
+17,10,0,2,1, <-C@
+17,13,0,3,1, <-C
+17,16,0,4,1, <-CXACR
+e,e,e,e,e,
+
+arcFidx,arcDidx,cmpF,myID,vramType(1:main,2:sub,3:both)
diff --git a/files/FILE_442A00_tmapn_res_pal.txt b/files/FILE_442A00_tmapn_res_pal.txt
index 531916c2..fbfaffb9 100644
--- a/files/FILE_442A00_tmapn_res_pal.txt
+++ b/files/FILE_442A00_tmapn_res_pal.txt
@@ -1,6 +1,6 @@
-1,1,
-17,2,0,0,1,16, <-Cpbg
-17,3,0,1,2,1, <-Tupbg
-e,e,e,e,e,e,
-
-arcFidx,ardDidx,cmpF,myID,vramType(1:main,2:sub,3:both),palNum
+1,1,
+17,2,0,0,1,16, <-Cpbg
+17,3,0,1,2,1, <-Tupbg
+e,e,e,e,e,e,
+
+arcFidx,ardDidx,cmpF,myID,vramType(1:main,2:sub,3:both),palNum
diff --git a/files/data/area00light.txt b/files/data/area00light.txt
index 438ee9c5..f2d44594 100644
--- a/files/data/area00light.txt
+++ b/files/data/area00light.txt
@@ -1,151 +1,151 @@
-0,
-1,11,11,16,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,22,18,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,16,
-10,10,10,
-14,14,16,
-8,8,11,
-
-7200,
-1,11,11,16,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,0,0,8,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,16,
-10,10,10,
-14,14,16,
-8,8,11,
-
-8100,
-1,12,12,18,692,-3584,-680,
-0,0,0,0,0,0,0,
-1,0,4,8,0,0,4096,
-1,31,31,31,0,0,4096,
-10,10,14,
-13,13,13,
-8,8,14,
-10,10,12,
-
-9000,
-1,12,12,22,-513,-3568,-894,
-0,0,0,0,0,0,0,
-1,0,2,10,0,0,4096,
-1,31,31,31,0,0,4096,
-11,11,13,
-10,10,10,
-10,10,14,
-13,13,14,
-
-14400,
-1,15,15,22,-1718,-3551,-1108,
-0,0,0,0,0,0,0,
-1,0,0,10,0,0,4096,
-1,31,31,31,0,0,4096,
-12,12,12,
-8,8,8,
-12,12,14,
-14,14,18,
-
-20700,
-1,18,18,21,-1826,-3548,-702,
-0,0,0,0,0,0,0,
-1,1,1,11,0,0,4096,
-1,31,31,31,0,0,4096,
-13,13,13,
-9,9,9,
-14,14,15,
-14,14,16,
-
-21600,
-1,22,22,20,-1934,-3548,-296,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-9,11,11,
-16,16,16,
-14,14,14,
-
-27000,
-1,24,24,20,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,13,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-27900,
-1,22,22,18,-730,-3560,-82,
-0,0,0,0,0,0,0,
-1,4,4,10,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-11,12,12,
-17,17,17,
-13,13,13,
-
-30600,
-1,20,18,16,-730,-3560,-82,
-0,0,0,0,0,0,0,
-1,3,4,10,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-11,12,12,
-17,17,17,
-12,11,11,
-
-32400,
-1,19,16,12,583,-3580,274,
-0,0,0,0,0,0,0,
-1,3,5,8,0,0,4096,
-1,31,31,31,0,0,4096,
-15,15,15,
-11,12,12,
-17,17,17,
-8,8,7,
-
-33300,
-1,17,13,10,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,14,6,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,14,
-12,12,12,
-16,16,16,
-9,7,7,
-
-34200,
-1,16,13,10,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,10,4,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,14,
-12,12,12,
-14,14,16,
-9,8,7,
-
-36000,
-1,11,12,15,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,10,4,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,14,
-12,12,12,
-14,14,16,
-8,8,9,
-
-43200,
-1,11,11,16,1897,-3600,-466,
-0,0,0,0,0,0,0,
-1,22,18,0,0,0,4096,
-1,31,31,31,0,0,4096,
-14,14,16,
-10,10,10,
-14,14,16,
-8,8,11,
-
+0,
+1,11,11,16,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,22,18,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,16,
+10,10,10,
+14,14,16,
+8,8,11,
+
+7200,
+1,11,11,16,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,0,0,8,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,16,
+10,10,10,
+14,14,16,
+8,8,11,
+
+8100,
+1,12,12,18,692,-3584,-680,
+0,0,0,0,0,0,0,
+1,0,4,8,0,0,4096,
+1,31,31,31,0,0,4096,
+10,10,14,
+13,13,13,
+8,8,14,
+10,10,12,
+
+9000,
+1,12,12,22,-513,-3568,-894,
+0,0,0,0,0,0,0,
+1,0,2,10,0,0,4096,
+1,31,31,31,0,0,4096,
+11,11,13,
+10,10,10,
+10,10,14,
+13,13,14,
+
+14400,
+1,15,15,22,-1718,-3551,-1108,
+0,0,0,0,0,0,0,
+1,0,0,10,0,0,4096,
+1,31,31,31,0,0,4096,
+12,12,12,
+8,8,8,
+12,12,14,
+14,14,18,
+
+20700,
+1,18,18,21,-1826,-3548,-702,
+0,0,0,0,0,0,0,
+1,1,1,11,0,0,4096,
+1,31,31,31,0,0,4096,
+13,13,13,
+9,9,9,
+14,14,15,
+14,14,16,
+
+21600,
+1,22,22,20,-1934,-3548,-296,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+9,11,11,
+16,16,16,
+14,14,14,
+
+27000,
+1,24,24,20,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,13,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+27900,
+1,22,22,18,-730,-3560,-82,
+0,0,0,0,0,0,0,
+1,4,4,10,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+11,12,12,
+17,17,17,
+13,13,13,
+
+30600,
+1,20,18,16,-730,-3560,-82,
+0,0,0,0,0,0,0,
+1,3,4,10,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+11,12,12,
+17,17,17,
+12,11,11,
+
+32400,
+1,19,16,12,583,-3580,274,
+0,0,0,0,0,0,0,
+1,3,5,8,0,0,4096,
+1,31,31,31,0,0,4096,
+15,15,15,
+11,12,12,
+17,17,17,
+8,8,7,
+
+33300,
+1,17,13,10,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,14,6,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,14,
+12,12,12,
+16,16,16,
+9,7,7,
+
+34200,
+1,16,13,10,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,10,4,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,14,
+12,12,12,
+14,14,16,
+9,8,7,
+
+36000,
+1,11,12,15,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,10,4,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,14,
+12,12,12,
+14,14,16,
+8,8,9,
+
+43200,
+1,11,11,16,1897,-3600,-466,
+0,0,0,0,0,0,0,
+1,22,18,0,0,0,4096,
+1,31,31,31,0,0,4096,
+14,14,16,
+10,10,10,
+14,14,16,
+8,8,11,
+
EOF \ No newline at end of file
diff --git a/files/data/area01light.txt b/files/data/area01light.txt
index 8261dc97..55bc4f53 100644
--- a/files/data/area01light.txt
+++ b/files/data/area01light.txt
@@ -1,151 +1,151 @@
-900,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-1800,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-7200,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-8100,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-9000,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-19800,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-20700,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-21600,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-28800,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-29700,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-30600,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-34200,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-35100,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-36000,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-43200,
-1,23,23,25,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,4,4,16,0,0,4096,
-0,0,0,0,0,0,0,
-16,16,16,
-14,14,14,
-20,20,20,
-16,16,16,
-
-EOF
+900,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+1800,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+7200,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+8100,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+9000,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+19800,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+20700,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+21600,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+28800,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+29700,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+30600,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+34200,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+35100,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+36000,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+43200,
+1,23,23,25,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,4,4,16,0,0,4096,
+0,0,0,0,0,0,0,
+16,16,16,
+14,14,14,
+20,20,20,
+16,16,16,
+
+EOF
diff --git a/files/data/area02light.txt b/files/data/area02light.txt
index ecf534a2..9d055de3 100644
--- a/files/data/area02light.txt
+++ b/files/data/area02light.txt
@@ -1,151 +1,151 @@
-900,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-1800,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-7200,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-8100,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-9000,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-19800,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-20700,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-21600,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-28800,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-29700,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-30600,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-34200,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-35100,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-36000,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-43200,
-1,24,24,18,-2043,-3548,110,
-0,0,0,0,0,0,0,
-1,2,2,12,0,0,4096,
-1,31,31,31,0,0,4096,
-16,16,16,
-10,12,12,
-18,18,18,
-14,14,14,
-
-EOF
+900,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+1800,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+7200,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+8100,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+9000,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+19800,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+20700,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+21600,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+28800,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+29700,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+30600,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+34200,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+35100,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+36000,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+43200,
+1,24,24,18,-2043,-3548,110,
+0,0,0,0,0,0,0,
+1,2,2,12,0,0,4096,
+1,31,31,31,0,0,4096,
+16,16,16,
+10,12,12,
+18,18,18,
+14,14,14,
+
+EOF
diff --git a/files/data/dt_test_celact.txt b/files/data/dt_test_celact.txt
index 6802e0ed..d286d447 100644
--- a/files/data/dt_test_celact.txt
+++ b/files/data/dt_test_celact.txt
@@ -1,2 +1,2 @@
-0,0,0,0,n,n,0,0, Rg܂
-e,e,e,e,e,e,e,e,
+0,0,0,0,n,n,0,0, Rg܂
+e,e,e,e,e,e,e,e,
diff --git a/files/data/dt_test_res_cell.txt b/files/data/dt_test_res_cell.txt
index b23c8226..3871fd66 100644
--- a/files/data/dt_test_res_cell.txt
+++ b/files/data/dt_test_res_cell.txt
@@ -1,3 +1,3 @@
-2,0,
-data/ug_hero.NCER,0,
-e,e,e,e,
+2,0,
+data/ug_hero.NCER,0,
+e,e,e,e,
diff --git a/files/data/dt_test_res_cellanm.txt b/files/data/dt_test_res_cellanm.txt
index c80a0e2c..a882a909 100644
--- a/files/data/dt_test_res_cellanm.txt
+++ b/files/data/dt_test_res_cellanm.txt
@@ -1,3 +1,3 @@
-3,0,
-data/ug_hero.NANR,0,
-e,e,e,e,
+3,0,
+data/ug_hero.NANR,0,
+e,e,e,e,
diff --git a/files/data/dt_test_res_char.txt b/files/data/dt_test_res_char.txt
index 5af4589b..b1d86da1 100644
--- a/files/data/dt_test_res_char.txt
+++ b/files/data/dt_test_res_char.txt
@@ -1,3 +1,3 @@
-0,0,
-data/ug_boygirl.NCGR,0,3,
-e,e,e,e,
+0,0,
+data/ug_boygirl.NCGR,0,3,
+e,e,e,e,
diff --git a/files/data/dt_test_res_multi.txt b/files/data/dt_test_res_multi.txt
index 94493646..ea0e48e4 100644
--- a/files/data/dt_test_res_multi.txt
+++ b/files/data/dt_test_res_multi.txt
@@ -1,2 +1,2 @@
-4,0,
-e,e,e,e,
+4,0,
+e,e,e,e,
diff --git a/files/data/dt_test_res_multianm.txt b/files/data/dt_test_res_multianm.txt
index da4150b4..35262c6b 100644
--- a/files/data/dt_test_res_multianm.txt
+++ b/files/data/dt_test_res_multianm.txt
@@ -1,2 +1,2 @@
-5,0,
-e,e,e,e,
+5,0,
+e,e,e,e,
diff --git a/files/data/dt_test_res_pltt.txt b/files/data/dt_test_res_pltt.txt
index f7849d4a..745a88a1 100644
--- a/files/data/dt_test_res_pltt.txt
+++ b/files/data/dt_test_res_pltt.txt
@@ -1,3 +1,3 @@
-1,0,
-data/ug_boygirl.NCLR,0,3,1,
-e,e,e,e,
+1,0,
+data/ug_boygirl.NCLR,0,3,1,
+e,e,e,e,
diff --git a/files/data/tmapn_celact.txt b/files/data/tmapn_celact.txt
index a9c7d20a..3720efc6 100644
--- a/files/data/tmapn_celact.txt
+++ b/files/data/tmapn_celact.txt
@@ -1,8 +1,8 @@
-0,1,0,0,n,n,0,0, <-Tu{^Z
-1,0,1,1,n,n,0,2, <-CJ[\Z
-2,0,2,2,n,n,0,2, <-C@Z
-3,0,3,3,n,n,0,2, <-CՃZ
-4,0,4,4,n,n,0,2, <-CXZ
-e,e,e,e,e,e,e,e,
-
-charID,palID,celID,celAnmID,McelID,McelAnmID,vramTransferF,BGPriority
+0,1,0,0,n,n,0,0, <-Tu{^Z
+1,0,1,1,n,n,0,2, <-CJ[\Z
+2,0,2,2,n,n,0,2, <-C@Z
+3,0,3,3,n,n,0,2, <-CՃZ
+4,0,4,4,n,n,0,2, <-CXZ
+e,e,e,e,e,e,e,e,
+
+charID,palID,celID,celAnmID,McelID,McelAnmID,vramTransferF,BGPriority
diff --git a/files/data/tmapn_res_canm.txt b/files/data/tmapn_res_canm.txt
index 0f33864a..23fda8d2 100644
--- a/files/data/tmapn_res_canm.txt
+++ b/files/data/tmapn_res_canm.txt
@@ -1,9 +1,9 @@
-3,1,
-17,6,0,0, <-Tu{^
-17,9,0,1, <-CJ[\
-17,12,0,2, <-C@
-17,15,0,3, <-C
-17,18,0,4, <-CX
-e,e,e,e,
-
-arcFidx,arcDidx,cmpF,myID
+3,1,
+17,6,0,0, <-Tu{^
+17,9,0,1, <-CJ[\
+17,12,0,2, <-C@
+17,15,0,3, <-C
+17,18,0,4, <-CX
+e,e,e,e,
+
+arcFidx,arcDidx,cmpF,myID
diff --git a/files/data/tmapn_res_cell.txt b/files/data/tmapn_res_cell.txt
index 93f58403..fa7b70c6 100644
--- a/files/data/tmapn_res_cell.txt
+++ b/files/data/tmapn_res_cell.txt
@@ -1,10 +1,10 @@
-2,1,
-17,5,0,0, <-Tuʃ{^GtFNg
-17,8,0,1, <-CJ[\
-17,11,0,2, <-C@
-17,14,0,3, <-C
-17,17,0,4, <-CX
-e,e,e,e,
-
-arcFidx,arcDidx,cmpF,myID
-
+2,1,
+17,5,0,0, <-Tuʃ{^GtFNg
+17,8,0,1, <-CJ[\
+17,11,0,2, <-C@
+17,14,0,3, <-C
+17,17,0,4, <-CX
+e,e,e,e,
+
+arcFidx,arcDidx,cmpF,myID
+
diff --git a/files/data/tmapn_res_chr.txt b/files/data/tmapn_res_chr.txt
index 8489deb3..b7b27652 100644
--- a/files/data/tmapn_res_chr.txt
+++ b/files/data/tmapn_res_chr.txt
@@ -1,9 +1,9 @@
-0,1,
-17,4,0,0,2, <-Tu{^
-17,7,0,1,1, <-CJ[\
-17,10,0,2,1, <-C@
-17,13,0,3,1, <-C
-17,16,0,4,1, <-CXACR
-e,e,e,e,e,
-
-arcFidx,arcDidx,cmpF,myID,vramType(1:main,2:sub,3:both)
+0,1,
+17,4,0,0,2, <-Tu{^
+17,7,0,1,1, <-CJ[\
+17,10,0,2,1, <-C@
+17,13,0,3,1, <-C
+17,16,0,4,1, <-CXACR
+e,e,e,e,e,
+
+arcFidx,arcDidx,cmpF,myID,vramType(1:main,2:sub,3:both)
diff --git a/files/data/tmapn_res_pal.txt b/files/data/tmapn_res_pal.txt
index 531916c2..fbfaffb9 100644
--- a/files/data/tmapn_res_pal.txt
+++ b/files/data/tmapn_res_pal.txt
@@ -1,6 +1,6 @@
-1,1,
-17,2,0,0,1,16, <-Cpbg
-17,3,0,1,2,1, <-Tupbg
-e,e,e,e,e,e,
-
-arcFidx,ardDidx,cmpF,myID,vramType(1:main,2:sub,3:both),palNum
+1,1,
+17,2,0,0,1,16, <-Cpbg
+17,3,0,1,2,1, <-Tupbg
+e,e,e,e,e,e,
+
+arcFidx,ardDidx,cmpF,myID,vramType(1:main,2:sub,3:both),palNum
diff --git a/files/poketool/personal/growtbl/grow2bin.c b/files/poketool/personal/growtbl/grow2bin.c
index f46c30cd..5c8b5111 100644
--- a/files/poketool/personal/growtbl/grow2bin.c
+++ b/files/poketool/personal/growtbl/grow2bin.c
@@ -2,26 +2,102 @@
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
+#include <ctype.h>
+
+char * ReadWholeFile(char * filename) {
+ FILE * infile = fopen(filename, "rb");
+ if (infile == NULL) return NULL;
+ fseek(infile, 0, SEEK_END);
+ size_t fsize = ftell(infile);
+ fseek(infile, 0, SEEK_SET);
+ char * ret = malloc(fsize);
+ if (ret != NULL) {
+ if (fread(ret, 1, fsize, infile) != fsize) {
+ free(ret);
+ ret = NULL;
+ }
+ }
+ fclose(infile);
+ return ret;
+}
int main(int argc, char ** argv) {
- FILE * infile = fopen(argv[1], "r");
- char * infname_ext = strrchr(argv[1], '.');
- char * outfname = malloc(infname_ext - argv[1] + 5);
- char * outfname_ext = stpncpy(outfname, argv[1], infname_ext - argv[1]);
- strcpy(outfname_ext, ".bin");
- FILE * outfile = fopen(outfname, "wb");
+ int width = 4;
+ char * buffer = NULL;
+ char * endptr = NULL;
+ FILE * outfile = NULL;
+ char * infname = NULL;
+ for (int i = 1; i < argc; i++) {
+ if (strcmp(argv[i], "-w") == 0 || strcmp(argv[i], "--width") == 0) {
+ ++i;
+ width = strtol(argv[i], &endptr, 10);
+ if (width == 0) {
+ fprintf(stderr, "invalid integer value for %s: %s\n", argv[i - 1], argv[i]);
+ return EXIT_FAILURE;
+ }
+ } else if (strcmp(argv[i], "-o") == 0 || strcmp(argv[i], "--output") == 0) {
+ ++i;
+ outfile = fopen(argv[i], "wb");
+ if (outfile == NULL) {
+ fprintf(stderr, "unable to open file '%s' for writing\n", argv[i]);
+ return EXIT_FAILURE;
+ }
+ } else {
+ if (buffer == NULL)
+ {
+ buffer = ReadWholeFile(argv[i]);
+ }
+ if (buffer == NULL)
+ {
+ fprintf(stderr, "invalid argument: %s\n", argv[i]);
+ return EXIT_FAILURE;
+ }
+ infname = argv[i];
+ }
+ }
+ if (buffer == NULL) {
+ fprintf(stderr, "missing required argument: INFILE\n");
+ return EXIT_FAILURE;
+ }
+ if (outfile == NULL) {
+ char * infname_ext = strrchr(infname, '.');
+ char * outfname = malloc(infname_ext - infname + 5);
+ char * outfname_ext = stpncpy(outfname, argv[1], infname_ext - argv[1]);
+ strcpy(outfname_ext, ".bin");
+ outfile = fopen(outfname, "wb");
+ if (outfile == NULL) {
+ fprintf(stderr, "unable to open file '%s' for writing\n", outfname);
+ return EXIT_FAILURE;
+ }
+ free(outfname);
+ }
uint32_t value;
size_t size = 0;
- char * line = NULL;
+ char * ptr = buffer;
char * end = NULL;
- while (getline(&line, &size, infile) > 0) {
- value = strtoul(line, &end, 10);
- if (value == 0 && end == line) break;
- fwrite(&value, 1, 4, outfile);
+ int lineno = 1;
+ int colno = 1;
+ while (1) {
+ while (isspace(*ptr) || *ptr == ',') {
+ if (*ptr == 0) break;
+ if (*ptr == '\n')
+ { lineno++; colno = 1; }
+ if (*ptr == ',') colno++;
+ ptr++;
+ };
+ if (*ptr == 0) break;
+ value = strtoul(ptr, &end, 10);
+ if (value == 0 && ptr == end) {
+ fprintf(stderr, "syntax error: %d:%d\n", lineno, colno);
+ return EXIT_FAILURE;
+ }
+ if (fwrite(&value, 1, width, outfile) != width) {
+ fprintf(stderr, "write error\n");
+ return EXIT_FAILURE;
+ }
+ ptr = end;
}
- free(line);
- free(outfname);
fclose(outfile);
- fclose(infile);
- return 0;
+ free(buffer);
+ return EXIT_SUCCESS;
}
diff --git a/files/poketool/personal/growtbl/narc_0000.txt b/files/poketool/personal/growtbl/narc_0000.txt
index 04923607..24a29a0f 100644
--- a/files/poketool/personal/growtbl/narc_0000.txt
+++ b/files/poketool/personal/growtbl/narc_0000.txt
@@ -1,101 +1,101 @@
-0
-0
-8
-27
-64
-125
-216
-343
-512
-729
-1000
-1331
-1728
-2197
-2744
-3375
-4096
-4913
-5832
-6859
-8000
-9261
-10648
-12167
-13824
-15625
-17576
-19683
-21952
-24389
-27000
-29791
-32768
-35937
-39304
-42875
-46656
-50653
-54872
-59319
-64000
-68921
-74088
-79507
-85184
-91125
-97336
-103823
-110592
-117649
-125000
-132651
-140608
-148877
-157464
-166375
-175616
-185193
-195112
-205379
-216000
-226981
-238328
-250047
-262144
-274625
-287496
-300763
-314432
-328509
-343000
-357911
-373248
-389017
-405224
-421875
-438976
-456533
-474552
-493039
-512000
-531441
-551368
-571787
-592704
-614125
-636056
-658503
-681472
-704969
-729000
-753571
-778688
-804357
-830584
-857375
-884736
-912673
-941192
-970299
-1000000
+0
+0
+8
+27
+64
+125
+216
+343
+512
+729
+1000
+1331
+1728
+2197
+2744
+3375
+4096
+4913
+5832
+6859
+8000
+9261
+10648
+12167
+13824
+15625
+17576
+19683
+21952
+24389
+27000
+29791
+32768
+35937
+39304
+42875
+46656
+50653
+54872
+59319
+64000
+68921
+74088
+79507
+85184
+91125
+97336
+103823
+110592
+117649
+125000
+132651
+140608
+148877
+157464
+166375
+175616
+185193
+195112
+205379
+216000
+226981
+238328
+250047
+262144
+274625
+287496
+300763
+314432
+328509
+343000
+357911
+373248
+389017
+405224
+421875
+438976
+456533
+474552
+493039
+512000
+531441
+551368
+571787
+592704
+614125
+636056
+658503
+681472
+704969
+729000
+753571
+778688
+804357
+830584
+857375
+884736
+912673
+941192
+970299
+1000000
diff --git a/files/poketool/personal/growtbl/narc_0001.txt b/files/poketool/personal/growtbl/narc_0001.txt
index 5ddc38f2..b12ec561 100644
--- a/files/poketool/personal/growtbl/narc_0001.txt
+++ b/files/poketool/personal/growtbl/narc_0001.txt
@@ -1,101 +1,101 @@
-0
-0
-15
-52
-122
-237
-406
-637
-942
-1326
-1800
-2369
-3041
-3822
-4719
-5737
-6881
-8155
-9564
-11111
-12800
-14632
-16610
-18737
-21012
-23437
-26012
-28737
-31610
-34632
-37800
-41111
-44564
-48155
-51881
-55737
-59719
-63822
-68041
-72369
-76800
-81326
-85942
-90637
-95406
-100237
-105122
-110052
-115015
-120001
-125000
-131324
-137795
-144410
-151165
-158056
-165079
-172229
-179503
-186894
-194400
-202013
-209728
-217540
-225443
-233431
-241496
-249633
-257834
-267406
-276458
-286328
-296358
-305767
-316074
-326531
-336255
-346965
-357812
-367807
-378880
-390077
-400293
-411686
-423190
-433572
-445239
-457001
-467489
-479378
-491346
-501878
-513934
-526049
-536557
-548720
-560922
-571333
-583539
-591882
-600000
+0
+0
+15
+52
+122
+237
+406
+637
+942
+1326
+1800
+2369
+3041
+3822
+4719
+5737
+6881
+8155
+9564
+11111
+12800
+14632
+16610
+18737
+21012
+23437
+26012
+28737
+31610
+34632
+37800
+41111
+44564
+48155
+51881
+55737
+59719
+63822
+68041
+72369
+76800
+81326
+85942
+90637
+95406
+100237
+105122
+110052
+115015
+120001
+125000
+131324
+137795
+144410
+151165
+158056
+165079
+172229
+179503
+186894
+194400
+202013
+209728
+217540
+225443
+233431
+241496
+249633
+257834
+267406
+276458
+286328
+296358
+305767
+316074
+326531
+336255
+346965
+357812
+367807
+378880
+390077
+400293
+411686
+423190
+433572
+445239
+457001
+467489
+479378
+491346
+501878
+513934
+526049
+536557
+548720
+560922
+571333
+583539
+591882
+600000
diff --git a/files/poketool/personal/growtbl/narc_0002.txt b/files/poketool/personal/growtbl/narc_0002.txt
index d2f6f13a..be1dba64 100644
--- a/files/poketool/personal/growtbl/narc_0002.txt
+++ b/files/poketool/personal/growtbl/narc_0002.txt
@@ -1,101 +1,101 @@
-0
-0
-4
-13
-32
-65
-112
-178
-276
-393
-540
-745
-967
-1230
-1591
-1957
-2457
-3046
-3732
-4526
-5440
-6482
-7666
-9003
-10506
-12187
-14060
-16140
-18439
-20974
-23760
-26811
-30146
-33780
-37731
-42017
-46656
-50653
-55969
-60505
-66560
-71677
-78533
-84277
-91998
-98415
-107069
-114205
-123863
-131766
-142500
-151222
-163105
-172697
-185807
-196322
-210739
-222231
-238036
-250562
-267840
-281456
-300293
-315059
-335544
-351520
-373744
-390991
-415050
-433631
-459620
-479600
-507617
-529063
-559209
-582187
-614566
-639146
-673863
-700115
-737280
-765275
-804997
-834809
-877201
-908905
-954084
-987754
-1035837
-1071552
-1122660
-1160499
-1214753
-1254796
-1312322
-1354652
-1415577
-1460276
-1524731
-1571884
-1640000
+0
+0
+4
+13
+32
+65
+112
+178
+276
+393
+540
+745
+967
+1230
+1591
+1957
+2457
+3046
+3732
+4526
+5440
+6482
+7666
+9003
+10506
+12187
+14060
+16140
+18439
+20974
+23760
+26811
+30146
+33780
+37731
+42017
+46656
+50653
+55969
+60505
+66560
+71677
+78533
+84277
+91998
+98415
+107069
+114205
+123863
+131766
+142500
+151222
+163105
+172697
+185807
+196322
+210739
+222231
+238036
+250562
+267840
+281456
+300293
+315059
+335544
+351520
+373744
+390991
+415050
+433631
+459620
+479600
+507617
+529063
+559209
+582187
+614566
+639146
+673863
+700115
+737280
+765275
+804997
+834809
+877201
+908905
+954084
+987754
+1035837
+1071552
+1122660
+1160499
+1214753
+1254796
+1312322
+1354652
+1415577
+1460276
+1524731
+1571884
+1640000
diff --git a/files/poketool/personal/growtbl/narc_0003.txt b/files/poketool/personal/growtbl/narc_0003.txt
index 77c5640e..eff71429 100644
--- a/files/poketool/personal/growtbl/narc_0003.txt
+++ b/files/poketool/personal/growtbl/narc_0003.txt
@@ -1,101 +1,101 @@
-0
-0
-9
-57
-96
-135
-179
-236
-314
-419
-560
-742
-973
-1261
-1612
-2035
-2535
-3120
-3798
-4575
-5460
-6458
-7577
-8825
-10208
-11735
-13411
-15244
-17242
-19411
-21760
-24294
-27021
-29949
-33084
-36435
-40007
-43808
-47846
-52127
-56660
-61450
-66505
-71833
-77440
-83335
-89523
-96012
-102810
-109923
-117360
-125126
-133229
-141677
-150476
-159635
-169159
-179056
-189334
-199999
-211060
-222522
-234393
-246681
-259392
-272535
-286115
-300140
-314618
-329555
-344960
-360838
-377197
-394045
-411388
-429235
-447591
-466464
-485862
-505791
-526260
-547274
-568841
-590969
-613664
-636935
-660787
-685228
-710266
-735907
-762160
-789030
-816525
-844653
-873420
-902835
-932903
-963632
-995030
-1027103
-1059860
+0
+0
+9
+57
+96
+135
+179
+236
+314
+419
+560
+742
+973
+1261
+1612
+2035
+2535
+3120
+3798
+4575
+5460
+6458
+7577
+8825
+10208
+11735
+13411
+15244
+17242
+19411
+21760
+24294
+27021
+29949
+33084
+36435
+40007
+43808
+47846
+52127
+56660
+61450
+66505
+71833
+77440
+83335
+89523
+96012
+102810
+109923
+117360
+125126
+133229
+141677
+150476
+159635
+169159
+179056
+189334
+199999
+211060
+222522
+234393
+246681
+259392
+272535
+286115
+300140
+314618
+329555
+344960
+360838
+377197
+394045
+411388
+429235
+447591
+466464
+485862
+505791
+526260
+547274
+568841
+590969
+613664
+636935
+660787
+685228
+710266
+735907
+762160
+789030
+816525
+844653
+873420
+902835
+932903
+963632
+995030
+1027103
+1059860
diff --git a/files/poketool/personal/growtbl/narc_0004.txt b/files/poketool/personal/growtbl/narc_0004.txt
index c8ceec25..47bb6f6c 100644
--- a/files/poketool/personal/growtbl/narc_0004.txt
+++ b/files/poketool/personal/growtbl/narc_0004.txt
@@ -1,101 +1,101 @@
-0
-0
-6
-21
-51
-100
-172
-274
-409
-583
-800
-1064
-1382
-1757
-2195
-2700
-3276
-3930
-4665
-5487
-6400
-7408
-8518
-9733
-11059
-12500
-14060
-15746
-17561
-19511
-21600
-23832
-26214
-28749
-31443
-34300
-37324
-40522
-43897
-47455
-51200
-55136
-59270
-63605
-68147
-72900
-77868
-83058
-88473
-94119
-100000
-106120
-112486
-119101
-125971
-133100
-140492
-148154
-156089
-164303
-172800
-181584
-190662
-200037
-209715
-219700
-229996
-240610
-251545
-262807
-274400
-286328
-298598
-311213
-324179
-337500
-351180
-365226
-379641
-394431
-409600
-425152
-441094
-457429
-474163
-491300
-508844
-526802
-545177
-563975
-583200
-602856
-622950
-643485
-664467
-685900
-707788
-730138
-752953
-776239
-800000
+0
+0
+6
+21
+51
+100
+172
+274
+409
+583
+800
+1064
+1382
+1757
+2195
+2700
+3276
+3930
+4665
+5487
+6400
+7408
+8518
+9733
+11059
+12500
+14060
+15746
+17561
+19511
+21600
+23832
+26214
+28749
+31443
+34300
+37324
+40522
+43897
+47455
+51200
+55136
+59270
+63605
+68147
+72900
+77868
+83058
+88473
+94119
+100000
+106120
+112486
+119101
+125971
+133100
+140492
+148154
+156089
+164303
+172800
+181584
+190662
+200037
+209715
+219700
+229996
+240610
+251545
+262807
+274400
+286328
+298598
+311213
+324179
+337500
+351180
+365226
+379641
+394431
+409600
+425152
+441094
+457429
+474163
+491300
+508844
+526802
+545177
+563975
+583200
+602856
+622950
+643485
+664467
+685900
+707788
+730138
+752953
+776239
+800000
diff --git a/files/poketool/personal/growtbl/narc_0005.txt b/files/poketool/personal/growtbl/narc_0005.txt
index 8f8dca5b..0dc0f8f7 100644
--- a/files/poketool/personal/growtbl/narc_0005.txt
+++ b/files/poketool/personal/growtbl/narc_0005.txt
@@ -1,101 +1,101 @@
-0
-0
-10
-33
-80
-156
-270
-428
-640
-911
-1250
-1663
-2160
-2746
-3430
-4218
-5120
-6141
-7290
-8573
-10000
-11576
-13310
-15208
-17280
-19531
-21970
-24603
-27440
-30486
-33750
-37238
-40960
-44921
-49130
-53593
-58320
-63316
-68590
-74148
-80000
-86151
-92610
-99383
-106480
-113906
-121670
-129778
-138240
-147061
-156250
-165813
-175760
-186096
-196830
-207968
-219520
-231491
-243890
-256723
-270000
-283726
-297910
-312558
-327680
-343281
-359370
-375953
-393040
-410636
-428750
-447388
-466560
-486271
-506530
-527343
-548720
-570666
-593190
-616298
-640000
-664301
-689210
-714733
-740880
-767656
-795070
-823128
-851840
-881211
-911250
-941963
-973360
-1005446
-1038230
-1071718
-1105920
-1140841
-1176490
-1212873
-1250000
+0
+0
+10
+33
+80
+156
+270
+428
+640
+911
+1250
+1663
+2160
+2746
+3430
+4218
+5120
+6141
+7290
+8573
+10000
+11576
+13310
+15208
+17280
+19531
+21970
+24603
+27440
+30486
+33750
+37238
+40960
+44921
+49130
+53593
+58320
+63316
+68590
+74148
+80000
+86151
+92610
+99383
+106480
+113906
+121670
+129778
+138240
+147061
+156250
+165813
+175760
+186096
+196830
+207968
+219520
+231491
+243890
+256723
+270000
+283726
+297910
+312558
+327680
+343281
+359370
+375953
+393040
+410636
+428750
+447388
+466560
+486271
+506530
+527343
+548720
+570666
+593190
+616298
+640000
+664301
+689210
+714733
+740880
+767656
+795070
+823128
+851840
+881211
+911250
+941963
+973360
+1005446
+1038230
+1071718
+1105920
+1140841
+1176490
+1212873
+1250000
diff --git a/files/poketool/personal/growtbl/narc_0006.txt b/files/poketool/personal/growtbl/narc_0006.txt
index 04923607..24a29a0f 100644
--- a/files/poketool/personal/growtbl/narc_0006.txt
+++ b/files/poketool/personal/growtbl/narc_0006.txt
@@ -1,101 +1,101 @@
-0
-0
-8
-27
-64
-125
-216
-343
-512
-729
-1000
-1331
-1728
-2197
-2744
-3375
-4096
-4913
-5832
-6859
-8000
-9261
-10648
-12167
-13824
-15625
-17576
-19683
-21952
-24389
-27000
-29791
-32768
-35937
-39304
-42875
-46656
-50653
-54872
-59319
-64000
-68921
-74088
-79507
-85184
-91125
-97336
-103823
-110592
-117649
-125000
-132651
-140608
-148877
-157464
-166375
-175616
-185193
-195112
-205379
-216000
-226981
-238328
-250047
-262144
-274625
-287496
-300763
-314432
-328509
-343000
-357911
-373248
-389017
-405224
-421875
-438976
-456533
-474552
-493039
-512000
-531441
-551368
-571787
-592704
-614125
-636056
-658503
-681472
-704969
-729000
-753571
-778688
-804357
-830584
-857375
-884736
-912673
-941192
-970299
-1000000
+0
+0
+8
+27
+64
+125
+216
+343
+512
+729
+1000
+1331
+1728
+2197
+2744
+3375
+4096
+4913
+5832
+6859
+8000
+9261
+10648
+12167
+13824
+15625
+17576
+19683
+21952
+24389
+27000
+29791
+32768
+35937
+39304
+42875
+46656
+50653
+54872
+59319
+64000
+68921
+74088
+79507
+85184
+91125
+97336
+103823
+110592
+117649
+125000
+132651
+140608
+148877
+157464
+166375
+175616
+185193
+195112
+205379
+216000
+226981
+238328
+250047
+262144
+274625
+287496
+300763
+314432
+328509
+343000
+357911
+373248
+389017
+405224
+421875
+438976
+456533
+474552
+493039
+512000
+531441
+551368
+571787
+592704
+614125
+636056
+658503
+681472
+704969
+729000
+753571
+778688
+804357
+830584
+857375
+884736
+912673
+941192
+970299
+1000000
diff --git a/files/poketool/personal/growtbl/narc_0007.txt b/files/poketool/personal/growtbl/narc_0007.txt
index 04923607..24a29a0f 100644
--- a/files/poketool/personal/growtbl/narc_0007.txt
+++ b/files/poketool/personal/growtbl/narc_0007.txt
@@ -1,101 +1,101 @@
-0
-0
-8
-27
-64
-125
-216
-343
-512
-729
-1000
-1331
-1728
-2197
-2744
-3375
-4096
-4913
-5832
-6859
-8000
-9261
-10648
-12167
-13824
-15625
-17576
-19683
-21952
-24389
-27000
-29791
-32768
-35937
-39304
-42875
-46656
-50653
-54872
-59319
-64000
-68921
-74088
-79507
-85184
-91125
-97336
-103823
-110592
-117649
-125000
-132651
-140608
-148877
-157464
-166375
-175616
-185193
-195112
-205379
-216000
-226981
-238328
-250047
-262144
-274625
-287496
-300763
-314432
-328509
-343000
-357911
-373248
-389017
-405224
-421875
-438976
-456533
-474552
-493039
-512000
-531441
-551368
-571787
-592704
-614125
-636056
-658503
-681472
-704969
-729000
-753571
-778688
-804357
-830584
-857375
-884736
-912673
-941192
-970299
-1000000
+0
+0
+8
+27
+64
+125
+216
+343
+512
+729
+1000
+1331
+1728
+2197
+2744
+3375
+4096
+4913
+5832
+6859
+8000
+9261
+10648
+12167
+13824
+15625
+17576
+19683
+21952
+24389
+27000
+29791
+32768
+35937
+39304
+42875
+46656
+50653
+54872
+59319
+64000
+68921
+74088
+79507
+85184
+91125
+97336
+103823
+110592
+117649
+125000
+132651
+140608
+148877
+157464
+166375
+175616
+185193
+195112
+205379
+216000
+226981
+238328
+250047
+262144
+274625
+287496
+300763
+314432
+328509
+343000
+357911
+373248
+389017
+405224
+421875
+438976
+456533
+474552
+493039
+512000
+531441
+551368
+571787
+592704
+614125
+636056
+658503
+681472
+704969
+729000
+753571
+778688
+804357
+830584
+857375
+884736
+912673
+941192
+970299
+1000000
diff --git a/filesystem.mk b/filesystem.mk
index e5d2731d..b43877db 100644
--- a/filesystem.mk
+++ b/filesystem.mk
@@ -273,3 +273,15 @@ NITROFS_FILES = $(NITROFS_FILES:poketool/personal/personal.narc=poketool/persona
endif
HOSTFS_FILES = $(NITROFS_FILES:%=files/%)
+
+%.narc:
+ $(KNARC) -d $(basename $@)/ -p $@
+
+%.arc:
+ $(KNARC) -d $(basename $@)/ -p $@
+
+files/poketool/personal/pms.narc: ;
+
+files/poketool/personal/growtbl.narc: $(wildcard files/poketool/personal/growtbl/*.txt)
+ $(MAKE) -C $(<D)
+ $(NARCCOMP) -o $@ -p 255 $(^:%.txt=%.bin)
diff --git a/include/pokemon.h b/include/pokemon.h
index a8584b27..f4d72647 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -196,4 +196,11 @@ struct PokemonData {
PokemonDataBlock block4;
};
+int GetMonBaseStat_HandleUnownOrArceus(int species, int form, int stat_id);
+int GetMonBaseStat(int species, int stat_id);
+int GetMonExpByLevel(int species, int level);
+void LoadGrowthTable(int species, int * table);
+int GetExpByGrowthRateAndLevel(int rate, int level);
+int CalcMonLevel(int species, int experience);
+
#endif //POKEDIAMOND_POKEMON_H
diff --git a/pokediamond.rsf b/pokediamond.rsf
index 8a0db36a..b3549147 100644
--- a/pokediamond.rsf
+++ b/pokediamond.rsf
@@ -29,5 +29,5 @@ RomSpec
{
Segment All
HostRoot files/
- File data/UTF16.dat data/area00light.txt data/area01light.txt data/area02light.txt data/battle_win.NSCR data/btower_canm.resdat data/btower_celact.cldat data/btower_cell.resdat data/btower_chr.resdat data/btower_pal.resdat data/cell0.NCGR data/cell0.NCLR data/clact_default.NANR data/crystal.nsbmd data/demo_climax.narc data/dp_areawindow.NCGR data/dp_areawindow.NCLR data/dt_test_celact.txt data/dt_test_res_cell.txt data/dt_test_res_cellanm.txt data/dt_test_res_char.txt data/dt_test_res_multi.txt data/dt_test_res_multianm.txt data/dt_test_res_pltt.txt data/dun_sea.nsbtx data/eoo.dat data/exdata.dat data/field_cutin.narc data/fld_anime0.bin data/fld_anime1.bin data/fld_anime10.bin data/fld_anime2.bin data/fld_anime3.bin data/fld_anime4.bin data/fld_anime5.bin data/fld_anime6.bin data/fld_anime7.bin data/fld_anime8.bin data/fld_anime9.bin data/fs_kanban.nsbca data/ground0.NCGR data/ground0.NCLR data/ground0.NSCR data/kemu_itpconv.dat data/lake_anim.nsbtx data/miniasahamabe.nsbtx data/miniasasea.nsbtx data/minihamabe.nsbtx data/minimum.nsbtx data/minirhana.nsbtx data/namein.narc data/nfont.NCGR data/nfont.NCLR data/pc.nsbca data/plist_canm.resdat data/plist_cell.resdat data/plist_chr.resdat data/plist_h.cldat data/plist_pal.resdat data/porucase_canm.resdat data/porucase_celact.cldat data/porucase_cell.resdat data/porucase_chr.resdat data/porucase_pal.resdat data/pst_canm.resdat data/pst_cell.resdat data/pst_chr.resdat data/pst_h.cldat data/pst_pal.resdat data/shop_canm.resdat data/shop_cell.resdat data/shop_chr.resdat data/shop_h.cldat data/shop_pal.resdat data/slot.narc data/smptm_koori.NANR data/smptm_koori.NCER data/smptm_koori.NCGR data/smptm_koori.NCLR data/smptm_nemuri.NANR data/smptm_nemuri.NCER data/smptm_nemuri.NCGR data/smptm_nemuri.NCLR data/t3_fl_b.nsbtx data/t3_fl_p.nsbtx data/t3_fl_r.nsbtx data/t3_fl_y.nsbtx data/test.atr data/tmap_block.dat data/tmap_flags.dat data/tmapn_canm.resdat data/tmapn_celact.cldat data/tmapn_celact.txt data/tmapn_cell.resdat data/tmapn_chr.resdat data/tmapn_pal.resdat data/tmapn_res_canm.txt data/tmapn_res_cell.txt data/tmapn_res_chr.txt data/tmapn_res_pal.txt data/tradelist.narc data/trapmark.narc data/ug_anim.narc data/ug_base_cur.nsbmd data/ug_boygirl.NCGR data/ug_boygirl.NCLR data/ug_fossil.narc data/ug_hero.NANR data/ug_hero.NCER data/ug_hole.NANR data/ug_hole.NCER data/ug_hole.NCGR data/ug_parts.narc data/ug_radar.narc data/ug_trap.narc data/ugeffect_obj_graphic.narc data/uground_cell.resdat data/uground_cellanm.resdat data/uground_char.resdat data/uground_char2.resdat data/uground_clact.cldat data/uground_pltt.resdat data/uground_pltt2.resdat data/underg_radar.narc data/utility.bin data/weather_sys.narc data/wifi.ncgr data/wifinote.narc data/wifip2pmatch.narc data/wm.ncgr data/wm.nclr data/sound/sound_data.sdat msgdata/msg.narc msgdata/scenario/scr_msg.narc poketool/pokegra/height.narc poketool/pokegra/height_o.narc poketool/pokegra/otherpoke.narc poketool/pokegra/poke_shadow.narc poketool/pokegra/poke_shadow_ofx.narc poketool/pokegra/poke_yofs.narc poketool/pokegra/pokegra.narc poketool/trgra/trbgra.narc poketool/trgra/trfgra.narc poketool/personal/personal.narc poketool/personal/evo.narc poketool/personal/growtbl.narc poketool/personal/pms.narc poketool/personal/wotbl.narc poketool/trainer/trdata.narc poketool/trainer/trpoke.narc poketool/trmsg/trtbl.narc poketool/trmsg/trtblofs.narc battle/graphic/b_bag_gra.narc battle/graphic/b_plist_gra.narc battle/graphic/batt_bg.narc battle/graphic/batt_obj.narc battle/graphic/vs_demo_gra.narc wazaeffect/we.arc wazaeffect/we_sub.narc battle/skill/be_seq.narc battle/skill/sub_seq.narc battle/skill/waza_seq.narc wazaeffect/effectclact/wecell.narc wazaeffect/effectclact/wecellanm.narc wazaeffect/effectclact/wechar.narc wazaeffect/effectclact/wepltt.narc poketool/waza/waza_tbl.narc fielddata/script/scr_seq_release.narc graphic/bag_gra.narc graphic/box.narc graphic/btower.narc graphic/config_gra.narc graphic/demo_trade.narc graphic/dendou_demo.narc graphic/dendou_pc.narc graphic/ending.narc graphic/ev_pokeselect.narc graphic/f_note_gra.narc graphic/field_board.narc graphic/field_encounteffect.narc graphic/fld_comact.narc graphic/font.narc graphic/fontoam.narc graphic/hiden_effect.narc graphic/imageclip.narc graphic/mail_gra.narc graphic/menu_gra.narc graphic/mysign.narc graphic/mystery.narc graphic/ntag_gra.narc graphic/nutmixer.narc graphic/oekaki.narc graphic/opening.narc graphic/plist_gra.narc graphic/pmsi.narc graphic/poketch.narc graphic/poru_gra.narc graphic/poruact.narc graphic/porudemo.narc graphic/pst_gra.narc graphic/ranking.narc graphic/record.narc graphic/shop_gra.narc graphic/tmap_gra.narc graphic/touch_subwindow.narc graphic/trainer_case.narc graphic/unionroom.narc graphic/waza_oshie_gra.narc graphic/winframe.narc graphic/worldtrade.narc itemtool/itemdata/item_data.narc itemtool/itemdata/item_icon.narc itemtool/itemdata/nuts_data.narc poketool/icongra/poke_icon.narc poketool/pokefoot/pokefoot.narc data/mmodel/mmodel.narc data/mmodel/fldeff.narc wazaeffect/effectdata/ball_particle.narc wazaeffect/effectdata/waza_particle.narc wazaeffect/pt_debug/debug_particle.narc fielddata/eventdata/zone_event_release.narc fielddata/encountdata/d_enc_data.narc fielddata/encountdata/p_enc_data.narc fielddata/build_model/build_model.narc fielddata/build_model/build_model_matshp.dat fielddata/mapmatrix/map_matrix.narc fielddata/areadata/area_data.narc fielddata/areadata/area_build_model/area_build.narc fielddata/areadata/area_build_model/areabm_texset.narc fielddata/areadata/area_map_tex/map_tex_set.narc fielddata/areadata/area_move_model/move_model_list.narc fielddata/land_data/land_data_release.narc contest/graphic/contest_bg.narc contest/graphic/contest_obj.narc contest/data/contest_data.narc particledata/particledata.narc application/zukanlist/zkn_data/zukan_data.narc application/wifi_earth/wifi_earth.narc application/wifi_earth/wifi_earth_place.narc demo/title/titledemo.narc application/custom_ball/data/cb_data.narc demo/egg/data/egg_data.narc demo/egg/data/particle/egg_demo_particle.narc fielddata/mm_list/move_model_list.narc pokeanime/poke_anm.narc battle/tr_ai/tr_ai_seq.narc arc/bm_anime.narc arc/bm_anime_list.narc arc/encdata_ex.narc arc/ppark.narc arc/ship_demo.narc arc/tv.narc fielddata/maptable/mapname.bin poketool/pokezukan.narc poketool/shinzukan.narc poketool/pokeanm/pokeanm.narc fielddata/pokemon_trade/fld_trade.narc demo/shinka/data/particle/shinka_demo_particle.narc demo/intro/intro.narc demo/intro/intro_tv.narc demo/title/op_demo.narc demo/syoujyou/syoujyou.narc battle/b_tower/btdpm.narc battle/b_tower/btdtr.narc application/zukanlist/zkn_data/zukan_enc_diamond.narc application/zukanlist/zkn_data/zukan_enc_pearl.narc resource/eng/trial/trial.narc resource/eng/zukan/zukan.narc dwc/utility.bin
+ File $(NITROFS_FILES)
}