mirror of
https://github.com/pret/pmd-sky.git
synced 2026-05-15 15:40:46 -05:00
Decomp CopyMovesetFromStream
Decomp CopyMovesetTo
This commit is contained in:
parent
6d10ed417d
commit
6e91cff71e
|
|
@ -1,6 +1,4 @@
|
|||
#pragma once
|
||||
.public CopyBitsFrom
|
||||
.public CopyBitsTo
|
||||
.public CopyMoveFromStream
|
||||
.public CopyMoveToStream
|
||||
.public memset
|
||||
|
|
@ -23,8 +23,8 @@
|
|||
.public Copy16BitsTo
|
||||
.public CopyBitsFrom
|
||||
.public CopyBitsTo
|
||||
.public CopyMovesetFrom
|
||||
.public CopyMovesetTo
|
||||
.public CopyMovesetFromStream
|
||||
.public CopyMovesetToStream
|
||||
.public CreateAdvancedMenu
|
||||
.public CreateAdvancedTextBox
|
||||
.public CreateControlsChart
|
||||
|
|
|
|||
|
|
@ -1,42 +1,8 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_02014ABC.inc"
|
||||
.include "main_02014B1C.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start CopyMovesetTo
|
||||
CopyMovesetTo: ; 0x02014ABC
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
mov r5, #0
|
||||
mov r4, #6
|
||||
_02014AD0:
|
||||
mla r1, r5, r4, r6
|
||||
mov r0, r7
|
||||
bl CopyMoveToStream
|
||||
add r5, r5, #1
|
||||
cmp r5, #4
|
||||
blt _02014AD0
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
arm_func_end CopyMovesetTo
|
||||
|
||||
arm_func_start CopyMovesetFrom
|
||||
CopyMovesetFrom: ; 0x02014AEC
|
||||
stmdb sp!, {r3, r4, r5, r6, r7, lr}
|
||||
mov r7, r0
|
||||
mov r6, r1
|
||||
mov r5, #0
|
||||
mov r4, #6
|
||||
_02014B00:
|
||||
mla r1, r5, r4, r6
|
||||
mov r0, r7
|
||||
bl CopyMoveFromStream
|
||||
add r5, r5, #1
|
||||
cmp r5, #4
|
||||
blt _02014B00
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, pc}
|
||||
arm_func_end CopyMovesetFrom
|
||||
|
||||
arm_func_start sub_02014B1C
|
||||
sub_02014B1C: ; 0x02014B1C
|
||||
stmdb sp!, {r3, r4, r5, lr}
|
||||
|
|
@ -6245,7 +6245,7 @@ ov01_0232E334: ; 0x0232E334
|
|||
bl sub_0200DFE4
|
||||
mov r0, r7
|
||||
add r1, r6, #0x2a
|
||||
bl CopyMovesetTo
|
||||
bl CopyMovesetToStream
|
||||
add r0, sp, #0xc
|
||||
mov r1, #0x18
|
||||
bl MemZero
|
||||
|
|
@ -6411,7 +6411,7 @@ ov01_0232E58C: ; 0x0232E58C
|
|||
mov r0, r6
|
||||
add r1, r5, #0x2a
|
||||
strh r2, [r5, #0x28]
|
||||
bl CopyMovesetFrom
|
||||
bl CopyMovesetFromStream
|
||||
add r1, sp, #0
|
||||
mov r0, r6
|
||||
mov r2, #0xa0
|
||||
|
|
|
|||
|
|
@ -5,5 +5,7 @@
|
|||
|
||||
void CopyMoveToStream(struct bitstream * stream, struct ground_move * move );
|
||||
void CopyMoveFromStream(struct bitstream * stream, struct ground_move * move );
|
||||
void CopyMovesetToStream(struct bitstream * stream, struct ground_move * src);
|
||||
void CopyMovesetFromStream(struct bitstream * stream, struct ground_move * dst);
|
||||
|
||||
#endif //PMDSKY_MAIN_02014A4C_H
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -67,7 +67,7 @@ Static main
|
|||
Object src/moves_3.o
|
||||
Object asm/main_02013C30.o
|
||||
Object src/main_02014A4C.o
|
||||
Object asm/main_02014ABC.o
|
||||
Object asm/main_02014B1C.o
|
||||
Object src/main_02014CEC.o
|
||||
Object asm/main_02014D18.o
|
||||
Object src/main_020251AC.o
|
||||
|
|
|
|||
|
|
@ -3,16 +3,30 @@
|
|||
extern void CopyBitsTo(struct bitstream *stream, void *src, u32 nbits);
|
||||
extern void CopyBitsFrom(struct bitstream *stream, void *dst, u32 nbits);
|
||||
|
||||
void CopyMoveToStream(struct bitstream * stream, struct ground_move * move )
|
||||
void CopyMoveToStream(struct bitstream * stream, struct ground_move * src )
|
||||
{
|
||||
CopyBitsTo(stream, &move->flags0, 4);
|
||||
CopyBitsTo(stream, &move->id, 10);
|
||||
CopyBitsTo(stream, &move->ginseng, 7);
|
||||
CopyBitsTo(stream, &src->flags0, 4);
|
||||
CopyBitsTo(stream, &src->id, 10);
|
||||
CopyBitsTo(stream, &src->ginseng, 7);
|
||||
}
|
||||
|
||||
void CopyMoveFromStream(struct bitstream * stream, struct ground_move * move )
|
||||
void CopyMoveFromStream(struct bitstream * stream, struct ground_move * dst )
|
||||
{
|
||||
CopyBitsFrom(stream, &move->flags0, 4);
|
||||
CopyBitsFrom(stream, &move->id, 10);
|
||||
CopyBitsFrom(stream, &move->ginseng, 7);
|
||||
CopyBitsFrom(stream, &dst->flags0, 4);
|
||||
CopyBitsFrom(stream, &dst->id, 10);
|
||||
CopyBitsFrom(stream, &dst->ginseng, 7);
|
||||
}
|
||||
|
||||
void CopyMovesetToStream(struct bitstream * stream, struct ground_move * src)
|
||||
{
|
||||
for (s32 i = 0; i < 4; i++) {
|
||||
CopyMoveToStream(stream, &src[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void CopyMovesetFromStream(struct bitstream * stream, struct ground_move * dst)
|
||||
{
|
||||
for (s32 i = 0; i < 4; i++) {
|
||||
CopyMoveFromStream(stream, &dst[i]);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
extern void CopyBitsTo(void *ctx, void *src, s32 nbits);
|
||||
extern void Copy16BitsTo(void *stream, void *buf_write);
|
||||
extern void CopyMovesetTo(struct bitstream *stream, void *buffer_write);
|
||||
extern void CopyMovesetToStream(struct bitstream *stream, void *buffer_write);
|
||||
extern void* memset(void *s, s32 c, u32 n);
|
||||
extern void CopyBitsFrom(void *stream, void *buf_read, s32 nbits);
|
||||
extern void Copy16BitsFrom(void *stream, void *buf_read);
|
||||
extern void CopyMovesetFrom(struct bitstream *stream, void *dst);
|
||||
extern void CopyMovesetFromStream(struct bitstream *stream, void *dst);
|
||||
|
||||
void WriteMonsterToSave(struct bitstream *stream, struct ground_monster *monster)
|
||||
{
|
||||
|
|
@ -26,7 +26,7 @@ void WriteMonsterToSave(struct bitstream *stream, struct ground_monster *monster
|
|||
CopyBitsTo(stream, &monster->exp, 24);
|
||||
CopyBitsTo(stream, &monster->iq_skill_flags, 69);
|
||||
CopyBitsTo(stream, &monster->tactic, 4);
|
||||
CopyMovesetTo(stream, &monster->moves);
|
||||
CopyMovesetToStream(stream, &monster->moves);
|
||||
CopyBitsTo(stream, &monster->name, 80);
|
||||
}
|
||||
|
||||
|
|
@ -48,6 +48,6 @@ void ReadMonsterFromSave(struct bitstream *stream, struct ground_monster *monste
|
|||
CopyBitsFrom(stream, &monster->exp, 24);
|
||||
CopyBitsFrom(stream, &monster->iq_skill_flags, 69);
|
||||
CopyBitsFrom(stream, &monster->tactic, 4);
|
||||
CopyMovesetFrom(stream, &monster->moves);
|
||||
CopyMovesetFromStream(stream, &monster->moves);
|
||||
CopyBitsFrom(stream, &monster->name, 80);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@ extern void InitBitstreamForWrite(struct bitstream *stream, u32 v1, u32 v2);
|
|||
extern void CopyBitsFrom(struct bitstream *stream, void *buf_read, s32 nbits);
|
||||
extern void* memset(void *s, s32 c, u32 n);
|
||||
extern void Copy16BitsFrom(struct bitstream *stream, void *buf_read);
|
||||
extern void CopyMovesetFrom(struct bitstream *stream, void *dst);
|
||||
extern void CopyMovesetFromStream(struct bitstream *stream, void *dst);
|
||||
extern void BitstreamDebug(struct bitstream *stream);
|
||||
extern void sub_020634F4(void);
|
||||
extern void InitBitstreamForRead(struct bitstream *stream, u32 p1, u32 p2);
|
||||
extern void CopyBitsTo(struct bitstream *stream, void* buf_write, s32 nbits);
|
||||
extern void Copy16BitsTo(struct bitstream *stream, void *buf_write);
|
||||
extern void CopyMovesetTo(struct bitstream *stream, void *buffer_write);
|
||||
extern void CopyMovesetToStream(struct bitstream *stream, void *buffer_write);
|
||||
|
||||
void sub_0205BD14(u32 *dest, s32 index)
|
||||
{
|
||||
|
|
@ -81,7 +81,7 @@ u32 sub_0205BD9C(u32 arg0, u32 arg1)
|
|||
CopyBitsFrom(&stream, &monster->exp, 24);
|
||||
CopyBitsFrom(&stream, &monster->iq_skill_flags, 69);
|
||||
CopyBitsFrom(&stream, &monster->tactic, 4);
|
||||
CopyMovesetFrom(&stream, monster->moves);
|
||||
CopyMovesetFromStream(&stream, monster->moves);
|
||||
CopyBitsFrom(&stream, monster->name, 80);
|
||||
|
||||
struct unkStruct_020B0A54_unk8_inner *inner = _020B0A54.struct1.unk8.unk8;
|
||||
|
|
@ -131,7 +131,7 @@ u32 sub_0205BFB0(u32 p0, u32 p1)
|
|||
CopyBitsTo(&stream, &monster->exp, 24);
|
||||
CopyBitsTo(&stream, &monster->iq_skill_flags, 69);
|
||||
CopyBitsTo(&stream, &monster->tactic, 4);
|
||||
CopyMovesetTo(&stream, monster->moves);
|
||||
CopyMovesetToStream(&stream, monster->moves);
|
||||
CopyBitsTo(&stream, monster->name, 80);
|
||||
|
||||
struct unkStruct_020B0A54_unk8_inner *inner = _020B0A54.struct1.unk8.unk8;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user