You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
Added mario head skip as a toggle in config.h
This commit is contained in:
@@ -49,5 +49,7 @@
|
||||
// When this option is enabled, LODs will ONLY work on console.
|
||||
// When this option is disabled, LODs will work regardless of whether console or emulator is used.
|
||||
#define AUTO_LOD
|
||||
// Uncomment this if you want to keep the mario head and not skip it
|
||||
#define KEEP_MARIO_HEAD
|
||||
|
||||
#endif // CONFIG_H
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "command_macros_base.h"
|
||||
|
||||
#include "level_table.h"
|
||||
#include "config.h"
|
||||
|
||||
#define OP_AND 0
|
||||
#define OP_NAND 1
|
||||
@@ -169,7 +170,7 @@
|
||||
CMD_PTR(romEnd)
|
||||
#endif
|
||||
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
#define LOAD_MARIO_HEAD(sethead) \
|
||||
CMD_BBH(0x19, 0x04, sethead)
|
||||
#else
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
#include "levels/intro/header.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
// 0x0E0002D0
|
||||
const GeoLayout intro_geo_0002D0[] = {
|
||||
GEO_NODE_SCREEN_AREA(0, SCREEN_WIDTH/2, SCREEN_HEIGHT/2, SCREEN_WIDTH/2, SCREEN_HEIGHT/2),
|
||||
@@ -61,7 +63,7 @@ const GeoLayout intro_geo_mario_head_regular[] = {
|
||||
GEO_ZBUFFER(1),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_CAMERA_FRUSTUM(45, 128, 16384),
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ASM(2, geo_draw_mario_head_goddard),
|
||||
GEO_CLOSE_NODE(),
|
||||
@@ -94,7 +96,7 @@ const GeoLayout intro_geo_mario_head_dizzy[] = {
|
||||
GEO_ZBUFFER(1),
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_CAMERA_FRUSTUM(45, 128, 16384),
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
GEO_OPEN_NODE(),
|
||||
GEO_ASM(3, geo_draw_mario_head_goddard),
|
||||
GEO_CLOSE_NODE(),
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include "make_const_nonconst.h"
|
||||
#include "levels/intro/header.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
const LevelScript level_intro_splash_screen[] = {
|
||||
INIT_LEVEL(),
|
||||
FIXED_LOAD(/*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd),
|
||||
@@ -45,10 +47,12 @@ const LevelScript level_intro_splash_screen[] = {
|
||||
|
||||
const LevelScript level_intro_mario_head_regular[] = {
|
||||
INIT_LEVEL(),
|
||||
#ifndef KEEP_MARIO_HEAD
|
||||
EXIT_AND_EXECUTE(/*seg*/ 0x14, _menuSegmentRomStart, _menuSegmentRomEnd, level_main_menu_entry_1),
|
||||
#endif
|
||||
BLACKOUT(/*active*/ TRUE),
|
||||
FIXED_LOAD(/*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd),
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
LOAD_MARIO_HEAD(/*loadHeadID*/ REGULAR_FACE),
|
||||
#endif
|
||||
LOAD_RAW(/*seg*/ 0x13, _behaviorSegmentRomStart, _behaviorSegmentRomEnd),
|
||||
@@ -75,7 +79,7 @@ const LevelScript level_intro_mario_head_dizzy[] = {
|
||||
INIT_LEVEL(),
|
||||
BLACKOUT(/*active*/ TRUE),
|
||||
FIXED_LOAD(/*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd),
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
LOAD_MARIO_HEAD(/*loadHeadID*/ DIZZY_FACE),
|
||||
#endif
|
||||
LOAD_RAW(/*seg*/ 0x13, _behaviorSegmentRomStart, _behaviorSegmentRomEnd),
|
||||
|
||||
7
sm64.ld
7
sm64.ld
@@ -2,6 +2,7 @@ OUTPUT_ARCH (mips)
|
||||
|
||||
#define LINKER /* Removes externs from preprocessed script */
|
||||
#include "segments.h"
|
||||
#include "config.h"
|
||||
#undef LINKER
|
||||
|
||||
#define BEGIN_SEG(name, addr) \
|
||||
@@ -286,7 +287,7 @@ SECTIONS
|
||||
BUILD_DIR/src/menu*.o(.text);
|
||||
BUILD_DIR/src/menu*.o(.data*);
|
||||
BUILD_DIR/src/menu*.o(.rodata*);
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
BUILD_DIR/libgoddard.a:*.o(.text);
|
||||
/* goddard subsystem data */
|
||||
BUILD_DIR/libgoddard.a:gd_main.o(.data*);
|
||||
@@ -319,7 +320,7 @@ SECTIONS
|
||||
BEGIN_NOLOAD(goddard)
|
||||
{
|
||||
BUILD_DIR/src/menu*.o(.bss*);
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
BUILD_DIR/libgoddard.a:*.o(.bss*);
|
||||
#endif
|
||||
}
|
||||
@@ -345,7 +346,7 @@ SECTIONS
|
||||
YAY0_SEG(debug_level_select, 0x07000000)
|
||||
YAY0_SEG(title_screen_bg, 0x0A000000)
|
||||
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
BEGIN_SEG(gd_dynlists, 0x04000000)
|
||||
{
|
||||
BUILD_DIR/libgoddard.a:dynlist_test_cube.o(.data);
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#include "surface_collision.h"
|
||||
#include "surface_load.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#define CMD_GET(type, offset) (*(type *) (CMD_PROCESS_OFFSET(offset) + (u8 *) sCurrentCmd))
|
||||
|
||||
// These are equal
|
||||
@@ -281,7 +283,7 @@ static void level_cmd_load_yay0(void) {
|
||||
}
|
||||
|
||||
static void level_cmd_load_mario_head(void) {
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
// TODO: Fix these hardcoded sizes
|
||||
void *addr = main_pool_alloc(DOUBLE_SIZE_ON_64_BIT(0xE1000), MEMORY_POOL_LEFT);
|
||||
if (addr != NULL) {
|
||||
|
||||
@@ -24,6 +24,8 @@
|
||||
#include "skybox.h"
|
||||
#include "sound_init.h"
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#define TOAD_STAR_1_REQUIREMENT 12
|
||||
#define TOAD_STAR_2_REQUIREMENT 25
|
||||
#define TOAD_STAR_3_REQUIREMENT 35
|
||||
@@ -78,7 +80,7 @@ struct GraphNodeObject gMirrorMario; // copy of Mario's geo node for drawing mi
|
||||
// (message NPC related things, the Mario head geo, and Mario geo
|
||||
// functions)
|
||||
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
/**
|
||||
* Geo node script that draws Mario's head on the title screen.
|
||||
*/
|
||||
|
||||
@@ -5,11 +5,12 @@
|
||||
|
||||
#include "macros.h"
|
||||
#include "types.h"
|
||||
#include "config.h"
|
||||
|
||||
extern struct GraphNodeObject gMirrorMario;
|
||||
extern struct MarioBodyState gBodyStates[2];
|
||||
|
||||
#ifdef GODDARD
|
||||
#ifdef KEEP_MARIO_HEAD
|
||||
Gfx *geo_draw_mario_head_goddard(s32 callContext, struct GraphNode *node, Mat4 *c);
|
||||
#endif
|
||||
void bhv_toad_message_loop(void);
|
||||
|
||||
Reference in New Issue
Block a user