Finish overworld.c

This commit is contained in:
PikalaxALT
2020-03-28 21:39:28 -04:00
parent 781aa8949c
commit 0f618efb15
18 changed files with 1145 additions and 2459 deletions
-2382
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -67,7 +67,7 @@
"elevation": 3, "elevation": 3,
"var": "VAR_TEMP_0", "var": "VAR_TEMP_0",
"var_value": "0", "var_value": "0",
"script": "RecordCenter_EventScript_Spot" "script": "RecordCenter_EventScript_Spot0"
}, },
{ {
"type": "trigger", "type": "trigger",
@@ -76,7 +76,7 @@
"elevation": 3, "elevation": 3,
"var": "VAR_TEMP_0", "var": "VAR_TEMP_0",
"var_value": "0", "var_value": "0",
"script": "RecordCenter_EventScript_Spot" "script": "RecordCenter_EventScript_Spot1"
}, },
{ {
"type": "trigger", "type": "trigger",
@@ -85,7 +85,7 @@
"elevation": 3, "elevation": 3,
"var": "VAR_TEMP_0", "var": "VAR_TEMP_0",
"var_value": "0", "var_value": "0",
"script": "RecordCenter_EventScript_Spot" "script": "RecordCenter_EventScript_Spot2"
}, },
{ {
"type": "trigger", "type": "trigger",
@@ -94,7 +94,7 @@
"elevation": 3, "elevation": 3,
"var": "VAR_TEMP_0", "var": "VAR_TEMP_0",
"var_value": "0", "var_value": "0",
"script": "RecordCenter_EventScript_Spot" "script": "RecordCenter_EventScript_Spot3"
} }
], ],
"bg_events": [] "bg_events": []
-29
View File
@@ -1,29 +0,0 @@
#include "constants/flags.h"
#include "constants/maps.h"
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
.align 2
gUnknown_826D33C:: @ 826D33C
.4byte sub_8058684
.4byte sub_80586A4
.4byte sub_80586A8
gUnknown_826D348:: @ 826D348
.4byte sub_80586C8
.4byte sub_80586CC
.4byte sub_80586CC
.4byte sub_80586CC
.4byte sub_80586CC
.4byte sub_80586C8
.4byte sub_80586C8
.4byte sub_8058734
.4byte sub_8058734
.4byte sub_8058734
.4byte sub_8058734
gUnknown_826D374:: @ 826D374
.4byte sub_805874C
.4byte sub_8058754
+5 -1
View File
@@ -702,7 +702,11 @@ TradeCenter_EventScript_Chair3:: @ 81BB974
end end
@ Nop in FRLG @ Nop in FRLG
RecordCenter_EventScript_Spot:: @ 81BB980 @ Separate labels to match GetDirectionForEventScript
RecordCenter_EventScript_Spot0:: @ 81BB980
RecordCenter_EventScript_Spot1:: @ 81BB980
RecordCenter_EventScript_Spot2:: @ 81BB980
RecordCenter_EventScript_Spot3:: @ 81BB980
end end
CableClub_EventScript_ReadTrainerCard:: @ 81BB981 CableClub_EventScript_ReadTrainerCard:: @ 81BB981
+1
View File
@@ -11,5 +11,6 @@
void sub_8081A90(u8 taskId); void sub_8081A90(u8 taskId);
u8 CreateTask_ReestablishLinkInCableClubRoom(void); u8 CreateTask_ReestablishLinkInCableClubRoom(void);
void CB2_ReturnFromCableClubBattle(void); void CB2_ReturnFromCableClubBattle(void);
bool32 GetSeeingLinkPlayerCardMsg(u8 who);
#endif //GUARD_CABLE_CLUB_H #endif //GUARD_CABLE_CLUB_H
+18
View File
@@ -1262,5 +1262,23 @@ extern const u8 EventScript_1C1361[];
// overworld // overworld
extern const u8 EventScript_ResetEliteFourEnd[]; extern const u8 EventScript_ResetEliteFourEnd[];
extern const u8 CableClub_EventScript_DoLinkRoomExit[];
extern const u8 CableClub_EventScript_TooBusyToNotice[];
extern const u8 CableClub_EventScript_ReadTrainerCard[];
extern const u8 CableClub_EventScript_ReadTrainerCardColored[];
extern const u8 BattleColosseum_4P_EventScript_PlayerSpot0[];
extern const u8 BattleColosseum_4P_EventScript_PlayerSpot1[];
extern const u8 BattleColosseum_4P_EventScript_PlayerSpot2[];
extern const u8 BattleColosseum_4P_EventScript_PlayerSpot3[];
extern const u8 RecordCenter_EventScript_Spot0[];
extern const u8 RecordCenter_EventScript_Spot1[];
extern const u8 RecordCenter_EventScript_Spot2[];
extern const u8 RecordCenter_EventScript_Spot3[];
extern const u8 BattleColosseum_2P_EventScript_PlayerSpot0[];
extern const u8 BattleColosseum_2P_EventScript_PlayerSpot1[];
extern const u8 TradeCenter_EventScript_Chair0[];
extern const u8 TradeCenter_EventScript_Chair1[];
extern const u8 TradeCenter_ConfirmLeaveRoom[];
extern const u8 TradeCenter_TerminateLink[];
#endif //GUARD_EVENT_SCRIPTS_H #endif //GUARD_EVENT_SCRIPTS_H
+1
View File
@@ -62,5 +62,6 @@ bool32 PlayerIsMovingOnRockStairs(u8 direction);
void sub_805BEB8(void); void sub_805BEB8(void);
void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender); void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender);
void nullsub_24(u8 direction); void nullsub_24(u8 direction);
u8 GetRSAvatarGraphicsIdByGender(u8 gender);
#endif //GUARD_FIELD_PLAYER_AVATAR_H #endif //GUARD_FIELD_PLAYER_AVATAR_H
+2
View File
@@ -289,5 +289,7 @@ void sub_800A900(u8 a0);
u8 sub_800A8A4(void); u8 sub_800A8A4(void);
void sub_800A9A4(void); void sub_800A9A4(void);
void SetLocalLinkPlayerId(u8 playerId); void SetLocalLinkPlayerId(u8 playerId);
bool32 IsSendingKeysToLink(void);
u32 GetLinkRecvQueueLength(void);
#endif // GUARD_LINK_H #endif // GUARD_LINK_H
+5 -5
View File
@@ -88,7 +88,7 @@ struct UnkRfuStruct_2_Sub_124
/* 0x57b */ vu8 full; /* 0x57b */ vu8 full;
}; };
struct UnkRfuStruct_2_Sub_9e8 struct RfuSendQueue
{ {
/* 0x000 */ u8 slots[40][14]; /* 0x000 */ u8 slots[40][14];
/* 0x230 */ vu8 recv_slot; /* 0x230 */ vu8 recv_slot;
@@ -148,7 +148,7 @@ typedef struct UnkRfuStruct_2
/* 0x102 */ u8 unk_102; /* 0x102 */ u8 unk_102;
/* 0x104 */ struct RfuTgtData unk_104; /* 0x104 */ struct RfuTgtData unk_104;
/* 0x124 */ struct UnkRfuStruct_2_Sub_124 unk_124; /* 0x124 */ struct UnkRfuStruct_2_Sub_124 unk_124;
/* 0x6a0 */ struct UnkRfuStruct_2_Sub_9e8 unk_9e8; /* 0x6a0 */ struct RfuSendQueue sendQueue;
/* 0x8d4 */ struct UnkRfuStruct_2_Sub_c1c unk_c1c; /* 0x8d4 */ struct UnkRfuStruct_2_Sub_c1c unk_c1c;
/* 0x8f4 */ vu8 unk_c3c; /* 0x8f4 */ vu8 unk_c3c;
/* 0x8f5 */ u8 reconnectedParentIdx; /* 0x8f5 */ u8 reconnectedParentIdx;
@@ -227,16 +227,16 @@ void InitRFU(void);
bool32 RfuIsErrorStatus1or2(void); bool32 RfuIsErrorStatus1or2(void);
void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *ptr); void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *ptr);
void RFU_queue_40_14_reset(struct UnkRfuStruct_2_Sub_9e8 *ptr); void RFU_queue_40_14_reset(struct RfuSendQueue *ptr);
void RfuSetErrorStatus(u8 a0, u16 msg); void RfuSetErrorStatus(u8 a0, u16 msg);
u8 RfuGetErrorStatus(void); u8 RfuGetErrorStatus(void);
void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2); void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *q1, u8 *q2);
bool8 RFU_queue_40_14_send(struct UnkRfuStruct_2_Sub_9e8 *q1, u8 *q2); bool8 RFU_queue_40_14_send(struct RfuSendQueue *q1, u8 *q2);
bool8 RFU_queue_2_14_send(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2); bool8 RFU_queue_2_14_send(struct UnkRfuStruct_2_Sub_c1c *q1, u8 *q2);
void RFU_queue_2_14_recv(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2); void RFU_queue_2_14_recv(struct UnkRfuStruct_2_Sub_c1c *q1, const u8 *q2);
bool8 RFU_queue_20_70_send(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1); bool8 RFU_queue_20_70_send(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1);
void RFU_queue_40_14_recv(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1); void RFU_queue_40_14_recv(struct RfuSendQueue * a0, u8 *a1);
void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders); void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 started, s32 child_sprite_genders);
void UpdateGameData_GroupLockedIn(bool8 started); void UpdateGameData_GroupLockedIn(bool8 started);
bool32 RfuSerialNumberIsValid(u32 a0); bool32 RfuSerialNumberIsValid(u32 a0);
+5 -5
View File
@@ -38,7 +38,7 @@ struct LinkPlayerObjectEvent
u8 active; u8 active;
u8 linkPlayerId; u8 linkPlayerId;
u8 objEventId; u8 objEventId;
u8 mode; u8 movementMode;
}; };
struct CreditsOverworldCmd struct CreditsOverworldCmd
@@ -177,11 +177,11 @@ u8 GetCurrentMapBattleScene(void);
void Overworld_ResetStateAfterFly(void); void Overworld_ResetStateAfterFly(void);
bool8 sub_8055B38(u16 metatileBehavior); bool8 sub_8055B38(u16 metatileBehavior);
void Overworld_ResetMapMusic(void); void Overworld_ResetMapMusic(void);
void sub_8057F5C(void); u16 QueueExitLinkRoomKey(void);
void sub_8057F34(void); u16 sub_8057F34(void);
u32 sub_8057EC0(void); u32 sub_8057EC0(void);
void sub_8057F70(void); u16 sub_8057F70(void);
void sub_8057F48(void); u16 sub_8057F48(void);
void SetMainCallback1(MainCallback cb); void SetMainCallback1(MainCallback cb);
void CB1_Overworld(void); void CB1_Overworld(void);
void CB2_ReturnToFieldContinueScript(void); void CB2_ReturnToFieldContinueScript(void);
-2
View File
@@ -88,7 +88,6 @@ SECTIONS {
src/play_time.o(.text); src/play_time.o(.text);
src/new_game.o(.text); src/new_game.o(.text);
src/overworld.o(.text); src/overworld.o(.text);
asm/overworld.o(.text);
src/fieldmap.o(.text); src/fieldmap.o(.text);
src/metatile_behavior.o(.text); src/metatile_behavior.o(.text);
src/field_camera.o(.text); src/field_camera.o(.text);
@@ -429,7 +428,6 @@ SECTIONS {
src/trade.o(.rodata); src/trade.o(.rodata);
src/trade_scene.o(.rodata); src/trade_scene.o(.rodata);
src/overworld.o(.rodata); src/overworld.o(.rodata);
data/overworld.o(.rodata);
data/tilesets.o(.rodata); data/tilesets.o(.rodata);
data/maps.o(.rodata); data/maps.o(.rodata);
src/fieldmap.o(.rodata); src/fieldmap.o(.rodata);
+1 -1
View File
@@ -767,7 +767,7 @@ void CleanupLinkRoomState(void)
void ExitLinkRoom(void) void ExitLinkRoom(void)
{ {
sub_8057F5C(); QueueExitLinkRoomKey();
} }
static void Task_EnterCableClubSeat(u8 taskId) static void Task_EnterCableClubSeat(u8 taskId)
+1 -1
View File
@@ -1152,7 +1152,7 @@ u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 state, u8 gender)
return sPlayerAvatarGfxIds[state][gender]; return sPlayerAvatarGfxIds[state][gender];
} }
u8 GetHoennLinkPartnerGraphicsIdByGender(u8 gender) u8 GetRSAvatarGraphicsIdByGender(u8 gender)
{ {
return sHoennLinkPartnerGfxIds[gender]; return sHoennLinkPartnerGfxIds[gender];
} }
+7 -7
View File
@@ -201,7 +201,7 @@ void ResetLinkRfuGFLayer(void)
} }
ResetSendDataManager(&Rfu.cmd_8800_sendbuf); ResetSendDataManager(&Rfu.cmd_8800_sendbuf);
RFU_queue_20_70_reset(&Rfu.unk_124); RFU_queue_20_70_reset(&Rfu.unk_124);
RFU_queue_40_14_reset(&Rfu.unk_9e8); RFU_queue_40_14_reset(&Rfu.sendQueue);
CpuFill16(0, gSendCmd, sizeof gSendCmd); CpuFill16(0, gSendCmd, sizeof gSendCmd);
CpuFill16(0, gRecvCmds, sizeof gRecvCmds); CpuFill16(0, gRecvCmds, sizeof gRecvCmds);
CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers); CpuFill16(0, gLinkPlayers, sizeof gLinkPlayers);
@@ -659,7 +659,7 @@ static void sub_80F906C(void)
} }
if (Rfu.unk_c3c == 0) if (Rfu.unk_c3c == 0)
{ {
RFU_queue_40_14_send(&Rfu.unk_9e8, Rfu.unk_4c); RFU_queue_40_14_send(&Rfu.sendQueue, Rfu.unk_4c);
RFU_queue_2_14_recv(&Rfu.unk_c1c, Rfu.unk_4c); RFU_queue_2_14_recv(&Rfu.unk_c1c, Rfu.unk_4c);
} }
} }
@@ -881,7 +881,7 @@ static bool32 RfuProcessEnqueuedRecvBlock(void)
Rfu.unk_cd0--; Rfu.unk_cd0--;
CallRfuFunc(); CallRfuFunc();
sub_80F94BC(gSendCmd, sp48); sub_80F94BC(gSendCmd, sp48);
RFU_queue_40_14_recv(&Rfu.unk_9e8, sp48); RFU_queue_40_14_recv(&Rfu.sendQueue, sp48);
for (i = 0; i < CMD_LENGTH - 1; i++) for (i = 0; i < CMD_LENGTH - 1; i++)
gSendCmd[i] = 0; gSendCmd[i] = 0;
} }
@@ -909,7 +909,7 @@ static void HandleSendFailure(u8 unused, u32 flags)
j++;j--; // Needed to match; j++;j--; // Needed to match;
} }
RFU_queue_40_14_recv(&Rfu.unk_9e8, sResendBlock8); RFU_queue_40_14_recv(&Rfu.sendQueue, sResendBlock8);
Rfu.cmd_8800_sendbuf.failedFlags |= (1 << i); Rfu.cmd_8800_sendbuf.failedFlags |= (1 << i);
} }
flags >>= 1; flags >>= 1;
@@ -1853,11 +1853,11 @@ static void RfuCheckErrorStatus(void)
gWirelessCommType = 2; gWirelessCommType = 2;
SetMainCallback2(CB2_LinkError); SetMainCallback2(CB2_LinkError);
gMain.savedCallback = CB2_LinkError; gMain.savedCallback = CB2_LinkError;
SetLinkErrorFromRfu((Rfu.linkman_msg << 16) | (Rfu.linkman_param[0] << 8) | Rfu.linkman_param[1], Rfu.unk_124.count, Rfu.unk_9e8.count, RfuGetErrorStatus() == 2); SetLinkErrorFromRfu((Rfu.linkman_msg << 16) | (Rfu.linkman_param[0] << 8) | Rfu.linkman_param[1], Rfu.unk_124.count, Rfu.sendQueue.count, RfuGetErrorStatus() == 2);
Rfu.errorState = 2; Rfu.errorState = 2;
CloseLink(); CloseLink();
} }
else if (Rfu.unk_9e8.full == 1 || Rfu.unk_124.full == 1) else if (Rfu.sendQueue.full == 1 || Rfu.unk_124.full == 1)
{ {
if (lman.childClockSlave_flag) if (lman.childClockSlave_flag)
rfu_LMAN_requestChangeAgbClockMaster(); rfu_LMAN_requestChangeAgbClockMaster();
@@ -2851,7 +2851,7 @@ static const char gUnknown_843EEA8[][8] = {
static u32 sub_80FC44C(void) static u32 sub_80FC44C(void)
{ {
return Rfu.unk_9e8.count; return Rfu.sendQueue.count;
} }
u32 GetRfuRecvQueueLength(void) u32 GetRfuRecvQueueLength(void)
+3 -3
View File
@@ -184,7 +184,7 @@ void RFU_queue_20_70_reset(struct UnkRfuStruct_2_Sub_124 *queue)
queue->full = 0; queue->full = 0;
} }
void RFU_queue_40_14_reset(struct UnkRfuStruct_2_Sub_9e8 *ptr) void RFU_queue_40_14_reset(struct RfuSendQueue *ptr)
{ {
s32 i; s32 i;
s32 j; s32 j;
@@ -260,7 +260,7 @@ void RFU_queue_20_70_recv(struct UnkRfuStruct_2_Sub_124 *queue, u8 *data)
} }
} }
void RFU_queue_40_14_recv(struct UnkRfuStruct_2_Sub_9e8 *queue, u8 *data) void RFU_queue_40_14_recv(struct RfuSendQueue *queue, u8 *data)
{ {
s32 i; s32 i;
u16 imeBak; u16 imeBak;
@@ -325,7 +325,7 @@ bool8 RFU_queue_20_70_send(struct UnkRfuStruct_2_Sub_124 *queue, u8 *dest)
return TRUE; return TRUE;
} }
bool8 RFU_queue_40_14_send(struct UnkRfuStruct_2_Sub_9e8 *queue, u8 *dest) bool8 RFU_queue_40_14_send(struct RfuSendQueue *queue, u8 *dest)
{ {
s32 i; s32 i;
u16 imeBak; u16 imeBak;
+1090 -4
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1883,7 +1883,7 @@ static int sub_81497A8(void)
static bool32 sub_8149804(void) static bool32 sub_8149804(void)
{ {
return !Rfu.unk_124.count && !Rfu.unk_9e8.count; return !Rfu.unk_124.count && !Rfu.sendQueue.count;
} }
static int sub_8149834(u8 *arg0) static int sub_8149834(u8 *arg0)
+1 -14
View File
@@ -20,21 +20,8 @@
.include "src/trade.o" .include "src/trade.o"
.align 2 .align 2
.include "src/play_time.o" .include "src/play_time.o"
.align 2 .align 2
@ .include "src/overworld.o" .include "src/overworld.o"
gUnknown_3000E80: @ 3000E80
.space 0x4
gUnknown_3000E84: @ 3000E84
.space 0x4
gUnknown_3000E88: @ 3000E88
.space 0x1
gUnknown_3000E89: @ 3000E89
.space 0x7
.align 3 .align 3
.include "src/field_camera.o" .include "src/field_camera.o"
.align 3 .align 3