mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
Fix crash in packet_spawn_star
This commit is contained in:
parent
0a224396ef
commit
136ac0d84c
1 changed files with 13 additions and 8 deletions
|
|
@ -37,16 +37,21 @@ void network_receive_spawn_star(struct Packet* p) {
|
||||||
packet_read(p, &behParams, sizeof(u32));
|
packet_read(p, &behParams, sizeof(u32));
|
||||||
packet_read(p, &networkPlayerIndex, sizeof(u8));
|
packet_read(p, &networkPlayerIndex, sizeof(u8));
|
||||||
|
|
||||||
u32 oldBehParams = gCurrentObject->oBehParams;
|
struct Object* oldObject = gCurrentObject;
|
||||||
gCurrentObject->oBehParams = behParams;
|
|
||||||
struct Object* o = NULL;
|
struct Object* o = NULL;
|
||||||
switch (starType) {
|
gCurrentObject = gMarioStates[0].marioObj;
|
||||||
case 0: o = spawn_default_star(x, y, z); break;
|
if (gCurrentObject) {
|
||||||
case 1: o = spawn_red_coin_cutscene_star(x, y, z); break;
|
u32 oldBehParams = gCurrentObject->oBehParams;
|
||||||
case 2: o = spawn_no_exit_star(x, y, z); break;
|
gCurrentObject->oBehParams = behParams;
|
||||||
default: LOG_ERROR("UNKNOWN SPAWN STAR %d", starType);
|
switch (starType) {
|
||||||
|
case 0: o = spawn_default_star(x, y, z); break;
|
||||||
|
case 1: o = spawn_red_coin_cutscene_star(x, y, z); break;
|
||||||
|
case 2: o = spawn_no_exit_star(x, y, z); break;
|
||||||
|
default: LOG_ERROR("UNKNOWN SPAWN STAR %d", starType);
|
||||||
|
}
|
||||||
|
gCurrentObject->oBehParams = oldBehParams;
|
||||||
}
|
}
|
||||||
gCurrentObject->oBehParams = oldBehParams;
|
gCurrentObject = oldObject;
|
||||||
|
|
||||||
if (o != NULL) {
|
if (o != NULL) {
|
||||||
packet_read(p, &o->oPosX, sizeof(u32) * 3);
|
packet_read(p, &o->oPosX, sizeof(u32) * 3);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue