mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-27 04:04:17 +01:00
GetFieldObjectGraphicsInfo
This commit is contained in:
parent
823f8d6a0c
commit
e0b2e6cdbf
@ -5,46 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start GetFieldObjectGraphicsInfo
|
|
||||||
@ FieldObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId)
|
|
||||||
GetFieldObjectGraphicsInfo: @ 808E694
|
|
||||||
push {lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r1, r0, 24
|
|
||||||
cmp r1, 0xEF
|
|
||||||
bls _0808E6AC
|
|
||||||
adds r0, r1, 0
|
|
||||||
adds r0, 0x10
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
bl VarGetFieldObjectGraphicsId
|
|
||||||
adds r1, r0, 0
|
|
||||||
_0808E6AC:
|
|
||||||
cmp r1, 0x45
|
|
||||||
bne _0808E6C4
|
|
||||||
bl sub_81201C8
|
|
||||||
lsls r0, 24
|
|
||||||
ldr r1, =gMauvilleOldManGraphicsInfoPointers
|
|
||||||
lsrs r0, 22
|
|
||||||
adds r0, r1
|
|
||||||
ldr r0, [r0]
|
|
||||||
b _0808E6D2
|
|
||||||
.pool
|
|
||||||
_0808E6C4:
|
|
||||||
cmp r1, 0xEE
|
|
||||||
bls _0808E6CA
|
|
||||||
movs r1, 0x5
|
|
||||||
_0808E6CA:
|
|
||||||
ldr r0, =gFieldObjectGraphicsInfoPointers
|
|
||||||
lsls r1, 2
|
|
||||||
adds r1, r0
|
|
||||||
ldr r0, [r1]
|
|
||||||
_0808E6D2:
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end GetFieldObjectGraphicsInfo
|
|
||||||
|
|
||||||
thumb_func_start FieldObjectHandleDynamicGraphicsId
|
thumb_func_start FieldObjectHandleDynamicGraphicsId
|
||||||
@ void FieldObjectHandleDynamicGraphicsId(struct npc_state *fieldObject)
|
@ void FieldObjectHandleDynamicGraphicsId(struct npc_state *fieldObject)
|
||||||
FieldObjectHandleDynamicGraphicsId: @ 808E6DC
|
FieldObjectHandleDynamicGraphicsId: @ 808E6DC
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
#ifndef POKEEMERALD_FIELD_MAP_OBJ_H
|
#ifndef POKEEMERALD_FIELD_MAP_OBJ_H
|
||||||
#define POKEEMERALD_FIELD_MAP_OBJ_H
|
#define POKEEMERALD_FIELD_MAP_OBJ_H
|
||||||
|
|
||||||
|
#define NUM_OBJECT_GRAPHICS_INFO 239
|
||||||
|
#define SPRITE_VAR 240
|
||||||
|
|
||||||
// Exported struct declarations
|
// Exported struct declarations
|
||||||
|
|
||||||
// Exported RAM declarations
|
// Exported RAM declarations
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Exported ROM declarations
|
// Exported ROM declarations
|
||||||
|
|
||||||
void sub_808D438(void);
|
void sub_808D438(void);
|
||||||
|
10
include/mauville_old_man.h
Normal file
10
include/mauville_old_man.h
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
//
|
||||||
|
// Created by Scott Norton on 9/8/17.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef POKEEMERALD_MAUVILLE_OLD_MAN_H
|
||||||
|
#define POKEEMERALD_MAUVILLE_OLD_MAN_H
|
||||||
|
|
||||||
|
u8 sub_81201C8(void);
|
||||||
|
|
||||||
|
#endif //POKEEMERALD_MAUVILLE_OLD_MAN_H
|
@ -11,6 +11,7 @@
|
|||||||
#include "rom_81BE66C.h"
|
#include "rom_81BE66C.h"
|
||||||
#include "field_ground_effect.h"
|
#include "field_ground_effect.h"
|
||||||
#include "map_obj_8097404.h"
|
#include "map_obj_8097404.h"
|
||||||
|
#include "mauville_old_man.h"
|
||||||
#include "field_effect_helpers.h"
|
#include "field_effect_helpers.h"
|
||||||
#include "field_map_obj.h"
|
#include "field_map_obj.h"
|
||||||
|
|
||||||
@ -45,6 +46,8 @@ static void SetPlayerAvatarFieldObjectIdAndObjectId(u8, u8);
|
|||||||
void (*const gUnknown_08505438[NUM_FIELD_MAP_OBJECT_TEMPLATES])(struct Sprite *);
|
void (*const gUnknown_08505438[NUM_FIELD_MAP_OBJECT_TEMPLATES])(struct Sprite *);
|
||||||
const u8 gUnknown_0850557C[NUM_FIELD_MAP_OBJECT_TEMPLATES];
|
const u8 gUnknown_0850557C[NUM_FIELD_MAP_OBJECT_TEMPLATES];
|
||||||
const u8 gUnknown_085055CD[NUM_FIELD_MAP_OBJECT_TEMPLATES];
|
const u8 gUnknown_085055CD[NUM_FIELD_MAP_OBJECT_TEMPLATES];
|
||||||
|
const struct MapObjectGraphicsInfo *const gMauvilleOldManGraphicsInfoPointers[7];
|
||||||
|
const struct MapObjectGraphicsInfo *const gFieldObjectGraphicsInfoPointers[0xEF];
|
||||||
|
|
||||||
// Code
|
// Code
|
||||||
|
|
||||||
@ -980,7 +983,7 @@ void PlayerObjectTurn(struct PlayerAvatar *playerAvatar, u8 direction)
|
|||||||
FieldObjectTurn(&gMapObjects[playerAvatar->mapObjectId], direction);
|
FieldObjectTurn(&gMapObjects[playerAvatar->mapObjectId], direction);
|
||||||
}
|
}
|
||||||
|
|
||||||
void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite)
|
/*static*/ void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite)
|
||||||
{
|
{
|
||||||
u8 berryStage;
|
u8 berryStage;
|
||||||
u8 berryId;
|
u8 berryId;
|
||||||
@ -1004,3 +1007,23 @@ void get_berry_tree_graphics(struct MapObject *mapObject, struct Sprite *sprite)
|
|||||||
StartSpriteAnim(sprite, berryStage);
|
StartSpriteAnim(sprite, berryStage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8 graphicsId)
|
||||||
|
{
|
||||||
|
u8 bard;
|
||||||
|
|
||||||
|
if (graphicsId >= SPRITE_VAR)
|
||||||
|
{
|
||||||
|
graphicsId = VarGetFieldObjectGraphicsId(graphicsId - SPRITE_VAR);
|
||||||
|
}
|
||||||
|
if (graphicsId == 0x45)
|
||||||
|
{
|
||||||
|
bard = sub_81201C8();
|
||||||
|
return gMauvilleOldManGraphicsInfoPointers[bard];
|
||||||
|
}
|
||||||
|
if (graphicsId >= NUM_OBJECT_GRAPHICS_INFO)
|
||||||
|
{
|
||||||
|
graphicsId = 0x05; // LittleBoy1
|
||||||
|
}
|
||||||
|
return gFieldObjectGraphicsInfoPointers[graphicsId];
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user