mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decomped ReadMonsterFromSave
Decomped by @slaw-22
This commit is contained in:
parent
2a5814f776
commit
244b3e33e7
|
|
@ -52,7 +52,7 @@
|
|||
.public StrncpySimpleNoPad
|
||||
.public StrncpySimpleNoPadSafe
|
||||
.public sub_0204CEE0
|
||||
.public sub_020515C4
|
||||
.public Copy16BitsTo
|
||||
.public sub_0205EE40
|
||||
.public TEAM_MEMBER_TABLE_PTR
|
||||
.public TEAM_NAME
|
||||
|
|
|
|||
|
|
@ -432,7 +432,7 @@
|
|||
.public sub_020510C0
|
||||
.public sub_020510E8
|
||||
.public sub_02051134
|
||||
.public sub_020515C4
|
||||
.public Copy16BitsTo
|
||||
.public sub_02051620
|
||||
.public sub_02051648
|
||||
.public sub_02051788
|
||||
|
|
@ -357,7 +357,7 @@
|
|||
.public sub_02050990
|
||||
.public sub_020509BC
|
||||
.public sub_02050CD0
|
||||
.public sub_020515C4
|
||||
.public Copy16BitsTo
|
||||
.public sub_02052060
|
||||
.public sub_020547C8
|
||||
.public sub_020547D8
|
||||
|
|
|
|||
|
|
@ -1949,7 +1949,7 @@ CopyLogTo: ; 0x0205054C
|
|||
mov r0, r4
|
||||
ldr r1, [r1]
|
||||
add r1, r1, #0x278
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
ldmia sp!, {r4, pc}
|
||||
.align 2, 0
|
||||
_02050734: .word ADVENTURE_LOG_PTR
|
||||
|
|
|
|||
|
|
@ -63,8 +63,8 @@ _020515B8:
|
|||
_020515C0: .word MISSION_FLOORS_FORBIDDEN
|
||||
arm_func_end IsForbiddenFloor
|
||||
|
||||
arm_func_start sub_020515C4
|
||||
sub_020515C4: ; 0x020515C4
|
||||
arm_func_start Copy16BitsTo
|
||||
Copy16BitsTo: ; 0x020515C4
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
mov r5, r0
|
||||
mov r4, r1
|
||||
|
|
@ -75,7 +75,7 @@ sub_020515C4: ; 0x020515C4
|
|||
mov r2, #8
|
||||
bl CopyBitsTo
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end sub_020515C4
|
||||
arm_func_end Copy16BitsTo
|
||||
|
||||
arm_func_start Copy16BitsFrom
|
||||
Copy16BitsFrom: ; 0x020515EC
|
||||
|
|
|
|||
|
|
@ -1,86 +1,8 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_02059444.inc"
|
||||
.include "main_0205956C.inc"
|
||||
|
||||
.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
|
||||
sub_0205956C: ; 0x0205956C
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, lr}
|
||||
|
|
@ -146,7 +68,7 @@ _02059608:
|
|||
bl CopyBitsTo
|
||||
mov r0, sl
|
||||
add r1, r7, #3
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
mov r0, sl
|
||||
add r1, r7, #6
|
||||
mov r2, #0xa
|
||||
|
|
@ -3288,7 +3210,7 @@ _0205BFEC:
|
|||
bl CopyBitsTo
|
||||
add r0, sp, #0
|
||||
add r1, r4, #2
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
add r0, sp, #0
|
||||
add r1, r4, #4
|
||||
mov r2, #0xb
|
||||
|
|
@ -3570,7 +3492,7 @@ sub_0205C440: ; 0x0205C440
|
|||
bl CopyBitsTo
|
||||
mov r0, r5
|
||||
add r1, r4, #4
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
mov r0, r5
|
||||
add r1, r4, #8
|
||||
mov r2, #0x18
|
||||
|
|
@ -7911,7 +7833,7 @@ _0205FD1C:
|
|||
mov r0, r6
|
||||
add r1, r1, #0x340
|
||||
add r1, r1, r7
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
add r8, r8, #1
|
||||
cmp r8, #0x10
|
||||
blt _0205FD1C
|
||||
|
|
@ -8050,7 +7972,7 @@ sub_0205FE80: ; 0x0205FE80
|
|||
bl CopyBitsTo
|
||||
mov r0, r5
|
||||
add r1, r4, #4
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
mov r0, r5
|
||||
add r1, r4, #0xc
|
||||
mov r2, #8
|
||||
|
|
@ -6189,7 +6189,7 @@ ov01_0232E334: ; 0x0232E334
|
|||
bl CopyBitsTo
|
||||
mov r0, r7
|
||||
add r1, r6, #5
|
||||
bl sub_020515C4
|
||||
bl Copy16BitsTo
|
||||
mov r0, r7
|
||||
add r1, r6, #8
|
||||
mov r2, #0xb
|
||||
|
|
|
|||
|
|
@ -5,5 +5,6 @@
|
|||
#include "main_02059060.h"
|
||||
|
||||
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
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -132,7 +132,7 @@ Static main
|
|||
Object src/main_02059060.o
|
||||
Object asm/main_02059224.o
|
||||
Object src/main_02059334.o
|
||||
Object asm/main_02059444.o
|
||||
Object asm/main_0205956C.o
|
||||
Object src/dungeon_init_2.o
|
||||
Object asm/main_0206A750.o
|
||||
Object src/main_0206C98C.o
|
||||
|
|
|
|||
|
|
@ -1,15 +1,19 @@
|
|||
#include "main_02059334.h"
|
||||
|
||||
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* 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)
|
||||
{
|
||||
CopyBitsTo(write_info, &monster->is_valid, 1);
|
||||
CopyBitsTo(write_info, &monster->level, 7);
|
||||
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_second_evo, 7);
|
||||
CopyBitsTo(write_info, &monster->iq, 10);
|
||||
|
|
@ -24,3 +28,25 @@ void WriteMonsterToSave(struct WriteMonsterInfoToSave_struct *write_info, struct
|
|||
CopyMovesetTo(write_info, &monster->moves);
|
||||
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