Skip to content

Commit c294980

Browse files
committed
Rom crash fix and puppycam volume fix
A hasty fix so built roms can actually work
1 parent f0971b9 commit c294980

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

sm64.ld

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -302,11 +302,7 @@ SECTIONS
302302
END_SEG(behavior)
303303
304304
/* 0x8016F000 21D7D0-255EC0 [386F0] */
305-
#ifdef PRELIMINARY
306305
BEGIN_SEG(goddard, RAM_END - GODDARD_SIZE)
307-
#else
308-
BEGIN_SEG(goddard, 0x80345678)
309-
#endif
310306
{
311307
KEEP(BUILD_DIR/src/menu*.o(.text));
312308
KEEP(BUILD_DIR/src/menu*.o(.data*));

src/game/level_update.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
#include "level_table.h"
2929
#include "course_table.h"
3030
#include "rumble_init.h"
31+
#include "puppycam2.h"
3132

3233
#include "config.h"
3334

@@ -640,6 +641,18 @@ void initiate_warp(s16 destLevel, s16 destArea, s16 destWarpNode, s32 arg3) {
640641
sWarpDest.areaIdx = destArea;
641642
sWarpDest.nodeId = destWarpNode;
642643
sWarpDest.arg = arg3;
644+
645+
#ifdef PUPPYCAM
646+
s32 i = 0;
647+
if (sWarpDest.type != WARP_TYPE_SAME_AREA)
648+
{
649+
for (i = 0; i < gPuppyVolumeCount; i++)
650+
{
651+
mem_pool_free(gPuppyMemoryPool, sPuppyVolumeStack[i]);
652+
}
653+
gPuppyVolumeCount = 0;
654+
}
655+
#endif
643656
}
644657

645658
// From Surface 0xD3 to 0xFC

0 commit comments

Comments
 (0)