mirror of
https://github.com/pret/pokediamond.git
synced 2026-04-25 15:42:51 -05:00
a bit more decomp
This commit is contained in:
parent
20a3f41521
commit
2e358fc106
|
|
@ -11,209 +11,11 @@
|
|||
.extern MapObjectManager_GetFlagsBitsMask
|
||||
.extern MapObjectManager_GetObjects
|
||||
.extern MapObjectManager_GetFieldSystem
|
||||
.extern MapObject_SetMovement
|
||||
.extern MapObject_GetEventFlag
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start MapObject_SetSpriteID
|
||||
MapObject_SetSpriteID: ; 0x02058454
|
||||
str r1, [r0, #0x10]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetSpriteID
|
||||
MapObject_GetSpriteID: ; 0x02058458
|
||||
ldr r0, [r0, #0x10]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_0205845C
|
||||
sub_0205845C: ; 0x0205845C
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
bl MapObject_GetSpriteID
|
||||
add r4, r0, #0x0
|
||||
bl sub_0205C334
|
||||
cmp r0, #0x1
|
||||
bne _02058476
|
||||
add r0, r5, #0x0
|
||||
bl sub_0205C340
|
||||
add r4, r0, #0x0
|
||||
_02058476:
|
||||
add r0, r4, #0x0
|
||||
pop {r3-r5, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start MapObject_SetMovement
|
||||
MapObject_SetMovement: ; 0x0205847C
|
||||
str r1, [r0, #0x14]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetMovement
|
||||
MapObject_GetMovement: ; 0x02058480
|
||||
ldr r0, [r0, #0x14]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetType
|
||||
MapObject_SetType: ; 0x02058484
|
||||
str r1, [r0, #0x18]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetType
|
||||
MapObject_GetType: ; 0x02058488
|
||||
ldr r0, [r0, #0x18]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetFlagID
|
||||
MapObject_SetFlagID: ; 0x0205848C
|
||||
str r1, [r0, #0x1c]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetFlagID
|
||||
MapObject_GetFlagID: ; 0x02058490
|
||||
ldr r0, [r0, #0x1c]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetScriptID
|
||||
MapObject_SetScriptID: ; 0x02058494
|
||||
str r1, [r0, #0x20]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetScriptID
|
||||
MapObject_GetScriptID: ; 0x02058498
|
||||
ldr r0, [r0, #0x20]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetInitialFacingDirection
|
||||
MapObject_SetInitialFacingDirection: ; 0x0205849C
|
||||
str r1, [r0, #0x24]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetInitialFacingDirection
|
||||
MapObject_GetInitialFacingDirection: ; 0x020584A0
|
||||
ldr r0, [r0, #0x24]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetFacingDirectionDirect
|
||||
MapObject_SetFacingDirectionDirect: ; 0x020584A4
|
||||
ldr r2, [r0, #0x28]
|
||||
str r2, [r0, #0x30]
|
||||
str r1, [r0, #0x28]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020584AC
|
||||
sub_020584AC: ; 0x020584AC
|
||||
push {r3-r5, lr}
|
||||
add r4, r1, #0x0
|
||||
mov r1, #0x80
|
||||
add r5, r0, #0x0
|
||||
bl MapObject_GetFlagsBitsMask
|
||||
cmp r0, #0x0
|
||||
bne _020584C2
|
||||
ldr r0, [r5, #0x28]
|
||||
str r0, [r5, #0x30]
|
||||
str r4, [r5, #0x28]
|
||||
_020584C2:
|
||||
pop {r3-r5, pc}
|
||||
|
||||
thumb_func_start MapObject_GetFacingDirection
|
||||
MapObject_GetFacingDirection: ; 0x020584C4
|
||||
ldr r0, [r0, #0x28]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020584C8
|
||||
sub_020584C8: ; 0x020584C8
|
||||
ldr r0, [r0, #0x30]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetNextFacingDirection
|
||||
MapObject_SetNextFacingDirection: ; 0x020584CC
|
||||
ldr r2, [r0, #0x2c]
|
||||
str r2, [r0, #0x34]
|
||||
str r1, [r0, #0x2c]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetNextFacingDirection
|
||||
MapObject_GetNextFacingDirection: ; 0x020584D4
|
||||
ldr r0, [r0, #0x2c]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_020584D8
|
||||
sub_020584D8: ; 0x020584D8
|
||||
push {r3-r5, lr}
|
||||
add r5, r0, #0x0
|
||||
add r4, r1, #0x0
|
||||
bl sub_020584AC
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl MapObject_SetNextFacingDirection
|
||||
pop {r3-r5, pc}
|
||||
|
||||
thumb_func_start MapObject_SetParam
|
||||
MapObject_SetParam: ; 0x020584EC
|
||||
push {r3, lr}
|
||||
cmp r2, #0x0
|
||||
beq _020584FC
|
||||
cmp r2, #0x1
|
||||
beq _02058500
|
||||
cmp r2, #0x2
|
||||
beq _02058504
|
||||
b _02058508
|
||||
_020584FC:
|
||||
str r1, [r0, #0x38]
|
||||
pop {r3, pc}
|
||||
_02058500:
|
||||
str r1, [r0, #0x3c]
|
||||
pop {r3, pc}
|
||||
_02058504:
|
||||
str r1, [r0, #0x40]
|
||||
pop {r3, pc}
|
||||
_02058508:
|
||||
bl GF_AssertFail
|
||||
pop {r3, pc}
|
||||
.balign 4
|
||||
|
||||
thumb_func_start MapObject_GetParam
|
||||
MapObject_GetParam: ; 0x02058510
|
||||
push {r3, lr}
|
||||
cmp r1, #0x0
|
||||
beq _02058520
|
||||
cmp r1, #0x1
|
||||
beq _02058524
|
||||
cmp r1, #0x2
|
||||
beq _02058528
|
||||
b _0205852C
|
||||
_02058520:
|
||||
ldr r0, [r0, #0x38]
|
||||
pop {r3, pc}
|
||||
_02058524:
|
||||
ldr r0, [r0, #0x3c]
|
||||
pop {r3, pc}
|
||||
_02058528:
|
||||
ldr r0, [r0, #0x40]
|
||||
pop {r3, pc}
|
||||
_0205852C:
|
||||
bl GF_AssertFail
|
||||
mov r0, #0x0
|
||||
pop {r3, pc}
|
||||
|
||||
thumb_func_start MapObject_SetXRange
|
||||
MapObject_SetXRange: ; 0x02058534
|
||||
str r1, [r0, #0x44]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetXRange
|
||||
MapObject_GetXRange: ; 0x02058538
|
||||
ldr r0, [r0, #0x44]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_SetYRange
|
||||
MapObject_SetYRange: ; 0x0205853C
|
||||
str r1, [r0, #0x48]
|
||||
bx lr
|
||||
|
||||
thumb_func_start MapObject_GetYRange
|
||||
MapObject_GetYRange: ; 0x02058540
|
||||
ldr r0, [r0, #0x48]
|
||||
bx lr
|
||||
|
||||
thumb_func_start sub_02058544
|
||||
sub_02058544: ; 0x02058544
|
||||
add r0, #0xa0
|
||||
|
|
@ -602,7 +404,7 @@ sub_02058750: ; 0x02058750
|
|||
bl GF_AssertFail
|
||||
_02058760:
|
||||
add r0, r4, #0x0
|
||||
bl MapObject_GetFlagID
|
||||
bl MapObject_GetEventFlag
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_02058768
|
||||
|
|
|
|||
|
|
@ -218,7 +218,7 @@ _02055228:
|
|||
bl MapObject_SetType
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl MapObject_SetFlagID
|
||||
bl MapObject_SetEventFlag
|
||||
add r0, r5, #0x0
|
||||
mov r1, #0x0
|
||||
bl MapObject_SetScriptID
|
||||
|
|
@ -319,7 +319,7 @@ sub_02055304: ; 0x02055304
|
|||
add r4, r1, #0x0
|
||||
bl PlayerAvatar_GetMapObject
|
||||
add r1, r4, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
pop {r4, pc}
|
||||
|
||||
thumb_func_start sub_02055314
|
||||
|
|
|
|||
|
|
@ -472,7 +472,7 @@ sub_02055B8C: ; 0x02055B8C
|
|||
bl PlayerAvatar_GetMapObject
|
||||
add r4, r0, #0x0
|
||||
add r1, r5, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x0
|
||||
bl sub_02058544
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ sub_02059FB8: ; 0x02059FB8
|
|||
cmp r1, r2
|
||||
beq _02059FE0
|
||||
add r0, r5, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
b _0205A010
|
||||
_02059FE0:
|
||||
ldrh r0, [r4, #0x0]
|
||||
|
|
@ -167,7 +167,7 @@ _02059FE0:
|
|||
bl sub_0205AAD4
|
||||
add r1, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
_0205A010:
|
||||
add r0, r5, #0x0
|
||||
bl sub_02059C60
|
||||
|
|
@ -303,7 +303,7 @@ _0205A0FE:
|
|||
add r6, r0, #0x0
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl sub_020584D8
|
||||
bl MapObject_SetOrQueueFacing
|
||||
ldr r0, [r4, #0x4]
|
||||
cmp r0, #0x1
|
||||
bne _0205A12A
|
||||
|
|
@ -561,7 +561,7 @@ sub_0205A2EC: ; 0x0205A2EC
|
|||
_0205A300:
|
||||
ldr r1, [r4, #0x0]
|
||||
add r0, r5, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
ldr r0, [r4, #0x4]
|
||||
add r0, r0, #0x1
|
||||
str r0, [r4, #0x4]
|
||||
|
|
@ -799,7 +799,7 @@ _0205A4A6:
|
|||
lsl r1, r4, #0x2
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r7, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
mov r0, #0x0
|
||||
strb r0, [r6, #0x2]
|
||||
mov r0, #0x1
|
||||
|
|
@ -956,7 +956,7 @@ _0205A5C2:
|
|||
lsl r1, r4, #0x2
|
||||
ldr r1, [r5, r1]
|
||||
add r0, r7, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r7, #0x0
|
||||
bl MapObject_GetFacingDirection
|
||||
add r4, r0, #0x0
|
||||
|
|
@ -1039,7 +1039,7 @@ _0205A65A:
|
|||
bne _0205A674
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
_0205A674:
|
||||
mov r0, #0x1
|
||||
strh r0, [r4, #0x0]
|
||||
|
|
@ -1083,7 +1083,7 @@ sub_0205A67C: ; 0x0205A67C
|
|||
bne _0205A6D6
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
_0205A6D6:
|
||||
mov r0, #0x0
|
||||
strh r0, [r4, #0x2]
|
||||
|
|
@ -1520,7 +1520,7 @@ _0205A9C0:
|
|||
bne _0205A9EA
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
_0205A9EA:
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
|
|
@ -1544,7 +1544,7 @@ _0205A9EA:
|
|||
bne _0205AA20
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
_0205AA20:
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
|
|
@ -1995,7 +1995,7 @@ _0205AD6E:
|
|||
strb r0, [r5, #0x2]
|
||||
add r0, r7, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r7, #0x0
|
||||
mov r1, #0x80
|
||||
bl MapObject_SetFlagsBits
|
||||
|
|
|
|||
|
|
@ -474,7 +474,7 @@ sub_0205B0C8: ; 0x0205B0C8
|
|||
sub_0205B0D4: ; 0x0205B0D4
|
||||
push {r4, lr}
|
||||
add r4, r0, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x0
|
||||
bl sub_02058544
|
||||
|
|
@ -537,7 +537,7 @@ sub_0205B124: ; 0x0205B124
|
|||
bl sub_02059C0C
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_020584D8
|
||||
bl MapObject_SetOrQueueFacing
|
||||
add r1, sp, #0x8
|
||||
ldrh r1, [r1, #0x10]
|
||||
add r0, r5, #0x0
|
||||
|
|
@ -950,7 +950,7 @@ sub_0205B408: ; 0x0205B408
|
|||
strh r1, [r0, #0x2]
|
||||
add r0, r5, #0x0
|
||||
add r1, r7, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_02058544
|
||||
|
|
@ -1221,7 +1221,7 @@ _0205B5EA:
|
|||
bl MapObject_SetFlagsBits
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_020584D8
|
||||
bl MapObject_SetOrQueueFacing
|
||||
add r1, sp, #0x8
|
||||
ldrh r1, [r1, #0x10]
|
||||
add r0, r5, #0x0
|
||||
|
|
@ -2061,7 +2061,7 @@ sub_0205BBF4: ; 0x0205BBF4
|
|||
bl sub_02059C0C
|
||||
add r0, r5, #0x0
|
||||
add r1, r4, #0x0
|
||||
bl sub_020584D8
|
||||
bl MapObject_SetOrQueueFacing
|
||||
add r0, r5, #0x0
|
||||
add r1, r6, #0x0
|
||||
bl sub_02058544
|
||||
|
|
@ -2308,7 +2308,7 @@ sub_0205BDB8: ; 0x0205BDB8
|
|||
blt _0205BDE0
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x1
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r4, #0x0
|
||||
mov r1, #0x0
|
||||
bl sub_02058544
|
||||
|
|
|
|||
|
|
@ -367,7 +367,7 @@ _0205C148:
|
|||
mov r1, #0x4
|
||||
ldrsb r1, [r4, r1]
|
||||
add r0, r5, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
ldrb r0, [r4, #0x1]
|
||||
add r0, r0, #0x1
|
||||
strb r0, [r4, #0x1]
|
||||
|
|
@ -613,7 +613,7 @@ _0205C314:
|
|||
mov r1, #0x4
|
||||
ldrsb r1, [r4, r1]
|
||||
add r0, r7, #0x0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
ldrb r0, [r4, #0x1]
|
||||
add r0, r0, #0x1
|
||||
strb r0, [r4, #0x1]
|
||||
|
|
|
|||
|
|
@ -4030,17 +4030,17 @@
|
|||
.extern MapObject_GetMovement
|
||||
.extern MapObject_SetType
|
||||
.extern MapObject_GetType
|
||||
.extern MapObject_SetFlagID
|
||||
.extern MapObject_SetEventFlag
|
||||
.extern MapObject_SetScriptID
|
||||
.extern MapObject_GetScriptID
|
||||
.extern MapObject_GetInitialFacingDirection
|
||||
.extern MapObject_SetFacingDirectionDirect
|
||||
.extern sub_020584AC
|
||||
.extern MapObject_SetFacingDirection
|
||||
.extern MapObject_GetFacingDirection
|
||||
.extern sub_020584C8
|
||||
.extern MapObject_GetPreviousFacingDirection
|
||||
.extern MapObject_SetNextFacingDirection
|
||||
.extern MapObject_GetNextFacingDirection
|
||||
.extern sub_020584D8
|
||||
.extern MapObject_SetOrQueueFacing
|
||||
.extern MapObject_SetParam
|
||||
.extern MapObject_GetParam
|
||||
.extern MapObject_SetXRange
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@ ov05_021F1E64: ; 0x021F1E64
|
|||
ov05_021F1EC0: ; 0x021F1EC0
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
add r0, r4, #0
|
||||
bl MapObject_CheckFlag14
|
||||
cmp r0, #1
|
||||
|
|
|
|||
|
|
@ -33905,7 +33905,7 @@ ov06_02249E9C: ; 0x02249E9C
|
|||
bl MapObject_GetFacingDirection
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r5, #0
|
||||
bl sub_020584C8
|
||||
bl MapObject_GetPreviousFacingDirection
|
||||
str r0, [sp, #0x18]
|
||||
add r0, r5, #0
|
||||
mov r1, #2
|
||||
|
|
|
|||
|
|
@ -40407,7 +40407,7 @@ _0224D2AE:
|
|||
ldr r0, [r0, #0x34]
|
||||
bl MapObjectManager_GetFirstActiveObjectByID
|
||||
ldr r1, [sp]
|
||||
bl sub_020584AC
|
||||
bl MapObject_SetFacingDirection
|
||||
_0224D2CE:
|
||||
add r4, r4, #1
|
||||
add r5, #0x20
|
||||
|
|
|
|||
|
|
@ -53,6 +53,9 @@ static u32 MapObject_GetFlags(LocalMapObject *object);
|
|||
static void MapObject_SetFlags2(LocalMapObject *object, u32 flags);
|
||||
static u32 MapObject_GetFlags2(LocalMapObject *object);
|
||||
static void MapObject_SetMapID(LocalMapObject *object, u32 mapId);
|
||||
/*static*/ void MapObject_SetMovement(LocalMapObject *object, u32 movement);
|
||||
/*static*/ u32 MapObject_GetEventFlag(LocalMapObject *object);
|
||||
static void MapObject_SetInitialFacingDirection(LocalMapObject *object, u32 initialFacing);
|
||||
|
||||
extern BOOL MapObject_IsInUse(LocalMapObject *object);
|
||||
extern void ov05_021F2AF4(MapObjectManager *manager, void *param0);
|
||||
|
|
@ -76,7 +79,6 @@ extern void ObjectEvent_SetHeight(ObjectEvent *objectEvent, u32 height);
|
|||
extern u32 ObjectEvent_GetFlagID(ObjectEvent *objectEvent);
|
||||
extern ObjectEvent *ObjectEvent_GetById(u32 id, u32 objectEventCount, ObjectEvent *events);
|
||||
extern u8 FieldSystem_FlagCheck(FieldSystem *fieldSystem, u16 flag);
|
||||
extern void MapObject_SetSpriteID(LocalMapObject *object, u32 sprite);
|
||||
extern BOOL sub_02058934(LocalMapObject *object);
|
||||
extern MapObjectManager *MapObject_GetManager(LocalMapObject *object);
|
||||
extern BOOL sub_020587E0(MapObjectManager *manager);
|
||||
|
|
@ -84,7 +86,6 @@ extern void sub_020586B4(LocalMapObject *object);
|
|||
extern void sub_02058660(LocalMapObject *object);
|
||||
extern void sub_02058564(LocalMapObject *object);
|
||||
extern MapObjectManager *sub_02058580(LocalMapObject *object);
|
||||
extern u32 MapObject_GetFlagID(LocalMapObject *object);
|
||||
extern FieldSystem *MapObject_GetFieldSystem(LocalMapObject *object);
|
||||
extern void FieldSystem_FlagSet(FieldSystem *fieldSystem, u16 flag);
|
||||
extern void sub_02058ED8(LocalMapObject *object);
|
||||
|
|
@ -100,16 +101,6 @@ extern void sub_020586C8(LocalMapObject *object);
|
|||
extern BOOL MapObject_CheckFlag14(LocalMapObject *object);
|
||||
extern void sub_020586DC(LocalMapObject *object);
|
||||
extern void sub_02057AEC(MapObjectManager *manager, LocalMapObject *object);
|
||||
extern u32 MapObject_GetSpriteID(LocalMapObject *object);
|
||||
extern u32 MapObject_GetMovement(LocalMapObject *object);
|
||||
extern u32 MapObject_GetType(LocalMapObject *object);
|
||||
extern u32 MapObject_GetScriptID(LocalMapObject *object);
|
||||
extern u32 MapObject_GetInitialFacingDirection(LocalMapObject *object);
|
||||
extern u32 MapObject_GetFacingDirection(LocalMapObject *object);
|
||||
extern u32 MapObject_GetNextFacingDirection(LocalMapObject *object);
|
||||
extern u32 MapObject_GetParam(LocalMapObject *object, u32 param);
|
||||
extern u32 MapObject_GetXRange(LocalMapObject *object);
|
||||
extern u32 MapObject_GetYRange(LocalMapObject *object);
|
||||
extern u32 MapObject_GetInitialX(LocalMapObject *object);
|
||||
extern u32 MapObject_GetInitialHeight(LocalMapObject *object);
|
||||
extern u32 MapObject_GetInitialY(LocalMapObject *object);
|
||||
|
|
@ -122,16 +113,6 @@ extern u32 MapObject_CheckFlag29(LocalMapObject *object);
|
|||
extern u8 *sub_020585B0(LocalMapObject *object);
|
||||
extern u8 *sub_020585D8(LocalMapObject *object);
|
||||
extern BOOL sub_02059EC8(FieldSystem *fieldSystem, VecFx32 *vector, BOOL flag);
|
||||
extern void MapObject_SetMovement(LocalMapObject *object, u32 movement);
|
||||
extern void MapObject_SetType(LocalMapObject *object, u32 type);
|
||||
extern void MapObject_SetFlagID(LocalMapObject *object, u32 flagId);
|
||||
extern void MapObject_SetScriptID(LocalMapObject *object, u32 script);
|
||||
extern void MapObject_SetInitialFacingDirection(LocalMapObject *object, u32 initialDirection);
|
||||
extern void MapObject_SetFacingDirectionDirect(LocalMapObject *object, u32 direction);
|
||||
extern void MapObject_SetNextFacingDirection(LocalMapObject *object, u32 nextDirection);
|
||||
extern void MapObject_SetParam(LocalMapObject *object, u32 value, u32 param);
|
||||
extern void MapObject_SetXRange(LocalMapObject *object, u32 xRange);
|
||||
extern void MapObject_SetYRange(LocalMapObject *object, u32 yRange);
|
||||
extern void MapObject_SetInitialX(LocalMapObject *object, u32 initialX);
|
||||
extern void MapObject_SetInitialHeight(LocalMapObject *object, u32 initialHeight);
|
||||
extern void MapObject_SetInitialY(LocalMapObject *object, u32 initialY);
|
||||
|
|
@ -188,9 +169,10 @@ extern void ov05_021F2E0C(LocalMapObject *object, BOOL set);
|
|||
extern void sub_0205868C(LocalMapObject *object);
|
||||
extern void MapObject_SetFlag14(LocalMapObject *object);
|
||||
extern void *sub_02058744(LocalMapObject *object);
|
||||
extern u32 sub_0205845C(LocalMapObject *object);
|
||||
extern void sub_02058EF8(LocalMapObject *object);
|
||||
extern void ov05_021F1D8C(LocalMapObject *object);
|
||||
extern BOOL sub_0205C334(void);
|
||||
extern u32 sub_0205C340(LocalMapObject *object);
|
||||
|
||||
MapObjectManager *MapObjectManager_Init(FieldSystem *fieldSystem, u32 objectCount, u32 priority) {
|
||||
MapObjectManager *ret = MapObjectManager_New(objectCount);
|
||||
|
|
@ -339,9 +321,9 @@ void MapObject_Remove(LocalMapObject *object) {
|
|||
}
|
||||
|
||||
void MapObject_Delete(LocalMapObject *object) {
|
||||
u32 flagId = MapObject_GetFlagID(object);
|
||||
u32 eventFlag = MapObject_GetEventFlag(object);
|
||||
FieldSystem *fieldSystem = MapObject_GetFieldSystem(object);
|
||||
FieldSystem_FlagSet(fieldSystem, flagId);
|
||||
FieldSystem_FlagSet(fieldSystem, eventFlag);
|
||||
MapObject_Remove(object);
|
||||
}
|
||||
|
||||
|
|
@ -456,7 +438,7 @@ static void SavedMapObject_InitFromLocalMapObject(FieldSystem *fieldSystem, Loca
|
|||
savedObject->spriteId = MapObject_GetSpriteID(localObject);
|
||||
savedObject->movement = MapObject_GetMovement(localObject);
|
||||
savedObject->type = MapObject_GetType(localObject);
|
||||
savedObject->flagId = MapObject_GetFlagID(localObject);
|
||||
savedObject->eventFlag = MapObject_GetEventFlag(localObject);
|
||||
savedObject->script = MapObject_GetScriptID(localObject);
|
||||
savedObject->initialFacing = MapObject_GetInitialFacingDirection(localObject);
|
||||
savedObject->currentFacing = MapObject_GetFacingDirection(localObject);
|
||||
|
|
@ -495,7 +477,7 @@ static void LocalMapObject_InitFromSavedMapObject(LocalMapObject *localObject, S
|
|||
MapObject_SetSpriteID(localObject, savedObject->spriteId);
|
||||
MapObject_SetMovement(localObject, savedObject->movement);
|
||||
MapObject_SetType(localObject, savedObject->type);
|
||||
MapObject_SetFlagID(localObject, savedObject->flagId);
|
||||
MapObject_SetEventFlag(localObject, savedObject->eventFlag);
|
||||
MapObject_SetScriptID(localObject, savedObject->script);
|
||||
MapObject_SetInitialFacingDirection(localObject, savedObject->initialFacing);
|
||||
MapObject_SetFacingDirectionDirect(localObject, savedObject->currentFacing);
|
||||
|
|
@ -636,7 +618,7 @@ static void MapObject_InitFromObjectEvent(LocalMapObject *object, ObjectEvent *o
|
|||
MapObject_SetSpriteID(object, FieldSystem_ResolveObjectSpriteID(fieldSystem, ObjectEvent_GetSpriteID(objectEvent)));
|
||||
MapObject_SetMovement(object, ObjectEvent_GetMovement(objectEvent));
|
||||
MapObject_SetType(object, ObjectEvent_GetType(objectEvent));
|
||||
MapObject_SetFlagID(object, ObjectEvent_GetFlagID(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetFlagID(objectEvent));
|
||||
MapObject_SetScriptID(object, ObjectEvent_GetScriptID(objectEvent));
|
||||
MapObject_SetInitialFacingDirection(object, ObjectEvent_GetInitialFacingDirection(objectEvent));
|
||||
MapObject_SetParam(object, ObjectEvent_GetParam(objectEvent, 0), 0);
|
||||
|
|
@ -860,7 +842,7 @@ static void sub_02058214(LocalMapObject *object, ObjectEvent *objectEvent, u32 m
|
|||
MapObject_SetFlag25(object, FALSE);
|
||||
MapObject_SetMapID(object, mapNo);
|
||||
MapObject_SetScriptID(object, ObjectEvent_GetScriptID(objectEvent));
|
||||
MapObject_SetFlagID(object, ObjectEvent_GetFlagID(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetFlagID(objectEvent));
|
||||
}
|
||||
|
||||
static void sub_02058258(LocalMapObject *object, u32 mapNo, ObjectEvent *objectEvent) {
|
||||
|
|
@ -868,7 +850,7 @@ static void sub_02058258(LocalMapObject *object, u32 mapNo, ObjectEvent *objectE
|
|||
|
||||
MapObject_SetFlag25(object, TRUE);
|
||||
MapObject_SetScriptID(object, ObjectEvent_GetScriptID(objectEvent));
|
||||
MapObject_SetFlagID(object, ObjectEvent_GetFlagID_AssertScriptIDIsUnset(objectEvent));
|
||||
MapObject_SetEventFlag(object, ObjectEvent_GetFlagID_AssertScriptIDIsUnset(objectEvent));
|
||||
MapObject_SetMapID(object, mapNo);
|
||||
}
|
||||
|
||||
|
|
@ -1066,3 +1048,140 @@ static void MapObject_SetMapID(LocalMapObject *object, u32 mapId) {
|
|||
u32 MapObject_GetMapID(LocalMapObject *object) {
|
||||
return object->mapId;
|
||||
}
|
||||
|
||||
void MapObject_SetSpriteID(LocalMapObject *object, u32 spriteId) {
|
||||
object->spriteId = spriteId;
|
||||
}
|
||||
|
||||
u32 MapObject_GetSpriteID(LocalMapObject *object) {
|
||||
return object->spriteId;
|
||||
}
|
||||
|
||||
u32 sub_0205845C(LocalMapObject *object) {
|
||||
u32 spriteId = MapObject_GetSpriteID(object);
|
||||
if (sub_0205C334() == TRUE) {
|
||||
return sub_0205C340(object);
|
||||
}
|
||||
return spriteId;
|
||||
}
|
||||
|
||||
/*static*/ void MapObject_SetMovement(LocalMapObject *object, u32 movement) {
|
||||
object->movement = movement;
|
||||
}
|
||||
|
||||
u32 MapObject_GetMovement(LocalMapObject *object) {
|
||||
return object->movement;
|
||||
}
|
||||
|
||||
void MapObject_SetType(LocalMapObject *object, u32 type) {
|
||||
object->type = type;
|
||||
}
|
||||
|
||||
u32 MapObject_GetType(LocalMapObject *object) {
|
||||
return object->type;
|
||||
}
|
||||
|
||||
void MapObject_SetEventFlag(LocalMapObject *object, u32 eventFlag) {
|
||||
object->eventFlag = eventFlag;
|
||||
}
|
||||
|
||||
/*static*/ u32 MapObject_GetEventFlag(LocalMapObject *object) {
|
||||
return object->eventFlag;
|
||||
}
|
||||
|
||||
void MapObject_SetScriptID(LocalMapObject *object, u32 scriptId) {
|
||||
object->scriptId = scriptId;
|
||||
}
|
||||
|
||||
u32 MapObject_GetScriptID(LocalMapObject *object) {
|
||||
return object->scriptId;
|
||||
}
|
||||
|
||||
static void MapObject_SetInitialFacingDirection(LocalMapObject *object, u32 initialFacing) {
|
||||
object->initialFacing = initialFacing;
|
||||
}
|
||||
|
||||
u32 MapObject_GetInitialFacingDirection(LocalMapObject *object) {
|
||||
return object->initialFacing;
|
||||
}
|
||||
|
||||
void MapObject_SetFacingDirectionDirect(LocalMapObject *object, u32 direction) {
|
||||
object->previousFacing = object->currentFacing;
|
||||
object->currentFacing = direction;
|
||||
}
|
||||
|
||||
void MapObject_SetFacingDirection(LocalMapObject *object, u32 direction) {
|
||||
if (MapObject_GetFlagsBitsMask(object, MAPOBJECTFLAG_UNK7) == 0) {
|
||||
object->previousFacing = object->currentFacing;
|
||||
object->currentFacing = direction;
|
||||
}
|
||||
}
|
||||
|
||||
u32 MapObject_GetFacingDirection(LocalMapObject *object) {
|
||||
return object->currentFacing;
|
||||
}
|
||||
|
||||
u32 MapObject_GetPreviousFacingDirection(LocalMapObject *object) {
|
||||
return object->previousFacing;
|
||||
}
|
||||
|
||||
void MapObject_SetNextFacingDirection(LocalMapObject *object, u32 direction) {
|
||||
object->nextFacingBackup = object->nextFacing;
|
||||
object->nextFacing = direction;
|
||||
}
|
||||
|
||||
u32 MapObject_GetNextFacingDirection(LocalMapObject *object) {
|
||||
return object->nextFacing;
|
||||
}
|
||||
|
||||
void MapObject_SetOrQueueFacing(LocalMapObject *object, u32 direction) {
|
||||
MapObject_SetFacingDirection(object, direction);
|
||||
MapObject_SetNextFacingDirection(object, direction);
|
||||
}
|
||||
|
||||
void MapObject_SetParam(LocalMapObject *object, s32 value, u32 param) {
|
||||
switch (param) {
|
||||
case 0:
|
||||
object->param[0] = value;
|
||||
return;
|
||||
case 1:
|
||||
object->param[1] = value;
|
||||
return;
|
||||
case 2:
|
||||
object->param[2] = value;
|
||||
return;
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
s32 MapObject_GetParam(LocalMapObject *object, u32 param) {
|
||||
switch (param) {
|
||||
case 0:
|
||||
return object->param[0];
|
||||
case 1:
|
||||
return object->param[1];
|
||||
case 2:
|
||||
return object->param[2];
|
||||
default:
|
||||
GF_ASSERT(FALSE);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
void MapObject_SetXRange(LocalMapObject *object, s32 xRange) {
|
||||
object->xRange = xRange;
|
||||
}
|
||||
|
||||
s32 MapObject_GetXRange(LocalMapObject *object) {
|
||||
return object->xRange;
|
||||
}
|
||||
|
||||
void MapObject_SetYRange(LocalMapObject *object, s32 yRange) {
|
||||
object->yRange = yRange;
|
||||
}
|
||||
|
||||
s32 MapObject_GetYRange(LocalMapObject *object) {
|
||||
return object->yRange;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -66,11 +66,9 @@ extern void ov05_021E2C58(ScriptContext *ctx, u16 typ, u16 id, u16 word1, s16 wo
|
|||
extern MessageFormat *ov06_02244210(SaveData *sav, u16 poke, u16 sex, u8 flag, u8 *unk);
|
||||
extern void ov05_021E2CBC(ScriptContext *ctx, MessageFormat *messageFormat, u8 param2, u32 param3);
|
||||
extern void ov05_021E2BB8(void *param0, ScriptContext *ctx);
|
||||
extern u32 MapObject_GetType(LocalMapObject *lastInteracted);
|
||||
extern BOOL sub_02030F40(void);
|
||||
extern void sub_02055304(PlayerAvatar *playerAvatar, u32 param1);
|
||||
extern void sub_02039460(FieldSystem *arg);
|
||||
extern u32 MapObject_GetParam(LocalMapObject *event, u32 param1);
|
||||
extern void ov05_021E8128(u32 param0, u8 type, u16 map);
|
||||
extern void ov05_021E8130(u32 param0, u32 param1);
|
||||
extern void ov05_021E8158(FieldSystem *fieldSystem);
|
||||
|
|
@ -118,7 +116,6 @@ extern u16 GetPlayerYCoord(PlayerAvatar *playerAvatar);
|
|||
extern void sub_02058BB4(LocalMapObject *event, VecFx32 *param1);
|
||||
extern void sub_02058994(LocalMapObject *event, u8 value);
|
||||
extern void sub_02058E90(LocalMapObject *event, u16 movement);
|
||||
extern u16 MapObject_GetMovement(LocalMapObject *event);
|
||||
extern void sub_02058EB0(LocalMapObject *event, u32 param1);
|
||||
extern u16 sub_02029E0C(SealCase *sealCase);
|
||||
extern u16 SealCase_CountSealOccurrenceAnywhere(SealCase *sealCase, u16 sealId);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ typedef struct SavedMapObject {
|
|||
u16 mapId;
|
||||
u16 spriteId;
|
||||
u16 type;
|
||||
u16 flagId;
|
||||
u16 eventFlag;
|
||||
u16 script;
|
||||
s16 param[3];
|
||||
s16 initialX;
|
||||
|
|
@ -54,7 +54,20 @@ struct LocalMapObject {
|
|||
u32 flags2;
|
||||
u32 id;
|
||||
u32 mapId;
|
||||
u8 padding[0x118]; // todo verify size
|
||||
u32 spriteId;
|
||||
u32 movement;
|
||||
u32 type;
|
||||
u32 eventFlag;
|
||||
u32 scriptId;
|
||||
u32 initialFacing;
|
||||
u32 currentFacing;
|
||||
u32 nextFacing;
|
||||
u32 previousFacing;
|
||||
u32 nextFacingBackup;
|
||||
s32 param[3];
|
||||
s32 xRange;
|
||||
s32 yRange;
|
||||
u8 padding[0xDC]; // todo verify size
|
||||
};
|
||||
|
||||
typedef struct ObjectEvent {
|
||||
|
|
@ -170,5 +183,28 @@ BOOL MapObject_TestFlagsBits(LocalMapObject *object, MapObjectFlagBits bits);
|
|||
void MapObject_SetID(LocalMapObject *object, u32 id);
|
||||
u32 MapObject_GetID(LocalMapObject *object);
|
||||
u32 MapObject_GetMapID(LocalMapObject *object);
|
||||
void MapObject_SetSpriteID(LocalMapObject *object, u32 spriteId);
|
||||
u32 MapObject_GetSpriteID(LocalMapObject *object);
|
||||
u32 sub_0205845C(LocalMapObject *object);
|
||||
u32 MapObject_GetMovement(LocalMapObject *object);
|
||||
void MapObject_SetType(LocalMapObject *object, u32 type);
|
||||
u32 MapObject_GetType(LocalMapObject *object);
|
||||
void MapObject_SetEventFlag(LocalMapObject *object, u32 eventFlag);
|
||||
void MapObject_SetScriptID(LocalMapObject *object, u32 scriptId);
|
||||
u32 MapObject_GetScriptID(LocalMapObject *object);
|
||||
u32 MapObject_GetInitialFacingDirection(LocalMapObject *object);
|
||||
void MapObject_SetFacingDirectionDirect(LocalMapObject *object, u32 direction);
|
||||
void MapObject_SetFacingDirection(LocalMapObject *object, u32 direction);
|
||||
u32 MapObject_GetFacingDirection(LocalMapObject *object);
|
||||
u32 MapObject_GetPreviousFacingDirection(LocalMapObject *object);
|
||||
void MapObject_SetNextFacingDirection(LocalMapObject *object, u32 direction);
|
||||
u32 MapObject_GetNextFacingDirection(LocalMapObject *object);
|
||||
void MapObject_SetOrQueueFacing(LocalMapObject *object, u32 direction);
|
||||
void MapObject_SetParam(LocalMapObject *object, s32 value, u32 param);
|
||||
s32 MapObject_GetParam(LocalMapObject *object, u32 param);
|
||||
void MapObject_SetXRange(LocalMapObject *object, s32 xRange);
|
||||
s32 MapObject_GetXRange(LocalMapObject *object);
|
||||
void MapObject_SetYRange(LocalMapObject *object, s32 yRange);
|
||||
s32 MapObject_GetYRange(LocalMapObject *object);
|
||||
|
||||
#endif // POKEDIAMOND_MAP_OBJECT_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user