mirror of
https://github.com/pret/pmd-sky.git
synced 2026-04-26 08:35:04 -05:00
Decomped ReadMonsterFromSave
Decomped by @slaw-22
This commit is contained in:
parent
2a5814f776
commit
244b3e33e7
|
|
@ -52,7 +52,7 @@
|
||||||
.public StrncpySimpleNoPad
|
.public StrncpySimpleNoPad
|
||||||
.public StrncpySimpleNoPadSafe
|
.public StrncpySimpleNoPadSafe
|
||||||
.public sub_0204CEE0
|
.public sub_0204CEE0
|
||||||
.public sub_020515C4
|
.public Copy16BitsTo
|
||||||
.public sub_0205EE40
|
.public sub_0205EE40
|
||||||
.public TEAM_MEMBER_TABLE_PTR
|
.public TEAM_MEMBER_TABLE_PTR
|
||||||
.public TEAM_NAME
|
.public TEAM_NAME
|
||||||
|
|
|
||||||
|
|
@ -432,7 +432,7 @@
|
||||||
.public sub_020510C0
|
.public sub_020510C0
|
||||||
.public sub_020510E8
|
.public sub_020510E8
|
||||||
.public sub_02051134
|
.public sub_02051134
|
||||||
.public sub_020515C4
|
.public Copy16BitsTo
|
||||||
.public sub_02051620
|
.public sub_02051620
|
||||||
.public sub_02051648
|
.public sub_02051648
|
||||||
.public sub_02051788
|
.public sub_02051788
|
||||||
|
|
@ -357,7 +357,7 @@
|
||||||
.public sub_02050990
|
.public sub_02050990
|
||||||
.public sub_020509BC
|
.public sub_020509BC
|
||||||
.public sub_02050CD0
|
.public sub_02050CD0
|
||||||
.public sub_020515C4
|
.public Copy16BitsTo
|
||||||
.public sub_02052060
|
.public sub_02052060
|
||||||
.public sub_020547C8
|
.public sub_020547C8
|
||||||
.public sub_020547D8
|
.public sub_020547D8
|
||||||
|
|
|
||||||
|
|
@ -1949,7 +1949,7 @@ CopyLogTo: ; 0x0205054C
|
||||||
mov r0, r4
|
mov r0, r4
|
||||||
ldr r1, [r1]
|
ldr r1, [r1]
|
||||||
add r1, r1, #0x278
|
add r1, r1, #0x278
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
ldmia sp!, {r4, pc}
|
ldmia sp!, {r4, pc}
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_02050734: .word ADVENTURE_LOG_PTR
|
_02050734: .word ADVENTURE_LOG_PTR
|
||||||
|
|
|
||||||
|
|
@ -63,8 +63,8 @@ _020515B8:
|
||||||
_020515C0: .word MISSION_FLOORS_FORBIDDEN
|
_020515C0: .word MISSION_FLOORS_FORBIDDEN
|
||||||
arm_func_end IsForbiddenFloor
|
arm_func_end IsForbiddenFloor
|
||||||
|
|
||||||
arm_func_start sub_020515C4
|
arm_func_start Copy16BitsTo
|
||||||
sub_020515C4: ; 0x020515C4
|
Copy16BitsTo: ; 0x020515C4
|
||||||
stmdb sp!, {r3, r4, r5, lr}
|
stmdb sp!, {r3, r4, r5, lr}
|
||||||
mov r5, r0
|
mov r5, r0
|
||||||
mov r4, r1
|
mov r4, r1
|
||||||
|
|
@ -75,7 +75,7 @@ sub_020515C4: ; 0x020515C4
|
||||||
mov r2, #8
|
mov r2, #8
|
||||||
bl CopyBitsTo
|
bl CopyBitsTo
|
||||||
ldmia sp!, {r3, r4, r5, pc}
|
ldmia sp!, {r3, r4, r5, pc}
|
||||||
arm_func_end sub_020515C4
|
arm_func_end Copy16BitsTo
|
||||||
|
|
||||||
arm_func_start Copy16BitsFrom
|
arm_func_start Copy16BitsFrom
|
||||||
Copy16BitsFrom: ; 0x020515EC
|
Copy16BitsFrom: ; 0x020515EC
|
||||||
|
|
|
||||||
|
|
@ -1,86 +1,8 @@
|
||||||
.include "asm/macros.inc"
|
.include "asm/macros.inc"
|
||||||
.include "main_02059444.inc"
|
.include "main_0205956C.inc"
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
arm_func_start ReadMonsterFromSave
|
|
||||||
ReadMonsterFromSave: ; 0x02059444
|
|
||||||
stmdb sp!, {r3, r4, r5, lr}
|
|
||||||
mov r4, r1
|
|
||||||
mov r5, r0
|
|
||||||
mov r0, r4
|
|
||||||
mov r1, #0
|
|
||||||
mov r2, #0x44
|
|
||||||
bl memset
|
|
||||||
mov r0, r5
|
|
||||||
mov r1, r4
|
|
||||||
mov r2, #1
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #1
|
|
||||||
mov r2, #7
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #4
|
|
||||||
mov r2, #0xb
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #2
|
|
||||||
bl Copy16BitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #6
|
|
||||||
mov r2, #7
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #7
|
|
||||||
mov r2, #7
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #8
|
|
||||||
mov r2, #0xa
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0xa
|
|
||||||
mov r2, #0xa
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0xc
|
|
||||||
mov r2, #8
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0xd
|
|
||||||
mov r2, #8
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0xe
|
|
||||||
mov r2, #8
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0xf
|
|
||||||
mov r2, #8
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0x10
|
|
||||||
mov r2, #0x18
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0x14
|
|
||||||
mov r2, #0x45
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0x20
|
|
||||||
mov r2, #4
|
|
||||||
bl CopyBitsFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0x22
|
|
||||||
bl CopyMovesetFrom
|
|
||||||
mov r0, r5
|
|
||||||
add r1, r4, #0x3a
|
|
||||||
mov r2, #0x50
|
|
||||||
bl CopyBitsFrom
|
|
||||||
ldmia sp!, {r3, r4, r5, pc}
|
|
||||||
arm_func_end ReadMonsterFromSave
|
|
||||||
|
|
||||||
arm_func_start sub_0205956C
|
arm_func_start sub_0205956C
|
||||||
sub_0205956C: ; 0x0205956C
|
sub_0205956C: ; 0x0205956C
|
||||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||||
|
|
@ -146,7 +68,7 @@ _02059608:
|
||||||
bl CopyBitsTo
|
bl CopyBitsTo
|
||||||
mov r0, sl
|
mov r0, sl
|
||||||
add r1, r7, #3
|
add r1, r7, #3
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
mov r0, sl
|
mov r0, sl
|
||||||
add r1, r7, #6
|
add r1, r7, #6
|
||||||
mov r2, #0xa
|
mov r2, #0xa
|
||||||
|
|
@ -3288,7 +3210,7 @@ _0205BFEC:
|
||||||
bl CopyBitsTo
|
bl CopyBitsTo
|
||||||
add r0, sp, #0
|
add r0, sp, #0
|
||||||
add r1, r4, #2
|
add r1, r4, #2
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
add r0, sp, #0
|
add r0, sp, #0
|
||||||
add r1, r4, #4
|
add r1, r4, #4
|
||||||
mov r2, #0xb
|
mov r2, #0xb
|
||||||
|
|
@ -3570,7 +3492,7 @@ sub_0205C440: ; 0x0205C440
|
||||||
bl CopyBitsTo
|
bl CopyBitsTo
|
||||||
mov r0, r5
|
mov r0, r5
|
||||||
add r1, r4, #4
|
add r1, r4, #4
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
mov r0, r5
|
mov r0, r5
|
||||||
add r1, r4, #8
|
add r1, r4, #8
|
||||||
mov r2, #0x18
|
mov r2, #0x18
|
||||||
|
|
@ -7911,7 +7833,7 @@ _0205FD1C:
|
||||||
mov r0, r6
|
mov r0, r6
|
||||||
add r1, r1, #0x340
|
add r1, r1, #0x340
|
||||||
add r1, r1, r7
|
add r1, r1, r7
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
add r8, r8, #1
|
add r8, r8, #1
|
||||||
cmp r8, #0x10
|
cmp r8, #0x10
|
||||||
blt _0205FD1C
|
blt _0205FD1C
|
||||||
|
|
@ -8050,7 +7972,7 @@ sub_0205FE80: ; 0x0205FE80
|
||||||
bl CopyBitsTo
|
bl CopyBitsTo
|
||||||
mov r0, r5
|
mov r0, r5
|
||||||
add r1, r4, #4
|
add r1, r4, #4
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
mov r0, r5
|
mov r0, r5
|
||||||
add r1, r4, #0xc
|
add r1, r4, #0xc
|
||||||
mov r2, #8
|
mov r2, #8
|
||||||
|
|
@ -6189,7 +6189,7 @@ ov01_0232E334: ; 0x0232E334
|
||||||
bl CopyBitsTo
|
bl CopyBitsTo
|
||||||
mov r0, r7
|
mov r0, r7
|
||||||
add r1, r6, #5
|
add r1, r6, #5
|
||||||
bl sub_020515C4
|
bl Copy16BitsTo
|
||||||
mov r0, r7
|
mov r0, r7
|
||||||
add r1, r6, #8
|
add r1, r6, #8
|
||||||
mov r2, #0xb
|
mov r2, #0xb
|
||||||
|
|
|
||||||
|
|
@ -5,5 +5,6 @@
|
||||||
#include "main_02059060.h"
|
#include "main_02059060.h"
|
||||||
|
|
||||||
void WriteMonsterToSave(struct WriteMonsterInfoToSave_struct *write_info, struct ground_monster *monster);
|
void WriteMonsterToSave(struct WriteMonsterInfoToSave_struct *write_info, struct ground_monster *monster);
|
||||||
|
void ReadMonsterFromSave(struct WriteMonsterInfoToSave_struct *read_info, struct ground_monster *monster);
|
||||||
|
|
||||||
#endif //PMDSKY_MAIN_02059334_H
|
#endif //PMDSKY_MAIN_02059334_H
|
||||||
|
|
|
||||||
2
main.lsf
2
main.lsf
|
|
@ -132,7 +132,7 @@ Static main
|
||||||
Object src/main_02059060.o
|
Object src/main_02059060.o
|
||||||
Object asm/main_02059224.o
|
Object asm/main_02059224.o
|
||||||
Object src/main_02059334.o
|
Object src/main_02059334.o
|
||||||
Object asm/main_02059444.o
|
Object asm/main_0205956C.o
|
||||||
Object src/dungeon_init_2.o
|
Object src/dungeon_init_2.o
|
||||||
Object asm/main_0206A750.o
|
Object asm/main_0206A750.o
|
||||||
Object src/main_0206C98C.o
|
Object src/main_0206C98C.o
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,19 @@
|
||||||
#include "main_02059334.h"
|
#include "main_02059334.h"
|
||||||
|
|
||||||
extern void CopyBitsTo(void *ctx, void *src, s32 nbits);
|
extern void CopyBitsTo(void *ctx, void *src, s32 nbits);
|
||||||
extern void sub_020515C4(struct WriteMonsterInfoToSave_struct *p0, void *p1);
|
extern void Copy16BitsTo(struct WriteMonsterInfoToSave_struct *p0, void *p1);
|
||||||
extern void CopyMovesetTo(void *write_info, void *buffer_write);
|
extern void CopyMovesetTo(void *write_info, void *buffer_write);
|
||||||
|
extern void* memset(void *s, s32 c, u32 n);
|
||||||
|
extern void CopyBitsFrom(void *read_info, void *buf_read, s32 nbits);
|
||||||
|
extern void Copy16BitsFrom(void *read_info, void *buf_read);
|
||||||
|
extern void CopyMovesetFrom(struct WriteMonsterInfoToSave_struct *read_info, void *dst);
|
||||||
|
|
||||||
void WriteMonsterToSave(struct WriteMonsterInfoToSave_struct *write_info, struct ground_monster *monster)
|
void WriteMonsterToSave(struct WriteMonsterInfoToSave_struct *write_info, struct ground_monster *monster)
|
||||||
{
|
{
|
||||||
CopyBitsTo(write_info, &monster->is_valid, 1);
|
CopyBitsTo(write_info, &monster->is_valid, 1);
|
||||||
CopyBitsTo(write_info, &monster->level, 7);
|
CopyBitsTo(write_info, &monster->level, 7);
|
||||||
CopyBitsTo(write_info, &monster->id, 11);
|
CopyBitsTo(write_info, &monster->id, 11);
|
||||||
sub_020515C4(write_info, &monster->joined_at);
|
Copy16BitsTo(write_info, &monster->joined_at);
|
||||||
CopyBitsTo(write_info, &monster->level_at_first_evo, 7);
|
CopyBitsTo(write_info, &monster->level_at_first_evo, 7);
|
||||||
CopyBitsTo(write_info, &monster->level_at_second_evo, 7);
|
CopyBitsTo(write_info, &monster->level_at_second_evo, 7);
|
||||||
CopyBitsTo(write_info, &monster->iq, 10);
|
CopyBitsTo(write_info, &monster->iq, 10);
|
||||||
|
|
@ -24,3 +28,25 @@ void WriteMonsterToSave(struct WriteMonsterInfoToSave_struct *write_info, struct
|
||||||
CopyMovesetTo(write_info, &monster->moves);
|
CopyMovesetTo(write_info, &monster->moves);
|
||||||
CopyBitsTo(write_info, &monster->name, 80);
|
CopyBitsTo(write_info, &monster->name, 80);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ReadMonsterFromSave(struct WriteMonsterInfoToSave_struct *read_info, struct ground_monster *monster)
|
||||||
|
{
|
||||||
|
memset(monster, 0, 68);
|
||||||
|
CopyBitsFrom(read_info, &monster->is_valid, 1);
|
||||||
|
CopyBitsFrom(read_info, &monster->level, 7);
|
||||||
|
CopyBitsFrom(read_info, &monster->id, 11);
|
||||||
|
Copy16BitsFrom(read_info, &monster->joined_at);
|
||||||
|
CopyBitsFrom(read_info, &monster->level_at_first_evo, 7);
|
||||||
|
CopyBitsFrom(read_info, &monster->level_at_second_evo, 7);
|
||||||
|
CopyBitsFrom(read_info, &monster->iq, 10);
|
||||||
|
CopyBitsFrom(read_info, &monster->max_hp, 10);
|
||||||
|
CopyBitsFrom(read_info, &monster->offensive_stats[0], 8);
|
||||||
|
CopyBitsFrom(read_info, &monster->offensive_stats[1], 8);
|
||||||
|
CopyBitsFrom(read_info, &monster->defensive_stats[0], 8);
|
||||||
|
CopyBitsFrom(read_info, &monster->defensive_stats[1], 8);
|
||||||
|
CopyBitsFrom(read_info, &monster->exp, 24);
|
||||||
|
CopyBitsFrom(read_info, &monster->iq_skill_flags, 69);
|
||||||
|
CopyBitsFrom(read_info, &monster->tactic, 4);
|
||||||
|
CopyMovesetFrom(read_info, &monster->moves);
|
||||||
|
CopyBitsFrom(read_info, &monster->name, 80);
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user