You've already forked ultrasm64-2
mirror of
https://github.com/HackerN64/ultrasm64-2.git
synced 2026-01-21 10:38:08 -08:00
refresh 6
This commit is contained in:
@@ -35,6 +35,7 @@ extern "C" {
|
||||
#endif
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/os_thread.h>
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef _ULTRA64_OS_MISC_H_
|
||||
#define _ULTRA64_OS_MISC_H_
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
/* Miscellaneous OS functions */
|
||||
|
||||
void osInitialize(void);
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
|
||||
/* Types */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
#ifndef VERSION_EU
|
||||
u32 errStatus;
|
||||
#endif
|
||||
void *dramAddr;
|
||||
void *C2Addr;
|
||||
u32 sectorSize;
|
||||
@@ -15,20 +16,21 @@ typedef struct
|
||||
u32 C1ErrSector[4];
|
||||
} __OSBlockInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
u32 cmdType;
|
||||
u16 transferMode;
|
||||
u16 blockNum;
|
||||
s32 sectorNum;
|
||||
uintptr_t devAddr;
|
||||
u32 bmCtlShadow;
|
||||
u32 seqCtlShadow;
|
||||
__OSBlockInfo block[2];
|
||||
typedef struct {
|
||||
u32 cmdType; // 0
|
||||
u16 transferMode; // 4
|
||||
u16 blockNum; // 6
|
||||
s32 sectorNum; // 8
|
||||
uintptr_t devAddr; // c
|
||||
#ifdef VERSION_EU
|
||||
u32 unk10; //error status added moved to blockinfo
|
||||
#endif
|
||||
u32 bmCtlShadow; // 10
|
||||
u32 seqCtlShadow; // 14
|
||||
__OSBlockInfo block[2]; // 18
|
||||
} __OSTranxInfo;
|
||||
|
||||
typedef struct OSPiHandle_s
|
||||
{
|
||||
typedef struct OSPiHandle_s {
|
||||
struct OSPiHandle_s *next;
|
||||
u8 type;
|
||||
u8 latency;
|
||||
@@ -41,27 +43,26 @@ typedef struct OSPiHandle_s
|
||||
__OSTranxInfo transferInfo;
|
||||
} OSPiHandle;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u8 type;
|
||||
uintptr_t address;
|
||||
} OSPiInfo;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u16 type;
|
||||
u8 pri;
|
||||
u8 status;
|
||||
OSMesgQueue *retQueue;
|
||||
} OSIoMesgHdr;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/*0x00*/ OSIoMesgHdr hdr;
|
||||
/*0x08*/ void *dramAddr;
|
||||
/*0x0C*/ uintptr_t devAddr;
|
||||
/*0x10*/ size_t size;
|
||||
//OSPiHandle *piHandle; //from the official definition
|
||||
#ifdef VERSION_EU
|
||||
OSPiHandle *piHandle; // from the official definition
|
||||
#endif
|
||||
} OSIoMesg;
|
||||
|
||||
/* Definitions */
|
||||
@@ -74,12 +75,13 @@ typedef struct
|
||||
|
||||
/* Functions */
|
||||
|
||||
s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction,
|
||||
uintptr_t devAddr, void *vAddr, size_t nbytes, OSMesgQueue *mq);
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf,
|
||||
s32 cmdMsgCnt);
|
||||
s32 osPiStartDma(OSIoMesg *mb, s32 priority, s32 direction, uintptr_t devAddr, void *vAddr,
|
||||
size_t nbytes, OSMesgQueue *mq);
|
||||
void osCreatePiManager(OSPri pri, OSMesgQueue *cmdQ, OSMesg *cmdBuf, s32 cmdMsgCnt);
|
||||
OSMesgQueue *osPiGetCmdQueue(void);
|
||||
s32 osPiWriteIo(uintptr_t devAddr, u32 data);
|
||||
s32 osPiReadIo(uintptr_t devAddr, u32 *data);
|
||||
|
||||
s32 osPiRawStartDma(s32 dir, u32 cart_addr, void *dram_addr, size_t size);
|
||||
s32 osEPiRawStartDma(OSPiHandle *piHandle, s32 dir, u32 cart_addr, void *dram_addr, size_t size);
|
||||
#endif
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#ifndef _ULTRA64_THREAD_H_
|
||||
#define _ULTRA64_THREAD_H_
|
||||
|
||||
#include "ultratypes.h"
|
||||
/* Recommended priorities for system threads */
|
||||
#define OS_PRIORITY_MAX 255
|
||||
#define OS_PRIORITY_VIMGR 254
|
||||
|
||||
@@ -254,6 +254,8 @@
|
||||
#define SOUND_GENERAL_BOWSER_BOMB_EXPLOSION SOUND_ARG_LOAD(3, 1, 0x2F, 0x00, 8)
|
||||
/* not verified */ #define SOUND_GENERAL_COIN_SPURT SOUND_ARG_LOAD(3, 0, 0x30, 0x00, 8)
|
||||
/* not verified */ #define SOUND_GENERAL_COIN_SPURT_2 SOUND_ARG_LOAD(3, 8, 0x30, 0x00, 8)
|
||||
/* not verified */ #define SOUND_GENERAL_COIN_SPURT_EU SOUND_ARG_LOAD(3, 8, 0x30, 0x20, 8)
|
||||
|
||||
/* not verified */ #define SOUND_GENERAL_EXPLOSION6 0x3031
|
||||
/* not verified */ #define SOUND_GENERAL_UNK32 0x3032
|
||||
/* not verified */ #define SOUND_GENERAL_BOAT_TILT1 SOUND_ARG_LOAD(3, 0, 0x34, 0x40, 8)
|
||||
|
||||
@@ -246,8 +246,8 @@ extern const BehaviorScript bhvOpenableCageDoor[];
|
||||
extern const BehaviorScript bhvOpenableGrill[];
|
||||
extern const BehaviorScript bhvWaterLevelDiamond[];
|
||||
extern const BehaviorScript bhvInitializeChangingWaterLevel[];
|
||||
extern const BehaviorScript bhvTornadoSandParticle[];
|
||||
extern const BehaviorScript bhvTornado[];
|
||||
extern const BehaviorScript bhvTweesterSandParticle[];
|
||||
extern const BehaviorScript bhvTweester[];
|
||||
extern const BehaviorScript bhvMerryGoRoundBooManager[];
|
||||
extern const BehaviorScript bhvPlaysMusicTrackWhenTouched[];
|
||||
extern const BehaviorScript bhvAnimatedTexture[];
|
||||
@@ -524,7 +524,7 @@ extern const BehaviorScript bhvBird[];
|
||||
extern const BehaviorScript bhvRacingPenguin[];
|
||||
extern const BehaviorScript bhvPenguinRaceFinishLine[];
|
||||
extern const BehaviorScript bhvPenguinRaceShortcutCheck[];
|
||||
extern const BehaviorScript bhvCoffinManager[];
|
||||
extern const BehaviorScript bhvCoffinSpawner[];
|
||||
extern const BehaviorScript bhvCoffin[];
|
||||
extern const BehaviorScript bhvClamShell[];
|
||||
extern const BehaviorScript bhvSkeeter[];
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
/// player exits their activation radius.
|
||||
#define BUGFIX_PIRANHA_PLANT_STATE_RESET (0 || VERSION_US || VERSION_EU)
|
||||
/// Fixes bug where sleeping Piranha Plants damage players that bump into them
|
||||
#define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE (0 || VERSION_US || VERSION_EU)
|
||||
#define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE (0 || VERSION_US)
|
||||
/// Fixes bug where it shows a star when you grab a key in bowser battle stages
|
||||
#define BUGFIX_STAR_BOWSER_KEY (0 || VERSION_US || VERSION_EU)
|
||||
|
||||
@@ -28,6 +28,10 @@
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
||||
// Border Height Define for NTSC Versions
|
||||
#ifndef VERSION_EU
|
||||
#define BORDER_HEIGHT 8
|
||||
#else
|
||||
#define BORDER_HEIGHT 1
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -151,7 +151,7 @@ struct MacroPreset MacroObjectPresets[] = {
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvStaticObject, MODEL_KLEPTO, 0}, // unused
|
||||
{bhvTornado, MODEL_TORNADO, 0}, // unused
|
||||
{bhvTweester, MODEL_TWEESTER, 0}, // unused
|
||||
{bhvPokey, MODEL_NONE, 0},
|
||||
{bhvPokey, MODEL_NONE, 0}, // unused
|
||||
{bhvToxBox, MODEL_SSL_TOX_BOX, 0}, // unused
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
// group 5
|
||||
#define MODEL_POKEY_HEAD 0x54 // pokey_head_geo
|
||||
#define MODEL_POKEY_BODY_PART 0x55 // pokey_body_part_geo
|
||||
#define MODEL_TORNADO 0x56 // tornado_seg5_geo_05014630
|
||||
#define MODEL_TWEESTER 0x56 // tweester_geo
|
||||
#define MODEL_KLEPTO 0x57 // klepto_geo
|
||||
#define MODEL_EYEROK_LEFT_HAND 0x58 // eyerok_left_hand_geo
|
||||
#define MODEL_EYEROK_RIGHT_HAND 0x59 // eyerok_right_hand_geo
|
||||
|
||||
@@ -382,6 +382,18 @@
|
||||
#define BBH_DYNAMIC_SURFACE_ROOM 0
|
||||
#define BBH_OUTSIDE_ROOM 13
|
||||
|
||||
/* Coffin Spawner */
|
||||
/* oAction */
|
||||
#define COFFIN_SPAWNER_ACT_COFFINS_UNLOADED 0
|
||||
|
||||
/* Coffin */
|
||||
/* oAction */
|
||||
#define COFFIN_ACT_IDLE 0
|
||||
#define COFFIN_ACT_STAND_UP 1
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
#define COFFIN_BP_STATIC 0
|
||||
|
||||
/* WDW Arrow Lift */
|
||||
/* oAction */
|
||||
#define ARROW_LIFT_ACT_IDLE 0
|
||||
@@ -853,6 +865,17 @@
|
||||
#define SKEETER_ACT_LUNGE 1
|
||||
#define SKEETER_ACT_WALK 2
|
||||
|
||||
/* Tweester */
|
||||
/* oAction */
|
||||
#define TWEESTER_ACT_IDLE 0
|
||||
#define TWEESTER_ACT_CHASE 1
|
||||
#define TWEESTER_ACT_HIDE 2
|
||||
|
||||
/* oSubAction */
|
||||
#define TWEESTER_SUB_ACT_WAIT 0
|
||||
|
||||
#define TWEESTER_SUB_ACT_CHASE 0
|
||||
|
||||
/* Triplet butterfly */
|
||||
/* oAction */
|
||||
#define TRIPLET_BUTTERFLY_ACT_INIT 0
|
||||
|
||||
@@ -132,7 +132,7 @@
|
||||
#define /*0x1B4*/ oWallAngle OBJECT_FIELD_U32(0x4B)
|
||||
#define /*0x1B8*/ oFloorType OBJECT_FIELD_S16(0x4C, 0)
|
||||
#define /*0x1BA*/ oFloorRoom OBJECT_FIELD_S16(0x4C, 1)
|
||||
#define /*0x1BC*/ oUnk1BC OBJECT_FIELD_S32(0x4D)
|
||||
#define /*0x1BC*/ oAngleToHome OBJECT_FIELD_S32(0x4D)
|
||||
#define /*0x1C0*/ oFloor OBJECT_FIELD_SURFACE(0x4E)
|
||||
#define /*0x1C4*/ oDeathSound OBJECT_FIELD_S32(0x4F)
|
||||
|
||||
@@ -1042,8 +1042,8 @@
|
||||
#define /*0x0F4*/ oTumblingBridgeUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
/* Tweester */
|
||||
#define /*0x0F4*/ oTweesterUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oTweesterUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0F4*/ oTweesterScaleTimer OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oTweesterUnused OBJECT_FIELD_S32(0x1C)
|
||||
|
||||
/* Ukiki */
|
||||
#define /*0x0F4*/ oUkikiTauntCounter OBJECT_FIELD_S16(0x1B, 0)
|
||||
|
||||
@@ -15,14 +15,23 @@
|
||||
|
||||
#define SEG_POOL_START 0x8005C000
|
||||
#define SEG_POOL_END SEG_BUFFERS
|
||||
|
||||
#define SEG_GODDARD 0x8016F000
|
||||
|
||||
#define SEG_BUFFERS 0x801C1000
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define SEG_MAIN 0x80241800 // TODO: Investigate why it's different?
|
||||
#else
|
||||
#define SEG_MAIN 0x80246000
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define SEG_ENGINE 0x8036FF00
|
||||
#else
|
||||
#define SEG_ENGINE 0x80378800
|
||||
#endif
|
||||
|
||||
#define SEG_FRAMEBUFFERS 0x8038F800
|
||||
|
||||
#else /* Use Expansion Pak space for pool. */
|
||||
|
||||
@@ -164,8 +164,8 @@
|
||||
#define ACT_FLAG_CONTROL_JUMP_HEIGHT /* 0x02000000 */ (1 << 25)
|
||||
#define ACT_FLAG_ALLOW_FIRST_PERSON /* 0x04000000 */ (1 << 26)
|
||||
#define ACT_FLAG_PAUSE_EXIT /* 0x08000000 */ (1 << 27)
|
||||
#define ACT_FLAG_SWIMMING_OR_FLYING /* 0x10000000 */ (1 << 28) // not checked by game
|
||||
#define ACT_FLAG_WATER_OR_TEXT /* 0x20000000 */ (1 << 29) // not checked by game
|
||||
#define ACT_FLAG_SWIMMING_OR_FLYING /* 0x10000000 */ (1 << 28)
|
||||
#define ACT_FLAG_WATER_OR_TEXT /* 0x20000000 */ (1 << 29)
|
||||
#define ACT_FLAG_THROWING /* 0x80000000 */ (1 << 31)
|
||||
|
||||
#define ACT_UNINITIALIZED 0x00000000 // (0x000)
|
||||
|
||||
@@ -226,6 +226,102 @@
|
||||
|
||||
#ifdef VERSION_EU
|
||||
|
||||
/**
|
||||
* File Select Text
|
||||
*/
|
||||
#define TEXT_RETURN_FR _("RETOUR")
|
||||
#define TEXT_RETURN_DE _("ZURÜCK")
|
||||
|
||||
#define TEXT_CHECK_SCORE_FR _("SCORE")
|
||||
#define TEXT_CHECK_SCORE_DE _("LEISTUNG")
|
||||
|
||||
#define TEXT_COPY_FILE_FR _("COPIER")
|
||||
#define TEXT_COPY_FILE_DE _("KOPIEREN")
|
||||
|
||||
#define TEXT_ERASE_FILE_FR _("EFFACER")
|
||||
#define TEXT_ERASE_FILE_DE _("LÖSCHEN")
|
||||
|
||||
#define TEXT_SELECT_FILE_FR _("CHOISIR FICHIER")
|
||||
#define TEXT_SELECT_FILE_DE _("WwHLE SPIEL")
|
||||
|
||||
#define TEXT_SCORE_FR _("SCORE")
|
||||
#define TEXT_SCORE_DE _("LEISTUNG")
|
||||
|
||||
#define TEXT_COPY_FR _("COPIER")
|
||||
#define TEXT_COPY_DE _("KOPIEREN")
|
||||
|
||||
#define TEXT_ERASE_FR _("EFFACER")
|
||||
#define TEXT_ERASE_DE _("LÖSCHEN")
|
||||
|
||||
#define TEXT_OPTION _("OPTION") // new in EU
|
||||
#define TEXT_OPTION_FR _("OPTION")
|
||||
#define TEXT_OPTION_DE _("OPTIONEN")
|
||||
|
||||
#define TEXT_CHECK_FILE_FR _("VOIR SCORE")
|
||||
#define TEXT_CHECK_FILE_DE _("VON WELCHEM SPIEL")
|
||||
|
||||
#define TEXT_NO_SAVED_DATA_EXISTS_FR _("AUCUNE SAUVEGARDE DISPONIBLE")
|
||||
#define TEXT_NO_SAVED_DATA_EXISTS_DE _("KEIN SPIEL VORHANDEN")
|
||||
|
||||
#define TEXT_COPY_FILE_BUTTON_FR _("COPIER FICHIER")
|
||||
#define TEXT_COPY_FILE_BUTTON_DE _("SPIEL KOPIEREN")
|
||||
|
||||
#define TEXT_COPY_IT_TO_WHERE_FR _("COPIER SUR?")
|
||||
#define TEXT_COPY_IT_TO_WHERE_DE _("WOHIN KOPIEREN?")
|
||||
|
||||
#define TEXT_COPYING_COMPLETED_FR _("COPIE ACHEVEÉ")
|
||||
#define TEXT_COPYING_COMPLETED_DE _("SPIEL KOPIERT")
|
||||
|
||||
#define TEXT_SAVED_DATA_EXISTS_FR _("SAVEGARDE EXISTANTE")
|
||||
#define TEXT_SAVED_DATA_EXISTS_DE _("BEREITS BELEGT")
|
||||
|
||||
#define TEXT_NO_FILE_TO_COPY_FROM_FR _("AUCUN FICHIER VIDE")
|
||||
#define TEXT_NO_FILE_TO_COPY_FROM_DE _("KEIN PLATZ VORHANDEN")
|
||||
|
||||
#define TEXT_YES_FR _("OUI")
|
||||
#define TEXT_YES_DE _("JA")
|
||||
|
||||
#define TEXT_NO_FR _("NON")
|
||||
#define TEXT_NO_DE _("NEIN")
|
||||
|
||||
#define TEXT_ERASE_FILE_BUTTON_FR _("EFFACER FICHIER")
|
||||
#define TEXT_ERASE_FILE_BUTTON_DE _("SPIEL LxSCHEN")
|
||||
|
||||
#define TEXT_SURE_FR _("OK?")
|
||||
#define TEXT_SURE_DE _("SICHER?")
|
||||
|
||||
#define TEXT_FILE_MARIO_A_JUST_ERASED_FR _("MARIO A EFFACÉ")
|
||||
#define TEXT_FILE_MARIO_A_JUST_ERASED_DE _("MARIO A GELÖSCHT")
|
||||
|
||||
#define TEXT_SOUND_SELECT_FR _("SON")
|
||||
#define TEXT_SOUND_SELECT_DE _("SOUND")
|
||||
|
||||
#define TEXT_LANGUAGE_SELECT _("LANGUAGE SELECT") // new in EU
|
||||
#define TEXT_LANGUAGE_SELECT_FR _("SELECTION LANGUE")
|
||||
#define TEXT_LANGUAGE_SELECT_DE _("WwHLE SPRACHE")
|
||||
|
||||
#define TEXT_STEREO_FR _("STÉRÉO")
|
||||
#define TEXT_MONO_FR _("MONO")
|
||||
#define TEXT_HEADSET_FR _("CASQUE")
|
||||
|
||||
#define TEXT_STEREO_DE _("STEREO")
|
||||
#define TEXT_MONO_DE _("MONO")
|
||||
#define TEXT_HEADSET_DE _("PHONES")
|
||||
|
||||
#define TEXT_ENGLISH _("ENGLISH")
|
||||
#define TEXT_FRENCH _("FRANÇAIS")
|
||||
#define TEXT_GERMAN _("DEUTSCH")
|
||||
|
||||
#define TEXT_HI_SCORE_FR _("MEILLEUR SCORE")
|
||||
#define TEXT_HI_SCORE_DE _("BESTLEISTUNG")
|
||||
|
||||
#define TEXT_MY_SCORE_FR _("MON SCORE")
|
||||
#define TEXT_MY_SCORE_DE _("LEISTUNG")
|
||||
|
||||
#define TEXT_NEW_FR _("VIDE")
|
||||
#define TEXT_NEW_DE _("FREI")
|
||||
|
||||
|
||||
/**
|
||||
* Menus Text (Pause, Course Completed)
|
||||
*/
|
||||
@@ -291,6 +387,89 @@
|
||||
#define TEXT_LETS_HAVE_CAKE_DE _("Laßt uns einen leckeren Kuchen backen...")
|
||||
#define TEXT_FOR_MARIO_DE _("...für Mario...")
|
||||
|
||||
/**
|
||||
* Course Table names for Score Menu Save view
|
||||
*/
|
||||
#define TEXT_MENU_BOB _(" 1 BOB-OMB BATTLEFIELD")
|
||||
#define TEXT_MENU_WF _(" 2 WHOMP'S FORTRESS")
|
||||
#define TEXT_MENU_JRB _(" 3 JOLLY ROGER BAY")
|
||||
#define TEXT_MENU_CCM _(" 4 COOL, COOL MOUNTAIN")
|
||||
#define TEXT_MENU_BBH _(" 5 BIG BOO'S HAUNT")
|
||||
#define TEXT_MENU_HMC _(" 6 HAZY MAZE CAVE")
|
||||
#define TEXT_MENU_LLL _(" 7 LETHAL LAVA LAND")
|
||||
#define TEXT_MENU_SSL _(" 8 SHIFTING SAND LAND")
|
||||
#define TEXT_MENU_DDD _(" 9 DIRE, DIRE DOCKS")
|
||||
#define TEXT_MENU_SL _("10 SNOWMAN'S LAND")
|
||||
#define TEXT_MENU_WDW _("11 WET-DRY WORLD")
|
||||
#define TEXT_MENU_TTM _("12 TALL, TALL MOUNTAIN")
|
||||
#define TEXT_MENU_THI _("13 TINY-HUGE ISLAND")
|
||||
#define TEXT_MENU_TTC _("14 TICK TOCK CLOCK")
|
||||
#define TEXT_MENU_RR _("15 RAINBOW RIDE")
|
||||
#define TEXT_MENU_BITDW _(" BOWSER IN THE DARK WORLD")
|
||||
#define TEXT_MENU_BITFS _(" BOWSER IN THE FIRE SEA")
|
||||
#define TEXT_MENU_BITS _(" BOWSER IN THE SKY")
|
||||
#define TEXT_MENU_PSS _(" THE PRINCESS'S SECRET SLIDE")
|
||||
#define TEXT_MENU_COTMC _(" CAVERN OF THE METAL CAP")
|
||||
#define TEXT_MENU_TOTWC _(" TOWER OF THE WING CAP")
|
||||
#define TEXT_MENU_VCUTM _(" VANISH CAP UNDER THE MOAT")
|
||||
#define TEXT_MENU_WMOTR _(" WING MARIO OVER THE RAINBOW")
|
||||
#define TEXT_MENU_SA _(" THE SECRET AQUARIUM")
|
||||
#define TEXT_MENU_NONE _("")
|
||||
#define TEXT_MENU_STARS _(" CASTLE SECRET STARS")
|
||||
|
||||
#define TEXT_MENU_BOB_FR _(" 1 BATAILLE DE BOB-OMB")
|
||||
#define TEXT_MENU_WF_FR _(" 2 FORTERESSE DE WHOMP")
|
||||
#define TEXT_MENU_JRB_FR _(" 3 BAIE DES PIRATES")
|
||||
#define TEXT_MENU_CCM_FR _(" 4 MONTAGNE GLA-GLA")
|
||||
#define TEXT_MENU_BBH_FR _(" 5 MANOIR DE BIG BOO")
|
||||
#define TEXT_MENU_HMC_FR _(" 6 CAVERNE BRUMEUSE")
|
||||
#define TEXT_MENU_LLL_FR _(" 7 LAVES FATALES")
|
||||
#define TEXT_MENU_SSL_FR _(" 8 SABLES TROP MOUVANTS")
|
||||
#define TEXT_MENU_DDD_FR _(" 9 AFFREUX BASSIN")
|
||||
#define TEXT_MENU_SL_FR _("10 CHEZ LE ROI DES NEIGES")
|
||||
#define TEXT_MENU_WDW_FR _("11 MONDE TREMPE-SECHE")
|
||||
#define TEXT_MENU_TTM_FR _("12 TROP HAUTE MONTAGNE")
|
||||
#define TEXT_MENU_THI_FR _("13 ILE GRANDS-PETITS")
|
||||
#define TEXT_MENU_TTC_FR _("14 HORLOGE TIC-TAC")
|
||||
#define TEXT_MENU_RR_FR _("15 COURSE ARC-EN-CIEL")
|
||||
#define TEXT_MENU_BITDW_FR _(" BOWSER DES TENEBRES")
|
||||
#define TEXT_MENU_BITFS_FR _(" BOWSER DES LAVES")
|
||||
#define TEXT_MENU_BITS_FR _(" BOWSER DES CIEUX")
|
||||
#define TEXT_MENU_PSS_FR _(" GLISSADE DE LA PRINCESSE")
|
||||
#define TEXT_MENU_COTMC_FR _(" MINE DES CASQUETTES-METAL")
|
||||
#define TEXT_MENU_TOTWC_FR _(" INTERRUPTEUR DE LA TOUR AILEE")
|
||||
#define TEXT_MENU_VCUTM_FR _(" INVISIBLE SOUS LES DOUVES")
|
||||
#define TEXT_MENU_WMOTR_FR _(" AU-DELA DE L'ARC-EN-CIEL")
|
||||
#define TEXT_MENU_SA_FR _(" AQUARIUM SECRET")
|
||||
#define TEXT_MENU_NONE_FR _("")
|
||||
#define TEXT_MENU_STARS_FR _(" ETOILES SECRETES")
|
||||
|
||||
#define TEXT_MENU_BOB_DE _(" 1 BOB-OMBS BOMBENBERG")
|
||||
#define TEXT_MENU_WF_DE _(" 2 WUMMPS WUCHTWALL")
|
||||
#define TEXT_MENU_JRB_DE _(" 3 PIRATENBUCHT PANIK")
|
||||
#define TEXT_MENU_CCM_DE _(" 4 BIBBERBERG BOB")
|
||||
#define TEXT_MENU_BBH_DE _(" 5 BIG BOOS BURG")
|
||||
#define TEXT_MENU_HMC_DE _(" 6 GRÜNE GIFTGROTTE")
|
||||
#define TEXT_MENU_LLL_DE _(" 7 LAVA LAGUNE")
|
||||
#define TEXT_MENU_SSL_DE _(" 8 WOBIWABA WÜSTE")
|
||||
#define TEXT_MENU_DDD_DE _(" 9 WILDE WASSERWERFT")
|
||||
#define TEXT_MENU_SL_DE _("10 FROSTBEULEN FRUST")
|
||||
#define TEXT_MENU_WDW_DE _("11 ATLANTIS AQUARIA")
|
||||
#define TEXT_MENU_TTM_DE _("12 FLIEGENPILZ FIASKO")
|
||||
#define TEXT_MENU_THI_DE _("13 GULLIVER GUMBA")
|
||||
#define TEXT_MENU_TTC_DE _("14 TICK TACK TRAUMA")
|
||||
#define TEXT_MENU_RR_DE _("15 REGENBOGEN RASEREI")
|
||||
#define TEXT_MENU_BITDW_DE _(" BOWSERS SCHATTENWELT")
|
||||
#define TEXT_MENU_BITFS_DE _(" BOWSERS LAVASEE")
|
||||
#define TEXT_MENU_BITS_DE _(" BOWSERS LUFTSCHLOSS")
|
||||
#define TEXT_MENU_PSS_DE _(" TOADSTOOLS RUTSCHBAHN")
|
||||
#define TEXT_MENU_COTMC_DE _(" GRÜNER SCHALTERPALAST")
|
||||
#define TEXT_MENU_TOTWC_DE _(" ROTER SCHALTERPALAST")
|
||||
#define TEXT_MENU_VCUTM_DE _(" BLAUER SCHALTERPALAST")
|
||||
#define TEXT_MENU_WMOTR_DE _(" REGENBOGEN FEUERWERK")
|
||||
#define TEXT_MENU_SA_DE _(" VERSTECKTES AQUARIUM")
|
||||
#define TEXT_MENU_NONE_DE _("")
|
||||
#define TEXT_MENU_STARS_DE _(" GEHEIME STERNE")
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -7,6 +7,18 @@
|
||||
#include <ultra64.h>
|
||||
#include "macros.h"
|
||||
|
||||
|
||||
// Certain functions are marked as having return values, but do not
|
||||
// actually return a value. This causes undefined behavior, which we'd rather
|
||||
// avoid on modern GCC. This only impacts -O2 and can matter for both the function
|
||||
// itself and functions that call it.
|
||||
#ifdef AVOID_UB
|
||||
#define BAD_RETURN(cmd) void
|
||||
#else
|
||||
#define BAD_RETURN(cmd) cmd
|
||||
#endif
|
||||
|
||||
|
||||
struct Controller
|
||||
{
|
||||
/*0x00*/ s16 rawStickX; //
|
||||
@@ -233,16 +245,16 @@ struct Surface
|
||||
struct MarioBodyState
|
||||
{
|
||||
/*0x00*/ u32 action;
|
||||
/*0x04*/ s8 capState;
|
||||
/*0x04*/ s8 capState; /// see MarioCapGSCId
|
||||
/*0x05*/ s8 eyeState;
|
||||
/*0x06*/ s8 handState;
|
||||
/*0x07*/ s8 unk07;
|
||||
/*0x07*/ s8 wingFlutter; /// whether Mario's wing cap wings are fluttering
|
||||
/*0x08*/ s16 modelState;
|
||||
/*0x0A*/ s8 grabPos;
|
||||
/*0x0B*/ u8 unk0B;
|
||||
/*0x0C*/ Vec3s unkC;
|
||||
/*0x12*/ Vec3s unk12;
|
||||
/*0x18*/ Vec3f unk18;
|
||||
/*0x0B*/ u8 punchState; /// 2 bits for type of punch, 6 bits for punch animation timer
|
||||
/*0x0C*/ Vec3s torsoAngle;
|
||||
/*0x12*/ Vec3s headAngle;
|
||||
/*0x18*/ Vec3f heldObjLastPosition; /// also known as HOLP
|
||||
u8 padding[4];
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user