diff --git a/src/game/area.c b/src/game/area.c index ec7eafa73..92c02a303 100644 --- a/src/game/area.c +++ b/src/game/area.c @@ -33,6 +33,7 @@ struct WarpTransition gWarpTransition; s16 gCurrCourseNum; s16 gCurrActNum; +s16 gCurrActStarNum; s16 gCurrAreaIndex; s16 gSavedCourseNum; s16 gPauseScreenMode; diff --git a/src/game/area.h b/src/game/area.h index 90c612612..e8a49398f 100644 --- a/src/game/area.h +++ b/src/game/area.h @@ -125,6 +125,7 @@ extern struct Area gAreaData[]; extern struct WarpTransition gWarpTransition; extern s16 gCurrCourseNum; extern s16 gCurrActNum; +extern s16 gCurrActStarNum; extern s16 gCurrAreaIndex; extern s16 gSavedCourseNum; extern s16 gPauseScreenMode; diff --git a/src/game/level_update.c b/src/game/level_update.c index ac2ca502d..6017be7e7 100644 --- a/src/game/level_update.c +++ b/src/game/level_update.c @@ -1177,7 +1177,7 @@ s32 play_mode_change_level(void) { gHudDisplay.flags = HUD_DISPLAY_NONE; sTransitionTimer = 0; sTransitionUpdate = NULL; - + gCurrActStarNum = 0; if (sWarpDest.type != WARP_TYPE_NOT_WARPING) { return sWarpDest.levelNum; } else { diff --git a/src/menu/star_select.c b/src/menu/star_select.c index a8ce0928a..8844912f7 100644 --- a/src/menu/star_select.c +++ b/src/menu/star_select.c @@ -455,4 +455,5 @@ void star_select_finish_selection(void) { sLoadedActNum = sInitSelectedActNum; } gDialogCourseActNum = sSelectedActIndex + 1; + gCurrActStarNum = gDialogCourseActNum; } diff --git a/src/pc/network/network.c b/src/pc/network/network.c index 045079ef0..6fcd884d9 100644 --- a/src/pc/network/network.c +++ b/src/pc/network/network.c @@ -13,7 +13,7 @@ // Mario 64 specific externs extern s16 sCurrPlayMode; -extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; +extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; enum NetworkType gNetworkType = NT_NONE; #ifdef DISCORD_SDK @@ -98,7 +98,7 @@ void network_on_loaded_level(void) { struct NetworkPlayer* np = gNetworkPlayerLocal; if (np != NULL) { bool levelMatch = (np->currCourseNum == gCurrCourseNum - && np->currActNum == gCurrActNum + && np->currActNum == gCurrActStarNum && np->currLevelNum == gCurrLevelNum); if (np->currLevelSyncValid && levelMatch && np->currAreaIndex != gCurrAreaIndex) { network_send_change_area(); diff --git a/src/pc/network/packets/packet.c b/src/pc/network/packets/packet.c index e1f5cfb8e..b41fc31a9 100644 --- a/src/pc/network/packets/packet.c +++ b/src/pc/network/packets/packet.c @@ -4,17 +4,17 @@ void packet_process(struct Packet* p) { if (p->levelAreaMustMatch) { - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; bool levelAreaMismatch = (p->courseNum != gCurrCourseNum - || p->actNum != gCurrActNum + || p->actNum != gCurrActStarNum || p->levelNum != gCurrLevelNum || p->areaIndex != gCurrAreaIndex); // drop packet if (levelAreaMismatch) { if (gNetworkType != NT_SERVER) { LOG_INFO("dropping level mismatch packet %d", p->packetType); - LOG_INFO(" (%d, %d, %d, %d) != (%d, %d, %d, %d)", p->courseNum, p->actNum, p->levelNum, p->areaIndex, gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex); + LOG_INFO(" (%d, %d, %d, %d) != (%d, %d, %d, %d)", p->courseNum, p->actNum, p->levelNum, p->areaIndex, gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex); } return; } diff --git a/src/pc/network/packets/packet_area.c b/src/pc/network/packets/packet_area.c index 8864f66ea..b91805fd3 100644 --- a/src/pc/network/packets/packet_area.c +++ b/src/pc/network/packets/packet_area.c @@ -30,7 +30,7 @@ void area_remove_sync_ids_clear(void) { ///////////////////////////////////////////////// void network_send_area(struct NetworkPlayer* toNp) { - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; packet_ordered_begin(); { @@ -38,10 +38,10 @@ void network_send_area(struct NetworkPlayer* toNp) { packet_init(&p, PACKET_AREA, true, false); // level location - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); - packet_write(&p, &gCurrAreaIndex, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrAreaIndex, sizeof(s16)); // write sync id removals packet_write(&p, &sRemoveSyncIdsIndex, sizeof(u8)); @@ -129,8 +129,8 @@ void network_receive_area(struct Packet* p) { packet_read(p, &levelNum, sizeof(s16)); packet_read(p, &areaIndex, sizeof(s16)); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("rx area: received an improper location"); return; } diff --git a/src/pc/network/packets/packet_area_request.c b/src/pc/network/packets/packet_area_request.c index 8355d450b..451c96a44 100644 --- a/src/pc/network/packets/packet_area_request.c +++ b/src/pc/network/packets/packet_area_request.c @@ -38,8 +38,8 @@ void network_receive_area_request(struct Packet* p) { return; } - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("rx area request: received an improper location"); return; } diff --git a/src/pc/network/packets/packet_change_area.c b/src/pc/network/packets/packet_change_area.c index d7c692062..7534c0d18 100644 --- a/src/pc/network/packets/packet_change_area.c +++ b/src/pc/network/packets/packet_change_area.c @@ -29,29 +29,30 @@ static void player_changed_area(struct NetworkPlayer* np, s16 courseNum, s16 act } void network_send_change_area(void) { - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; + extern s16 gCurrCourseNum, gCurrActNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; // override castle act to 0 to prevent instancing of the hub if (gCurrCourseNum == 0 && (gCurrLevelNum == LEVEL_CASTLE || gCurrLevelNum == LEVEL_CASTLE_GROUNDS || gCurrLevelNum == LEVEL_CASTLE_COURTYARD)) { + gCurrActStarNum = 0; gCurrActNum = 0; } if (gNetworkType == NT_SERVER) { - player_changed_area(gNetworkPlayerLocal, gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex); + player_changed_area(gNetworkPlayerLocal, gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex); return; } struct Packet p; packet_init(&p, PACKET_CHANGE_AREA, true, false); - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); - packet_write(&p, &gCurrAreaIndex, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrAreaIndex, sizeof(s16)); network_send_to(gNetworkPlayerServer->localIndex, &p); struct NetworkPlayer* np = gNetworkPlayerLocal; np->currCourseNum = gCurrCourseNum; - np->currActNum = gCurrActNum; + np->currActNum = gCurrActStarNum; np->currLevelNum = gCurrLevelNum; np->currAreaIndex = gCurrAreaIndex; np->currAreaSyncValid = false; diff --git a/src/pc/network/packets/packet_change_level.c b/src/pc/network/packets/packet_change_level.c index 19fc7f612..73f98381c 100644 --- a/src/pc/network/packets/packet_change_level.c +++ b/src/pc/network/packets/packet_change_level.c @@ -36,29 +36,30 @@ static void player_changed_level(struct NetworkPlayer* np, s16 courseNum, s16 ac } void network_send_change_level(void) { - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; + extern s16 gCurrCourseNum, gCurrActNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; // override castle act to 0 to prevent instancing of the hub if (gCurrCourseNum == 0 && (gCurrLevelNum == LEVEL_CASTLE || gCurrLevelNum == LEVEL_CASTLE_GROUNDS || gCurrLevelNum == LEVEL_CASTLE_COURTYARD)) { + gCurrActStarNum = 0; gCurrActNum = 0; } if (gNetworkType == NT_SERVER) { - player_changed_level(gNetworkPlayerLocal, gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex); + player_changed_level(gNetworkPlayerLocal, gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex); return; } struct Packet p; packet_init(&p, PACKET_CHANGE_LEVEL, true, false); - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); - packet_write(&p, &gCurrAreaIndex, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrAreaIndex, sizeof(s16)); network_send_to(gNetworkPlayerServer->localIndex, &p); struct NetworkPlayer* np = gNetworkPlayerLocal; np->currCourseNum = gCurrCourseNum; - np->currActNum = gCurrActNum; + np->currActNum = gCurrActStarNum; np->currLevelNum = gCurrLevelNum; np->currAreaIndex = gCurrAreaIndex; np->currAreaSyncValid = false; diff --git a/src/pc/network/packets/packet_level.c b/src/pc/network/packets/packet_level.c index b2c9917a3..c7f1ffffe 100644 --- a/src/pc/network/packets/packet_level.c +++ b/src/pc/network/packets/packet_level.c @@ -11,7 +11,7 @@ #include "pc/debuglog.h" void network_send_level(struct NetworkPlayer* toNp, bool sendArea) { - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum; + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum; packet_ordered_begin(); { @@ -19,9 +19,9 @@ void network_send_level(struct NetworkPlayer* toNp, bool sendArea) { packet_init(&p, PACKET_LEVEL, true, false); // level location - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); // level variables packet_write(&p, &gMarioStates[0].numCoins, sizeof(s16)); @@ -62,8 +62,8 @@ void network_receive_level(struct Packet* p) { packet_read(p, &actNum, sizeof(s16)); packet_read(p, &levelNum, sizeof(s16)); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum) { LOG_ERROR("rx level: received an improper location"); return; } diff --git a/src/pc/network/packets/packet_level_area_request.c b/src/pc/network/packets/packet_level_area_request.c index 73d1c8aff..b90789a46 100644 --- a/src/pc/network/packets/packet_level_area_request.c +++ b/src/pc/network/packets/packet_level_area_request.c @@ -38,8 +38,8 @@ void network_receive_level_area_request(struct Packet* p) { return; } - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("rx level area request: received an improper location"); return; } diff --git a/src/pc/network/packets/packet_level_macro.c b/src/pc/network/packets/packet_level_macro.c index cc23d5ae4..c99b50216 100644 --- a/src/pc/network/packets/packet_level_macro.c +++ b/src/pc/network/packets/packet_level_macro.c @@ -38,10 +38,10 @@ static void network_send_level_macro_area(struct NetworkPlayer* destNp, u8 areaI // write header struct Packet p; packet_init(&p, PACKET_LEVEL_MACRO, true, false); - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); - packet_write(&p, &gCurrAreaIndex, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrAreaIndex, sizeof(s16)); // write this area's index packet_write(&p, &areaIndex, sizeof(u8)); @@ -127,7 +127,7 @@ void network_receive_level_macro(struct Packet* p) { packet_read(p, &levelNum, sizeof(s16)); packet_read(p, &areaIndex, sizeof(s16)); - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum) { + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum) { LOG_ERROR("Receiving 'location response' with the wrong location!"); return; } diff --git a/src/pc/network/packets/packet_level_request.c b/src/pc/network/packets/packet_level_request.c index 4a426355f..665073de0 100644 --- a/src/pc/network/packets/packet_level_request.c +++ b/src/pc/network/packets/packet_level_request.c @@ -36,8 +36,8 @@ void network_receive_level_request(struct Packet* p) { return; } - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum) { LOG_ERROR("rx level request: received an improper location"); return; } diff --git a/src/pc/network/packets/packet_level_respawn_info.c b/src/pc/network/packets/packet_level_respawn_info.c index e278a4997..08b9f7832 100644 --- a/src/pc/network/packets/packet_level_respawn_info.c +++ b/src/pc/network/packets/packet_level_respawn_info.c @@ -111,10 +111,10 @@ void network_send_level_respawn_info(struct Object* o, u8 respawnInfoBits) { // write header struct Packet p; packet_init(&p, PACKET_LEVEL_RESPAWN_INFO, true, false); - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); - packet_write(&p, &gCurrAreaIndex, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrAreaIndex, sizeof(s16)); // write object info packet_write(&p, &isMacroObject, sizeof(u8)); @@ -131,7 +131,7 @@ void network_send_level_respawn_info(struct Object* o, u8 respawnInfoBits) { if (!np->connected) { continue; } if (!np->currLevelSyncValid) { continue; } if (np->currCourseNum != gCurrCourseNum) { continue; } - if (np->currActNum != gCurrActNum) { continue; } + if (np->currActNum != gCurrActStarNum) { continue; } if (np->currLevelNum != gCurrLevelNum) { continue; } if (np == gNetworkPlayerLocal) { continue; } struct Packet p2; @@ -164,7 +164,7 @@ void network_receive_level_respawn_info(struct Packet* p) { packet_read(p, &respawnInfoBits, sizeof(u8)); - bool levelMismatch = (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum); + bool levelMismatch = (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum); if (gNetworkType == NT_SERVER) { // ensure we got the info from a valid player struct NetworkPlayer* npFrom = &gNetworkPlayers[p->localIndex]; diff --git a/src/pc/network/packets/packet_level_spawn_info.c b/src/pc/network/packets/packet_level_spawn_info.c index fbd55451d..68dcd08bc 100644 --- a/src/pc/network/packets/packet_level_spawn_info.c +++ b/src/pc/network/packets/packet_level_spawn_info.c @@ -37,10 +37,10 @@ static void network_send_level_spawn_info_area(struct NetworkPlayer* destNp, u8 // write header struct Packet p; packet_init(&p, PACKET_LEVEL_SPAWN_INFO, true, false); - packet_write(&p, &gCurrCourseNum, sizeof(s16)); - packet_write(&p, &gCurrActNum, sizeof(s16)); - packet_write(&p, &gCurrLevelNum, sizeof(s16)); - packet_write(&p, &gCurrAreaIndex, sizeof(s16)); + packet_write(&p, &gCurrCourseNum, sizeof(s16)); + packet_write(&p, &gCurrActStarNum, sizeof(s16)); + packet_write(&p, &gCurrLevelNum, sizeof(s16)); + packet_write(&p, &gCurrAreaIndex, sizeof(s16)); // write this area's index packet_write(&p, &areaIndex, sizeof(u8)); @@ -96,7 +96,7 @@ void network_receive_level_spawn_info(struct Packet* p) { packet_read(p, &levelNum, sizeof(s16)); packet_read(p, &areaIndex, sizeof(s16)); - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum) { + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum) { LOG_ERROR("Receiving 'location response' with the wrong location!"); return; } diff --git a/src/pc/network/packets/packet_read_write.c b/src/pc/network/packets/packet_read_write.c index 3fb2a7932..78dffe796 100644 --- a/src/pc/network/packets/packet_read_write.c +++ b/src/pc/network/packets/packet_read_write.c @@ -56,12 +56,12 @@ void packet_init(struct Packet* packet, enum PacketType packetType, bool reliabl // write location if (levelAreaMustMatch) { - packet_write(packet, &gCurrCourseNum, sizeof(u8)); - packet_write(packet, &gCurrActNum, sizeof(u8)); - packet_write(packet, &gCurrLevelNum, sizeof(u8)); - packet_write(packet, &gCurrAreaIndex, sizeof(u8)); + packet_write(packet, &gCurrCourseNum, sizeof(u8)); + packet_write(packet, &gCurrActStarNum, sizeof(u8)); + packet_write(packet, &gCurrLevelNum, sizeof(u8)); + packet_write(packet, &gCurrAreaIndex, sizeof(u8)); packet->courseNum = gCurrCourseNum; - packet->actNum = gCurrActNum; + packet->actNum = gCurrActStarNum; packet->levelNum = gCurrLevelNum; packet->areaIndex = gCurrAreaIndex; } diff --git a/src/pc/network/packets/packet_reservation_list.c b/src/pc/network/packets/packet_reservation_list.c index 8cf6f2c9f..7a2bbff37 100644 --- a/src/pc/network/packets/packet_reservation_list.c +++ b/src/pc/network/packets/packet_reservation_list.c @@ -37,8 +37,8 @@ void network_receive_reservation_list(struct Packet* p) { packet_read(p, &levelNum, sizeof(u8)); packet_read(p, &areaIndex, sizeof(u8)); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("received an improper location"); return; } diff --git a/src/pc/network/packets/packet_reservation_release.c b/src/pc/network/packets/packet_reservation_release.c index 475f29a2c..a4e86bfb0 100644 --- a/src/pc/network/packets/packet_reservation_release.c +++ b/src/pc/network/packets/packet_reservation_release.c @@ -19,11 +19,11 @@ void network_send_reservation_release(u8 syncId) { struct Packet p; packet_init(&p, PACKET_RESERVATION_RELEASE, true, false); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - packet_write(&p, &gCurrCourseNum, sizeof(u8)); - packet_write(&p, &gCurrActNum, sizeof(u8)); - packet_write(&p, &gCurrLevelNum, sizeof(u8)); - packet_write(&p, &gCurrAreaIndex, sizeof(u8)); + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + packet_write(&p, &gCurrCourseNum, sizeof(u8)); + packet_write(&p, &gCurrActStarNum, sizeof(u8)); + packet_write(&p, &gCurrLevelNum, sizeof(u8)); + packet_write(&p, &gCurrAreaIndex, sizeof(u8)); packet_write(&p, &syncId, sizeof(u8)); @@ -45,8 +45,8 @@ void network_receive_reservation_release(struct Packet* p) { packet_read(p, &levelNum, sizeof(u8)); packet_read(p, &areaIndex, sizeof(u8)); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("received an improper location"); return; } diff --git a/src/pc/network/packets/packet_reservation_use.c b/src/pc/network/packets/packet_reservation_use.c index 521ece2b2..d72232dd6 100644 --- a/src/pc/network/packets/packet_reservation_use.c +++ b/src/pc/network/packets/packet_reservation_use.c @@ -19,11 +19,11 @@ void network_send_reservation_use(u8 syncId) { struct Packet p; packet_init(&p, PACKET_RESERVATION_USE, true, false); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - packet_write(&p, &gCurrCourseNum, sizeof(u8)); - packet_write(&p, &gCurrActNum, sizeof(u8)); - packet_write(&p, &gCurrLevelNum, sizeof(u8)); - packet_write(&p, &gCurrAreaIndex, sizeof(u8)); + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + packet_write(&p, &gCurrCourseNum, sizeof(u8)); + packet_write(&p, &gCurrActStarNum, sizeof(u8)); + packet_write(&p, &gCurrLevelNum, sizeof(u8)); + packet_write(&p, &gCurrAreaIndex, sizeof(u8)); packet_write(&p, &syncId, sizeof(u8)); @@ -45,8 +45,8 @@ void network_receive_reservation_use(struct Packet* p) { packet_read(p, &levelNum, sizeof(u8)); packet_read(p, &areaIndex, sizeof(u8)); - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("received an improper location"); return; } diff --git a/src/pc/network/packets/packet_sync_valid.c b/src/pc/network/packets/packet_sync_valid.c index 9c4b5be17..20aeeacca 100644 --- a/src/pc/network/packets/packet_sync_valid.c +++ b/src/pc/network/packets/packet_sync_valid.c @@ -39,8 +39,8 @@ void network_receive_sync_valid(struct Packet* p) { packet_read(p, &fromGlobalIndex, sizeof(u8)); if (gNetworkType != NT_SERVER) { - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (courseNum != gCurrCourseNum || actNum != gCurrActNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (courseNum != gCurrCourseNum || actNum != gCurrActStarNum || levelNum != gCurrLevelNum || areaIndex != gCurrAreaIndex) { LOG_ERROR("rx sync valid: received an improper location"); return; } diff --git a/src/pc/network/reservation_area.c b/src/pc/network/reservation_area.c index df86a8911..3b5a6a737 100644 --- a/src/pc/network/reservation_area.c +++ b/src/pc/network/reservation_area.c @@ -269,8 +269,8 @@ void reservation_area_local_update(u8 courseNum, u8 actNum, u8 levelNum, u8 area u8 reservation_area_local_grab_id(void) { struct LocalReservationArea* la = &sLocalReservationArea; - extern s16 gCurrCourseNum, gCurrActNum, gCurrLevelNum, gCurrAreaIndex; - if (la->courseNum != gCurrCourseNum || la->actNum != gCurrActNum || la->levelNum != gCurrLevelNum || la->areaIndex != gCurrAreaIndex) { + extern s16 gCurrCourseNum, gCurrActStarNum, gCurrLevelNum, gCurrAreaIndex; + if (la->courseNum != gCurrCourseNum || la->actNum != gCurrActStarNum || la->levelNum != gCurrLevelNum || la->areaIndex != gCurrAreaIndex) { // invalid location return 0; }