Synchronized race timers
This commit is contained in:
parent
3ab8f04c61
commit
ab155b3147
|
@ -138,7 +138,7 @@ static u32 sBackwardKnockbackActions[][3] = {
|
|||
|
||||
static u8 sDisplayingDoorText = FALSE;
|
||||
static u8 sJustTeleported = FALSE;
|
||||
static u8 sPssSlideStarted = FALSE;
|
||||
u8 gPssSlideStarted = FALSE;
|
||||
|
||||
/**
|
||||
* Returns the type of hat Mario is wearing.
|
||||
|
@ -2143,13 +2143,13 @@ void pss_begin_slide(UNUSED struct MarioState *m) {
|
|||
if (!(gHudDisplay.flags & HUD_DISPLAY_FLAG_TIMER)) {
|
||||
level_control_timer(TIMER_CONTROL_SHOW);
|
||||
level_control_timer(TIMER_CONTROL_START);
|
||||
sPssSlideStarted = TRUE;
|
||||
gPssSlideStarted = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void pss_end_slide(struct MarioState *m) {
|
||||
//! This flag isn't set on death or level entry, allowing double star spawn
|
||||
if (sPssSlideStarted) {
|
||||
if (gPssSlideStarted) {
|
||||
u16 slideTime = level_control_timer(TIMER_CONTROL_STOP);
|
||||
if (slideTime < 630) {
|
||||
// PSS secret star uses oBehParams to spawn
|
||||
|
@ -2158,7 +2158,7 @@ void pss_end_slide(struct MarioState *m) {
|
|||
spawn_default_star(-6358.0f, -4300.0f, 4700.0f);
|
||||
m->marioObj->oBehParams = tmp;
|
||||
}
|
||||
sPssSlideStarted = FALSE;
|
||||
gPssSlideStarted = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -97,6 +97,7 @@
|
|||
#define INT_STATUS_STOP_RIDING (1 << 22) /* 0x00400000 */
|
||||
#define INT_STATUS_TOUCHED_BOB_OMB (1 << 23) /* 0x00800000 */
|
||||
|
||||
extern u8 gPssSlideStarted;
|
||||
|
||||
s16 mario_obj_angle_to_object(struct MarioState *m, struct Object *o);
|
||||
void mario_stop_riding_object(struct MarioState *m);
|
||||
|
|
|
@ -3,9 +3,11 @@
|
|||
#include "menu/custom_menu_system.h"
|
||||
#include "game/interaction.h"
|
||||
#include "game/object_list_processor.h"
|
||||
#include "game/object_helpers.h"
|
||||
#include "game/interaction.h"
|
||||
#include "game/level_update.h"
|
||||
#include "object_constants.h"
|
||||
#include "object_fields.h"
|
||||
#include "game/object_helpers.h"
|
||||
#include "behavior_table.h"
|
||||
#include "model_ids.h"
|
||||
//#define DISABLE_MODULE_LOG 1
|
||||
|
@ -183,7 +185,10 @@ void network_send_location_response(u8 destGlobalIndex) {
|
|||
packet_write(&p, &gCurrLevelNum, sizeof(s16));
|
||||
packet_write(&p, &gCurrAreaIndex, sizeof(s16));
|
||||
|
||||
// level variables
|
||||
packet_write(&p, &gMarioStates[0].numCoins, sizeof(s16));
|
||||
packet_write(&p, &gPssSlideStarted, sizeof(u8));
|
||||
packet_write(&p, &gHudDisplay.timer, sizeof(u16));
|
||||
|
||||
// static spawn removal
|
||||
packet_write(&p, &sStaticSpawnRemovalIndex, sizeof(u8));
|
||||
|
@ -276,6 +281,17 @@ void network_receive_location_response(struct Packet* p) {
|
|||
s16 numCoins;
|
||||
packet_read(p, &numCoins, sizeof(s16));
|
||||
|
||||
u8 pssSlideStarted;
|
||||
u16 hudDisplayTimer;
|
||||
packet_read(p, &pssSlideStarted, sizeof(u8));
|
||||
packet_read(p, &hudDisplayTimer, sizeof(u16));
|
||||
if (pssSlideStarted) {
|
||||
level_control_timer(TIMER_CONTROL_SHOW);
|
||||
level_control_timer(TIMER_CONTROL_START);
|
||||
gPssSlideStarted = TRUE;
|
||||
gHudDisplay.timer = hudDisplayTimer;
|
||||
}
|
||||
|
||||
u8 staticSpawnRemovals;
|
||||
static_spawn_removal_clear();
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
#define DISABLE_MODULE_LOG 1
|
||||
#include "pc/debuglog.h"
|
||||
|
||||
#define RESERVATION_COUNT 10
|
||||
#define RESERVATION_COUNT 5
|
||||
|
||||
void network_send_reservation_request(void) {
|
||||
assert(gNetworkType == NT_CLIENT);
|
||||
|
|
Loading…
Reference in New Issue