merge with master and fix conflicts
This commit is contained in:
13
include/battle_dome_cards.h
Normal file
13
include/battle_dome_cards.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#ifndef GUARD_BATTLE_DOME_CARDS_H
|
||||
#define GUARD_BATTLE_DOME_CARDS_H
|
||||
|
||||
bool16 dp13_810BB8C(void);
|
||||
u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 sub_818D820(u16 spriteId);
|
||||
u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
|
||||
u16 sub_818D8F0(u16 spriteId);
|
||||
u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
|
||||
u8 sub_818D97C(u8 a0, u8 a1);
|
||||
|
||||
#endif //GUARD_BATTLE_DOME_CARDS_H
|
||||
@@ -11,6 +11,12 @@ enum
|
||||
BERRY_FIRMNESS_SUPER_HARD,
|
||||
};
|
||||
|
||||
#define NUM_BERRIES 44
|
||||
|
||||
extern const u8 *const gBerryTreeFieldObjectGraphicsIdTablePointers[NUM_BERRIES];
|
||||
extern const struct SpriteFrameImage *const gBerryTreePicTablePointers[NUM_BERRIES];
|
||||
extern const u8 *const gBerryTreePaletteSlotTablePointers[NUM_BERRIES];
|
||||
|
||||
void ClearEnigmaBerries(void);
|
||||
void SetEnigmaBerry(u8 *src);
|
||||
u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry);
|
||||
|
||||
@@ -29,5 +29,8 @@ enum
|
||||
};
|
||||
|
||||
void InitEasyChatPhrases(void);
|
||||
void easy_chat_input_maybe(void);
|
||||
void CopyEasyChatWord(u8 *, u16);
|
||||
bool32 sub_811F8D8(u16);
|
||||
|
||||
#endif // GUARD_EASYCHAT_H
|
||||
|
||||
11
include/event_scripts.h
Executable file
11
include/event_scripts.h
Executable file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Created by scott on 9/12/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_EVENT_SCRIPTS_H
|
||||
#define GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
extern const u8 gUnknown_082766A2[];
|
||||
extern const u8 gUnknown_082766A6[];
|
||||
|
||||
#endif //GUARD_EVENT_SCRIPTS_H
|
||||
25
include/field_camera.h
Normal file
25
include/field_camera.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef GUARD_FIELD_CAMERA_H
|
||||
#define GUARD_FIELD_CAMERA_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct CameraObject
|
||||
{
|
||||
void (*callback)(struct CameraObject *);
|
||||
u32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 x;
|
||||
s32 y;
|
||||
};
|
||||
|
||||
extern struct CameraObject gUnknown_03005DD0;
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
extern u16 gUnknown_03005DEC;
|
||||
extern u16 gUnknown_03005DE8;
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
#endif //GUARD_FIELD_CAMERA_H
|
||||
80
include/field_effect.h
Normal file
80
include/field_effect.h
Normal file
@@ -0,0 +1,80 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/15/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_EFFECTS_H
|
||||
#define GUARD_FIELD_EFFECTS_H
|
||||
|
||||
enum FieldEffectScriptIdx
|
||||
{
|
||||
FLDEFF_EXCLAMATION_MARK_ICON_1,
|
||||
FLDEFF_USE_CUT_ON_GRASS,
|
||||
FLDEFF_USE_CUT_ON_TREE,
|
||||
FLDEFF_SHADOW,
|
||||
FLDEFF_TALL_GRASS,
|
||||
FLDEFF_RIPPLE,
|
||||
FLDEFF_FIELD_MOVE_SHOW_MON,
|
||||
FLDEFF_ASH,
|
||||
FLDEFF_SURF_BLOB,
|
||||
FLDEFF_USE_SURF,
|
||||
FLDEFF_DUST,
|
||||
FLDEFF_USE_SECRET_POWER_CAVE,
|
||||
FLDEFF_JUMP_TALL_GRASS,
|
||||
FLDEFF_SAND_FOOTPRINTS,
|
||||
FLDEFF_JUMP_BIG_SPLASH,
|
||||
FLDEFF_SPLASH,
|
||||
FLDEFF_JUMP_SMALL_SPLASH,
|
||||
FLDEFF_LONG_GRASS,
|
||||
FLDEFF_JUMP_LONG_GRASS,
|
||||
FLDEFF_UNKNOWN_19,
|
||||
FLDEFF_UNKNOWN_20,
|
||||
FLDEFF_UNKNOWN_21,
|
||||
FLDEFF_UNKNOWN_22,
|
||||
FLDEFF_BERRY_TREE_GROWTH_SPARKLE,
|
||||
FLDEFF_DEEP_SAND_FOOTPRINTS,
|
||||
FLDEFF_POKECENTER_HEAL,
|
||||
FLDEFF_USE_SECRET_POWER_TREE,
|
||||
FLDEFF_USE_SECRET_POWER_SHRUB,
|
||||
FLDEFF_TREE_DISGUISE,
|
||||
FLDEFF_MOUNTAIN_DISGUISE,
|
||||
FLDEFF_NPCFLY_OUT,
|
||||
FLDEFF_USE_FLY,
|
||||
FLDEFF_FLY_IN,
|
||||
FLDEFF_EXCLAMATION_MARK_ICON_2,
|
||||
FLDEFF_FEET_IN_FLOWING_WATER,
|
||||
FLDEFF_BIKE_TIRE_TRACKS,
|
||||
FLDEFF_SAND_DISGUISE,
|
||||
FLDEFF_USE_ROCK_SMASH,
|
||||
FLDEFF_USE_DIG,
|
||||
FLDEFF_SAND_PILE,
|
||||
FLDEFF_USE_STRENGTH,
|
||||
FLDEFF_SHORT_GRASS,
|
||||
FLDEFF_HOT_SPRINGS_WATER,
|
||||
FLDEFF_USE_WATERFALL,
|
||||
FLDEFF_USE_DIVE,
|
||||
FLDEFF_POKEBALL,
|
||||
FLDEFF_HEART_ICON,
|
||||
FLDEFF_NOP_47,
|
||||
FLDEFF_NOP_48,
|
||||
FLDEFF_POP_OUT_OF_ASH,
|
||||
FLDEFF_LAVARIDGE_GYM_WARP,
|
||||
FLDEFF_SWEET_SCENT,
|
||||
FLDEFF_SAND_PILLAR,
|
||||
FLDEFF_BUBBLES,
|
||||
FLDEFF_SPARKLE,
|
||||
FLDEFF_SECRET_POWER_CAVE,
|
||||
FLDEFF_SECRET_POWER_TREE,
|
||||
FLDEFF_SECRET_POWER_SHRUB,
|
||||
FLDEFF_CUT_GRASS,
|
||||
FLDEFF_FIELD_MOVE_SHOW_MON_INIT,
|
||||
FLDEFF_USE_FLY_ANCIENT_TOMB,
|
||||
FLDEFF_PCTURN_ON,
|
||||
FLDEFF_HALL_OF_FAME_RECORD,
|
||||
FLDEFF_USE_TELEPORT
|
||||
};
|
||||
|
||||
extern u32 gFieldEffectSpawnParams[8];
|
||||
|
||||
u8 FieldEffectStart(u8);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
16
include/field_effect_helpers.h
Normal file
16
include/field_effect_helpers.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// Created by scott on 9/7/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_EFFECT_HELPERS_H
|
||||
#define GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 sub_8154228(void);
|
||||
bool8 sub_8155DA0(struct MapObject *);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECT_HELPERS_H
|
||||
22
include/field_ground_effect.h
Normal file
22
include/field_ground_effect.h
Normal file
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// Created by scott on 9/6/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_GROUND_EFFECT_H
|
||||
#define GUARD_FIELD_GROUND_EFFECT_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
|
||||
void InitObjectPriorityByZCoord(struct Sprite *, u8);
|
||||
bool8 IsZCoordMismatchAt(u8, s16, s16);
|
||||
bool8 AreZCoordsCompatible(u8, u8);
|
||||
void FieldObjectUpdateSubpriority(struct MapObject *, struct Sprite *);
|
||||
void DoGroundEffects_OnSpawn(struct MapObject *, struct Sprite *);
|
||||
void DoGroundEffects_OnBeginStep(struct MapObject *, struct Sprite *);
|
||||
void DoGroundEffects_OnFinishStep(struct MapObject *, struct Sprite *);
|
||||
|
||||
#endif //GUARD_FIELD_GROUND_EFFECT_H
|
||||
79
include/field_map_obj.h
Executable file
79
include/field_map_obj.h
Executable file
@@ -0,0 +1,79 @@
|
||||
#ifndef GUARD_FIELD_MAP_OBJ_H
|
||||
#define GUARD_FIELD_MAP_OBJ_H
|
||||
|
||||
#define NUM_OBJECT_GRAPHICS_INFO 239
|
||||
#define SPRITE_VAR 240
|
||||
|
||||
// Exported struct declarations
|
||||
|
||||
enum SpinnerRunnerFollowPatterns {
|
||||
RUNFOLLOW_ANY,
|
||||
RUNFOLLOW_NORTH_SOUTH,
|
||||
RUNFOLLOW_EAST_WEST,
|
||||
RUNFOLLOW_NORTH_WEST,
|
||||
RUNFOLLOW_NORTH_EAST,
|
||||
RUNFOLLOW_SOUTH_WEST,
|
||||
RUNFOLLOW_SOUTH_EAST,
|
||||
RUNFOLLOW_NORTH_SOUTH_WEST,
|
||||
RUNFOLLOW_NORTH_SOUTH_EAST,
|
||||
RUNFOLLOW_NORTH_EAST_WEST,
|
||||
RUNFOLLOW_SOUTH_EAST_WEST
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
|
||||
void sub_808D438(void);
|
||||
u8 GetFieldObjectIdByLocalIdAndMap(u8, u8, u8);
|
||||
bool8 TryGetFieldObjectIdByLocalIdAndMap(u8, u8, u8, u8 *);
|
||||
u8 GetFieldObjectIdByXY(s16, s16);
|
||||
void FieldObjectSetDirection(struct MapObject *, u8);
|
||||
u8 sub_808D4F4(void);
|
||||
void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
|
||||
void npc_load_two_palettes__no_record(u16, u8);
|
||||
void npc_load_two_palettes__and_record(u16, u8);
|
||||
void pal_patch_for_npc(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
u8 FieldObjectDirectionToImageAnimId(u8);
|
||||
void sub_80930E0(s16 *, s16 *, s16, s16);
|
||||
void FieldObjectClearAnim(struct MapObject *);
|
||||
void FieldObjectClearAnimIfSpecialAnimActive(struct MapObject *);
|
||||
void SpawnFieldObjectsInView(s16, s16);
|
||||
u8 sprite_new(u8, u8, s16, s16, u8, u8);
|
||||
u8 AddPseudoFieldObject(u16, void (*)(struct Sprite *), s16, s16, u8);
|
||||
u8 show_sprite(u8, u8, u8);
|
||||
u8 SpawnSpecialFieldObjectParametrized(u8, u8, u8, s16, s16, u8);
|
||||
u8 SpawnSpecialFieldObject(struct MapObjectTemplate *);
|
||||
void sub_8093038(s16, s16, s16 *, s16 *);
|
||||
void CameraObjectReset1(void);
|
||||
void FieldObjectSetGraphicsId(struct MapObject *, u8);
|
||||
void FieldObjectTurn(struct MapObject *, u8);
|
||||
void FieldObjectTurnByLocalIdAndMap(u8, u8, u8, u8);
|
||||
const struct MapObjectGraphicsInfo *GetFieldObjectGraphicsInfo(u8);
|
||||
void npc_by_local_id_and_map_set_field_1_bit_x20(u8, u8, u8, u8);
|
||||
void gpu_pal_allocator_reset__manage_upper_four(void);
|
||||
void sub_808E82C(u8, u8, u8, s16, s16);
|
||||
void sub_808E7E4(u8, u8, u8);
|
||||
void sub_808E78C(u8, u8, u8, u8);
|
||||
void sub_808E75C(s16, s16);
|
||||
void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *);
|
||||
void npc_coords_shift(struct MapObject *, s16, s16);
|
||||
void sub_808EB08(struct MapObject *, s16, s16);
|
||||
void sub_808F254(u8, u8, u8);
|
||||
void FieldObjectStep(struct MapObject *, struct Sprite *, bool8(struct MapObject *, struct Sprite *));
|
||||
u8 GetOppositeDirection(u8);
|
||||
u8 GetStepInPlaceDelay4AnimId(u32);
|
||||
u8 GetStepInPlaceDelay8AnimId(u32);
|
||||
u8 GetStepInPlaceDelay16AnimId(u32);
|
||||
u8 GetStepInPlaceDelay32AnimId(u32);
|
||||
u8 npc_block_way(struct MapObject *, s16, s16, u32);
|
||||
void MoveCoords(u8, s16 *, s16 *);
|
||||
bool8 FieldObjectIsSpecialAnimActive(struct MapObject *);
|
||||
|
||||
// Exported data declarations
|
||||
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
|
||||
#endif //GUARD_FIELD_MAP_OBJ_H
|
||||
17
include/field_player_avatar.h
Normal file
17
include/field_player_avatar.h
Normal file
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/6/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELD_PLAYER_AVATAR_H
|
||||
#define GUARD_FIELD_PLAYER_AVATAR_H
|
||||
|
||||
void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
bool8 TestPlayerAvatarFlags(u8);
|
||||
void PlayerGetDestCoords(s16 *, s16 *);
|
||||
u8 player_get_direction_lower_nybble(void);
|
||||
u8 player_get_direction_upper_nybble(void);
|
||||
u8 player_get_x22(void);
|
||||
|
||||
#endif //GUARD_FIELD_PLAYER_AVATAR_H
|
||||
@@ -1,6 +1,19 @@
|
||||
//
|
||||
// Created by scott on 9/16/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_FIELDMAP_H
|
||||
#define GUARD_FIELDMAP_H
|
||||
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
// Exported type declarations
|
||||
|
||||
#endif // GUARD_FIELDMAP_H
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 MapGridGetMetatileBehaviorAt(s16, s16);
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
bool8 MapGridIsImpassableAt(s16, s16);
|
||||
s32 GetMapBorderIdAt(s16, s16);
|
||||
bool32 CanCameraMoveInDirection(u8);
|
||||
|
||||
#endif //GUARD_FIELDMAP_H
|
||||
|
||||
@@ -8,19 +8,19 @@
|
||||
|
||||
struct MultiBootParam
|
||||
{
|
||||
u32 system_work[5];
|
||||
u8 handshake_data;
|
||||
u8 padding;
|
||||
u16 handshake_timeout;
|
||||
u8 probe_count;
|
||||
u8 client_data[MULTIBOOT_NCHILD];
|
||||
u8 palette_data;
|
||||
u8 response_bit;
|
||||
u8 client_bit;
|
||||
u8 reserved1;
|
||||
u8 *boot_srcp;
|
||||
u8 *boot_endp;
|
||||
u8 *masterp;
|
||||
u32 system_work[5]; // 00
|
||||
u8 handshake_data; // 14
|
||||
u8 padding; // 15
|
||||
u16 handshake_timeout; // 16
|
||||
u8 probe_count; // 18
|
||||
u8 client_data[MULTIBOOT_NCHILD]; // 19
|
||||
u8 palette_data; // 1c
|
||||
u8 response_bit; // 1d
|
||||
u8 client_bit; // 1e
|
||||
u8 reserved1; // 1f
|
||||
const u8 *boot_srcp; // 20
|
||||
const u8 *boot_endp; // 24
|
||||
const u8 *masterp;
|
||||
u8 *reserved2[MULTIBOOT_NCHILD];
|
||||
u32 system_work2[4];
|
||||
u8 sendflag;
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef GUARD_GLOBAL_FIELDMAP_H
|
||||
#define GUARD_GLOBAL_FIELDMAP_H
|
||||
|
||||
#define NUM_FIELD_OBJECTS 16
|
||||
|
||||
enum
|
||||
{
|
||||
CONNECTION_SOUTH = 1,
|
||||
@@ -84,7 +86,7 @@ struct MapObjectTemplate
|
||||
///*0x0B*/ u8 fillerB[1];
|
||||
/*0x0C*/ u16 unkC;
|
||||
/*0x0E*/ u16 unkE;
|
||||
/*0x10*/ u8 *script;
|
||||
/*0x10*/ const u8 *script;
|
||||
/*0x14*/ u16 flagId;
|
||||
/*0x16*/ u8 filler_16[2];
|
||||
}; /*size = 0x18*/
|
||||
@@ -224,7 +226,13 @@ struct MapObject
|
||||
/*0x14*/ struct Coords16 coords3;
|
||||
/*0x18*/ u8 mapobj_unk_18:4; //current direction?
|
||||
/*0x18*/ u8 placeholder18:4;
|
||||
/*0x19*/ u8 mapobj_unk_19;
|
||||
/*0x19*/ union __attribute__((packed)) {
|
||||
u8 as_byte;
|
||||
struct __attribute__((packed)) {
|
||||
u8 x:4;
|
||||
u8 y:4;
|
||||
} __attribute__((aligned (1))) as_nybbles;
|
||||
} __attribute__((aligned (1))) range;
|
||||
/*0x1A*/ u8 mapobj_unk_1A;
|
||||
/*0x1B*/ u8 mapobj_unk_1B;
|
||||
/*0x1C*/ u8 mapobj_unk_1C;
|
||||
@@ -237,68 +245,6 @@ struct MapObject
|
||||
/*size = 0x24*/
|
||||
};
|
||||
|
||||
// THIS IS NEEDED TO MAKE TRAINER_SEE.C MATCH, PLEASE DO NOT REMOVE UNLESS YOU FIX CHECKPATHBETWEENTRAINERANDPLAYER
|
||||
struct MapObject2
|
||||
{
|
||||
/*0x00*/ u32 active:1;
|
||||
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;
|
||||
/*0x01*/ 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;
|
||||
/*0x02*/ 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;
|
||||
/*0x03*/ 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;
|
||||
/*0x04*/ u8 spriteId;
|
||||
/*0x05*/ u8 graphicsId;
|
||||
/*0x06*/ u8 animPattern;
|
||||
/*0x07*/ u8 trainerType;
|
||||
/*0x08*/ u8 localId;
|
||||
/*0x09*/ u8 mapNum;
|
||||
/*0x0A*/ u8 mapGroup;
|
||||
/*0x0B*/ u8 mapobj_unk_0B_0:4;
|
||||
u8 elevation:4;
|
||||
/*0x0C*/ struct Coords16 coords1;
|
||||
/*0x10*/ struct Coords16 coords2;
|
||||
/*0x14*/ struct Coords16 coords3;
|
||||
/*0x18*/ u8 mapobj_unk_18:4;
|
||||
/*0x18*/ u8 placeholder18:4;
|
||||
/*0x19*/ u8 mapobj_unk_19:4;
|
||||
/*0x19*/ u8 mapobj_unk_19b:4;
|
||||
/*0x1A*/ u8 mapobj_unk_1A;
|
||||
/*0x1B*/ u8 mapobj_unk_1B;
|
||||
/*0x1C*/ u8 mapobj_unk_1C;
|
||||
/*0x1D*/ u8 trainerRange_berryTreeId;
|
||||
/*0x1E*/ u8 mapobj_unk_1E;
|
||||
/*0x1F*/ u8 mapobj_unk_1F;
|
||||
/*0x20*/ u8 mapobj_unk_20;
|
||||
/*0x21*/ u8 mapobj_unk_21;
|
||||
/*size = 0x24*/
|
||||
};
|
||||
|
||||
struct MapObjectGraphicsInfo
|
||||
{
|
||||
/*0x00*/ u16 tileTag;
|
||||
@@ -376,14 +322,15 @@ struct PlayerAvatar /* 0x202E858 */
|
||||
|
||||
struct Camera
|
||||
{
|
||||
bool8 field_0:1;
|
||||
bool8 active:1;
|
||||
s32 x;
|
||||
s32 y;
|
||||
};
|
||||
|
||||
extern struct MapObject gMapObjects[];
|
||||
extern struct MapObject gMapObjects[NUM_FIELD_OBJECTS];
|
||||
extern u8 gSelectedMapObject;
|
||||
extern struct MapHeader gMapHeader;
|
||||
extern struct PlayerAvatar gPlayerAvatar;
|
||||
extern struct Camera gCamera;
|
||||
|
||||
#endif // GUARD_GLOBAL_FIELDMAP_H
|
||||
|
||||
@@ -9,9 +9,23 @@
|
||||
|
||||
// to help in decompiling
|
||||
#define asm_comment(x) asm volatile("@ -- " x " -- ")
|
||||
#define asm_unified(x) asm(".syntax unified\n" x "\n.syntax divided")
|
||||
|
||||
#if defined (__APPLE__) || defined (__CYGWIN__)
|
||||
void memset(void *, int, size_t);
|
||||
void memcpy(void *, const void *, size_t);
|
||||
#endif // __APPLE__
|
||||
|
||||
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
|
||||
|
||||
// useful math macros
|
||||
|
||||
// Converts a number to Q8.8 fixed-point format
|
||||
#define Q_8_8(n) ((s16)((n) * 256))
|
||||
|
||||
// Converts a number to Q4.12 fixed-point format
|
||||
#define Q_4_12(n) ((s16)((n) * 4096))
|
||||
|
||||
#define POKEMON_NAME_LENGTH 10
|
||||
#define OT_NAME_LENGTH 7
|
||||
|
||||
@@ -656,6 +670,61 @@ struct DaycareData
|
||||
#define FLAGS_COUNT 300
|
||||
#define VARS_COUNT 256
|
||||
|
||||
enum {
|
||||
LILYCOVE_LADY_QUIZ,
|
||||
LILYCOVE_LADY_FAVOUR,
|
||||
LILYCOVE_LADY_CONTEST
|
||||
};
|
||||
|
||||
struct LilycoveLadyQuiz
|
||||
{
|
||||
/*0x000*/ u8 id;
|
||||
/*0x001*/ u8 phase;
|
||||
/*0x002*/ u16 unk_002[9];
|
||||
/*0x014*/ u16 unk_014;
|
||||
/*0x016*/ u16 unk_016;
|
||||
/*0x018*/ u8 playerName[8];
|
||||
/*0x020*/ u16 playerTrainerId[4];
|
||||
/*0x028*/ u16 itemId;
|
||||
/*0x02a*/ u8 unk_02a;
|
||||
/*0x02b*/ u8 unk_02b;
|
||||
/*0x02c*/ u8 unk_02c;
|
||||
/*0x02d*/ u8 language;
|
||||
};
|
||||
|
||||
struct LilycoveLadyFavour
|
||||
{
|
||||
/*0x000*/ u8 id;
|
||||
/*0x001*/ u8 phase;
|
||||
/*0x002*/ u8 unk_002;
|
||||
/*0x003*/ u8 unk_003;
|
||||
/*0x004*/ u8 playerName[8];
|
||||
/*0x00c*/ u8 unk_00c;
|
||||
/*0x00e*/ u16 itemId;
|
||||
/*0x010*/ u16 unk_010;
|
||||
/*0x012*/ u8 language;
|
||||
};
|
||||
|
||||
struct LilycoveLadyContest
|
||||
{
|
||||
/*0x000*/ u8 id;
|
||||
/*0x001*/ u8 phase;
|
||||
/*0x002*/ u8 fave_pkblk;
|
||||
/*0x003*/ u8 other_pkblk;
|
||||
/*0x004*/ u8 playerName[8];
|
||||
/*0x00c*/ u8 max_sheen;
|
||||
/*0x00d*/ u8 category;
|
||||
/*0x00e*/ u8 language;
|
||||
};
|
||||
|
||||
typedef union // TODO
|
||||
{
|
||||
struct LilycoveLadyQuiz quiz;
|
||||
struct LilycoveLadyFavour favour;
|
||||
struct LilycoveLadyContest contest;
|
||||
u8 id;
|
||||
} LilycoveLady;
|
||||
|
||||
struct SaveBlock1
|
||||
{
|
||||
/*0x00*/ struct Coords16 pos;
|
||||
@@ -739,7 +808,8 @@ struct SaveBlock1
|
||||
/*0x3728*/ struct RamScript ramScript;
|
||||
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
|
||||
/*0x3B24*/ u8 seen2[52];
|
||||
/*0x3B58*/ u8 lilycoveLady[536]; // TODO: convert to a union
|
||||
/*0x3B58*/ LilycoveLady lilycoveLady;
|
||||
/*0x3B88*/ u8 filler_3B88[0x1E8];
|
||||
/*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct
|
||||
// sizeof: 0x3D88
|
||||
};
|
||||
@@ -753,4 +823,6 @@ struct Bitmap // TODO: Find a better spot for this
|
||||
u32 height:16;
|
||||
};
|
||||
|
||||
extern u8 gReservedSpritePaletteCount;
|
||||
|
||||
#endif // GUARD_GLOBAL_H
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
#ifndef GUARD_GPU_REGS_H
|
||||
#define GUARD_GPU_REGS_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void InitGpuRegManager(void);
|
||||
void CopyBufferedValuesToGpuRegs(void);
|
||||
void SetGpuReg(u8 regOffset, u16 value);
|
||||
@@ -11,4 +16,4 @@ void ClearGpuRegBits(u8 regOffset, u16 mask);
|
||||
void EnableInterrupts(u16 mask);
|
||||
void DisableInterrupts(u16 mask);
|
||||
|
||||
#endif // GUARD_GPU_REGS_H
|
||||
#endif //GUARD_GPU_REGS_H
|
||||
|
||||
12
include/item_menu.h
Normal file
12
include/item_menu.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef GUARD_item_menu_H
|
||||
#define GUARD_item_menu_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_81AAC50(void);
|
||||
void sub_81AAC70(void);
|
||||
|
||||
#endif //GUARD_item_menu_H
|
||||
@@ -1,6 +1,17 @@
|
||||
#ifndef GUARD_LILYCOVE_LADY_H
|
||||
#define GUARD_LILYCOVE_LADY_H
|
||||
|
||||
u8 GetLilycoveLadyId(void);
|
||||
void SetLilycoveLady(void);
|
||||
void sub_818DA78(void);
|
||||
void sub_818DEF4(void);
|
||||
void sub_818E564(void);
|
||||
void sub_818E570(const struct LilycoveLadyQuiz *quiz);
|
||||
bool8 sub_818E704(struct Pokeblock *pokeblock);
|
||||
void sub_818E7E0(u8 *dest1, u8 *dest2);
|
||||
void sub_818E81C(u8 *dest);
|
||||
void sub_818E848(u8 *dest);
|
||||
void sub_818E868(u8 *dest, u8 category);
|
||||
u8 sub_818E880(void);
|
||||
|
||||
#endif //GUARD_LILYCOVE_LADY_H
|
||||
|
||||
@@ -18,5 +18,6 @@ void SaveSerializedGame(void);
|
||||
void LoadSerializedGame(void);
|
||||
void LoadPlayerBag(void);
|
||||
void SavePlayerBag(void);
|
||||
void SetSaveBlocksPointers(u16);
|
||||
|
||||
#endif // GUARD_LOAD_SAVE_H
|
||||
|
||||
@@ -1,8 +1,14 @@
|
||||
#ifndef GUARD_MALLOC_H
|
||||
#define GUARD_MALLOC_H
|
||||
|
||||
#define malloc Alloc
|
||||
#define calloc AllocZeroed
|
||||
#define free Free
|
||||
|
||||
extern u8 gHeap[];
|
||||
void *Alloc(u32 size);
|
||||
void *AllocZeroed(u32 size);
|
||||
void Free(void *pointer);
|
||||
void InitHeap(void *pointer, u32 size);
|
||||
|
||||
#endif // GUARD_MALLOC_H
|
||||
|
||||
32
include/map_obj_8097404.h
Normal file
32
include/map_obj_8097404.h
Normal file
@@ -0,0 +1,32 @@
|
||||
//
|
||||
// Created by scott on 9/7/2017.
|
||||
//
|
||||
|
||||
#ifndef GUARD_MAP_OBJ_8097404_H
|
||||
#define GUARD_MAP_OBJ_8097404_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
extern void *gUnknown_020375B8;
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_8097AC8(struct Sprite *);
|
||||
void npc_sync_anim_pause_bits(struct MapObject *);
|
||||
void oamt_npc_ministep_reset(struct Sprite *, u8, u8);
|
||||
u8 sub_8097F78(struct MapObject *);
|
||||
bool8 obj_npc_ministep(struct Sprite *sprite);
|
||||
bool8 sub_80976EC(struct Sprite *sprite);
|
||||
void sub_80976DC(struct Sprite *, u8);
|
||||
void sub_809783C(struct Sprite *, u8, u8, u8);
|
||||
void DoShadowFieldEffect(struct MapObject *);
|
||||
u8 sub_809785C(struct Sprite *);
|
||||
u8 sub_80978E4(struct Sprite *);
|
||||
void obj_anim_image_set_and_seek(struct Sprite *, u8, u8);
|
||||
bool8 sub_80979BC(struct Sprite *);
|
||||
void sub_8097750(struct Sprite *);
|
||||
bool8 sub_8097758(struct Sprite *);
|
||||
void sub_8097FA4(struct MapObject *);
|
||||
void sub_8098044(u8);
|
||||
|
||||
#endif //GUARD_MAP_OBJ_8097404_H
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
#ifndef GUARD_MAUVILLE_OLD_MAN_H
|
||||
#define GUARD_MAUVILLE_OLD_MAN_H
|
||||
|
||||
void SetMauvilleOldMan(void);
|
||||
u8 sub_81201C8(void);
|
||||
|
||||
#endif // GUARD_MAUVILLE_OLD_MAN_H
|
||||
|
||||
@@ -15,4 +15,6 @@ struct MenuAction2
|
||||
void (*func)(u8);
|
||||
};
|
||||
|
||||
void box_print(u8, u8, u8, u8, const void *, s8, const u8 *);
|
||||
|
||||
#endif // GUARD_MENU_H
|
||||
|
||||
11
include/metatile_behavior.h
Normal file
11
include/metatile_behavior.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_METATILE_BEHAVIOR_H
|
||||
#define GUARD_METATILE_BEHAVIOR_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
bool8 sub_8088E64(u8);
|
||||
|
||||
#endif //GUARD_METATILE_BEHAVIOR_H
|
||||
@@ -15,7 +15,7 @@
|
||||
void MultiBootInit(struct MultiBootParam *mp);
|
||||
int MultiBootMain(struct MultiBootParam *mp);
|
||||
void MultiBootStartProbe(struct MultiBootParam *mp);
|
||||
void MultiBootStartMaster(struct MultiBootParam *mp, u8 *srcp, int length, u8 palette_color, s8 palette_speed);
|
||||
void MultiBootStartMaster(struct MultiBootParam *mp, const u8 *srcp, int length, u8 palette_color, s8 palette_speed);
|
||||
int MultiBootCheckComplete(struct MultiBootParam *mp);
|
||||
|
||||
#endif // GUARD_MULTIBOOT_H
|
||||
|
||||
@@ -9,5 +9,7 @@ void ClearPokedexFlags(void);
|
||||
void WarpToTruck(void);
|
||||
void NewGameInitData(void);
|
||||
void ResetMiniGamesResults(void);
|
||||
void sub_808447C(void);
|
||||
void Sav2_ClearSetDefault(void);
|
||||
|
||||
#endif // GUARD_NEW_GAME_H
|
||||
|
||||
33
include/rom4.h
Normal file
33
include/rom4.h
Normal file
@@ -0,0 +1,33 @@
|
||||
|
||||
#ifndef GUARD_ROM4_H
|
||||
#define GUARD_ROM4_H
|
||||
|
||||
struct UnkPlayerStruct
|
||||
{
|
||||
u8 player_field_0;
|
||||
u8 player_field_1;
|
||||
};
|
||||
|
||||
struct LinkPlayerMapObject
|
||||
{
|
||||
u8 active;
|
||||
u8 linkPlayerId;
|
||||
u8 mapObjId;
|
||||
u8 mode;
|
||||
};
|
||||
|
||||
struct UCoords32
|
||||
{
|
||||
u32 x, y;
|
||||
};
|
||||
|
||||
|
||||
extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
|
||||
|
||||
void strange_npc_table_clear(void);
|
||||
const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
|
||||
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
|
||||
void sub_8086230(void);
|
||||
void c2_exit_to_overworld_2_switch(void);
|
||||
|
||||
#endif //GUARD_ROM4_H
|
||||
6
include/rom6.h
Normal file
6
include/rom6.h
Normal file
@@ -0,0 +1,6 @@
|
||||
#ifndef GUARD_ROM6_H
|
||||
#define GUARD_ROM6_H
|
||||
|
||||
void sub_81357FC(u8, void(void));
|
||||
|
||||
#endif //GUARD_ROM6_H
|
||||
11
include/rom_818CFC8.h
Normal file
11
include/rom_818CFC8.h
Normal file
@@ -0,0 +1,11 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/6/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_ROM_818CFC8_H
|
||||
#define GUARD_ROM_818CFC8_H
|
||||
|
||||
bool8 InBattlePyramid(void);
|
||||
u8 sub_81AAA40(void);
|
||||
|
||||
#endif //GUARD_ROM_818CFC8_H
|
||||
12
include/rom_81BE66C.h
Normal file
12
include/rom_81BE66C.h
Normal file
@@ -0,0 +1,12 @@
|
||||
//
|
||||
// Created by Scott Norton on 9/6/17.
|
||||
//
|
||||
|
||||
#ifndef GUARD_ROM_81BE66C_H
|
||||
#define GUARD_ROM_81BE66C_H
|
||||
|
||||
bool32 InTrainerHill(void);
|
||||
bool8 FieldObjectIsFarawayIslandMew(struct MapObject *);
|
||||
u32 sub_81D427C(void);
|
||||
|
||||
#endif //GUARD_ROM_81BE66C_H
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef GUARD_SAVE_H
|
||||
#define GUARD_SAVE_H
|
||||
|
||||
extern u16 gSaveFileStatus;
|
||||
|
||||
struct SaveSectionLocation
|
||||
{
|
||||
void *data;
|
||||
@@ -88,5 +90,7 @@ u16 CalculateChecksum(void *, u16);
|
||||
//u8 unref_sub_8125FF0(u8 *data, u16 size);
|
||||
//u8 unref_sub_8126068(u8 sector, u8 *data, u32 size);
|
||||
//u8 unref_sub_8126080(u8 sector, u8 *data);
|
||||
u16 sub_815355C(void);
|
||||
u8 sub_81534D0(u8);
|
||||
|
||||
#endif // GUARD_SAVE_H
|
||||
|
||||
@@ -240,6 +240,8 @@ struct OamMatrix
|
||||
extern const struct OamData gDummyOamData;
|
||||
extern const union AnimCmd *const gDummySpriteAnimTable[];
|
||||
extern const union AffineAnimCmd *const gDummySpriteAffineAnimTable[];
|
||||
extern s16 gSpriteCoordOffsetX;
|
||||
extern s16 gSpriteCoordOffsetY;
|
||||
|
||||
extern struct Sprite gSprites[];
|
||||
|
||||
|
||||
@@ -195,9 +195,9 @@ bool8 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter);
|
||||
bool8 TextPrinterWait(struct TextPrinter *textPrinter);
|
||||
void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex);
|
||||
u16 RenderText(struct TextPrinter *textPrinter);
|
||||
u32 GetStringWidthFixedWidthFont(u8 *str, u8 fontId, u8 letterSpacing);
|
||||
u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing);
|
||||
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32);
|
||||
s32 GetStringWidth(u8 fontId, u8 *str, s16 letterSpacing);
|
||||
u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
|
||||
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str);
|
||||
u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y);
|
||||
u8 GetKeypadIconTileOffset(u8 keypadIconId);
|
||||
|
||||
7
include/trainer_see.h
Normal file
7
include/trainer_see.h
Normal file
@@ -0,0 +1,7 @@
|
||||
#ifndef GUARD_TRAINER_SEE_H
|
||||
#define GUARD_TRAINER_SEE_H
|
||||
|
||||
void sub_80B4578(struct MapObject *);
|
||||
void sub_8155D78(struct MapObject *);
|
||||
|
||||
#endif //GUARD_TRAINER_SEE_H
|
||||
@@ -1,9 +1,6 @@
|
||||
#ifndef GUARD_TRIG_H
|
||||
#define GUARD_TRIG_H
|
||||
|
||||
// Converts a number to Q8.8 fixed-point format
|
||||
#define Q_8_8(n) ((s16)((n) * 256))
|
||||
|
||||
extern const s16 gSineTable[];
|
||||
|
||||
s16 Sin(s16 index, s16 amplitude);
|
||||
|
||||
11
include/unknown_task.h
Normal file
11
include/unknown_task.h
Normal file
@@ -0,0 +1,11 @@
|
||||
#ifndef GUARD_unknown_task_H
|
||||
#define GUARD_unknown_task_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void remove_some_task(void);
|
||||
|
||||
#endif //GUARD_unknown_task_H
|
||||
@@ -12,6 +12,8 @@
|
||||
#define VAR_0x4008 0x4008
|
||||
#define VAR_0x4009 0x4009
|
||||
#define VAR_0x400A 0x400A
|
||||
#define VAR_0x4010 0x4010
|
||||
#define VAR_0x4011 0x4011
|
||||
#define VAR_0x401F 0x401F
|
||||
#define VAR_RECYCLE_GOODS 0x4020
|
||||
#define VAR_REPEL_STEP_COUNT 0x4021
|
||||
|
||||
Reference in New Issue
Block a user