@@ -2,6 +2,7 @@
|
||||
#define GUARD_CABLE_CLUB_H
|
||||
|
||||
#include "task.h"
|
||||
#include "constants/cable_club.h"
|
||||
|
||||
void CreateTask_EnterCableClubSeat(TaskFunc taskFunc);
|
||||
u8 CreateTask_ReestablishCableClubLink(void);
|
||||
|
||||
@@ -28,4 +28,8 @@
|
||||
#define LINKUP_FAILED_BATTLE_TOWER 11
|
||||
#define LINKUP_FOREIGN_GAME 12
|
||||
|
||||
#define CABLE_SEAT_WAITING 0
|
||||
#define CABLE_SEAT_SUCCESS 1
|
||||
#define CABLE_SEAT_FAILED 2
|
||||
|
||||
#endif //GUARD_CONSTANTS_CABLE_CLUB_H
|
||||
|
||||
@@ -237,11 +237,12 @@
|
||||
#define MOVEMENT_ACTION_WALK_RIGHT_AFFINE 0x97
|
||||
#define MOVEMENT_ACTION_LEVITATE 0x98
|
||||
#define MOVEMENT_ACTION_STOP_LEVITATE 0x99
|
||||
#define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A
|
||||
#define MOVEMENT_ACTION_STOP_LEVITATE_AT_TOP 0x9A
|
||||
#define MOVEMENT_ACTION_FIGURE_8 0x9B
|
||||
#define MOVEMENT_ACTION_FLY_UP 0x9C
|
||||
#define MOVEMENT_ACTION_FLY_DOWN 0x9D
|
||||
|
||||
#define MOVEMENT_ACTION_STEP_END 0xFE
|
||||
#define MOVEMENT_ACTION_NONE 0xFF
|
||||
|
||||
#endif // GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
#define OBJ_EVENT_GFX_SCHOOL_KID_M 38
|
||||
#define OBJ_EVENT_GFX_MANIAC 39
|
||||
#define OBJ_EVENT_GFX_HEX_MANIAC 40
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_1 41
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_STILL 41
|
||||
#define OBJ_EVENT_GFX_SWIMMER_M 42
|
||||
#define OBJ_EVENT_GFX_SWIMMER_F 43
|
||||
#define OBJ_EVENT_GFX_BLACK_BELT 44
|
||||
@@ -198,17 +198,17 @@
|
||||
#define OBJ_EVENT_GFX_MAY_DECORATING 194
|
||||
#define OBJ_EVENT_GFX_ARCHIE 195
|
||||
#define OBJ_EVENT_GFX_MAXIE 196
|
||||
#define OBJ_EVENT_GFX_KYOGRE_1 197
|
||||
#define OBJ_EVENT_GFX_GROUDON_1 198
|
||||
#define OBJ_EVENT_GFX_KYOGRE_FRONT 197
|
||||
#define OBJ_EVENT_GFX_GROUDON_FRONT 198
|
||||
#define OBJ_EVENT_GFX_FOSSIL 199
|
||||
#define OBJ_EVENT_GFX_REGIROCK 200
|
||||
#define OBJ_EVENT_GFX_REGICE 201
|
||||
#define OBJ_EVENT_GFX_REGISTEEL 202
|
||||
#define OBJ_EVENT_GFX_SKITTY 203
|
||||
#define OBJ_EVENT_GFX_KECLEON 204
|
||||
#define OBJ_EVENT_GFX_KYOGRE_2 205
|
||||
#define OBJ_EVENT_GFX_GROUDON_2 206
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA_2 207
|
||||
#define OBJ_EVENT_GFX_KYOGRE_ASLEEP 205
|
||||
#define OBJ_EVENT_GFX_GROUDON_ASLEEP 206
|
||||
#define OBJ_EVENT_GFX_RAYQUAZA 207
|
||||
#define OBJ_EVENT_GFX_ZIGZAGOON_2 208
|
||||
#define OBJ_EVENT_GFX_PIKACHU 209
|
||||
#define OBJ_EVENT_GFX_AZUMARILL 210
|
||||
@@ -222,8 +222,8 @@
|
||||
#define OBJ_EVENT_GFX_JUAN 218
|
||||
#define OBJ_EVENT_GFX_SCOTT 219
|
||||
#define OBJ_EVENT_GFX_POOCHYENA 220
|
||||
#define OBJ_EVENT_GFX_KYOGRE_3 221
|
||||
#define OBJ_EVENT_GFX_GROUDON_3 222
|
||||
#define OBJ_EVENT_GFX_KYOGRE_SIDE 221
|
||||
#define OBJ_EVENT_GFX_GROUDON_SIDE 222
|
||||
#define OBJ_EVENT_GFX_MYSTERY_GIFT_MAN 223
|
||||
#define OBJ_EVENT_GFX_TRICK_HOUSE_STATUE 224
|
||||
#define OBJ_EVENT_GFX_KIRLIA 225
|
||||
|
||||
@@ -91,10 +91,10 @@
|
||||
#define FLAG_UNUSED_0x04F 0x4F // Unused Flag
|
||||
|
||||
// Scripts
|
||||
#define FLAG_HIDE_RAYQUAZA_SKY_TOWER_SUMMIT 0x50
|
||||
#define FLAG_SET_WALL_CLOCK 0x51
|
||||
#define FLAG_RESCUED_BIRCH 0x52
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_STILL 0x50
|
||||
#define FLAG_SET_WALL_CLOCK 0x51
|
||||
#define FLAG_RESCUED_BIRCH 0x52
|
||||
#define FLAG_LEGENDARIES_IN_SOOTOPOLIS 0x53
|
||||
|
||||
#define FLAG_UNUSED_0x054 0x54 // Unused Flag
|
||||
#define FLAG_UNUSED_0x055 0x55 // Unused Flag
|
||||
@@ -775,7 +775,7 @@
|
||||
#define FLAG_HIDE_LILYCOVE_FAN_CLUB_INTERVIEWER 0x2DA
|
||||
#define FLAG_HIDE_RUSTBORO_CITY_AQUA_GRUNT 0x2DB
|
||||
#define FLAG_HIDE_RUSTBORO_CITY_DEVON_EMPLOYEE_1 0x2DC
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_2 0x2DD
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_ASLEEP 0x2DD
|
||||
#define FLAG_HIDE_PLAYERS_HOUSE_DAD 0x2DE
|
||||
#define FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_SIBLING 0x2DF
|
||||
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_SIBLING 0x2E0
|
||||
@@ -815,7 +815,7 @@
|
||||
#define FLAG_HIDE_ROUTE_111_VIVI_WINSTRATE 0x302
|
||||
#define FLAG_HIDE_ROUTE_111_VICKY_WINSTRATE 0x303
|
||||
#define FLAG_HIDE_PETALBURG_GYM_NORMAN 0x304
|
||||
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA_2 0x305
|
||||
#define FLAG_HIDE_SKY_PILLAR_TOP_RAYQUAZA 0x305
|
||||
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_CONTEST_ATTENDANT_1 0x306
|
||||
#define FLAG_HIDE_LILYCOVE_MUSEUM_CURATOR 0x307
|
||||
#define FLAG_HIDE_LILYCOVE_MUSEUM_PATRON_1 0x308
|
||||
@@ -892,16 +892,16 @@
|
||||
#define FLAG_HIDE_JAGGED_PASS_MAGMA_GUARD 0x34F
|
||||
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SUBMARINE_SHADOW 0x350
|
||||
#define FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL 0x351
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_2 0x352
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_ASLEEP 0x352
|
||||
#define FLAG_HIDE_ROUTE_119_RIVAL 0x353
|
||||
#define FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS 0x354
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON_1 0x355
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_4F_GROUDON 0x355
|
||||
#define FLAG_HIDE_SOOTOPOLIS_CITY_RESIDENTS 0x356
|
||||
#define FLAG_HIDE_SKY_PILLAR_WALLACE 0x357
|
||||
#define FLAG_HIDE_MT_PYRE_SUMMIT_MAXIE 0x358
|
||||
#define FLAG_HIDE_MAGMA_HIDEOUT_GRUNTS 0x359
|
||||
#define FLAG_HIDE_VICTORY_ROAD_ENTRANCE_WALLY 0x35A
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE_1 0x35B
|
||||
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_KYOGRE 0x35B
|
||||
#define FLAG_HIDE_SLATEPORT_CITY_HARBOR_SS_TIDAL 0x35C
|
||||
#define FLAG_HIDE_LILYCOVE_HARBOR_SSTIDAL 0x35D
|
||||
#define FLAG_HIDE_MOSSDEEP_CITY_SPACE_CENTER_2F_TEAM_MAGMA 0x35E
|
||||
|
||||
@@ -241,5 +241,6 @@
|
||||
#define MB_UNUSED_ED 0xED
|
||||
#define MB_UNUSED_EE 0xEE
|
||||
#define MB_UNUSED_EF 0xEF
|
||||
#define MB_INVALID 0xFF
|
||||
|
||||
#endif // GUARD_METATILE_BEHAVIORS_H
|
||||
|
||||
@@ -47,7 +47,7 @@ enum ReflectionTypes
|
||||
#define GROUND_EFFECT_FLAG_HOT_SPRINGS (1 << 18)
|
||||
#define GROUND_EFFECT_FLAG_SEAWEED (1 << 19)
|
||||
|
||||
struct UnkStruct_085094AC
|
||||
struct StepAnimTable
|
||||
{
|
||||
const union AnimCmd *const *anims;
|
||||
u8 animPos[4];
|
||||
@@ -65,7 +65,6 @@ struct LockedAnimObjectEvents
|
||||
u8 count;
|
||||
};
|
||||
|
||||
extern const struct SpriteFrameImage gObjectEventPicTable_PechaBerryTree[];
|
||||
extern const struct OamData gObjectEventBaseOam_32x8;
|
||||
extern const struct OamData gObjectEventBaseOam_32x32;
|
||||
extern const struct SpriteTemplate *const gFieldEffectObjectTemplatePointers[];
|
||||
@@ -87,9 +86,9 @@ void LoadPlayerObjectReflectionPalette(u16, u8);
|
||||
void LoadSpecialObjectReflectionPalette(u16, u8);
|
||||
void TryMoveObjectEventToMapCoords(u8, u8, u8, s16, s16);
|
||||
void PatchObjectPalette(u16, u8);
|
||||
void sub_808E16C(s16, s16);
|
||||
void SpawnObjectEventsOnReturnToField(s16, s16);
|
||||
void OverrideSecretBaseDecorationSpriteScript(u8 localId, u8 mapNum, u8 mapGroup, u8 decorCat);
|
||||
void sub_8092FF0(s16, s16, s16 *, s16 *);
|
||||
void GetMapCoordsFromSpritePos(s16, s16, s16 *, s16 *);
|
||||
u8 GetFaceDirectionAnimNum(u8);
|
||||
void SetSpritePosToOffsetMapCoords(s16 *, s16 *, s16, s16);
|
||||
void ObjectEventClearHeldMovement(struct ObjectEvent *);
|
||||
@@ -111,7 +110,7 @@ void FreeAndReserveObjectSpritePalettes(void);
|
||||
void SetObjectEventSpritePosByLocalIdAndMap(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y);
|
||||
void ResetObjectPriority(u8, u8, u8);
|
||||
void SetObjectPriority(u8, u8, u8, u8);
|
||||
void sub_808E75C(s16, s16);
|
||||
void AllowObjectAtPosTriggerGroundEffects(s16, s16);
|
||||
void ObjectEventGetLocalIdAndMap(struct ObjectEvent *objectEvent, void *localId, void *mapNum, void *mapGroup);
|
||||
void ShiftObjectEventCoords(struct ObjectEvent *, s16, s16);
|
||||
void MoveObjectEventToMapCoords(struct ObjectEvent *, s16, s16);
|
||||
@@ -175,17 +174,8 @@ void SetObjectSubpriorityByZCoord(u8, struct Sprite *, u8);
|
||||
bool8 IsZCoordMismatchAt(u8, s16, s16);
|
||||
void UnfreezeObjectEvent(struct ObjectEvent *);
|
||||
u8 FindLockedObjectEventIndex(struct ObjectEvent *);
|
||||
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 ObjectEvent *);
|
||||
u8 sub_809785C(struct Sprite *);
|
||||
u8 sub_80978E4(struct Sprite *);
|
||||
void SetAndStartSpriteAnim(struct Sprite *, u8, u8);
|
||||
bool8 SpriteAnimEnded(struct Sprite *);
|
||||
void CreateLevitateMovementTask(struct ObjectEvent *);
|
||||
void DestroyExtraMovementTask(u8);
|
||||
void UnfreezeObjectEvents(void);
|
||||
void FreezeObjectEventsExceptOne(u8 objectEventId);
|
||||
void TurnObjectEventSprite(u8, u8);
|
||||
@@ -196,9 +186,9 @@ u8 GetMoveDirectionFastAnimNum(u8);
|
||||
u8 GetMoveDirectionFasterAnimNum(u8);
|
||||
u8 GetMoveDirectionFastestAnimNum(u8);
|
||||
u8 GetLedgeJumpDirection(s16, s16, u8);
|
||||
void CameraObjectSetFollowedObjectId(u8 objectId);
|
||||
void CameraObjectSetFollowedSpriteId(u8 objectId);
|
||||
u16 GetObjectPaletteTag(u8 palSlot);
|
||||
void UpdateObjectEventSpriteVisibility(struct Sprite *sprite, bool8 invisible);
|
||||
void UpdateObjectEventSpriteInvisibility(struct Sprite *sprite, bool8 invisible);
|
||||
s16 GetFigure8XOffset(s16 idx);
|
||||
s16 GetFigure8YOffset(s16 idx);
|
||||
void CameraObjectReset2(void);
|
||||
|
||||
@@ -607,7 +607,7 @@ extern const u8 EventScript_BattleColosseum_2P_PlayerSpot0[];
|
||||
extern const u8 EventScript_BattleColosseum_2P_PlayerSpot1[];
|
||||
extern const u8 EventScript_TradeCenter_Chair1[];
|
||||
extern const u8 EventScript_TradeCenter_Chair0[];
|
||||
extern const u8 EventScript_ConfirmLeaveTradeRoom[];
|
||||
extern const u8 EventScript_ConfirmLeaveCableClubRoom[];
|
||||
extern const u8 EventScript_TerminateLink[];
|
||||
|
||||
#endif // GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
#ifndef GUARD_FIELD_CAMERA_H
|
||||
#define GUARD_FIELD_CAMERA_H
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
struct CameraObject
|
||||
{
|
||||
void (*callback)(struct CameraObject *);
|
||||
@@ -13,18 +11,15 @@ struct CameraObject
|
||||
s32 y;
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
extern struct CameraObject gFieldCamera;
|
||||
extern u16 gTotalCameraPixelOffsetX;
|
||||
extern u16 gTotalCameraPixelOffsetY;
|
||||
|
||||
// Exported ROM declarations
|
||||
void DrawWholeMapView(void);
|
||||
void CurrentMapDrawMetatileAt(int x, int y);
|
||||
void sub_8089C08(s16 *a0, s16 *a1);
|
||||
void GetCameraOffsetWithPan(s16 *a0, s16 *a1);
|
||||
void DrawDoorMetatileAt(int x, int y, u16 *arr);
|
||||
void ResetFieldCamera(void);
|
||||
void sub_8057A58(void);
|
||||
void ResetCameraUpdateInfo(void);
|
||||
u32 InitCameraUpdateCallback(u8 a);
|
||||
void CameraUpdate(void);
|
||||
|
||||
@@ -1,18 +1,24 @@
|
||||
#ifndef GUARD_FIELD_EFFECT_HELPERS_H
|
||||
#define GUARD_FIELD_EFFECT_HELPERS_H
|
||||
|
||||
// Exported type declarations
|
||||
// States for bobbing up and down while surfing
|
||||
enum {
|
||||
// No bobbing
|
||||
BOB_NONE,
|
||||
// Both the surf blob/mon should bob up and down
|
||||
BOB_PLAYER_AND_MON,
|
||||
// Only the surf blob/mon should bob up and down
|
||||
// For when the player has jumped/flown off
|
||||
BOB_JUST_MON,
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
u8 CreateWarpArrowSprite(void);
|
||||
u8 sub_8155800(u8 oldSpriteId);
|
||||
void SetSurfBobState(u8 spriteId, u8 value);
|
||||
void SetSurfBobWhileFlyingOutState(u8 spriteId, u8 value);
|
||||
void SetSurfBobWhileFishingState(u8 spriteId, u8 value, s16 data1);
|
||||
bool8 sub_8155DA0(struct ObjectEvent *);
|
||||
void sub_8155D78(struct ObjectEvent *);
|
||||
u8 StartUnderwaterSurfBlobBobbing(u8 oldSpriteId);
|
||||
void SetSurfBlob_BobState(u8 spriteId, u8 state);
|
||||
void SetSurfBlob_DontSyncAnim(u8 spriteId, bool8 dontSync);
|
||||
void SetSurfBlob_PlayerOffset(u8 spriteId, bool8 hasOffset, s16 offset);
|
||||
bool8 UpdateRevealDisguise(struct ObjectEvent *);
|
||||
void StartRevealDisguise(struct ObjectEvent *);
|
||||
void StartAshFieldEffect(s16, s16, u16, s16);
|
||||
void SetUpReflection(struct ObjectEvent*, struct Sprite*, u8);
|
||||
u32 StartFieldEffectForObjectEvent(u8, struct ObjectEvent*);
|
||||
|
||||
@@ -6,7 +6,7 @@ void ClearPlayerAvatarInfo(void);
|
||||
void SetPlayerAvatarExtraStateTransition(u8, u8);
|
||||
u8 GetPlayerAvatarGenderByGraphicsId(u8);
|
||||
bool8 TestPlayerAvatarFlags(u8);
|
||||
u8 GetPlayerAvatarObjectId(void);
|
||||
u8 GetPlayerAvatarSpriteId(void);
|
||||
void PlayerGetDestCoords(s16 *, s16 *);
|
||||
u8 GetPlayerFacingDirection(void);
|
||||
u8 GetPlayerMovementDirection(void);
|
||||
|
||||
@@ -4,6 +4,21 @@
|
||||
#include "sprite.h"
|
||||
#include "constants/field_weather.h"
|
||||
|
||||
#define TAG_WEATHER_START 0x1200
|
||||
enum {
|
||||
GFXTAG_CLOUD = TAG_WEATHER_START,
|
||||
GFXTAG_FOG_H,
|
||||
GFXTAG_ASH,
|
||||
GFXTAG_FOG_D,
|
||||
GFXTAG_SANDSTORM,
|
||||
GFXTAG_BUBBLE,
|
||||
GFXTAG_RAIN,
|
||||
};
|
||||
enum {
|
||||
PALTAG_WEATHER = TAG_WEATHER_START,
|
||||
PALTAG_WEATHER_2
|
||||
};
|
||||
|
||||
struct Weather
|
||||
{
|
||||
union
|
||||
@@ -31,12 +46,12 @@ struct Weather
|
||||
u8 gammaStepDelay;
|
||||
u8 gammaStepFrameCounter;
|
||||
u16 fadeDestColor;
|
||||
/*0x6C6*/ u8 palProcessingState;
|
||||
/*0x6C7*/ u8 fadeScreenCounter;
|
||||
/*0x6C8*/ bool8 readyForInit;
|
||||
/*0x6C9*/ u8 taskId;
|
||||
/*0x6CA*/ u8 unknown_6CA;
|
||||
u8 unknown_6CB;
|
||||
u8 palProcessingState;
|
||||
u8 fadeScreenCounter;
|
||||
bool8 readyForInit;
|
||||
u8 taskId;
|
||||
u8 fadeInFirstFrame;
|
||||
u8 fadeInTimer;
|
||||
u16 initStep;
|
||||
u16 finishStep;
|
||||
u8 currWeather;
|
||||
@@ -45,6 +60,7 @@ struct Weather
|
||||
bool8 weatherChangeComplete;
|
||||
u8 weatherPicSpritePalIndex;
|
||||
u8 altGammaSpritePalIndex;
|
||||
// Rain
|
||||
u16 rainSpriteVisibleCounter;
|
||||
u8 curRainSpriteIndex;
|
||||
u8 targetRainSpriteCount;
|
||||
@@ -52,37 +68,41 @@ struct Weather
|
||||
u8 rainSpriteVisibleDelay;
|
||||
u8 isDownpour;
|
||||
u8 rainStrength;
|
||||
/*0x6DE*/ u8 cloudSpritesCreated;
|
||||
u8 filler_6DF[1];
|
||||
u8 cloudSpritesCreated;
|
||||
// Snow
|
||||
u16 snowflakeVisibleCounter;
|
||||
u16 unknown_6E2;
|
||||
u16 snowflakeTimer;
|
||||
u8 snowflakeSpriteCount;
|
||||
u8 targetSnowflakeSpriteCount;
|
||||
u16 unknown_6E6;
|
||||
// Thunderstorm
|
||||
u16 thunderDelay;
|
||||
u16 thunderCounter;
|
||||
u8 unknown_6EA;
|
||||
u8 unknown_6EB;
|
||||
u8 unknown_6EC;
|
||||
u8 thunderTriggered;
|
||||
bool8 thunderAllowEnd;
|
||||
bool8 thunderSkipShort;
|
||||
u8 thunderShortRetries;
|
||||
bool8 thunderTriggered;
|
||||
// Horizontal fog
|
||||
u16 fogHScrollPosX;
|
||||
u16 fogHScrollCounter;
|
||||
u16 fogHScrollOffset;
|
||||
u8 lightenedFogSpritePals[6];
|
||||
u8 lightenedFogSpritePalsCount;
|
||||
u8 fogHSpritesCreated;
|
||||
// Ash
|
||||
u16 ashBaseSpritesX;
|
||||
u16 unknown_6FE;
|
||||
u16 ashUnused;
|
||||
u8 ashSpritesCreated;
|
||||
u8 filler_701[3];
|
||||
// Sandstorm
|
||||
u32 sandstormXOffset;
|
||||
u32 sandstormYOffset;
|
||||
u8 filler_70C[2];
|
||||
u16 sandstormUnused;
|
||||
u16 sandstormBaseSpritesX;
|
||||
u16 sandstormPosY;
|
||||
u16 sandstormWaveIndex;
|
||||
u16 sandstormWaveCounter;
|
||||
u8 sandstormSpritesCreated;
|
||||
u8 sandstormSwirlSpritesCreated;
|
||||
// Diagonal fog
|
||||
u16 fogDBaseSpritesX;
|
||||
u16 fogDPosY;
|
||||
u16 fogDScrollXCounter;
|
||||
@@ -90,13 +110,13 @@ struct Weather
|
||||
u16 fogDXOffset;
|
||||
u16 fogDYOffset;
|
||||
u8 fogDSpritesCreated;
|
||||
u8 filler_725[1];
|
||||
// Bubbles
|
||||
u16 bubblesDelayCounter;
|
||||
u16 bubblesDelayIndex;
|
||||
u16 bubblesCoordsIndex;
|
||||
u16 bubblesSpriteCount;
|
||||
u8 bubblesSpritesCreated;
|
||||
u8 filler_72F;
|
||||
|
||||
u16 currBlendEVA;
|
||||
u16 currBlendEVB;
|
||||
u16 targetBlendEVA;
|
||||
@@ -104,12 +124,12 @@ struct Weather
|
||||
u8 blendUpdateCounter;
|
||||
u8 blendFrameCounter;
|
||||
u8 blendDelay;
|
||||
u8 filler_73B[0x3C-0x3B];
|
||||
s16 unknown_73C;
|
||||
s16 unknown_73E;
|
||||
s16 unknown_740;
|
||||
s16 unknown_742;
|
||||
u8 filler_744[0xD-4];
|
||||
// Drought
|
||||
s16 droughtBrightnessStage;
|
||||
s16 droughtLastBrightnessStage;
|
||||
s16 droughtTimer;
|
||||
s16 droughtState;
|
||||
u8 droughtUnused[9];
|
||||
s8 loadDroughtPalsIndex;
|
||||
u8 loadDroughtPalsOffset;
|
||||
};
|
||||
@@ -126,29 +146,26 @@ void StartWeather(void);
|
||||
void SetNextWeather(u8 weather);
|
||||
void SetCurrentAndNextWeather(u8 weather);
|
||||
void SetCurrentAndNextWeatherNoDelay(u8 weather);
|
||||
void sub_80ABC48(s8 gammaIndex);
|
||||
void ApplyWeatherGammaShiftIfIdle(s8 gammaIndex);
|
||||
void sub_80ABC7C(u8 gammaIndex, u8 gammaTargetIndex, u8 gammaStepDelay);
|
||||
void FadeScreen(u8 mode, s8 delay);
|
||||
bool8 IsWeatherNotFadingIn(void);
|
||||
void UpdateSpritePaletteWithWeather(u8 spritePaletteIndex);
|
||||
void ApplyWeatherGammaShiftToPal(u8 paletteIndex);
|
||||
u8 sub_80ABF20(void);
|
||||
void LoadCustomWeatherSpritePalette(const u16 *palette);
|
||||
void ResetDroughtWeatherPaletteLoading(void);
|
||||
bool8 LoadDroughtWeatherPalettes(void);
|
||||
void sub_80ABFE0(s8 gammaIndex);
|
||||
void sub_80ABFF0(void);
|
||||
void sub_80AC01C(void);
|
||||
void DroughtStateInit(void);
|
||||
void DroughtStateRun(void);
|
||||
void Weather_SetBlendCoeffs(u8 eva, u8 evb);
|
||||
void Weather_SetTargetBlendCoeffs(u8 eva, u8 evb, int delay);
|
||||
bool8 Weather_UpdateBlend(void);
|
||||
void sub_80AC274(u8 a);
|
||||
u8 GetCurrentWeather(void);
|
||||
void SetRainStrengthFromSoundEffect(u16 soundEffect);
|
||||
void PlayRainStoppingSoundEffect(void);
|
||||
u8 IsWeatherChangeComplete(void);
|
||||
void SetWeatherScreenFadeOut(void);
|
||||
void sub_80AC3E4(void);
|
||||
void SetWeatherPalStateIdle(void);
|
||||
void PreservePaletteInWeather(u8 preservedPalIndex);
|
||||
void ResetPreservedPalettesInWeather(void);
|
||||
|
||||
|
||||
@@ -20,16 +20,13 @@ void MapGridSetMetatileEntryAt(int, int, u16);
|
||||
void GetCameraCoords(u16*, u16*);
|
||||
bool8 MapGridIsImpassableAt(int, int);
|
||||
int GetMapBorderIdAt(int x, int y);
|
||||
int CanCameraMoveInDirection(int direction);
|
||||
bool32 CanCameraMoveInDirection(int direction);
|
||||
u16 GetBehaviorByMetatileId(u16 metatileId);
|
||||
void GetCameraFocusCoords(u16 *x, u16 *y);
|
||||
u8 MapGridGetMetatileLayerTypeAt(int x, int y);
|
||||
u8 MapGridGetZCoordAt(int x, int y);
|
||||
bool8 CameraMove(int deltaX, int deltaY);
|
||||
struct MapConnection *sub_8088950(u8 direction, int x, int y);
|
||||
bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection);
|
||||
bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset);
|
||||
void save_serialize_map(void);
|
||||
void SaveMapView(void);
|
||||
void SetCameraFocusCoords(u16 x, u16 y);
|
||||
void InitMap(void);
|
||||
void InitMapFromSavedGame(void);
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef GUARD_GLOBAL_FIELDMAP_H
|
||||
#define GUARD_GLOBAL_FIELDMAP_H
|
||||
|
||||
#define METATILE_BEHAVIOR_MASK 0x00FF
|
||||
#define METATILE_COLLISION_MASK 0x0C00
|
||||
#define METATILE_ID_MASK 0x03FF
|
||||
#define METATILE_ID_UNDEFINED 0x03FF
|
||||
@@ -12,7 +13,9 @@
|
||||
|
||||
enum
|
||||
{
|
||||
CONNECTION_SOUTH = 1,
|
||||
CONNECTION_INVALID = -1,
|
||||
CONNECTION_NONE,
|
||||
CONNECTION_SOUTH,
|
||||
CONNECTION_NORTH,
|
||||
CONNECTION_WEST,
|
||||
CONNECTION_EAST,
|
||||
|
||||
@@ -1055,14 +1055,4 @@ struct MapPosition
|
||||
s8 height;
|
||||
};
|
||||
|
||||
struct TradeRoomPlayer
|
||||
{
|
||||
u8 playerId;
|
||||
u8 isLocalPlayer;
|
||||
u8 c;
|
||||
u8 facing;
|
||||
struct MapPosition pos;
|
||||
u16 field_C;
|
||||
};
|
||||
|
||||
#endif // GUARD_GLOBAL_H
|
||||
|
||||
@@ -7,17 +7,17 @@
|
||||
#define LINK_KEY_CODE_DPAD_UP 0x13
|
||||
#define LINK_KEY_CODE_DPAD_LEFT 0x14
|
||||
#define LINK_KEY_CODE_DPAD_RIGHT 0x15
|
||||
#define LINK_KEY_CODE_UNK_2 0x16
|
||||
#define LINK_KEY_CODE_READY 0x16
|
||||
#define LINK_KEY_CODE_EXIT_ROOM 0x17
|
||||
#define LINK_KEY_CODE_START_BUTTON 0x18
|
||||
#define LINK_KEY_CODE_A_BUTTON 0x19
|
||||
#define LINK_KEY_CODE_UNK_4 0x1A // I'd guess this is the B button?
|
||||
#define LINK_KEY_CODE_IDLE 0x1A
|
||||
|
||||
// These two are a hack to stop user input until link stuff can be
|
||||
// resolved.
|
||||
#define LINK_KEY_CODE_HANDLE_RECV_QUEUE 0x1B
|
||||
#define LINK_KEY_CODE_HANDLE_SEND_QUEUE 0x1C
|
||||
#define LINK_KEY_CODE_UNK_7 0x1D
|
||||
#define LINK_KEY_CODE_EXIT_SEAT 0x1D
|
||||
#define LINK_KEY_CODE_UNK_8 0x1E
|
||||
|
||||
#define MOVEMENT_MODE_FREE 0
|
||||
@@ -143,15 +143,14 @@ void CB2_ReturnToFieldFromMultiplayer(void);
|
||||
void CB2_ReturnToFieldWithOpenMenu(void);
|
||||
void CB2_ReturnToFieldContinueScript(void);
|
||||
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
|
||||
void sub_80861E8(void);
|
||||
void CB2_ReturnToFieldFadeFromBlack(void);
|
||||
void CB2_ContinueSavedGame(void);
|
||||
void ResetAllMultiplayerState(void);
|
||||
u32 sub_8087214(void);
|
||||
bool32 sub_808727C(void);
|
||||
u16 sub_8087288(void);
|
||||
u16 sub_808729C(void);
|
||||
u32 GetCableClubPartnersReady(void);
|
||||
u16 SetInCableClubSeat(void);
|
||||
u16 SetLinkWaitingForScript(void);
|
||||
u16 QueueExitLinkRoomKey(void);
|
||||
u16 sub_80872C4(void);
|
||||
u16 SetStartedCableClubActivity(void);
|
||||
bool32 Overworld_LinkRecvQueueLengthMoreThan2(void);
|
||||
bool32 Overworld_RecvKeysFromLinkIsRunning(void);
|
||||
bool32 Overworld_SendKeysToLinkIsRunning(void);
|
||||
|
||||
Reference in New Issue
Block a user