diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2021-04-10 13:05:51 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-10 13:05:51 -0400 |
commit | 09a9efd5c57909c215a66b85f3255190c8882940 (patch) | |
tree | fff7823aa15ce633de1bc4132574c1d081a84a93 /include | |
parent | f6016838b1b0e2f0cf752b3b44c63e9e9776de4f (diff) | |
parent | c95e89e083f4911d41036ecd3b8a744ff59ec8a9 (diff) |
Merge pull request #1398 from GriffinRichards/doc-field
Document field
Diffstat (limited to 'include')
-rw-r--r-- | include/cable_club.h | 1 | ||||
-rw-r--r-- | include/constants/cable_club.h | 4 | ||||
-rwxr-xr-x | include/constants/event_object_movement.h | 3 | ||||
-rw-r--r-- | include/constants/event_objects.h | 16 | ||||
-rw-r--r-- | include/constants/flags.h | 18 | ||||
-rwxr-xr-x | include/constants/metatile_behaviors.h | 1 | ||||
-rw-r--r-- | include/event_object_movement.h | 22 | ||||
-rw-r--r-- | include/event_scripts.h | 2 | ||||
-rw-r--r-- | include/field_camera.h | 7 | ||||
-rw-r--r-- | include/field_effect_helpers.h | 26 | ||||
-rw-r--r-- | include/field_player_avatar.h | 2 | ||||
-rw-r--r-- | include/field_weather.h | 81 | ||||
-rw-r--r-- | include/fieldmap.h | 7 | ||||
-rw-r--r-- | include/global.fieldmap.h | 5 | ||||
-rw-r--r-- | include/global.h | 10 | ||||
-rw-r--r-- | include/overworld.h | 17 |
16 files changed, 113 insertions, 109 deletions
diff --git a/include/cable_club.h b/include/cable_club.h index a5a6acfa4..c493691c1 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -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); diff --git a/include/constants/cable_club.h b/include/constants/cable_club.h index cbdd049db..3515ffa2c 100644 --- a/include/constants/cable_club.h +++ b/include/constants/cable_club.h @@ -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 diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index 223650081..13e91c415 100755 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.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 diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 8e026ef2d..7a224940f 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.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 diff --git a/include/constants/flags.h b/include/constants/flags.h index 798b42d4d..48606962a 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -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 diff --git a/include/constants/metatile_behaviors.h b/include/constants/metatile_behaviors.h index cc069c66c..1d1557256 100755 --- a/include/constants/metatile_behaviors.h +++ b/include/constants/metatile_behaviors.h @@ -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 diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 1e754dcd9..a935502e6 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.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); diff --git a/include/event_scripts.h b/include/event_scripts.h index 122af54cc..925b4389d 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -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 diff --git a/include/field_camera.h b/include/field_camera.h index 2bed02b20..b245fca84 100644 --- a/include/field_camera.h +++ b/include/field_camera.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); diff --git a/include/field_effect_helpers.h b/include/field_effect_helpers.h index 9b7b6ffd5..528492d81 100644 --- a/include/field_effect_helpers.h +++ b/include/field_effect_helpers.h @@ -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*); diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index c30ce0b6f..903fe6ef1 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -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); diff --git a/include/field_weather.h b/include/field_weather.h index 9ecf52501..9c6a4ab7a 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -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); diff --git a/include/fieldmap.h b/include/fieldmap.h index 438fb4787..5bcbe20ea 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -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); diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index c4d7be35d..a3d99ee21 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -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, diff --git a/include/global.h b/include/global.h index 497fb40b1..18e2bfea7 100644 --- a/include/global.h +++ b/include/global.h @@ -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 diff --git a/include/overworld.h b/include/overworld.h index 6efaa6ccb..16c75861c 100644 --- a/include/overworld.h +++ b/include/overworld.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); |