Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Macros
config.h File Reference

A catch-all file for configuring various bugfixes and other settings (maybe eventually) in SM64. More...

Go to the source code of this file.

Macros

#define BUGFIXES_CRITICAL   (0 || __GNUC__)
 Turn on bug fixes for really bad, C standard breaking code. More...
 
#define BUGFIX_MAX_LIVES   (0 || VERSION_US || VERSION_EU)
 Fixes bug where obtaining over 999 coins sets the number of lives to 999 (or -25) More...
 
#define BUGFIX_KOOPA_RACE_MUSIC   (0 || VERSION_US || VERSION_EU)
 Fixes bug in Bob-Omb Battlefield where entering a warp stops the Koopa race music. More...
 
#define BUGFIX_PIRANHA_PLANT_STATE_RESET   (0 || VERSION_US || VERSION_EU)
 Fixes bug where Piranha Plants do not reset their action state when the player exits their activation radius. More...
 
#define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE   (0 || VERSION_US || VERSION_EU)
 Fixes bug where sleeping Piranha Plants damage players that bump into them. More...
 
#define BUGFIX_STAR_BOWSER_KEY   (0 || VERSION_US || VERSION_EU)
 Fixes bug where it shows a star when you grab a key in bowser battle stages. More...
 
#define BUGFIX_GODDARD_MISSING_RETURN   (0 || BUGFIXES_CRITICAL)
 Goddard left out important and necessary return statements; this puts them back in. More...
 
#define BUGFIX_GODDARD_BAD_DECLARATIONS   (0 || BUGFIXES_CRITICAL)
 It seems that Goddard only declared, not prototyped some functions. More...
 
#define SCREEN_WIDTH   320
 
#define SCREEN_HEIGHT   240
 
#define BORDER_HEIGHT   8
 

Detailed Description

A catch-all file for configuring various bugfixes and other settings (maybe eventually) in SM64.

Macro Definition Documentation

◆ BORDER_HEIGHT

#define BORDER_HEIGHT   8

◆ BUGFIX_GODDARD_BAD_DECLARATIONS

#define BUGFIX_GODDARD_BAD_DECLARATIONS   (0 || BUGFIXES_CRITICAL)

It seems that Goddard only declared, not prototyped some functions.

This lead to incorrect promotion of floats to doubles.

◆ BUGFIX_GODDARD_MISSING_RETURN

#define BUGFIX_GODDARD_MISSING_RETURN   (0 || BUGFIXES_CRITICAL)

Goddard left out important and necessary return statements; this puts them back in.

◆ BUGFIX_KOOPA_RACE_MUSIC

#define BUGFIX_KOOPA_RACE_MUSIC   (0 || VERSION_US || VERSION_EU)

Fixes bug in Bob-Omb Battlefield where entering a warp stops the Koopa race music.

◆ BUGFIX_MAX_LIVES

#define BUGFIX_MAX_LIVES   (0 || VERSION_US || VERSION_EU)

Fixes bug where obtaining over 999 coins sets the number of lives to 999 (or -25)

◆ BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE

#define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE   (0 || VERSION_US || VERSION_EU)

Fixes bug where sleeping Piranha Plants damage players that bump into them.

◆ BUGFIX_PIRANHA_PLANT_STATE_RESET

#define BUGFIX_PIRANHA_PLANT_STATE_RESET   (0 || VERSION_US || VERSION_EU)

Fixes bug where Piranha Plants do not reset their action state when the player exits their activation radius.

◆ BUGFIX_STAR_BOWSER_KEY

#define BUGFIX_STAR_BOWSER_KEY   (0 || VERSION_US || VERSION_EU)

Fixes bug where it shows a star when you grab a key in bowser battle stages.

◆ BUGFIXES_CRITICAL

#define BUGFIXES_CRITICAL   (0 || __GNUC__)

Turn on bug fixes for really bad, C standard breaking code.

As these bugs have caused compilation issues with modern GCC, these bug fixes are automatically enabled when compiling with GCC

◆ SCREEN_HEIGHT

#define SCREEN_HEIGHT   240

◆ SCREEN_WIDTH

#define SCREEN_WIDTH   320