diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/fieldmap.h | 67 | ||||
-rw-r--r-- | include/global.h | 6 | ||||
-rw-r--r-- | include/sprite.h | 7 |
3 files changed, 79 insertions, 1 deletions
diff --git a/include/fieldmap.h b/include/fieldmap.h index 09ad2ae07..503b4b931 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -35,11 +35,76 @@ struct MapHeader struct MapObject { u32 active:1; - u8 filler[0x20]; + u32 mapobj_bit_1:1; + u32 mapobj_bit_2:1; + u32 mapobj_bit_3:1; + u32 mapobj_bit_4:1; + u32 mapobj_bit_5:1; + u32 mapobj_bit_6:1; + u32 mapobj_bit_7:1; + u32 mapobj_bit_8:1; + u32 mapobj_bit_9:1; + u32 mapobj_bit_10:1; + u32 mapobj_bit_11:1; + u32 mapobj_bit_12:1; + u32 mapobj_bit_13:1; + u32 mapobj_bit_14:1; + u32 mapobj_bit_15:1; + u32 mapobj_bit_16:1; + u32 mapobj_bit_17:1; + u32 mapobj_bit_18:1; + u32 mapobj_bit_19:1; + u32 mapobj_bit_20:1; + u32 mapobj_bit_21:1; + u32 mapobj_bit_22:1; + u32 mapobj_bit_23:1; + u32 mapobj_bit_24:1; + u32 mapobj_bit_25:1; + u32 mapobj_bit_26:1; + u32 mapobj_bit_27:1; + u32 mapobj_bit_28:1; + u32 mapobj_bit_29:1; + u32 mapobj_bit_30:1; + u32 mapobj_bit_31:1; + u8 spriteId; + u8 graphicsId; + u8 filler[0x1E]; +}; + +struct MapObjectGraphicsInfo +{ + u16 tileTag; + u16 paletteTag1; + u16 paletteTag2; + u16 size; + s16 width; + s16 height; + u8 paletteSlot:4; + u8 shadowSize:2; + u8 inanimate:1; + u8 disableReflectionPaletteLoad:1; + u8 tracks; + struct OamData *oam; + struct SubspriteTable *subspriteTables; + union AnimCmd **anims; + struct SpriteFrameImage *images; + union AffineAnimCmd **affineAnims; +}; + +struct PlayerAvatar +{ + u8 bitfield; + u8 bike; + u8 running2; + u8 running1; + u8 spriteId; + u8 mapObjectId; + // TODO: rest of struct }; extern struct MapObject gMapObjects[]; extern u8 gSelectedMapObject; extern struct MapHeader gMapHeader; +extern struct PlayerAvatar gPlayerAvatar; #endif // GUARD_FIELDMAP_H diff --git a/include/global.h b/include/global.h index 3acdd5c62..437f87ecb 100644 --- a/include/global.h +++ b/include/global.h @@ -52,6 +52,12 @@ struct Coords16 s16 y; }; +struct UCoords16 +{ + u16 x; + u16 y; +}; + struct SecretBaseRecord { u8 sbr_field_0; // ID? diff --git a/include/sprite.h b/include/sprite.h index 9b800a9ea..fe55d18e8 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -1,6 +1,8 @@ #ifndef GUARD_SPRITE_H #define GUARD_SPRITE_H +#define MAX_SPRITES 64 + struct SpriteSheet { u8 *data; @@ -183,6 +185,11 @@ struct Sprite u8 subpriority; }; +extern s16 gSpriteCoordOffsetX; +extern s16 gSpriteCoordOffsetY; + +extern struct Sprite gSprites[]; + void ResetSpriteData(void); void AnimateSprites(void); void BuildOamBuffer(void); |