diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/event_object_movement.h | 2 | ||||
-rwxr-xr-x | include/faraway_island.h | 2 | ||||
-rw-r--r-- | include/field_weather.h | 90 | ||||
-rw-r--r-- | include/global.h | 16 | ||||
-rw-r--r-- | include/link_rfu.h | 2 | ||||
-rw-r--r-- | include/menu.h | 4 | ||||
-rwxr-xr-x | include/mevent.h | 18 | ||||
-rw-r--r-- | include/mevent_801BAAC.h | 4 | ||||
-rw-r--r-- | include/mevent_client.h | 33 | ||||
-rw-r--r-- | include/mevent_server.h | 28 | ||||
-rw-r--r-- | include/mevent_server_helpers.h | 38 | ||||
-rw-r--r-- | include/mevent_server_ish.h | 10 | ||||
-rw-r--r-- | include/naming_screen.h | 2 | ||||
-rw-r--r-- | include/script.h | 6 | ||||
-rw-r--r-- | include/script_menu.h | 2 | ||||
-rw-r--r-- | include/util.h | 4 |
16 files changed, 179 insertions, 82 deletions
diff --git a/include/event_object_movement.h b/include/event_object_movement.h index 817dc78df..ab555fda0 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -89,7 +89,7 @@ u8 AddPseudoEventObject(u16, void (*)(struct Sprite *), s16 x, s16 y, u8 subprio u8 show_sprite(u8, u8, u8); u8 SpawnSpecialEventObjectParameterized(u8 graphicsId, u8 movementBehavior, u8 localId, s16 x, s16 y, u8 z); u8 SpawnSpecialEventObject(struct EventObjectTemplate *); -void sub_8093038(s16, s16, s16 *, s16 *); +void SetSpritePosToMapCoords(s16, s16, s16 *, s16 *); void CameraObjectReset1(void); void EventObjectSetGraphicsId(struct EventObject *, u8 graphicsId); void EventObjectTurn(struct EventObject *, u8); diff --git a/include/faraway_island.h b/include/faraway_island.h index 89b4bcd08..4946bda8a 100755 --- a/include/faraway_island.h +++ b/include/faraway_island.h @@ -1,7 +1,7 @@ #ifndef GUARD_FARAWAY_ISLAND_H #define GUARD_FARAWAY_ISLAND_H -u32 sub_81D427C(void); +u32 GetMewMoveDirection(void); bool8 sub_81D4A58(struct EventObject*); void UpdateFarawayIslandStepCounter(void); bool8 EventObjectIsFarawayIslandMew(struct EventObject *); diff --git a/include/field_weather.h b/include/field_weather.h index 76399200d..3a84a8a73 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,6 +3,14 @@ #include "sprite.h" +#define MAX_RAIN_SPRITES 24 +#define NUM_CLOUD_SPRITES 3 +#define NUM_FOG1_SPRITES 20 +#define NUM_ASH_SPRITES 20 +#define NUM_FOG2_SPRITES 20 +#define NUM_SANDSTORM_SPRITES 20 +#define NUM_SWIRL_SANDSTORM_SPRITES 5 + // Controls how the weather should be changing the screen palettes. enum { @@ -27,18 +35,18 @@ struct Weather { struct { - struct Sprite *rainSprites[24]; + struct Sprite *rainSprites[MAX_RAIN_SPRITES]; struct Sprite *snowflakeSprites[101]; - struct Sprite *cloudSprites[3]; + struct Sprite *cloudSprites[NUM_CLOUD_SPRITES]; } s1; struct { u8 filler0[0xA0]; - struct Sprite *fog1Sprites[20]; - struct Sprite *ashSprites[20]; - struct Sprite *fog2Sprites[20]; - struct Sprite *sandstormSprites1[20]; - struct Sprite *sandstormSprites2[5]; + struct Sprite *fog1Sprites[NUM_FOG1_SPRITES]; + struct Sprite *ashSprites[NUM_ASH_SPRITES]; + struct Sprite *fog2Sprites[NUM_FOG2_SPRITES]; + struct Sprite *sandstormSprites1[NUM_SANDSTORM_SPRITES]; + struct Sprite *sandstormSprites2[NUM_SWIRL_SANDSTORM_SPRITES]; } s2; } sprites; u8 gammaShifts[19][32]; @@ -62,57 +70,57 @@ struct Weather bool8 weatherChangeComplete; u8 weatherPicSpritePalIndex; u8 altGammaSpritePalIndex; - u16 unknown_6D6; - u8 unknown_6D8; - u8 unknown_6D9; + u16 rainSpriteVisibleCounter; + u8 curRainSpriteIndex; + u8 targetRainSpriteCount; u8 rainSpriteCount; - u8 unknown_6DB; - u8 unknown_6DC; + u8 rainSpriteVisibleDelay; + u8 isHeavyRain; u8 rainStrength; /*0x6DE*/ u8 cloudSpritesCreated; u8 filler_6DF[1]; - u16 unknown_6E0; + u16 snowflakeVisibleCounter; u16 unknown_6E2; u8 snowflakeSpriteCount; - u8 unknown_6E5; + u8 targetSnowflakeSpriteCount; u16 unknown_6E6; u16 thunderCounter; u8 unknown_6EA; u8 unknown_6EB; u8 unknown_6EC; - u8 unknown_6ED; + u8 thunderTriggered; u16 fog1ScrollPosX; - u16 unknown_6F0; - u16 unknown_6F2; + u16 fog1ScrollCounter; + u16 fog1ScrollOffset; u8 lightenedFogSpritePals[6]; u8 lightenedFogSpritePalsCount; u8 fog1SpritesCreated; - u16 unknown_6FC; + u16 ashBaseSpritesX; u16 unknown_6FE; u8 ashSpritesCreated; u8 filler_701[3]; - u32 unknown_704; - u32 unknown_708; + u32 sandstormXOffset; + u32 sandstormYOffset; u8 filler_70C[2]; - u16 unknown_70E; - u16 unknown_710; - u16 unknown_712; - u16 unknown_714; - u8 sandstormSprites1Created; - u8 sandstormSprites2Created; - u16 unknown_718; - u16 unknown_71A; - u16 unknown_71C; - u16 unknown_71E; - u16 unknown_720; - u16 unknown_722; + u16 sandstormBaseSpritesX; + u16 sandstormPosY; + u16 sandstormWaveIndex; + u16 sandstormWaveCounter; + u8 sandstormSpritesCreated; + u8 sandstormSwirlSpritesCreated; + u16 fog2BaseSpritesX; + u16 fog2PosY; + u16 fog2ScrollXCounter; + u16 fog2ScrollYCounter; + u16 fog2XOffset; + u16 fog2YOffset; u8 fog2SpritesCreated; u8 filler_725[1]; - u16 unknown_726; - u16 unknown_728; - u16 unknown_72A; - u16 unknown_72C; - u8 unknown_72E; + u16 bubblesDelayCounter; + u16 bubblesDelayIndex; + u16 bubblesCoordsIndex; + u16 bubblesSpriteCount; + u8 bubblesSpritesCreated; u8 filler_72F; u16 currBlendEVA; u16 currBlendEVB; @@ -174,10 +182,10 @@ void Clouds_InitVars(void); void Clouds_Main(void); void Clouds_InitAll(void); bool8 Clouds_Finish(void); -void Weather2_InitVars(void); -void Weather2_Main(void); -void Weather2_InitAll(void); -bool8 Weather2_Finish(void); +void Sunny_InitVars(void); +void Sunny_Main(void); +void Sunny_InitAll(void); +bool8 Sunny_Finish(void); void LightRain_InitVars(void); void LightRain_Main(void); void LightRain_InitAll(void); diff --git a/include/global.h b/include/global.h index 0506c036e..7b570d72e 100644 --- a/include/global.h +++ b/include/global.h @@ -816,7 +816,7 @@ struct MysteryEventStruct u8 unk_1; }; - struct MEventBuffer_3120_Sub + struct WonderNews { u16 unk_00; u8 unk_02; @@ -825,13 +825,13 @@ struct MysteryEventStruct u8 unk_2C[10][40]; }; - struct MEventBuffer_3120 + struct WonderNewsSaveStruct { u32 crc; - struct MEventBuffer_3120_Sub data; + struct WonderNews data; }; - struct MEventBuffer_32E0_Sub + struct WonderCard { u16 unk_00; u16 unk_02; @@ -847,10 +847,10 @@ struct MysteryEventStruct u8 unk_122[40]; }; - struct MEventBuffer_32E0 + struct WonderCardSaveStruct { u32 crc; - struct MEventBuffer_32E0_Sub data; + struct WonderCard data; }; struct MEventBuffer_3430_Sub @@ -870,8 +870,8 @@ struct MysteryEventStruct struct MEventBuffers { - /*0x000 0x322C*/ struct MEventBuffer_3120 buffer_000; - /*0x1c0 0x33EC*/ struct MEventBuffer_32E0 buffer_1c0; + /*0x000 0x322C*/ struct WonderNewsSaveStruct wonderNews; + /*0x1c0 0x33EC*/ struct WonderCardSaveStruct wonderCard; /*0x310 0x353C*/ struct MEventBuffer_3430 buffer_310; /*0x338 0x3564*/ u16 unk_338[4]; /*0x340 0x356C*/ struct MysteryEventStruct unk_340; diff --git a/include/link_rfu.h b/include/link_rfu.h index b8ba1a927..edfd0ed20 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -284,7 +284,7 @@ bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); bool8 sub_800DF34(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); s32 sub_800E87C(u8 idx); void sub_8011BA4(void); -void sub_8010198(void); +void LinkRfu_FatalError(void); bool32 sub_8011A9C(void); void sub_80104B0(void); void sub_8011A50(void); diff --git a/include/menu.h b/include/menu.h index 4f3c4a3cc..4d55fc955 100644 --- a/include/menu.h +++ b/include/menu.h @@ -69,7 +69,7 @@ u16 copy_decompressed_tile_data_to_vram(u8 bgId, const void *src, u16 size, u16 void AddTextPrinterForMessage(bool8 allowSkippingDelayWithButtonPress); void AddItemMenuActionTextPrinters(u8 windowId, u8 fontId, u8 left, u8 top, u8 letterSpacing, u8 lineHeight, u8 itemCount, const struct MenuAction *strs, const u8 *a8); void sub_8198DBC(u8 windowId, u8 fontId, u8 left, u8 top, u8 a4, u8 itemCount, u8 itemCount2, const struct MenuAction *strs, const u8 *a8); -u8 sub_8199944(u8 windowId, u8 optionWidth, u8 horizontalCount, u8 verticalCount, u8 initialCursorPos); +u8 sub_8199944(u8 windowId, u8 optionWidth, u8 columns, u8 rows, u8 initialCursorPos); u8 sub_8199134(s8, s8); u8 GetStartMenuWindowId(void); void sub_819A2BC(u8, u8); @@ -91,7 +91,7 @@ void sub_8199C30(u8 bgId, u8 left, u8 top, u8 width, u8 height, u8 palette); void sub_8199D3C(void *ptr, int delta, int width, int height, bool32 is8BPP); void sub_8198204(const u8 *string, const u8 *string2, u8 a3, u8 a4, bool8 copyToVram); void sub_8197AE8(bool8 copyToVram); -void sub_81997AC(u8 windowId, u8 a4, u8 a6, u8 a7, const struct MenuAction *strs); +void PrintMenuGridTable(u8 windowId, u8 optionWidth, u8 columns, u8 rows, const struct MenuAction *strs); s8 Menu_ProcessInputGridLayout(void); u8 InitMenuInUpperLeftCorner(u8 windowId, u8 itemCount, u8 initialCursorPos, bool8 APressMuted); s8 Menu_ProcessInputNoWrapAround_other(void); diff --git a/include/mevent.h b/include/mevent.h index 9c5d559bf..a34ca355c 100755 --- a/include/mevent.h +++ b/include/mevent.h @@ -32,30 +32,30 @@ struct MEventStruct_Unk1442CC }; void sub_801AFD8(void); -struct MEventBuffer_3120_Sub *sav1_get_mevent_buffer_0(void); -struct MEventBuffer_32E0_Sub *sav1_get_mevent_buffer_1(void); +struct WonderNews *GetSavedWonderNews(void); +struct WonderCard *GetSavedWonderCard(void); struct MEventBuffer_3430_Sub *sav1_get_mevent_buffer_2(void); struct MysteryEventStruct *sub_801B044(void); u16 *sub_801B058(void); void DestroyWonderNews(void); -bool32 sub_801B078(const struct MEventBuffer_3120_Sub *src); +bool32 sub_801B078(const struct WonderNews *src); bool32 ValidateReceivedWonderNews(void); bool32 WonderNews_Test_Unk_02(void); bool32 sub_801B1A4(const u8 *src); void DestroyWonderCard(void); -bool32 sub_801B21C(const struct MEventBuffer_32E0_Sub *data); +bool32 sub_801B21C(const struct WonderCard *data); bool32 ValidateReceivedWonderCard(void); bool32 WonderCard_Test_Unk_08_6(void); u16 GetWonderCardFlagID(void); -void sub_801B3C0(struct MEventBuffer_32E0_Sub *buffer); +void WonderCard_ResetInternalReceivedFlag(struct WonderCard *buffer); bool32 CheckReceivedGiftFromWonderCard(void); bool32 sub_801B508(const u16 *data); void sub_801B580(struct MEventStruct_Unk1442CC *data, bool32 a1); bool32 sub_801B6A0(const struct MEventStruct_Unk1442CC *data, bool32 a1); -u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *unused); -u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, void *unused); -bool32 sub_801B748(const struct MEventStruct_Unk1442CC *a0, const u16 *a1); -u16 sub_801B784(const struct MEventStruct_Unk1442CC *a0, u32 command); +u32 sub_801B6EC(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused); +u32 sub_801B708(const u16 *a0, const struct MEventStruct_Unk1442CC *a1, const void *unused); +bool32 MEventStruct_Unk1442CC_CompareField_unk_16(const struct MEventStruct_Unk1442CC *a0, const u16 *a1); +u16 MEventStruct_Unk1442CC_GetValueNFrom_unk_20(const struct MEventStruct_Unk1442CC *a0, u32 command); u16 mevent_081445C0(u32 command); void sub_801B940(void); bool32 sub_801B94C(u16 a0); diff --git a/include/mevent_801BAAC.h b/include/mevent_801BAAC.h index 547d5237b..d76bc92c2 100644 --- a/include/mevent_801BAAC.h +++ b/include/mevent_801BAAC.h @@ -1,8 +1,8 @@ #ifndef GUARD_MEVENT_801BAAC_H #define GUARD_MEVENT_801BAAC_H -bool32 InitWonderCardResources(struct MEventBuffer_32E0_Sub * r5, struct MEventBuffer_3430_Sub * r6); -bool32 InitWonderNewsResources(const struct MEventBuffer_3120_Sub * a0); +bool32 InitWonderCardResources(struct WonderCard * r5, struct MEventBuffer_3430_Sub * r6); +bool32 InitWonderNewsResources(const struct WonderNews * a0); s32 FadeToWonderCardMenu(void); s32 FadeToWonderNewsMenu(void); s32 FadeOutFromWonderCard(bool32 flag); diff --git a/include/mevent_client.h b/include/mevent_client.h new file mode 100644 index 000000000..c32d14d7a --- /dev/null +++ b/include/mevent_client.h @@ -0,0 +1,33 @@ +#ifndef GUARD_MEVENT_CLIENT_H +#define GUARD_MEVENT_CLIENT_H + +#include "mevent_server_helpers.h" + +struct mevent_client_cmd +{ + u32 instr; + u32 parameter; +}; + +struct mevent_client +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 flag; + u32 cmdidx; + void * sendBuffer; + void * recvBuffer; + struct mevent_client_cmd * cmdBuffer; + void * buffer; + struct mevent_srv_sub manager; + u32 unk_4C; +}; + +void mevent_client_do_init(u32 arg); +u32 mevent_client_do_exec(u16 * a0); +void mevent_client_inc_flag(void); +void * mevent_client_get_buffer(void); +void mevent_client_set_param(u32 a0); + +#endif //GUARD_MEVENT_CLIENT_H diff --git a/include/mevent_server.h b/include/mevent_server.h index d7657b270..e74337cf6 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -1,6 +1,34 @@ #ifndef GUARD_MEVENT_SERVER_H #define GUARD_MEVENT_SERVER_H +#include "mevent_server_helpers.h" + +struct mevent_cmd +{ + u32 instr; + bool32 flag; + const void * parameter; +}; + +struct mevent_srv_common +{ + u32 unk_00; + u32 param; + u32 mainseqno; + u32 cmdidx; + const struct mevent_cmd * cmdBuffer; + void * recvBuffer; + struct WonderCard * wonder_card; + struct WonderNews * wonder_news; + struct MEventStruct_Unk1442CC * mevent_unk1442cc; + const void * sendBuffer1; + u32 sendBuffer1Size; + const void * sendBuffer2; + u32 sendBuffer2Size; + u32 sendWord; + struct mevent_srv_sub manager; +}; + void mevent_srv_new_wcard(); void mevent_srv_init_wnews(); u32 mevent_srv_common_do_exec(u16 * a0); diff --git a/include/mevent_server_helpers.h b/include/mevent_server_helpers.h new file mode 100644 index 000000000..e4e409862 --- /dev/null +++ b/include/mevent_server_helpers.h @@ -0,0 +1,38 @@ +#ifndef GUARD_MEVENT_SERVER_HELPERS_H +#define GUARD_MEVENT_SERVER_HELPERS_H + +#define ME_SEND_BUF_SIZE 0x400 + +struct mevent_srv_sub +{ + s32 seqno; + u8 sendPlayerNo; + u8 recvPlayerNo; + u16 recvIdent; + u16 recvCounter; + u16 recvCRC; + u16 recvSize; + u16 sendIdent; + u16 sendCounter; + u16 sendCRC; + u16 sendSize; + void * recvBfr; + const void * sendBfr; + u32 (*recvFunc)(struct mevent_srv_sub *); + u32 (*sendFunc)(struct mevent_srv_sub *); +}; + +struct send_recv_header +{ + u16 ident; + u16 crc; + u16 size; +}; + +void mevent_srv_sub_init(struct mevent_srv_sub *, u32, u32); +void mevent_srv_sub_init_send(struct mevent_srv_sub * manager, u32 ident, const void * src, u32 size); +bool32 mevent_srv_sub_recv(struct mevent_srv_sub * manager); +bool32 mevent_srv_sub_send(struct mevent_srv_sub * manager); +void mevent_srv_sub_init_recv(struct mevent_srv_sub *, u32, void *); + +#endif //GUARD_MEVENT_SERVER_HELPERS_H diff --git a/include/mevent_server_ish.h b/include/mevent_server_ish.h deleted file mode 100644 index 31f98ed52..000000000 --- a/include/mevent_server_ish.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef GUARD_MEVENT_SERVER_ISH_H -#define GUARD_MEVENT_SERVER_ISH_H - -void mevent_srv_ish_do_init(u32 arg); -u32 mevent_srv_ish_do_exec(u16 * a0); -void mevent_srv_ish_inc_flag(void); -void * mevent_srv_ish_get_buffer(void); -void mevent_srv_ish_set_param(u32 a0); - -#endif //GUARD_MEVENT_SERVER_ISH_H diff --git a/include/naming_screen.h b/include/naming_screen.h index b04cb19b6..611f53ef2 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -59,9 +59,9 @@ struct NamingScreenData { enum { + PAGE_OTHERS, PAGE_UPPER, PAGE_LOWER, - PAGE_OTHERS, }; enum diff --git a/include/script.h b/include/script.h index 34f4635bb..cfe493479 100644 --- a/include/script.h +++ b/include/script.h @@ -57,9 +57,9 @@ u32 CalculateRamScriptChecksum(void); void ClearRamScript(void); bool8 InitRamScript(const u8 *script, u16 scriptSize, u8 mapGroup, u8 mapNum, u8 objectId); const u8 *GetRamScript(u8 objectId, const u8 *script); -bool32 sub_80991F8(void); -u8 *sub_8099244(void); -void sub_80992A0(u8 *script, u16 scriptSize); +bool32 ValidateSavedRamScript(void); +u8 *GetSavedRamScriptIfValid(void); +void InitRamScript_NoEventObject(u8 *script, u16 scriptSize); // srccmd.h void sub_809BE48(u16 npcId); diff --git a/include/script_menu.h b/include/script_menu.h index 1f4e549fe..efb51870b 100644 --- a/include/script_menu.h +++ b/include/script_menu.h @@ -11,7 +11,7 @@ bool8 ScriptMenu_ShowPokemonPic(u16 var1, u8 var2, u8 var3); bool8 (*ScriptMenu_GetPicboxWaitFunc(void))(void); int convert_pixel_width_to_tile_width(int); u8 CreateWindowFromRect(u8, u8, u8, u8); -void sub_80E2A78(u8); +void ClearToTransparentAndRemoveWindow(u8); int display_text_and_get_width(const u8*, int); int sub_80E2D5C(int arg0, int tileWidth); bool16 ScrSpecial_CreatePCMenu(void); diff --git a/include/util.h b/include/util.h index 56c89359a..77062de96 100644 --- a/include/util.h +++ b/include/util.h @@ -10,8 +10,8 @@ u8 CreateInvisibleSpriteWithCallback(void (*)(struct Sprite *)); void StoreWordInTwoHalfwords(u16 *, u32); void LoadWordFromTwoHalfwords(u16 *, u32 *); int CountTrailingZeroBits(u32 value); -u16 CalcCRC16(u8 *data, s32 length); -u16 CalcCRC16WithTable(u8 *data, u32 length); +u16 CalcCRC16(const u8 *data, s32 length); +u16 CalcCRC16WithTable(const u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); |