mirror of
https://github.com/n64decomp/sm64
synced 2026-08-18 13:13:14 -04:00
Refresh 16
This commit is contained in:
+2
-2
@@ -42,7 +42,7 @@
|
||||
#define A_INTERLEAVE 13
|
||||
#define A_SETLOOP 15
|
||||
|
||||
#ifndef VERSION_SH
|
||||
#if !defined(VERSION_SH) && !defined(VERSION_CN)
|
||||
|
||||
#define A_ENVMIXER 3
|
||||
#define A_LOADBUFF 4
|
||||
@@ -642,7 +642,7 @@ typedef short ENVMIX_STATE[40];
|
||||
_a->words.w1 = (uintptr_t)(tr); \
|
||||
}
|
||||
|
||||
#ifdef VERSION_SH
|
||||
#if defined(VERSION_SH) || defined(VERSION_CN)
|
||||
#undef aLoadBuffer
|
||||
#undef aSaveBuffer
|
||||
#undef aMix
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
#ifndef IQUE_H
|
||||
#define IQUE_H
|
||||
|
||||
#include "rcp.h"
|
||||
|
||||
#define MI_SK_EXCEPTION_REG (MI_BASE_REG+0x14)
|
||||
#define MI_SK_WATCHDOG_TIMER (MI_BASE_REG+0x18)
|
||||
|
||||
// Hardware interrupts
|
||||
// 0x40 = NAND DMA, 0x80 = MD, 0x100 = RDB, 0x200 = AES,
|
||||
// 0x400 = PI_ERR, 0x800 = USB0, 0x1000 = USB1, 0x2000 = NAND
|
||||
#define MI_HW_INTR_REG (MI_BASE_REG+0x38)
|
||||
#define MI_HW_INTR_MASK_REG (MI_BASE_REG+0x3C)
|
||||
|
||||
#define PI_CARD_ADDR_REG (PI_BASE_REG+0x48)
|
||||
#define PI_EX_RD_LEN_REG (PI_BASE_REG+0x58)
|
||||
#define PI_EX_WR_LEN_REG (PI_BASE_REG+0x5C)
|
||||
#define PI_MISC_REG (PI_BASE_REG+0x60)
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
extern u8 *__osBbEepromAddress;
|
||||
extern u32 __osBbEepromSize;
|
||||
extern u32 __osBbFlashAddress;
|
||||
extern u32 __osBbFlashSize;
|
||||
extern u32 __osBbSramAddress;
|
||||
extern u32 __osBbSramSize;
|
||||
extern u32 *__osBbPakAddress[];
|
||||
extern u32 __osBbPakSize;
|
||||
extern u32 __osBbIsBb;
|
||||
extern u32 __osBbHackFlags;
|
||||
|
||||
void skKeepAlive(void);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -7,7 +7,7 @@ typedef struct
|
||||
{
|
||||
u8 *offset;
|
||||
s32 len;
|
||||
#ifdef VERSION_SH
|
||||
#if defined(VERSION_SH) || defined(VERSION_CN)
|
||||
s8 medium;
|
||||
s8 magic; // tbl: 0x04, otherwise: 0x03
|
||||
|
||||
@@ -32,11 +32,11 @@ typedef struct
|
||||
|
||||
typedef struct
|
||||
{
|
||||
#ifndef VERSION_SH
|
||||
#if !defined(VERSION_SH) && !defined(VERSION_CN)
|
||||
s16 revision;
|
||||
#endif
|
||||
s16 seqCount;
|
||||
#ifdef VERSION_SH
|
||||
#if defined(VERSION_SH) || defined(VERSION_CN)
|
||||
s16 unk2;
|
||||
u8 *data;
|
||||
#if !IS_64_BIT
|
||||
|
||||
+6
-106
@@ -59,37 +59,6 @@ typedef struct {
|
||||
s32 (*dma)(s32, u32, void *, u32);
|
||||
s32 (*edma)(OSPiHandle *, s32, u32, void *, u32);
|
||||
} OSDevMgr;
|
||||
|
||||
/*
|
||||
* Structure for file system
|
||||
*/
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
int status;
|
||||
OSMesgQueue *queue;
|
||||
int channel;
|
||||
u8 id[32];
|
||||
u8 label[32];
|
||||
int version;
|
||||
int dir_size;
|
||||
int inode_table; /* block location */
|
||||
int minode_table; /* mirrioring inode_table */
|
||||
int dir_table; /* block location */
|
||||
int inode_start_page; /* page # */
|
||||
u8 banks;
|
||||
u8 activebank;
|
||||
} OSPfs;
|
||||
|
||||
|
||||
typedef struct {
|
||||
u32 file_size; /* bytes */
|
||||
u32 game_code;
|
||||
u16 company_code;
|
||||
char ext_name[4];
|
||||
char game_name[16];
|
||||
} OSPfsState;
|
||||
|
||||
/*
|
||||
* Structure for Profiler
|
||||
@@ -116,39 +85,6 @@ typedef struct {
|
||||
#define OS_STATE_RUNNING 4
|
||||
#define OS_STATE_WAITING 8
|
||||
|
||||
/* Events */
|
||||
#ifdef _FINALROM
|
||||
#define OS_NUM_EVENTS 15
|
||||
#else
|
||||
#define OS_NUM_EVENTS 23
|
||||
#endif
|
||||
|
||||
#define OS_EVENT_SW1 0 /* CPU SW1 interrupt */
|
||||
#define OS_EVENT_SW2 1 /* CPU SW2 interrupt */
|
||||
#define OS_EVENT_CART 2 /* Cartridge interrupt: used by rmon */
|
||||
#define OS_EVENT_COUNTER 3 /* Counter int: used by VI/Timer Mgr */
|
||||
#define OS_EVENT_SP 4 /* SP task done interrupt */
|
||||
#define OS_EVENT_SI 5 /* SI (controller) interrupt */
|
||||
#define OS_EVENT_AI 6 /* AI interrupt */
|
||||
#define OS_EVENT_VI 7 /* VI interrupt: used by VI/Timer Mgr */
|
||||
#define OS_EVENT_PI 8 /* PI interrupt: used by PI Manager */
|
||||
#define OS_EVENT_DP 9 /* DP full sync interrupt */
|
||||
#define OS_EVENT_CPU_BREAK 10 /* CPU breakpoint: used by rmon */
|
||||
#define OS_EVENT_SP_BREAK 11 /* SP breakpoint: used by rmon */
|
||||
#define OS_EVENT_FAULT 12 /* CPU fault event: used by rmon */
|
||||
#define OS_EVENT_THREADSTATUS 13 /* CPU thread status: used by rmon */
|
||||
#define OS_EVENT_PRENMI 14 /* Pre NMI interrupt */
|
||||
#ifndef _FINALROM
|
||||
#define OS_EVENT_RDB_READ_DONE 15 /* RDB read ok event: used by rmon */
|
||||
#define OS_EVENT_RDB_LOG_DONE 16 /* read of log data complete */
|
||||
#define OS_EVENT_RDB_DATA_DONE 17 /* read of hostio data complete */
|
||||
#define OS_EVENT_RDB_REQ_RAMROM 18 /* host needs ramrom access */
|
||||
#define OS_EVENT_RDB_FREE_RAMROM 19 /* host is done with ramrom access */
|
||||
#define OS_EVENT_RDB_DBG_DONE 20
|
||||
#define OS_EVENT_RDB_FLUSH_PROF 21
|
||||
#define OS_EVENT_RDB_ACK_PROF 22
|
||||
#endif
|
||||
|
||||
/* Flags for debugging purpose */
|
||||
|
||||
#define OS_FLAG_CPU_BREAK 1 /* Break exception has occurred */
|
||||
@@ -186,12 +122,6 @@ typedef struct {
|
||||
#define OS_PRIORITY_APPMAX 127
|
||||
#define OS_PRIORITY_IDLE 0 /* Must be 0 */
|
||||
|
||||
|
||||
/* Flags to turn blocking on/off when sending/receiving message */
|
||||
|
||||
#define OS_MESG_NOBLOCK 0
|
||||
#define OS_MESG_BLOCK 1
|
||||
|
||||
/* Flags to indicate direction of data transfer */
|
||||
|
||||
#define OS_READ 0 /* device -> RDRAM */
|
||||
@@ -406,42 +336,6 @@ typedef struct {
|
||||
#define R_CBUTTONS CONT_F
|
||||
#define D_CBUTTONS CONT_D
|
||||
|
||||
/* File System size */
|
||||
#define OS_PFS_VERSION 0x0200
|
||||
#define OS_PFS_VERSION_HI (OS_PFS_VERSION >> 8)
|
||||
#define OS_PFS_VERSION_LO (OS_PFS_VERSION & 255)
|
||||
|
||||
#define PFS_FILE_NAME_LEN 16
|
||||
#define PFS_FILE_EXT_LEN 4
|
||||
#define BLOCKSIZE 32 /* bytes */
|
||||
#define PFS_ONE_PAGE 8 /* blocks */
|
||||
#define PFS_MAX_BANKS 62
|
||||
|
||||
/* File System flag */
|
||||
|
||||
#define PFS_READ 0
|
||||
#define PFS_WRITE 1
|
||||
#define PFS_CREATE 2
|
||||
|
||||
/* File System status */
|
||||
#define PFS_INITIALIZED 0x1
|
||||
#define PFS_CORRUPTED 0x2 /* File system was corrupted */
|
||||
|
||||
/* File System error number */
|
||||
|
||||
#define PFS_ERR_NOPACK 1 /* no memory card is plugged or */
|
||||
#define PFS_ERR_NEW_PACK 2 /* ram pack has been changed to a */
|
||||
/* different one */
|
||||
#define PFS_ERR_INCONSISTENT 3 /* need to run Pfschecker */
|
||||
#define PFS_ERR_CONTRFAIL CONT_OVERRUN_ERROR
|
||||
#define PFS_ERR_INVALID 5 /* invalid parameter or file not exist*/
|
||||
#define PFS_ERR_BAD_DATA 6 /* the data read from pack are bad*/
|
||||
#define PFS_DATA_FULL 7 /* no free pages on ram pack */
|
||||
#define PFS_DIR_FULL 8 /* no free directories on ram pack*/
|
||||
#define PFS_ERR_EXIST 9 /* file exists */
|
||||
#define PFS_ERR_ID_FATAL 10 /* dead ram pack */
|
||||
#define PFS_ERR_DEVICE 11 /* wrong device type*/
|
||||
|
||||
/* definition for EEPROM */
|
||||
|
||||
#define EEPROM_MAXBLOCKS 64
|
||||
@@ -739,6 +633,12 @@ extern s32 osMotorInit(OSMesgQueue *, OSPfs *, int);
|
||||
extern s32 osMotorStop(OSPfs *);
|
||||
extern s32 osMotorStart(OSPfs *);
|
||||
|
||||
#ifdef VERSION_CN
|
||||
#define MOTOR_START 1
|
||||
#define MOTOR_STOP 0
|
||||
extern s32 __osMotorAccess(OSPfs *, s32);
|
||||
#endif
|
||||
|
||||
/* Enhanced PI interface */
|
||||
|
||||
extern OSPiHandle *osCartRomInit(void);
|
||||
|
||||
@@ -53,22 +53,22 @@ extern "C" {
|
||||
typedef struct {
|
||||
u16 type; /* Controller Type */
|
||||
u8 status; /* Controller status */
|
||||
u8 errnum;
|
||||
u8 errnum;
|
||||
}OSContStatus;
|
||||
|
||||
typedef struct {
|
||||
u16 button;
|
||||
s8 stick_x; /* -80 <= stick_x <= 80 */
|
||||
s8 stick_y; /* -80 <= stick_y <= 80 */
|
||||
u8 errnum;
|
||||
u8 errnum;
|
||||
} OSContPad;
|
||||
|
||||
typedef struct {
|
||||
void *address; /* Ram pad Address: 11 bits */
|
||||
u8 databuffer[32]; /* address of the data buffer */
|
||||
u8 addressCrc; /* CRC code for address */
|
||||
u8 addressCrc; /* CRC code for address */
|
||||
u8 dataCrc; /* CRC code for data */
|
||||
u8 errnum;
|
||||
u8 errnum;
|
||||
} OSContRamIo;
|
||||
|
||||
|
||||
|
||||
@@ -7,4 +7,12 @@
|
||||
extern void bcopy(const void *, void *, size_t);
|
||||
extern void bzero(void *, size_t);
|
||||
|
||||
/* Printf */
|
||||
|
||||
extern int sprintf(char *s, const char *fmt, ...);
|
||||
extern void osSyncPrintf(const char *fmt, ...);
|
||||
extern void osAsyncPrintf(const char *fmt, ...);
|
||||
extern int osSyncGetChars(char *buf);
|
||||
extern int osAsyncGetChars(char *buf);
|
||||
|
||||
#endif /* !_OS_LIBC_H_ */
|
||||
|
||||
+14
-1
@@ -76,7 +76,10 @@ typedef struct OSMesgQueue_s {
|
||||
*/
|
||||
|
||||
/* Events */
|
||||
#ifdef _FINALROM
|
||||
|
||||
#ifdef BBPLAYER
|
||||
#define OS_NUM_EVENTS 31
|
||||
#elif defined(_FINALROM)
|
||||
#define OS_NUM_EVENTS 15
|
||||
#else
|
||||
#define OS_NUM_EVENTS 23
|
||||
@@ -107,6 +110,16 @@ typedef struct OSMesgQueue_s {
|
||||
#define OS_EVENT_RDB_FLUSH_PROF 21
|
||||
#define OS_EVENT_RDB_ACK_PROF 22
|
||||
#endif
|
||||
#ifdef BBPLAYER
|
||||
#define OS_EVENT_FLASH 23 /* NAND flash operation complete */
|
||||
#define OS_EVENT_AES 24 /* AES */
|
||||
#define OS_EVENT_IDE 25 /* IDE? */
|
||||
#define OS_EVENT_PI_ERR 26 /* PI Error? */
|
||||
#define OS_EVENT_USB0 27 /* USB Controller 0 */
|
||||
#define OS_EVENT_USB1 28 /* USB Controller 1 */
|
||||
#define OS_EVENT_UNK_29 29 /* TODO does this exist at all */
|
||||
#define OS_EVENT_MD 30 /* Related to card */
|
||||
#endif
|
||||
|
||||
/* Flags to turn blocking on/off when sending/receiving message */
|
||||
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
|
||||
/*---------------------------------------------------------------------*
|
||||
Copyright (C) 1998 Nintendo.
|
||||
|
||||
$RCSfile: os_motor.h,v $
|
||||
$Revision: 1.1 $
|
||||
$Date: 1998/10/09 08:01:15 $
|
||||
*---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _OS_MOTOR_H_
|
||||
#define _OS_MOTOR_H_
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "os_message.h"
|
||||
#include "os_pfs.h"
|
||||
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Type definitions
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Global definitions
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Macro definitions
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Extern variables
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Function prototypes
|
||||
*
|
||||
*/
|
||||
|
||||
/* Rumble PAK interface */
|
||||
|
||||
extern s32 osMotorInit(OSMesgQueue *, OSPfs *, int);
|
||||
extern s32 osMotorStop(OSPfs *);
|
||||
extern s32 osMotorStart(OSPfs *);
|
||||
|
||||
|
||||
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* !_OS_MOTOR_H_ */
|
||||
@@ -0,0 +1,123 @@
|
||||
/*====================================================================
|
||||
* os_pfs.h
|
||||
*
|
||||
* Copyright 1995, Silicon Graphics, Inc.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics,
|
||||
* Inc.; the contents of this file may not be disclosed to third
|
||||
* parties, copied or duplicated in any form, in whole or in part,
|
||||
* without the prior written permission of Silicon Graphics, Inc.
|
||||
*
|
||||
* RESTRICTED RIGHTS LEGEND:
|
||||
* Use, duplication or disclosure by the Government is subject to
|
||||
* restrictions as set forth in subdivision (c)(1)(ii) of the Rights
|
||||
* in Technical Data and Computer Software clause at DFARS
|
||||
* 252.227-7013, and/or in similar or successor clauses in the FAR,
|
||||
* DOD or NASA FAR Supplement. Unpublished - rights reserved under the
|
||||
* Copyright Laws of the United States.
|
||||
*====================================================================*/
|
||||
|
||||
/*---------------------------------------------------------------------*
|
||||
Copyright (C) 1998 Nintendo. (Originated by SGI)
|
||||
|
||||
$RCSfile: os_pfs.h,v $
|
||||
$Revision: 1.1 $
|
||||
$Date: 1998/10/09 08:01:16 $
|
||||
*---------------------------------------------------------------------*/
|
||||
|
||||
#ifndef _OS_PFS_H_
|
||||
#define _OS_PFS_H_
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <PR/ultratypes.h>
|
||||
#include "os_message.h"
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Type definitions
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* Structure for file system
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
int status;
|
||||
OSMesgQueue *queue;
|
||||
int channel;
|
||||
u8 id[32];
|
||||
u8 label[32];
|
||||
int version;
|
||||
int dir_size;
|
||||
int inode_table; /* block location */
|
||||
int minode_table; /* mirrioring inode_table */
|
||||
int dir_table; /* block location */
|
||||
int inode_start_page; /* page # */
|
||||
u8 banks;
|
||||
u8 activebank;
|
||||
} OSPfs;
|
||||
|
||||
|
||||
typedef struct {
|
||||
u32 file_size; /* bytes */
|
||||
u32 game_code;
|
||||
u16 company_code;
|
||||
char ext_name[4];
|
||||
char game_name[16];
|
||||
} OSPfsState;
|
||||
|
||||
#endif /* defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS) */
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* Global definitions
|
||||
*
|
||||
*/
|
||||
|
||||
/* File System size */
|
||||
#define OS_PFS_VERSION 0x0200
|
||||
#define OS_PFS_VERSION_HI (OS_PFS_VERSION >> 8)
|
||||
#define OS_PFS_VERSION_LO (OS_PFS_VERSION & 255)
|
||||
|
||||
#define PFS_FILE_NAME_LEN 16
|
||||
#define PFS_FILE_EXT_LEN 4
|
||||
#define BLOCKSIZE 32 /* bytes */
|
||||
#define PFS_ONE_PAGE 8 /* blocks */
|
||||
#define PFS_MAX_BANKS 62
|
||||
|
||||
/* File System flag */
|
||||
|
||||
#define PFS_READ 0
|
||||
#define PFS_WRITE 1
|
||||
#define PFS_CREATE 2
|
||||
|
||||
/* File System status */
|
||||
#define PFS_INITIALIZED 0x1
|
||||
#define PFS_CORRUPTED 0x2 /* File system was corrupted */
|
||||
|
||||
/* File System error number */
|
||||
|
||||
#define PFS_ERR_NOPACK 1 /* no memory card is plugged or */
|
||||
#define PFS_ERR_NEW_PACK 2 /* ram pack has been changed to a */
|
||||
#define PFS_ERR_INCONSISTENT 3 /* need to run Pfschecker */
|
||||
#define PFS_ERR_CONTRFAIL CONT_OVERRUN_ERROR
|
||||
#define PFS_ERR_INVALID 5 /* invalid parameter or file not exist*/
|
||||
#define PFS_ERR_BAD_DATA 6 /* the data read from pack are bad*/
|
||||
#define PFS_DATA_FULL 7 /* no free pages on ram pack */
|
||||
#define PFS_DIR_FULL 8 /* no free directories on ram pack*/
|
||||
#define PFS_ERR_EXIST 9 /* file exists*/
|
||||
#define PFS_ERR_ID_FATAL 10 /* dead ram pack */
|
||||
#define PFS_ERR_DEVICE 11 /* wrong device type*/
|
||||
|
||||
#ifdef _LANGUAGE_C_PLUS_PLUS
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
+1
-1
@@ -61,7 +61,7 @@ typedef struct {
|
||||
/*0x08*/ void *dramAddr;
|
||||
/*0x0C*/ uintptr_t devAddr;
|
||||
/*0x10*/ size_t size;
|
||||
#if defined(VERSION_EU) || defined(VERSION_SH)
|
||||
#if defined(VERSION_EU) || defined(VERSION_SH) || defined(VERSION_CN)
|
||||
OSPiHandle *piHandle; // from the official definition
|
||||
#endif
|
||||
} OSIoMesg;
|
||||
|
||||
@@ -16,6 +16,8 @@
|
||||
#define OS_STATE_RUNNING 4
|
||||
#define OS_STATE_WAITING 8
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/* Types */
|
||||
|
||||
typedef s32 OSPri;
|
||||
@@ -73,3 +75,5 @@ void osStartThread(OSThread *thread);
|
||||
void osStopThread(OSThread *thread);
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -13,7 +13,7 @@ typedef struct OSTimer_str
|
||||
u64 interval;
|
||||
u64 remaining;
|
||||
OSMesgQueue *mq;
|
||||
OSMesg *msg;
|
||||
OSMesg msg;
|
||||
} OSTimer;
|
||||
|
||||
typedef u64 OSTime;
|
||||
|
||||
+14
-8
@@ -4,6 +4,16 @@
|
||||
#include <PR/ultratypes.h>
|
||||
#include <PR/os_message.h>
|
||||
|
||||
//TODO: figure out what this is
|
||||
#define VI_STATE_01 0x01
|
||||
#define VI_STATE_XSCALE_UPDATED 0x02
|
||||
#define VI_STATE_YSCALE_UPDATED 0x04
|
||||
#define VI_STATE_08 0x08 //related to control regs changing
|
||||
#define VI_STATE_10 0x10 //swap buffer
|
||||
#define VI_STATE_BLACK 0x20 //probably related to a black screen
|
||||
#define VI_STATE_REPEATLINE 0x40 //repeat line?
|
||||
#define VI_STATE_FADE 0x80 //fade
|
||||
|
||||
/* Ultra64 Video Interface */
|
||||
|
||||
|
||||
@@ -27,8 +37,7 @@
|
||||
|
||||
/* Types */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u32 ctrl;
|
||||
u32 width;
|
||||
u32 burst;
|
||||
@@ -40,8 +49,7 @@ typedef struct
|
||||
u32 vCurrent;
|
||||
} OSViCommonRegs;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u32 origin;
|
||||
u32 yScale;
|
||||
u32 vStart;
|
||||
@@ -49,15 +57,13 @@ typedef struct
|
||||
u32 vIntr;
|
||||
} OSViFieldRegs;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
u8 type;
|
||||
OSViCommonRegs comRegs;
|
||||
OSViFieldRegs fldRegs[2];
|
||||
} OSViMode;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct {
|
||||
/* 0x00 */ u16 unk00; //some kind of flags. swap buffer sets to 0x10
|
||||
/* 0x02 */ u16 retraceCount;
|
||||
/* 0x04 */ void* buffer;
|
||||
|
||||
@@ -161,6 +161,7 @@ The Indy development board use cartridge domain 1:
|
||||
#define DEVICE_TYPE_BULK 1 /* ROM bulk */
|
||||
#define DEVICE_TYPE_64DD 2 /* 64 Disk Drive */
|
||||
#define DEVICE_TYPE_SRAM 3 /* SRAM */
|
||||
#define DEVICE_TYPE_INIT 7 /* initial value */
|
||||
|
||||
/*************************************************************************
|
||||
* SP Memory
|
||||
|
||||
@@ -0,0 +1,94 @@
|
||||
|
||||
/**************************************************************************
|
||||
*
|
||||
* $Revision: 1.6 $
|
||||
* $Date: 1997/02/11 08:29:31 $
|
||||
* $Source: /disk6/Master/cvsmdev2/PR/include/rdb.h,v $
|
||||
*
|
||||
**************************************************************************/
|
||||
|
||||
#ifndef _RDB_H
|
||||
#define _RDB_H
|
||||
|
||||
/* U64 side address */
|
||||
#define RDB_BASE_REG 0xc0000000
|
||||
#define RDB_WRITE_INTR_REG (RDB_BASE_REG + 0x8)
|
||||
#define RDB_READ_INTR_REG (RDB_BASE_REG + 0xc)
|
||||
#define RDB_BASE_VIRTUAL_ADDR 0x80000000
|
||||
|
||||
/* packet type Have six bits, so can have up to 63 types */
|
||||
#define RDB_TYPE_INVALID 0
|
||||
#define RDB_TYPE_GtoH_PRINT 1
|
||||
#define RDB_TYPE_GtoH_FAULT 2
|
||||
#define RDB_TYPE_GtoH_LOG_CT 3
|
||||
#define RDB_TYPE_GtoH_LOG 4
|
||||
#define RDB_TYPE_GtoH_READY_FOR_DATA 5
|
||||
#define RDB_TYPE_GtoH_DATA_CT 6
|
||||
#define RDB_TYPE_GtoH_DATA 7
|
||||
#define RDB_TYPE_GtoH_DEBUG 8
|
||||
#define RDB_TYPE_GtoH_RAMROM 9
|
||||
#define RDB_TYPE_GtoH_DEBUG_DONE 10
|
||||
#define RDB_TYPE_GtoH_DEBUG_READY 11
|
||||
#define RDB_TYPE_GtoH_KDEBUG 12
|
||||
#define RDB_TYPE_GtoH_PROF_DATA 22
|
||||
|
||||
|
||||
#define RDB_TYPE_HtoG_LOG_DONE 13
|
||||
#define RDB_TYPE_HtoG_DEBUG 14
|
||||
#define RDB_TYPE_HtoG_DEBUG_CT 15
|
||||
#define RDB_TYPE_HtoG_DATA 16
|
||||
#define RDB_TYPE_HtoG_DATA_DONE 17
|
||||
#define RDB_TYPE_HtoG_REQ_RAMROM 18
|
||||
#define RDB_TYPE_HtoG_FREE_RAMROM 19
|
||||
#define RDB_TYPE_HtoG_KDEBUG 20
|
||||
#define RDB_TYPE_HtoG_PROF_SIGNAL 21
|
||||
|
||||
|
||||
#define RDB_PROF_ACK_SIG 1
|
||||
#define RDB_PROF_FLUSH_SIG 2
|
||||
#define PROF_BLOCK_SIZE 2048
|
||||
|
||||
#define RDB_LOG_MAX_BLOCK_SIZE 0x8000
|
||||
#define RDB_DATA_MAX_BLOCK_SIZE 0x8000
|
||||
|
||||
|
||||
/* GIO side address */
|
||||
#define GIO_RDB_BASE_REG 0xbf480000
|
||||
#define GIO_RDB_WRITE_INTR_REG (GIO_RDB_BASE_REG + 0x8)
|
||||
#define GIO_RDB_READ_INTR_REG (GIO_RDB_BASE_REG + 0xc)
|
||||
|
||||
/* minor device number */
|
||||
#define GIO_RDB_PRINT_MINOR 1
|
||||
#define GIO_RDB_DEBUG_MINOR 2
|
||||
|
||||
/* interrupt bit */
|
||||
#define GIO_RDB_WRITE_INTR_BIT 0x80000000
|
||||
#define GIO_RDB_READ_INTR_BIT 0x40000000
|
||||
|
||||
/* debug command */
|
||||
#define DEBUG_COMMAND_NULL 0
|
||||
#define DEBUG_COMMAND_MEMORY 1
|
||||
#define DEBUG_COMMAND_REGISTER 2
|
||||
#define DEBUG_COMMAND_INVALID 255
|
||||
|
||||
/* debug state */
|
||||
#define DEBUG_STATE_NULL 0
|
||||
#define DEBUG_STATE_RECEIVE 1
|
||||
#define DEBUG_STATE_INVALID 255
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
/* Structure for debug port */
|
||||
typedef struct {
|
||||
unsigned type : 2; /* 0: invalid, 1: print, 2: debug */
|
||||
unsigned pad : 4; // CHANGED FROM THE ORIGINAL LIBULTRA HEADER
|
||||
unsigned length : 2; /* 1, 2, or 3 */
|
||||
unsigned char buf[3]; /* character buffer */
|
||||
} rdbPacket;
|
||||
|
||||
extern unsigned int __osRdbWriteOK;
|
||||
extern unsigned int __osRdbSendMessage;
|
||||
|
||||
#endif /* _LANGUAGE_C */
|
||||
|
||||
#endif /* !_RDB_H */
|
||||
+1
-1
@@ -18,7 +18,7 @@
|
||||
/* Flags */
|
||||
#define M_TASK_FLAG0 1
|
||||
#define M_TASK_FLAG1 2
|
||||
#ifdef VERSION_SH
|
||||
#if defined(VERSION_SH) || defined(VERSION_CN)
|
||||
#define M_TASK_FLAG2 4
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#ifndef _ULTRA64_TYPES_H_
|
||||
#define _ULTRA64_TYPES_H_
|
||||
|
||||
#if defined(_LANGUAGE_C) || defined(_LANGUAGE_C_PLUS_PLUS)
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL (void *)0
|
||||
#endif
|
||||
@@ -42,3 +44,5 @@ typedef ptrdiff_t ssize_t;
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
+71
-66
@@ -3,6 +3,11 @@
|
||||
|
||||
#include "types.h"
|
||||
|
||||
#define BPARAM1(param) (((param) & 0xFF) << 24)
|
||||
#define BPARAM2(param) (((param) & 0xFF) << 16)
|
||||
#define BPARAM3(param) (((param) & 0xFF) << 8)
|
||||
#define BPARAM4(param) (((param) & 0xFF) << 0)
|
||||
|
||||
extern const BehaviorScript bhvStarDoor[];
|
||||
extern const BehaviorScript bhvMrI[];
|
||||
extern const BehaviorScript bhvMrIBody[];
|
||||
@@ -10,8 +15,8 @@ extern const BehaviorScript bhvMrIParticle[];
|
||||
extern const BehaviorScript bhvPurpleParticle[];
|
||||
extern const BehaviorScript bhvGiantPole[];
|
||||
extern const BehaviorScript bhvPoleGrabbing[];
|
||||
extern const BehaviorScript bhvThiHugeIslandTop[];
|
||||
extern const BehaviorScript bhvThiTinyIslandTop[];
|
||||
extern const BehaviorScript bhvTHIHugeIslandTop[];
|
||||
extern const BehaviorScript bhvTHITinyIslandTop[];
|
||||
extern const BehaviorScript bhvCapSwitchBase[];
|
||||
extern const BehaviorScript bhvCapSwitch[];
|
||||
extern const BehaviorScript bhvKingBobomb[];
|
||||
@@ -37,12 +42,12 @@ extern const BehaviorScript bhvUnused05A8[];
|
||||
extern const BehaviorScript bhvRotatingPlatform[];
|
||||
extern const BehaviorScript bhvTower[];
|
||||
extern const BehaviorScript bhvBulletBillCannon[];
|
||||
extern const BehaviorScript bhvWfBreakableWallRight[];
|
||||
extern const BehaviorScript bhvWfBreakableWallLeft[];
|
||||
extern const BehaviorScript bhvWFBreakableWallRight[];
|
||||
extern const BehaviorScript bhvWFBreakableWallLeft[];
|
||||
extern const BehaviorScript bhvKickableBoard[];
|
||||
extern const BehaviorScript bhvTowerDoor[];
|
||||
extern const BehaviorScript bhvRotatingCounterClockwise[];
|
||||
extern const BehaviorScript bhvWfRotatingWoodenPlatform[];
|
||||
extern const BehaviorScript bhvWFRotatingWoodenPlatform[];
|
||||
extern const BehaviorScript bhvKoopaShellUnderwater[];
|
||||
extern const BehaviorScript bhvExitPodiumWarp[];
|
||||
extern const BehaviorScript bhvFadingWarp[];
|
||||
@@ -51,7 +56,7 @@ extern const BehaviorScript bhvWarpPipe[];
|
||||
extern const BehaviorScript bhvWhitePuffExplosion[];
|
||||
extern const BehaviorScript bhvSpawnedStar[];
|
||||
extern const BehaviorScript bhvSpawnedStarNoLevelExit[];
|
||||
extern const BehaviorScript bhvMrIBlueCoin[];
|
||||
extern const BehaviorScript bhvSpawnedBlueCoin[];
|
||||
extern const BehaviorScript bhvCoinInsideBoo[];
|
||||
extern const BehaviorScript bhvCoinFormationSpawn[];
|
||||
extern const BehaviorScript bhvCoinFormation[];
|
||||
@@ -72,16 +77,16 @@ extern const BehaviorScript bhvTriangleParticleSpawner[];
|
||||
extern const BehaviorScript bhvDoorWarp[];
|
||||
extern const BehaviorScript bhvDoor[];
|
||||
extern const BehaviorScript bhvGrindel[];
|
||||
extern const BehaviorScript bhvThwomp2[];
|
||||
extern const BehaviorScript bhvThwomp[];
|
||||
extern const BehaviorScript bhvThwomp2[];
|
||||
extern const BehaviorScript bhvTumblingBridgePlatform[];
|
||||
extern const BehaviorScript bhvWfTumblingBridge[];
|
||||
extern const BehaviorScript bhvBbhTumblingBridge[];
|
||||
extern const BehaviorScript bhvLllTumblingBridge[];
|
||||
extern const BehaviorScript bhvTumblingBridge[];
|
||||
extern const BehaviorScript bhvBBHTumblingBridge[];
|
||||
extern const BehaviorScript bhvLLLTumblingBridge[];
|
||||
extern const BehaviorScript bhvFlame[];
|
||||
extern const BehaviorScript bhvAnotherElavator[];
|
||||
extern const BehaviorScript bhvRrElevatorPlatform[];
|
||||
extern const BehaviorScript bhvHmcElevatorPlatform[];
|
||||
extern const BehaviorScript bhvRRElevatorPlatform[];
|
||||
extern const BehaviorScript bhvHMCElevatorPlatform[];
|
||||
extern const BehaviorScript bhvWaterMist[];
|
||||
extern const BehaviorScript bhvBreathParticleSpawner[];
|
||||
extern const BehaviorScript bhvBreakBoxTriangle[];
|
||||
@@ -99,15 +104,15 @@ extern const BehaviorScript bhvUkiki[];
|
||||
extern const BehaviorScript bhvUkikiCageChild[];
|
||||
extern const BehaviorScript bhvUkikiCageStar[];
|
||||
extern const BehaviorScript bhvUkikiCage[];
|
||||
extern const BehaviorScript bhvBitfsSinkingPlatforms[];
|
||||
extern const BehaviorScript bhvBitfsSinkingCagePlatform[];
|
||||
extern const BehaviorScript bhvDddMovingPole[];
|
||||
extern const BehaviorScript bhvBitfsTiltingInvertedPyramid[];
|
||||
extern const BehaviorScript bhvBitFSSinkingPlatforms[];
|
||||
extern const BehaviorScript bhvBitFSSinkingCagePlatform[];
|
||||
extern const BehaviorScript bhvDDDMovingPole[];
|
||||
extern const BehaviorScript bhvBitFSTiltingInvertedPyramid[];
|
||||
extern const BehaviorScript bhvSquishablePlatform[];
|
||||
extern const BehaviorScript bhvCutOutObject[];
|
||||
extern const BehaviorScript bhvBetaMovingFlamesSpawn[];
|
||||
extern const BehaviorScript bhvBetaMovingFlames[];
|
||||
extern const BehaviorScript bhvRrRotatingBridgePlatform[];
|
||||
extern const BehaviorScript bhvRRRotatingBridgePlatform[];
|
||||
extern const BehaviorScript bhvFlamethrower[];
|
||||
extern const BehaviorScript bhvFlamethrowerFlame[];
|
||||
extern const BehaviorScript bhvBouncingFireball[];
|
||||
@@ -120,9 +125,9 @@ extern const BehaviorScript bhvBlackSmokeUpward[];
|
||||
extern const BehaviorScript bhvBetaFishSplashSpawner[];
|
||||
extern const BehaviorScript bhvSpindrift[];
|
||||
extern const BehaviorScript bhvTowerPlatformGroup[];
|
||||
extern const BehaviorScript bhvWfSlidingTowerPlatform[];
|
||||
extern const BehaviorScript bhvWfElevatorTowerPlatform[];
|
||||
extern const BehaviorScript bhvWfSolidTowerPlatform[];
|
||||
extern const BehaviorScript bhvWFSlidingTowerPlatform[];
|
||||
extern const BehaviorScript bhvWFElevatorTowerPlatform[];
|
||||
extern const BehaviorScript bhvWFSolidTowerPlatform[];
|
||||
extern const BehaviorScript bhvLeafParticleSpawner[];
|
||||
extern const BehaviorScript bhvTreeSnow[];
|
||||
extern const BehaviorScript bhvTreeLeaf[];
|
||||
@@ -139,7 +144,7 @@ extern const BehaviorScript bhvBreakableBox[];
|
||||
extern const BehaviorScript bhvPushableMetalBox[];
|
||||
extern const BehaviorScript bhvHeaveHo[];
|
||||
extern const BehaviorScript bhvHeaveHoThrowMario[];
|
||||
extern const BehaviorScript bhvCcmTouchedStarSpawn[];
|
||||
extern const BehaviorScript bhvCCMTouchedStarSpawn[];
|
||||
extern const BehaviorScript bhvUnusedPoundablePlatform[];
|
||||
extern const BehaviorScript bhvBetaTrampolineTop[];
|
||||
extern const BehaviorScript bhvBetaTrampolineSpring[];
|
||||
@@ -175,34 +180,34 @@ extern const BehaviorScript bhvBowserKeyUnlockDoor[];
|
||||
extern const BehaviorScript bhvBowserKeyCourseExit[];
|
||||
extern const BehaviorScript bhvInvisibleObjectsUnderBridge[];
|
||||
extern const BehaviorScript bhvWaterLevelPillar[];
|
||||
extern const BehaviorScript bhvDddWarp[];
|
||||
extern const BehaviorScript bhvDDDWarp[];
|
||||
extern const BehaviorScript bhvMoatGrills[];
|
||||
extern const BehaviorScript bhvClockMinuteHand[];
|
||||
extern const BehaviorScript bhvClockHourHand[];
|
||||
extern const BehaviorScript bhvMacroUkiki[];
|
||||
extern const BehaviorScript bhvStub1D0C[];
|
||||
extern const BehaviorScript bhvLllRotatingHexagonalPlatform[];
|
||||
extern const BehaviorScript bhvLllSinkingRockBlock[];
|
||||
extern const BehaviorScript bhvLLLRotatingHexagonalPlatform[];
|
||||
extern const BehaviorScript bhvLLLSinkingRockBlock[];
|
||||
extern const BehaviorScript bhvStub1D70[];
|
||||
extern const BehaviorScript bhvLllMovingOctagonalMeshPlatform[];
|
||||
extern const BehaviorScript bhvLLLMovingOctagonalMeshPlatform[];
|
||||
extern const BehaviorScript bhvSnowBall[];
|
||||
extern const BehaviorScript bhvLllRotatingBlockWithFireBars[];
|
||||
extern const BehaviorScript bhvLllRotatingHexFlame[];
|
||||
extern const BehaviorScript bhvLllWoodPiece[];
|
||||
extern const BehaviorScript bhvLllFloatingWoodBridge[];
|
||||
extern const BehaviorScript bhvLLLRotatingBlockWithFireBars[];
|
||||
extern const BehaviorScript bhvLLLRotatingHexFlame[];
|
||||
extern const BehaviorScript bhvLLLWoodPiece[];
|
||||
extern const BehaviorScript bhvLLLFloatingWoodBridge[];
|
||||
extern const BehaviorScript bhvVolcanoFlames[];
|
||||
extern const BehaviorScript bhvLllRotatingHexagonalRing[];
|
||||
extern const BehaviorScript bhvLllSinkingRectangularPlatform[];
|
||||
extern const BehaviorScript bhvLllSinkingSquarePlatforms[];
|
||||
extern const BehaviorScript bhvLllTiltingInvertedPyramid[];
|
||||
extern const BehaviorScript bhvLLLRotatingHexagonalRing[];
|
||||
extern const BehaviorScript bhvLLLSinkingRectangularPlatform[];
|
||||
extern const BehaviorScript bhvLLLSinkingSquarePlatforms[];
|
||||
extern const BehaviorScript bhvLLLTiltingInvertedPyramid[];
|
||||
extern const BehaviorScript bhvUnused1F30[];
|
||||
extern const BehaviorScript bhvKoopaShell[];
|
||||
extern const BehaviorScript bhvKoopaShellFlame[];
|
||||
extern const BehaviorScript bhvToxBox[];
|
||||
extern const BehaviorScript bhvPiranhaPlant[];
|
||||
extern const BehaviorScript bhvLllHexagonalMesh[];
|
||||
extern const BehaviorScript bhvLllBowserPuzzlePiece[];
|
||||
extern const BehaviorScript bhvLllBowserPuzzle[];
|
||||
extern const BehaviorScript bhvLLLHexagonalMesh[];
|
||||
extern const BehaviorScript bhvLLLBowserPuzzlePiece[];
|
||||
extern const BehaviorScript bhvLLLBowserPuzzle[];
|
||||
extern const BehaviorScript bhvTuxiesMother[];
|
||||
extern const BehaviorScript bhvPenguinBaby[];
|
||||
extern const BehaviorScript bhvUnused20E0[];
|
||||
@@ -212,8 +217,8 @@ extern const BehaviorScript bhvFewBlueFishSpawner[];
|
||||
extern const BehaviorScript bhvFishSpawner[];
|
||||
extern const BehaviorScript bhvFishCommon[];
|
||||
extern const BehaviorScript bhvFish[];
|
||||
extern const BehaviorScript bhvWdwExpressElevator[];
|
||||
extern const BehaviorScript bhvWdwExpressElevatorPlatform[];
|
||||
extern const BehaviorScript bhvWDWExpressElevator[];
|
||||
extern const BehaviorScript bhvWDWExpressElevatorPlatform[];
|
||||
extern const BehaviorScript bhvChirpChirp[];
|
||||
extern const BehaviorScript bhvChirpChirpUnused[];
|
||||
extern const BehaviorScript bhvBub[];
|
||||
@@ -227,7 +232,7 @@ extern const BehaviorScript bhvBowserSubDoor[];
|
||||
extern const BehaviorScript bhvBowsersSub[];
|
||||
extern const BehaviorScript bhvSushiShark[];
|
||||
extern const BehaviorScript bhvSushiSharkCollisionChild[];
|
||||
extern const BehaviorScript bhvJrbSlidingBox[];
|
||||
extern const BehaviorScript bhvJRBSlidingBox[];
|
||||
extern const BehaviorScript bhvShipPart3[];
|
||||
extern const BehaviorScript bhvInSunkenShip3[];
|
||||
extern const BehaviorScript bhvSunkenShipPart[];
|
||||
@@ -262,7 +267,7 @@ extern const BehaviorScript bhvMerryGoRoundBoo[];
|
||||
extern const BehaviorScript bhvGhostHuntBoo[];
|
||||
extern const BehaviorScript bhvHiddenStaircaseStep[];
|
||||
extern const BehaviorScript bhvBooStaircase[];
|
||||
extern const BehaviorScript bhvBbhTiltingTrapPlatform[];
|
||||
extern const BehaviorScript bhvBBHTiltingTrapPlatform[];
|
||||
extern const BehaviorScript bhvHauntedBookshelf[];
|
||||
extern const BehaviorScript bhvMeshElevator[];
|
||||
extern const BehaviorScript bhvMerryGoRound[];
|
||||
@@ -371,22 +376,22 @@ extern const BehaviorScript bhvBowserBombSmoke[];
|
||||
extern const BehaviorScript bhvCelebrationStar[];
|
||||
extern const BehaviorScript bhvCelebrationStarSparkle[];
|
||||
extern const BehaviorScript bhvStarKeyCollectionPuffSpawner[];
|
||||
extern const BehaviorScript bhvLllDrawbridgeSpawner[];
|
||||
extern const BehaviorScript bhvLllDrawbridge[];
|
||||
extern const BehaviorScript bhvLLLDrawbridgeSpawner[];
|
||||
extern const BehaviorScript bhvLLLDrawbridge[];
|
||||
extern const BehaviorScript bhvSmallBomp[];
|
||||
extern const BehaviorScript bhvLargeBomp[];
|
||||
extern const BehaviorScript bhvWfSlidingPlatform[];
|
||||
extern const BehaviorScript bhvWFSlidingPlatform[];
|
||||
extern const BehaviorScript bhvMoneybag[];
|
||||
extern const BehaviorScript bhvMoneybagHidden[];
|
||||
extern const BehaviorScript bhvPitBowlingBall[];
|
||||
extern const BehaviorScript bhvFreeBowlingBall[];
|
||||
extern const BehaviorScript bhvBowlingBall[];
|
||||
extern const BehaviorScript bhvTtmBowlingBallSpawner[];
|
||||
extern const BehaviorScript bhvBobBowlingBallSpawner[];
|
||||
extern const BehaviorScript bhvThiBowlingBallSpawner[];
|
||||
extern const BehaviorScript bhvRrCruiserWing[];
|
||||
extern const BehaviorScript bhvTTMBowlingBallSpawner[];
|
||||
extern const BehaviorScript bhvBoBBowlingBallSpawner[];
|
||||
extern const BehaviorScript bhvTHIBowlingBallSpawner[];
|
||||
extern const BehaviorScript bhvRRCruiserWing[];
|
||||
extern const BehaviorScript bhvSpindel[];
|
||||
extern const BehaviorScript bhvSslMovingPyramidWall[];
|
||||
extern const BehaviorScript bhvSSLMovingPyramidWall[];
|
||||
extern const BehaviorScript bhvPyramidElevator[];
|
||||
extern const BehaviorScript bhvPyramidElevatorTrajectoryMarkerBall[];
|
||||
extern const BehaviorScript bhvPyramidTop[];
|
||||
@@ -416,38 +421,38 @@ extern const BehaviorScript bhvRedCoin[];
|
||||
extern const BehaviorScript bhvBowserCourseRedCoinStar[];
|
||||
extern const BehaviorScript bhvHiddenStar[];
|
||||
extern const BehaviorScript bhvHiddenStarTrigger[];
|
||||
extern const BehaviorScript bhvTtmRollingLog[];
|
||||
extern const BehaviorScript bhvLllVolcanoFallingTrap[];
|
||||
extern const BehaviorScript bhvLllRollingLog[];
|
||||
extern const BehaviorScript bhv1upWalking[];
|
||||
extern const BehaviorScript bhv1upRunningAway[];
|
||||
extern const BehaviorScript bhv1upSliding[];
|
||||
extern const BehaviorScript bhvTTMRollingLog[];
|
||||
extern const BehaviorScript bhvLLLVolcanoFallingTrap[];
|
||||
extern const BehaviorScript bhvLLLRollingLog[];
|
||||
extern const BehaviorScript bhv1UpWalking[];
|
||||
extern const BehaviorScript bhv1UpRunningAway[];
|
||||
extern const BehaviorScript bhv1UpSliding[];
|
||||
extern const BehaviorScript bhv1Up[];
|
||||
extern const BehaviorScript bhv1upJumpOnApproach[];
|
||||
extern const BehaviorScript bhvHidden1up[];
|
||||
extern const BehaviorScript bhvHidden1upTrigger[];
|
||||
extern const BehaviorScript bhvHidden1upInPole[];
|
||||
extern const BehaviorScript bhvHidden1upInPoleTrigger[];
|
||||
extern const BehaviorScript bhvHidden1upInPoleSpawner[];
|
||||
extern const BehaviorScript bhv1UpJumpOnApproach[];
|
||||
extern const BehaviorScript bhvHidden1Up[];
|
||||
extern const BehaviorScript bhvHidden1UpTrigger[];
|
||||
extern const BehaviorScript bhvHidden1UpInPole[];
|
||||
extern const BehaviorScript bhvHidden1UpInPoleTrigger[];
|
||||
extern const BehaviorScript bhvHidden1UpInPoleSpawner[];
|
||||
extern const BehaviorScript bhvControllablePlatform[];
|
||||
extern const BehaviorScript bhvControllablePlatformSub[];
|
||||
extern const BehaviorScript bhvBreakableBoxSmall[];
|
||||
extern const BehaviorScript bhvSlidingSnowMound[];
|
||||
extern const BehaviorScript bhvSnowMoundSpawn[];
|
||||
extern const BehaviorScript bhvWdwSquareFloatingPlatform[];
|
||||
extern const BehaviorScript bhvWdwRectangularFloatingPlatform[];
|
||||
extern const BehaviorScript bhvJrbFloatingPlatform[];
|
||||
extern const BehaviorScript bhvWDWSquareFloatingPlatform[];
|
||||
extern const BehaviorScript bhvWDWRectangularFloatingPlatform[];
|
||||
extern const BehaviorScript bhvJRBFloatingPlatform[];
|
||||
extern const BehaviorScript bhvArrowLift[];
|
||||
extern const BehaviorScript bhvOrangeNumber[];
|
||||
extern const BehaviorScript bhvMantaRay[];
|
||||
extern const BehaviorScript bhvFallingPillar[];
|
||||
extern const BehaviorScript bhvFallingPillarHitbox[];
|
||||
extern const BehaviorScript bhvPillarBase[];
|
||||
extern const BehaviorScript bhvJrbFloatingBox[];
|
||||
extern const BehaviorScript bhvJRBFloatingBox[];
|
||||
extern const BehaviorScript bhvDecorativePendulum[];
|
||||
extern const BehaviorScript bhvTreasureChestsShip[];
|
||||
extern const BehaviorScript bhvTreasureChestsJrb[];
|
||||
extern const BehaviorScript bhvTreasureChests[];
|
||||
extern const BehaviorScript bhvTreasureChestsJRB[];
|
||||
extern const BehaviorScript bhvTreasureChestsDDD[];
|
||||
extern const BehaviorScript bhvTreasureChestBottom[];
|
||||
extern const BehaviorScript bhvTreasureChestTop[];
|
||||
extern const BehaviorScript bhvMips[];
|
||||
|
||||
+17
-12
@@ -10,34 +10,39 @@
|
||||
// Bug Fixes
|
||||
// --| Post-JP Version Nintendo Bug Fixes
|
||||
/// Fixes bug where obtaining over 999 coins sets the number of lives to 999 (or -25)
|
||||
#define BUGFIX_MAX_LIVES (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_MAX_LIVES (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug where the Boss music won't fade out after defeating King Bob-omb
|
||||
#define BUGFIX_KING_BOB_OMB_FADE_MUSIC (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
/// Fixes bug in Bob-Omb Battlefield where entering a warp stops the Koopa race music
|
||||
#define BUGFIX_KOOPA_RACE_MUSIC (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_KING_BOB_OMB_FADE_MUSIC (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug in Bob-omb Battlefield where entering a warp stops the Koopa race music
|
||||
#define BUGFIX_KOOPA_RACE_MUSIC (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug where Piranha Plants do not reset their action state when the
|
||||
/// player exits their activation radius.
|
||||
#define BUGFIX_PIRANHA_PLANT_STATE_RESET (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_PIRANHA_PLANT_STATE_RESET (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug where sleeping Piranha Plants damage players that bump into them
|
||||
#define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE (0 || VERSION_US || VERSION_SH)
|
||||
#define BUGFIX_PIRANHA_PLANT_SLEEP_DAMAGE (0 || VERSION_US || VERSION_SH || VERSION_CN)
|
||||
/// 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 || VERSION_SH)
|
||||
#define BUGFIX_STAR_BOWSER_KEY (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug that enables Mario in time stop even if is not ready to speak
|
||||
#define BUGFIX_DIALOG_TIME_STOP (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_DIALOG_TIME_STOP (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug that causes Mario to still collide with Bowser in BitS after his defeat
|
||||
#define BUGFIX_BOWSER_COLLIDE_BITS_DEAD (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_BOWSER_COLLIDE_BITS_DEAD (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug where Bowser wouldn't reset his speed when fallen off (and adds missing checks)
|
||||
#define BUGFIX_BOWSER_FALLEN_OFF_STAGE (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_BOWSER_FALLEN_OFF_STAGE (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
/// Fixes bug where Bowser would look weird while fading out
|
||||
#define BUGFIX_BOWSER_FADING_OUT (0 || VERSION_US || VERSION_EU || VERSION_SH)
|
||||
#define BUGFIX_BOWSER_FADING_OUT (0 || VERSION_US || VERSION_EU || VERSION_SH || VERSION_CN)
|
||||
|
||||
// Support Rumble Pak
|
||||
#define ENABLE_RUMBLE (0 || VERSION_SH)
|
||||
#define ENABLE_RUMBLE (0 || VERSION_SH || VERSION_CN)
|
||||
|
||||
// Screen Size Defines
|
||||
#define SCREEN_WIDTH 320
|
||||
#define SCREEN_HEIGHT 240
|
||||
|
||||
// Stack Size Defines
|
||||
#define IDLE_STACKSIZE 0x800
|
||||
#define STACKSIZE 0x2000
|
||||
#define UNUSED_STACKSIZE 0x1400
|
||||
|
||||
// Border Height Define for NTSC Versions
|
||||
#ifdef TARGET_N64
|
||||
#ifndef VERSION_EU
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifndef DIALOG_IDS_H
|
||||
#define DIALOG_IDS_H
|
||||
|
||||
enum DialogId {
|
||||
enum DialogID {
|
||||
DIALOG_NONE = -1,
|
||||
DIALOG_000,
|
||||
DIALOG_001,
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
CMD_HH(ty, tz), \
|
||||
CMD_PTR(displayList)
|
||||
#define GEO_BILLBOARD() \
|
||||
GEO_BILLBOARD_WITH_PARAMS(0, 0, 0, 0)
|
||||
GEO_BILLBOARD_WITH_PARAMS(0, 0, 0, 0)
|
||||
|
||||
/**
|
||||
* 0x15: Create plain display list scene graph node
|
||||
@@ -357,7 +357,7 @@
|
||||
CMD_BBH(0x19, 0x00, background), \
|
||||
CMD_PTR(function)
|
||||
#define GEO_BACKGROUND_COLOR(background) \
|
||||
GEO_BACKGROUND(background, NULL)
|
||||
GEO_BACKGROUND(background, NULL)
|
||||
|
||||
/**
|
||||
* 0x1A: No operation
|
||||
|
||||
+11
-11
@@ -214,19 +214,19 @@
|
||||
CMD_PTR(unk4), \
|
||||
CMD_W(unk8)
|
||||
|
||||
#define OBJECT_WITH_ACTS(model, posX, posY, posZ, angleX, angleY, angleZ, behParam, beh, acts) \
|
||||
#define OBJECT_WITH_ACTS(model, posX, posY, posZ, angleX, angleY, angleZ, bhvParam, bhv, acts) \
|
||||
CMD_BBBB(0x24, 0x18, acts, model), \
|
||||
CMD_HHHHHH(posX, posY, posZ, angleX, angleY, angleZ), \
|
||||
CMD_W(behParam), \
|
||||
CMD_PTR(beh)
|
||||
CMD_W(bhvParam), \
|
||||
CMD_PTR(bhv)
|
||||
|
||||
#define OBJECT(model, posX, posY, posZ, angleX, angleY, angleZ, behParam, beh) \
|
||||
OBJECT_WITH_ACTS(model, posX, posY, posZ, angleX, angleY, angleZ, behParam, beh, 0x1F)
|
||||
#define OBJECT(model, posX, posY, posZ, angleX, angleY, angleZ, bhvParam, bhv) \
|
||||
OBJECT_WITH_ACTS(model, posX, posY, posZ, angleX, angleY, angleZ, bhvParam, bhv, 0x1F)
|
||||
|
||||
#define MARIO(unk3, behArg, beh) \
|
||||
CMD_BBBB(0x25, 0x0C, 0x00, unk3), \
|
||||
CMD_W(behArg), \
|
||||
CMD_PTR(beh)
|
||||
#define MARIO(model, bhvArg, bhv) \
|
||||
CMD_BBBB(0x25, 0x0C, 0x00, model), \
|
||||
CMD_W(bhvArg), \
|
||||
CMD_PTR(bhv)
|
||||
|
||||
#define WARP_NODE(id, destLevel, destArea, destNode, flags) \
|
||||
CMD_BBBB(0x26, 0x08, id, destLevel), \
|
||||
@@ -268,8 +268,8 @@
|
||||
CMD_BBH(0x2F, 0x08, 0x0000), \
|
||||
CMD_PTR(surfaceRooms)
|
||||
|
||||
#define SHOW_DIALOG(index, dialogId) \
|
||||
CMD_BBBB(0x30, 0x04, index, dialogId)
|
||||
#define SHOW_DIALOG(index, dialogID) \
|
||||
CMD_BBBB(0x30, 0x04, index, dialogID)
|
||||
|
||||
#define TERRAIN_TYPE(terrainType) \
|
||||
CMD_BBH(0x31, 0x04, terrainType)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#ifndef LEVEL_MISC_MACROS_H
|
||||
#define LEVEL_MISC_MACROS_H
|
||||
|
||||
#define MACRO_OBJECT_WITH_BEH_PARAM(preset, yaw, posX, posY, posZ, behParam) \
|
||||
((s16)((yaw * 0x10 / 45) << 9) | (preset + 0x1F)), posX, posY, posZ, behParam
|
||||
#define MACRO_OBJECT_WITH_BHV_PARAM(preset, yaw, posX, posY, posZ, bhvParam) \
|
||||
((s16)((yaw * 0x10 / 45) << 9) | (preset + 0x1F)), posX, posY, posZ, bhvParam
|
||||
|
||||
#define MACRO_OBJECT(preset, yaw, posX, posY, posZ) \
|
||||
MACRO_OBJECT_WITH_BEH_PARAM(preset, yaw, posX, posY, posZ, 0)
|
||||
MACRO_OBJECT_WITH_BHV_PARAM(preset, yaw, posX, posY, posZ, 0)
|
||||
|
||||
#define MACRO_OBJECT_END() \
|
||||
0x001E
|
||||
|
||||
+246
-1
@@ -2,11 +2,256 @@
|
||||
#define STDARG_H
|
||||
|
||||
// When not building with IDO, use the builtin vaarg macros for portability.
|
||||
#ifndef __sgi
|
||||
#if !defined(__sgi) && (__GNUC__ > 2)
|
||||
#define va_list __builtin_va_list
|
||||
#define va_start __builtin_va_start
|
||||
#define va_arg __builtin_va_arg
|
||||
#define va_end __builtin_va_end
|
||||
|
||||
#elif (__GNUC__ == 2)
|
||||
|
||||
typedef void *__gnuc_va_list;
|
||||
typedef __gnuc_va_list va_list;
|
||||
|
||||
#ifndef _VA_MIPS_H_ENUM
|
||||
#define _VA_MIPS_H_ENUM
|
||||
enum {
|
||||
__no_type_class = -1,
|
||||
__void_type_class,
|
||||
__integer_type_class,
|
||||
__char_type_class,
|
||||
__enumeral_type_class,
|
||||
__boolean_type_class,
|
||||
__pointer_type_class,
|
||||
__reference_type_class,
|
||||
__offset_type_class,
|
||||
__real_type_class,
|
||||
__complex_type_class,
|
||||
__function_type_class,
|
||||
__method_type_class,
|
||||
__record_type_class,
|
||||
__union_type_class,
|
||||
__array_type_class,
|
||||
__string_type_class,
|
||||
__set_type_class,
|
||||
__file_type_class,
|
||||
__lang_type_class
|
||||
};
|
||||
#endif
|
||||
|
||||
/* In GCC version 2, we want an ellipsis at the end of the declaration
|
||||
of the argument list. GCC version 1 can't parse it. */
|
||||
|
||||
#if __GNUC__ > 1
|
||||
#define __va_ellipsis ...
|
||||
#else
|
||||
#define __va_ellipsis
|
||||
#endif
|
||||
|
||||
#ifdef __mips64
|
||||
#define __va_rounded_size(__TYPE) \
|
||||
(((sizeof (__TYPE) + 8 - 1) / 8) * 8)
|
||||
#else
|
||||
#define __va_rounded_size(__TYPE) \
|
||||
(((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
|
||||
#endif
|
||||
|
||||
#ifdef __mips64
|
||||
#define __va_reg_size 8
|
||||
#else
|
||||
#define __va_reg_size 4
|
||||
#endif
|
||||
|
||||
/* Get definitions for _MIPS_SIM_ABI64 etc. */
|
||||
#ifdef _MIPS_SIM
|
||||
//#include <sgidefs.h>
|
||||
#endif
|
||||
|
||||
#ifdef STDARG_H
|
||||
#if defined (__mips_eabi)
|
||||
#if ! defined (__mips_soft_float) && ! defined (__mips_single_float)
|
||||
#ifdef __mips64
|
||||
#define va_start(__AP, __LASTARG) \
|
||||
(__AP.__gp_regs = ((char *) __builtin_next_arg (__LASTARG) \
|
||||
- (__builtin_args_info (2) < 8 \
|
||||
? (8 - __builtin_args_info (2)) * __va_reg_size \
|
||||
: 0)), \
|
||||
__AP.__fp_left = 8 - __builtin_args_info (3), \
|
||||
__AP.__fp_regs = __AP.__gp_regs - __AP.__fp_left * __va_reg_size)
|
||||
#else /* ! defined (__mips64) */
|
||||
#define va_start(__AP, __LASTARG) \
|
||||
(__AP.__gp_regs = ((char *) __builtin_next_arg (__LASTARG) \
|
||||
- (__builtin_args_info (2) < 8 \
|
||||
? (8 - __builtin_args_info (2)) * __va_reg_size \
|
||||
: 0)), \
|
||||
__AP.__fp_left = (8 - __builtin_args_info (3)) / 2, \
|
||||
__AP.__fp_regs = __AP.__gp_regs - __AP.__fp_left * 8, \
|
||||
__AP.__fp_regs = (char *) ((int) __AP.__fp_regs & -8))
|
||||
#endif /* ! defined (__mips64) */
|
||||
#else /* ! (! defined (__mips_soft_float) && ! defined (__mips_single_float) ) */
|
||||
#define va_start(__AP, __LASTARG) \
|
||||
(__AP = ((__gnuc_va_list) __builtin_next_arg (__LASTARG) \
|
||||
- (__builtin_args_info (2) >= 8 ? 0 \
|
||||
: (8 - __builtin_args_info (2)) * __va_reg_size)))
|
||||
#endif /* ! (! defined (__mips_soft_float) && ! defined (__mips_single_float) ) */
|
||||
#else /* ! defined (__mips_eabi) */
|
||||
#define va_start(__AP, __LASTARG) \
|
||||
(__AP = (__gnuc_va_list) __builtin_next_arg (__LASTARG))
|
||||
#endif /* ! (defined (__mips_eabi) && ! defined (__mips_soft_float) && ! defined (__mips_single_float)) */
|
||||
#else /* ! _STDARG_H */
|
||||
#define va_alist __builtin_va_alist
|
||||
#ifdef __mips64
|
||||
/* This assumes that `long long int' is always a 64 bit type. */
|
||||
#define va_dcl long long int __builtin_va_alist; __va_ellipsis
|
||||
#else
|
||||
#define va_dcl int __builtin_va_alist; __va_ellipsis
|
||||
#endif
|
||||
#if defined (__mips_eabi)
|
||||
#if ! defined (__mips_soft_float) && ! defined (__mips_single_float)
|
||||
#ifdef __mips64
|
||||
#define va_start(__AP) \
|
||||
(__AP.__gp_regs = ((char *) __builtin_next_arg () \
|
||||
- (__builtin_args_info (2) < 8 \
|
||||
? (8 - __builtin_args_info (2)) * __va_reg_size \
|
||||
: __va_reg_size)), \
|
||||
__AP.__fp_left = 8 - __builtin_args_info (3), \
|
||||
__AP.__fp_regs = __AP.__gp_regs - __AP.__fp_left * __va_reg_size)
|
||||
#else /* ! defined (__mips64) */
|
||||
#define va_start(__AP) \
|
||||
(__AP.__gp_regs = ((char *) __builtin_next_arg () \
|
||||
- (__builtin_args_info (2) < 8 \
|
||||
? (8 - __builtin_args_info (2)) * __va_reg_size \
|
||||
: __va_reg_size)), \
|
||||
__AP.__fp_left = (8 - __builtin_args_info (3)) / 2, \
|
||||
__AP.__fp_regs = __AP.__gp_regs - __AP.__fp_left * 8, \
|
||||
__AP.__fp_regs = (char *) ((int) __AP.__fp_regs & -8))
|
||||
#endif /* ! defined (__mips64) */
|
||||
#else /* ! (! defined (__mips_soft_float) && ! defined (__mips_single_float)) */
|
||||
#define va_start(__AP) \
|
||||
(__AP = ((__gnuc_va_list) __builtin_next_arg () \
|
||||
- (__builtin_args_info (2) >= 8 ? __va_reg_size \
|
||||
: (8 - __builtin_args_info (2)) * __va_reg_size)))
|
||||
#endif /* ! (! defined (__mips_soft_float) && ! defined (__mips_single_float)) */
|
||||
/* Need alternate code for _MIPS_SIM_ABI64. */
|
||||
#elif defined(_MIPS_SIM) && (_MIPS_SIM == _MIPS_SIM_ABI64 || _MIPS_SIM == _MIPS_SIM_NABI32)
|
||||
#define va_start(__AP) \
|
||||
(__AP = (__gnuc_va_list) __builtin_next_arg () \
|
||||
+ (__builtin_args_info (2) >= 8 ? -8 : 0))
|
||||
#else
|
||||
#define va_start(__AP) __AP = (char *) &__builtin_va_alist
|
||||
#endif
|
||||
#endif /* ! _STDARG_H */
|
||||
|
||||
#ifndef va_end
|
||||
void va_end (__gnuc_va_list); /* Defined in libgcc.a */
|
||||
#endif
|
||||
#define va_end(__AP) ((void)0)
|
||||
|
||||
#if defined (__mips_eabi)
|
||||
|
||||
#if ! defined (__mips_soft_float) && ! defined (__mips_single_float)
|
||||
#ifdef __mips64
|
||||
#define __va_next_addr(__AP, __type) \
|
||||
((__builtin_classify_type (*(__type *) 0) == __real_type_class \
|
||||
&& __AP.__fp_left > 0) \
|
||||
? (--__AP.__fp_left, (__AP.__fp_regs += 8) - 8) \
|
||||
: (__AP.__gp_regs += __va_reg_size) - __va_reg_size)
|
||||
#else
|
||||
#define __va_next_addr(__AP, __type) \
|
||||
((__builtin_classify_type (*(__type *) 0) == __real_type_class \
|
||||
&& __AP.__fp_left > 0) \
|
||||
? (--__AP.__fp_left, (__AP.__fp_regs += 8) - 8) \
|
||||
: (((__builtin_classify_type (* (__type *) 0) < __record_type_class \
|
||||
&& __alignof__ (__type) > 4) \
|
||||
? __AP.__gp_regs = (char *) (((int) __AP.__gp_regs + 8 - 1) & -8) \
|
||||
: (char *) 0), \
|
||||
(__builtin_classify_type (* (__type *) 0) >= __record_type_class \
|
||||
? (__AP.__gp_regs += __va_reg_size) - __va_reg_size \
|
||||
: ((__AP.__gp_regs += __va_rounded_size (__type)) \
|
||||
- __va_rounded_size (__type)))))
|
||||
#endif
|
||||
#else /* ! (! defined (__mips_soft_float) && ! defined (__mips_single_float)) */
|
||||
#ifdef __mips64
|
||||
#define __va_next_addr(__AP, __type) \
|
||||
((__AP += __va_reg_size) - __va_reg_size)
|
||||
#else
|
||||
#define __va_next_addr(__AP, __type) \
|
||||
(((__builtin_classify_type (* (__type *) 0) < __record_type_class \
|
||||
&& __alignof__ (__type) > 4) \
|
||||
? __AP = (char *) (((__PTRDIFF_TYPE__) __AP + 8 - 1) & -8) \
|
||||
: (char *) 0), \
|
||||
(__builtin_classify_type (* (__type *) 0) >= __record_type_class \
|
||||
? (__AP += __va_reg_size) - __va_reg_size \
|
||||
: ((__AP += __va_rounded_size (__type)) \
|
||||
- __va_rounded_size (__type))))
|
||||
#endif
|
||||
#endif /* ! (! defined (__mips_soft_float) && ! defined (__mips_single_float)) */
|
||||
|
||||
#ifdef __MIPSEB__
|
||||
#define va_arg(__AP, __type) \
|
||||
((__va_rounded_size (__type) <= __va_reg_size) \
|
||||
? *(__type *) (void *) (__va_next_addr (__AP, __type) \
|
||||
+ __va_reg_size \
|
||||
- sizeof (__type)) \
|
||||
: (__builtin_classify_type (*(__type *) 0) >= __record_type_class \
|
||||
? **(__type **) (void *) (__va_next_addr (__AP, __type) \
|
||||
+ __va_reg_size \
|
||||
- sizeof (char *)) \
|
||||
: *(__type *) (void *) __va_next_addr (__AP, __type)))
|
||||
#else
|
||||
#define va_arg(__AP, __type) \
|
||||
((__va_rounded_size (__type) <= __va_reg_size) \
|
||||
? *(__type *) (void *) __va_next_addr (__AP, __type) \
|
||||
: (__builtin_classify_type (* (__type *) 0) >= __record_type_class \
|
||||
? **(__type **) (void *) __va_next_addr (__AP, __type) \
|
||||
: *(__type *) (void *) __va_next_addr (__AP, __type)))
|
||||
#endif
|
||||
|
||||
#else /* ! defined (__mips_eabi) */
|
||||
|
||||
/* We cast to void * and then to TYPE * because this avoids
|
||||
a warning about increasing the alignment requirement. */
|
||||
/* The __mips64 cases are reversed from the 32 bit cases, because the standard
|
||||
32 bit calling convention left-aligns all parameters smaller than a word,
|
||||
whereas the __mips64 calling convention does not (and hence they are
|
||||
right aligned). */
|
||||
#ifdef __mips64
|
||||
#ifdef __MIPSEB__
|
||||
#define va_arg(__AP, __type) \
|
||||
((__type *) (void *) (__AP = (char *) \
|
||||
((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
|
||||
+ __va_rounded_size (__type))))[-1]
|
||||
#else
|
||||
#define va_arg(__AP, __type) \
|
||||
((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
|
||||
+ __va_rounded_size (__type))), \
|
||||
*(__type *) (void *) (__AP - __va_rounded_size (__type)))
|
||||
#endif
|
||||
|
||||
#else /* not __mips64 */
|
||||
|
||||
#ifdef __MIPSEB__
|
||||
/* For big-endian machines. */
|
||||
#define va_arg(__AP, __type) \
|
||||
((__AP = (char *) ((__alignof__ (__type) > 4 \
|
||||
? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
|
||||
: ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
|
||||
+ __va_rounded_size (__type))), \
|
||||
*(__type *) (void *) (__AP - __va_rounded_size (__type)))
|
||||
#else
|
||||
/* For little-endian machines. */
|
||||
#define va_arg(__AP, __type) \
|
||||
((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4 \
|
||||
? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
|
||||
: ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
|
||||
+ __va_rounded_size(__type))))[-1]
|
||||
#endif
|
||||
#endif
|
||||
#endif /* ! defined (__mips_eabi) */
|
||||
|
||||
/* Copy __gnuc_va_list into another variable of this type. */
|
||||
#define __va_copy(dest, src) (dest) = (src)
|
||||
|
||||
#else
|
||||
|
||||
typedef char *va_list;
|
||||
|
||||
@@ -1,373 +0,0 @@
|
||||
#ifndef MACRO_PRESET_NAMES_H
|
||||
#define MACRO_PRESET_NAMES_H
|
||||
|
||||
enum MacroPresets {
|
||||
macro_yellow_coin,
|
||||
macro_yellow_coin_2,
|
||||
macro_moving_blue_coin,
|
||||
macro_sliding_blue_coin,
|
||||
macro_red_coin,
|
||||
macro_empty_5,
|
||||
macro_coin_line_horizontal,
|
||||
macro_coin_ring_horizontal,
|
||||
macro_coin_arrow,
|
||||
macro_coin_line_horizontal_flying,
|
||||
macro_coin_line_vertical,
|
||||
macro_coin_ring_horizontal_flying,
|
||||
macro_coin_ring_vertical,
|
||||
macro_coin_arrow_flying,
|
||||
macro_hidden_star_trigger,
|
||||
macro_empty_15,
|
||||
macro_empty_16,
|
||||
macro_empty_17,
|
||||
macro_empty_18,
|
||||
macro_empty_19,
|
||||
macro_fake_star,
|
||||
macro_wooden_signpost,
|
||||
macro_cannon_closed,
|
||||
macro_bobomb_buddy_opens_cannon,
|
||||
macro_butterfly,
|
||||
macro_bouncing_fireball_copy,
|
||||
macro_fish_group_3,
|
||||
macro_fish_group,
|
||||
macro_unknown_28,
|
||||
macro_hidden_1up_in_pole,
|
||||
macro_huge_goomba,
|
||||
macro_tiny_goomba,
|
||||
macro_goomba_triplet_spawner,
|
||||
macro_goomba_quintuplet_spawner,
|
||||
macro_sign_on_wall,
|
||||
macro_chuckya,
|
||||
macro_cannon_open,
|
||||
macro_goomba,
|
||||
macro_homing_amp,
|
||||
macro_circling_amp,
|
||||
macro_unknown_40,
|
||||
macro_unknown_41,
|
||||
macro_free_bowling_ball,
|
||||
macro_snufit,
|
||||
macro_recovery_heart,
|
||||
macro_1up_sliding,
|
||||
macro_1up,
|
||||
macro_1up_jump_on_approach,
|
||||
macro_hidden_1up,
|
||||
macro_hidden_1up_trigger,
|
||||
macro_1up_2,
|
||||
macro_1up_3,
|
||||
macro_empty_52,
|
||||
macro_blue_coin_switch,
|
||||
macro_hidden_blue_coin,
|
||||
macro_wing_cap_switch,
|
||||
macro_metal_cap_switch,
|
||||
macro_vanish_cap_switch,
|
||||
macro_yellow_cap_switch,
|
||||
macro_unknown_59,
|
||||
macro_box_wing_cap,
|
||||
macro_box_metal_cap,
|
||||
macro_box_vanish_cap,
|
||||
macro_box_koopa_shell,
|
||||
macro_box_one_coin,
|
||||
macro_box_three_coins,
|
||||
macro_box_ten_coins,
|
||||
macro_box_1up,
|
||||
macro_box_star_1,
|
||||
macro_breakable_box_no_coins,
|
||||
macro_breakable_box_three_coins,
|
||||
macro_pushable_metal_box,
|
||||
macro_breakable_box_small,
|
||||
macro_floor_switch_hidden_objects,
|
||||
macro_hidden_box,
|
||||
macro_hidden_object_2,
|
||||
macro_hidden_object_3,
|
||||
macro_breakable_box_giant,
|
||||
macro_koopa_shell_underwater,
|
||||
macro_box_1up_running_away,
|
||||
macro_empty_80,
|
||||
macro_bullet_bill_cannon,
|
||||
macro_heave_ho,
|
||||
macro_empty_83,
|
||||
macro_thwomp,
|
||||
macro_fire_spitter,
|
||||
macro_fire_fly_guy,
|
||||
macro_jumping_box,
|
||||
macro_butterfly_triplet,
|
||||
macro_butterfly_triplet_2,
|
||||
macro_empty_90,
|
||||
macro_empty_91,
|
||||
macro_empty_92,
|
||||
macro_bully,
|
||||
macro_bully_2,
|
||||
macro_empty_95,
|
||||
macro_unknown_96,
|
||||
macro_bouncing_fireball,
|
||||
macro_flamethrower,
|
||||
macro_empty_99,
|
||||
macro_empty_100,
|
||||
macro_empty_101,
|
||||
macro_empty_102,
|
||||
macro_empty_103,
|
||||
macro_empty_104,
|
||||
macro_empty_105,
|
||||
macro_wooden_post,
|
||||
macro_water_bomb_spawner,
|
||||
macro_enemy_lakitu,
|
||||
macro_bob_koopa_the_quick,
|
||||
macro_koopa_race_endpoint,
|
||||
macro_bobomb,
|
||||
macro_water_bomb_cannon_copy,
|
||||
macro_bobomb_buddy_opens_cannon_copy,
|
||||
macro_water_bomb_cannon,
|
||||
macro_bobomb_still,
|
||||
macro_empty_116,
|
||||
macro_empty_117,
|
||||
macro_empty_118,
|
||||
macro_empty_119,
|
||||
macro_empty_120,
|
||||
macro_empty_121,
|
||||
macro_empty_122,
|
||||
macro_unknown_123,
|
||||
macro_empty_124,
|
||||
macro_unagi,
|
||||
macro_sushi,
|
||||
macro_empty_127,
|
||||
macro_empty_128,
|
||||
macro_empty_129,
|
||||
macro_empty_130,
|
||||
macro_empty_131,
|
||||
macro_empty_132,
|
||||
macro_empty_133,
|
||||
macro_empty_134,
|
||||
macro_empty_135,
|
||||
macro_empty_136,
|
||||
macro_unknown_137,
|
||||
macro_tornado,
|
||||
macro_pokey,
|
||||
macro_pokey_copy,
|
||||
macro_tox_box,
|
||||
macro_empty_142,
|
||||
macro_empty_143,
|
||||
macro_empty_144,
|
||||
macro_empty_145,
|
||||
macro_empty_146,
|
||||
macro_empty_147,
|
||||
macro_empty_148,
|
||||
macro_empty_149,
|
||||
macro_empty_150,
|
||||
macro_monty_mole_2,
|
||||
macro_monty_mole,
|
||||
macro_monty_mole_hole,
|
||||
macro_fly_guy,
|
||||
macro_empty_155,
|
||||
macro_wiggler,
|
||||
macro_empty_157,
|
||||
macro_empty_158,
|
||||
macro_empty_159,
|
||||
macro_empty_160,
|
||||
macro_empty_161,
|
||||
macro_empty_162,
|
||||
macro_empty_163,
|
||||
macro_empty_164,
|
||||
macro_spindrift,
|
||||
macro_mr_blizzard,
|
||||
macro_mr_blizzard_copy,
|
||||
macro_empty_168,
|
||||
macro_small_penguin,
|
||||
macro_tuxies_mother,
|
||||
macro_tuxies_mother_copy,
|
||||
macro_mr_blizzard_2,
|
||||
macro_empty_173,
|
||||
macro_empty_174,
|
||||
macro_empty_175,
|
||||
macro_empty_176,
|
||||
macro_empty_177,
|
||||
macro_empty_178,
|
||||
macro_empty_179,
|
||||
macro_empty_180,
|
||||
macro_empty_181,
|
||||
macro_empty_182,
|
||||
macro_empty_183,
|
||||
macro_empty_184,
|
||||
macro_empty_185,
|
||||
macro_empty_186,
|
||||
macro_empty_187,
|
||||
macro_empty_188,
|
||||
macro_haunted_chair_copy,
|
||||
macro_haunted_chair,
|
||||
macro_haunted_chair_copy2,
|
||||
macro_boo,
|
||||
macro_boo_copy,
|
||||
macro_boo_group,
|
||||
macro_boo_with_cage,
|
||||
macro_beta_key,
|
||||
macro_empty_197,
|
||||
macro_empty_198,
|
||||
macro_empty_199,
|
||||
macro_empty_200,
|
||||
macro_empty_201,
|
||||
macro_empty_202,
|
||||
macro_empty_203,
|
||||
macro_empty_204,
|
||||
macro_empty_205,
|
||||
macro_empty_206,
|
||||
macro_empty_207,
|
||||
macro_empty_208,
|
||||
macro_empty_209,
|
||||
macro_empty_210,
|
||||
macro_empty_211,
|
||||
macro_empty_212,
|
||||
macro_empty_213,
|
||||
macro_empty_214,
|
||||
macro_empty_215,
|
||||
macro_empty_216,
|
||||
macro_empty_217,
|
||||
macro_empty_218,
|
||||
macro_empty_219,
|
||||
macro_empty_220,
|
||||
macro_empty_221,
|
||||
macro_empty_222,
|
||||
macro_empty_223,
|
||||
macro_empty_224,
|
||||
macro_empty_225,
|
||||
macro_empty_226,
|
||||
macro_empty_227,
|
||||
macro_empty_228,
|
||||
macro_empty_229,
|
||||
macro_empty_230,
|
||||
macro_empty_231,
|
||||
macro_empty_232,
|
||||
macro_empty_233,
|
||||
macro_chirp_chirp,
|
||||
macro_seaweed_bundle,
|
||||
macro_beta_chest,
|
||||
macro_water_mine,
|
||||
macro_fish_group_4,
|
||||
macro_fish_group_2,
|
||||
macro_jet_stream_ring_spawner,
|
||||
macro_jet_stream_ring_spawner_copy,
|
||||
macro_skeeter,
|
||||
macro_clam_shell,
|
||||
macro_empty_244,
|
||||
macro_empty_245,
|
||||
macro_empty_246,
|
||||
macro_empty_247,
|
||||
macro_empty_248,
|
||||
macro_empty_249,
|
||||
macro_empty_250,
|
||||
macro_ukiki,
|
||||
macro_ukiki_2,
|
||||
macro_piranha_plant,
|
||||
macro_empty_254,
|
||||
macro_whomp,
|
||||
macro_chain_chomp,
|
||||
macro_empty_257,
|
||||
macro_koopa,
|
||||
macro_koopa_shellless,
|
||||
macro_wooden_post_copy,
|
||||
macro_fire_piranha_plant,
|
||||
macro_fire_piranha_plant_2,
|
||||
macro_thi_koopa_the_quick,
|
||||
macro_empty_264,
|
||||
macro_empty_265,
|
||||
macro_empty_266,
|
||||
macro_empty_267,
|
||||
macro_empty_268,
|
||||
macro_empty_269,
|
||||
macro_empty_270,
|
||||
macro_empty_271,
|
||||
macro_empty_272,
|
||||
macro_empty_273,
|
||||
macro_empty_274,
|
||||
macro_empty_275,
|
||||
macro_empty_276,
|
||||
macro_empty_277,
|
||||
macro_empty_278,
|
||||
macro_empty_279,
|
||||
macro_empty_280,
|
||||
macro_moneybag,
|
||||
macro_empty_282,
|
||||
macro_empty_283,
|
||||
macro_empty_284,
|
||||
macro_empty_285,
|
||||
macro_empty_286,
|
||||
macro_empty_287,
|
||||
macro_empty_288,
|
||||
macro_swoop,
|
||||
macro_swoop_2,
|
||||
macro_mr_i,
|
||||
macro_scuttlebug_spawner,
|
||||
macro_scuttlebug,
|
||||
macro_empty_294,
|
||||
macro_empty_295,
|
||||
macro_empty_296,
|
||||
macro_empty_297,
|
||||
macro_empty_298,
|
||||
macro_empty_299,
|
||||
macro_empty_300,
|
||||
macro_empty_301,
|
||||
macro_empty_302,
|
||||
macro_unknown_303,
|
||||
macro_empty_304,
|
||||
macro_empty_305,
|
||||
macro_empty_306,
|
||||
macro_empty_307,
|
||||
macro_empty_308,
|
||||
macro_empty_309,
|
||||
macro_empty_310,
|
||||
macro_empty_311,
|
||||
macro_empty_312,
|
||||
macro_ttc_rotating_cube,
|
||||
macro_ttc_rotating_prism,
|
||||
macro_ttc_pendulum,
|
||||
macro_ttc_large_treadmill,
|
||||
macro_ttc_small_treadmill,
|
||||
macro_ttc_push_block,
|
||||
macro_ttc_rotating_hexagon,
|
||||
macro_ttc_rotating_triangle,
|
||||
macro_ttc_pit_block,
|
||||
macro_ttc_pit_block_2,
|
||||
macro_ttc_elevator_platform,
|
||||
macro_ttc_clock_hand,
|
||||
macro_ttc_spinner,
|
||||
macro_ttc_small_gear,
|
||||
macro_ttc_large_gear,
|
||||
macro_ttc_large_treadmill_2,
|
||||
macro_ttc_small_treadmill_2,
|
||||
macro_empty_330,
|
||||
macro_empty_331,
|
||||
macro_empty_332,
|
||||
macro_empty_333,
|
||||
macro_empty_334,
|
||||
macro_empty_335,
|
||||
macro_empty_336,
|
||||
macro_empty_337,
|
||||
macro_empty_338,
|
||||
macro_box_star_2,
|
||||
macro_box_star_3,
|
||||
macro_box_star_4,
|
||||
macro_box_star_5,
|
||||
macro_box_star_6,
|
||||
macro_empty_344,
|
||||
macro_empty_345,
|
||||
macro_empty_346,
|
||||
macro_empty_347,
|
||||
macro_empty_348,
|
||||
macro_empty_349,
|
||||
macro_bits_sliding_platform,
|
||||
macro_bits_twin_sliding_platforms,
|
||||
macro_bits_unknown_352,
|
||||
macro_bits_octagonal_platform,
|
||||
macro_bits_staircase,
|
||||
macro_empty_355,
|
||||
macro_empty_356,
|
||||
macro_bits_ferris_wheel_axle,
|
||||
macro_bits_arrow_platform,
|
||||
macro_bits_seesaw_platform,
|
||||
macro_bits_tilting_w_platform,
|
||||
macro_empty_361,
|
||||
macro_empty_362,
|
||||
macro_empty_363,
|
||||
macro_empty_364,
|
||||
macro_empty_365
|
||||
};
|
||||
|
||||
#endif // MACRO_PRESET_NAMES_H
|
||||
+368
-376
@@ -1,383 +1,375 @@
|
||||
#ifndef MACRO_PRESETS_H
|
||||
#define MACRO_PRESETS_H
|
||||
|
||||
#include "macro_preset_names.h"
|
||||
#include "behavior_data.h"
|
||||
#include "model_ids.h"
|
||||
enum MacroPresets {
|
||||
macro_yellow_coin_1,
|
||||
macro_yellow_coin_2,
|
||||
macro_moving_blue_coin,
|
||||
macro_sliding_blue_coin,
|
||||
macro_red_coin,
|
||||
macro_empty_5,
|
||||
macro_coin_line_horizontal,
|
||||
macro_coin_ring_horizontal,
|
||||
macro_coin_arrow,
|
||||
macro_coin_line_horizontal_flying,
|
||||
macro_coin_line_vertical_flying,
|
||||
macro_coin_ring_horizontal_flying,
|
||||
macro_coin_ring_vertical_flying,
|
||||
macro_coin_arrow_flying,
|
||||
macro_hidden_star_trigger,
|
||||
macro_empty_15,
|
||||
macro_empty_16,
|
||||
macro_empty_17,
|
||||
macro_empty_18,
|
||||
macro_empty_19,
|
||||
macro_fake_star,
|
||||
macro_wooden_signpost,
|
||||
macro_cannon_closed,
|
||||
macro_bobomb_buddy_opens_cannon_1,
|
||||
macro_butterfly,
|
||||
macro_bouncing_fireball_1,
|
||||
macro_fish_spawner_many_blue,
|
||||
macro_fish_spawner_few_blue,
|
||||
macro_unknown_28,
|
||||
macro_hidden_1up_in_pole,
|
||||
macro_huge_goomba,
|
||||
macro_tiny_goomba,
|
||||
macro_goomba_triplet_spawner,
|
||||
macro_goomba_quintuplet_spawner,
|
||||
macro_sign_on_wall,
|
||||
macro_chuckya,
|
||||
macro_cannon_open,
|
||||
macro_goomba,
|
||||
macro_homing_amp,
|
||||
macro_circling_amp,
|
||||
macro_unknown_40,
|
||||
macro_unknown_41,
|
||||
macro_free_bowling_ball,
|
||||
macro_snufit,
|
||||
macro_recovery_heart,
|
||||
macro_1up_sliding,
|
||||
macro_1up,
|
||||
macro_1up_jump_on_approach,
|
||||
macro_hidden_1up,
|
||||
macro_hidden_1up_trigger,
|
||||
macro_1up_beat_bitdw_bowser,
|
||||
macro_1up_beat_bitfs_bowser,
|
||||
macro_empty_52,
|
||||
macro_blue_coin_switch,
|
||||
macro_hidden_blue_coin,
|
||||
macro_wing_cap_switch,
|
||||
macro_metal_cap_switch,
|
||||
macro_vanish_cap_switch,
|
||||
macro_yellow_cap_switch,
|
||||
macro_unknown_59,
|
||||
macro_box_wing_cap,
|
||||
macro_box_metal_cap,
|
||||
macro_box_vanish_cap,
|
||||
macro_box_koopa_shell,
|
||||
macro_box_one_coin,
|
||||
macro_box_three_coins,
|
||||
macro_box_ten_coins,
|
||||
macro_box_1up,
|
||||
macro_box_star_act_1,
|
||||
macro_breakable_box_no_coins,
|
||||
macro_breakable_box_three_coins,
|
||||
macro_pushable_metal_box,
|
||||
macro_breakable_box_small,
|
||||
macro_floor_switch_hidden_objects,
|
||||
macro_hidden_breakable_box,
|
||||
macro_hidden_unbreakable_box_1,
|
||||
macro_hidden_unbreakable_box_2,
|
||||
macro_breakable_box_giant,
|
||||
macro_koopa_shell_underwater,
|
||||
macro_box_1up_running_away,
|
||||
macro_empty_80,
|
||||
macro_bullet_bill_cannon,
|
||||
macro_heave_ho,
|
||||
macro_empty_83,
|
||||
macro_thwomp,
|
||||
macro_fire_spitter,
|
||||
macro_fire_fly_guy,
|
||||
macro_jumping_box,
|
||||
macro_butterfly_triplet,
|
||||
macro_butterfly_triplet_no_bombs,
|
||||
macro_empty_90,
|
||||
macro_empty_91,
|
||||
macro_empty_92,
|
||||
macro_small_bully,
|
||||
macro_big_bully,
|
||||
macro_empty_95,
|
||||
macro_unknown_96,
|
||||
macro_bouncing_fireball_2,
|
||||
macro_flamethrower,
|
||||
macro_empty_99,
|
||||
macro_empty_100,
|
||||
macro_empty_101,
|
||||
macro_empty_102,
|
||||
macro_empty_103,
|
||||
macro_empty_104,
|
||||
macro_empty_105,
|
||||
macro_wooden_post_1,
|
||||
macro_water_bomb_spawner,
|
||||
macro_enemy_lakitu,
|
||||
macro_bob_koopa_the_quick,
|
||||
macro_koopa_race_endpoint,
|
||||
macro_bobomb,
|
||||
macro_water_bomb_cannon_1,
|
||||
macro_bobomb_buddy_opens_cannon_2,
|
||||
macro_water_bomb_cannon_2,
|
||||
macro_bobomb_stationary,
|
||||
macro_empty_116,
|
||||
macro_empty_117,
|
||||
macro_empty_118,
|
||||
macro_empty_119,
|
||||
macro_empty_120,
|
||||
macro_empty_121,
|
||||
macro_empty_122,
|
||||
macro_unknown_123,
|
||||
macro_empty_124,
|
||||
macro_unagi,
|
||||
macro_sushi,
|
||||
macro_empty_127,
|
||||
macro_empty_128,
|
||||
macro_empty_129,
|
||||
macro_empty_130,
|
||||
macro_empty_131,
|
||||
macro_empty_132,
|
||||
macro_empty_133,
|
||||
macro_empty_134,
|
||||
macro_empty_135,
|
||||
macro_empty_136,
|
||||
macro_unknown_137,
|
||||
macro_tornado,
|
||||
macro_pokey_1,
|
||||
macro_pokey_2,
|
||||
macro_tox_box,
|
||||
macro_empty_142,
|
||||
macro_empty_143,
|
||||
macro_empty_144,
|
||||
macro_empty_145,
|
||||
macro_empty_146,
|
||||
macro_empty_147,
|
||||
macro_empty_148,
|
||||
macro_empty_149,
|
||||
macro_empty_150,
|
||||
macro_monty_mole_no_rock,
|
||||
macro_monty_mole,
|
||||
macro_monty_mole_hole,
|
||||
macro_fly_guy,
|
||||
macro_empty_155,
|
||||
macro_wiggler,
|
||||
macro_empty_157,
|
||||
macro_empty_158,
|
||||
macro_empty_159,
|
||||
macro_empty_160,
|
||||
macro_empty_161,
|
||||
macro_empty_162,
|
||||
macro_empty_163,
|
||||
macro_empty_164,
|
||||
macro_spindrift,
|
||||
macro_mr_blizzard_1,
|
||||
macro_mr_blizzard_2,
|
||||
macro_empty_168,
|
||||
macro_small_penguin,
|
||||
macro_tuxies_mother_1,
|
||||
macro_tuxies_mother_2,
|
||||
macro_mr_blizzard_jumping,
|
||||
macro_empty_173,
|
||||
macro_empty_174,
|
||||
macro_empty_175,
|
||||
macro_empty_176,
|
||||
macro_empty_177,
|
||||
macro_empty_178,
|
||||
macro_empty_179,
|
||||
macro_empty_180,
|
||||
macro_empty_181,
|
||||
macro_empty_182,
|
||||
macro_empty_183,
|
||||
macro_empty_184,
|
||||
macro_empty_185,
|
||||
macro_empty_186,
|
||||
macro_empty_187,
|
||||
macro_empty_188,
|
||||
macro_haunted_chair_1,
|
||||
macro_haunted_chair_2,
|
||||
macro_haunted_chair_3,
|
||||
macro_boo_1,
|
||||
macro_boo_2,
|
||||
macro_boo_group,
|
||||
macro_boo_with_cage,
|
||||
macro_beta_key,
|
||||
macro_empty_197,
|
||||
macro_empty_198,
|
||||
macro_empty_199,
|
||||
macro_empty_200,
|
||||
macro_empty_201,
|
||||
macro_empty_202,
|
||||
macro_empty_203,
|
||||
macro_empty_204,
|
||||
macro_empty_205,
|
||||
macro_empty_206,
|
||||
macro_empty_207,
|
||||
macro_empty_208,
|
||||
macro_empty_209,
|
||||
macro_empty_210,
|
||||
macro_empty_211,
|
||||
macro_empty_212,
|
||||
macro_empty_213,
|
||||
macro_empty_214,
|
||||
macro_empty_215,
|
||||
macro_empty_216,
|
||||
macro_empty_217,
|
||||
macro_empty_218,
|
||||
macro_empty_219,
|
||||
macro_empty_220,
|
||||
macro_empty_221,
|
||||
macro_empty_222,
|
||||
macro_empty_223,
|
||||
macro_empty_224,
|
||||
macro_empty_225,
|
||||
macro_empty_226,
|
||||
macro_empty_227,
|
||||
macro_empty_228,
|
||||
macro_empty_229,
|
||||
macro_empty_230,
|
||||
macro_empty_231,
|
||||
macro_empty_232,
|
||||
macro_empty_233,
|
||||
macro_chirp_chirp,
|
||||
macro_seaweed_bundle,
|
||||
macro_beta_chest,
|
||||
macro_water_mine,
|
||||
macro_fish_spawner_many_cyan,
|
||||
macro_fish_spawner_few_cyan,
|
||||
macro_jet_stream_ring_spawner_1,
|
||||
macro_jet_stream_ring_spawner_2,
|
||||
macro_skeeter,
|
||||
macro_clam_shell,
|
||||
macro_empty_244,
|
||||
macro_empty_245,
|
||||
macro_empty_246,
|
||||
macro_empty_247,
|
||||
macro_empty_248,
|
||||
macro_empty_249,
|
||||
macro_empty_250,
|
||||
macro_cage_ukiki,
|
||||
macro_cap_ukiki,
|
||||
macro_piranha_plant,
|
||||
macro_empty_254,
|
||||
macro_whomp,
|
||||
macro_chain_chomp,
|
||||
macro_empty_257,
|
||||
macro_koopa,
|
||||
macro_koopa_shellless,
|
||||
macro_wooden_post_2,
|
||||
macro_fire_piranha_plant_1,
|
||||
macro_fire_piranha_plant_2,
|
||||
macro_koopa_tiny,
|
||||
macro_empty_264,
|
||||
macro_empty_265,
|
||||
macro_empty_266,
|
||||
macro_empty_267,
|
||||
macro_empty_268,
|
||||
macro_empty_269,
|
||||
macro_empty_270,
|
||||
macro_empty_271,
|
||||
macro_empty_272,
|
||||
macro_empty_273,
|
||||
macro_empty_274,
|
||||
macro_empty_275,
|
||||
macro_empty_276,
|
||||
macro_empty_277,
|
||||
macro_empty_278,
|
||||
macro_empty_279,
|
||||
macro_empty_280,
|
||||
macro_moneybag,
|
||||
macro_empty_282,
|
||||
macro_empty_283,
|
||||
macro_empty_284,
|
||||
macro_empty_285,
|
||||
macro_empty_286,
|
||||
macro_empty_287,
|
||||
macro_empty_288,
|
||||
macro_swoop_1,
|
||||
macro_swoop_2,
|
||||
macro_mr_i,
|
||||
macro_scuttlebug_spawner,
|
||||
macro_scuttlebug,
|
||||
macro_empty_294,
|
||||
macro_empty_295,
|
||||
macro_empty_296,
|
||||
macro_empty_297,
|
||||
macro_empty_298,
|
||||
macro_empty_299,
|
||||
macro_empty_300,
|
||||
macro_empty_301,
|
||||
macro_empty_302,
|
||||
macro_unknown_303,
|
||||
macro_empty_304,
|
||||
macro_empty_305,
|
||||
macro_empty_306,
|
||||
macro_empty_307,
|
||||
macro_empty_308,
|
||||
macro_empty_309,
|
||||
macro_empty_310,
|
||||
macro_empty_311,
|
||||
macro_empty_312,
|
||||
macro_ttc_rotating_cube,
|
||||
macro_ttc_rotating_prism,
|
||||
macro_ttc_pendulum,
|
||||
macro_ttc_large_treadmill_1,
|
||||
macro_ttc_small_treadmill_1,
|
||||
macro_ttc_push_block,
|
||||
macro_ttc_rotating_hexagon,
|
||||
macro_ttc_rotating_triangle,
|
||||
macro_ttc_pit_block_1,
|
||||
macro_ttc_pit_block_2,
|
||||
macro_ttc_elevator_platform,
|
||||
macro_ttc_clock_hand,
|
||||
macro_ttc_spinner,
|
||||
macro_ttc_small_gear,
|
||||
macro_ttc_large_gear,
|
||||
macro_ttc_large_treadmill_2,
|
||||
macro_ttc_small_treadmill_2,
|
||||
macro_empty_330,
|
||||
macro_empty_331,
|
||||
macro_empty_332,
|
||||
macro_empty_333,
|
||||
macro_empty_334,
|
||||
macro_empty_335,
|
||||
macro_empty_336,
|
||||
macro_empty_337,
|
||||
macro_empty_338,
|
||||
macro_box_star_act_2,
|
||||
macro_box_star_act_3,
|
||||
macro_box_star_act_4,
|
||||
macro_box_star_act_5,
|
||||
macro_box_star_act_6,
|
||||
macro_empty_344,
|
||||
macro_empty_345,
|
||||
macro_empty_346,
|
||||
macro_empty_347,
|
||||
macro_empty_348,
|
||||
macro_empty_349,
|
||||
macro_bits_sliding_platform,
|
||||
macro_bits_twin_sliding_platforms,
|
||||
macro_bits_unknown_352,
|
||||
macro_bits_octagonal_platform,
|
||||
macro_bits_staircase,
|
||||
macro_empty_355,
|
||||
macro_empty_356,
|
||||
macro_bits_ferris_wheel_axle,
|
||||
macro_bits_arrow_platform,
|
||||
macro_bits_seesaw_platform,
|
||||
macro_bits_tilting_w_platform,
|
||||
macro_empty_361,
|
||||
macro_empty_362,
|
||||
macro_empty_363,
|
||||
macro_empty_364,
|
||||
macro_empty_365,
|
||||
|
||||
struct MacroPreset {
|
||||
/*0x00*/ const BehaviorScript *behavior;
|
||||
/*0x04*/ s16 model;
|
||||
/*0x06*/ s16 param;
|
||||
};
|
||||
|
||||
struct MacroPreset MacroObjectPresets[] = {
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvOneCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvMovingBlueCoin, MODEL_BLUE_COIN, 0},
|
||||
{bhvBlueCoinSliding, MODEL_BLUE_COIN, 0}, // unused
|
||||
{bhvRedCoin, MODEL_RED_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvCoinFormation, MODEL_NONE, 0},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_RING},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_ARROW},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_FLYING},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_FLYING | COIN_FORMATION_FLAG_VERTICAL},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_FLYING | COIN_FORMATION_FLAG_RING},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_FLYING | COIN_FORMATION_FLAG_RING | COIN_FORMATION_FLAG_VERTICAL},
|
||||
{bhvCoinFormation, MODEL_NONE, COIN_FORMATION_FLAG_FLYING | COIN_FORMATION_FLAG_ARROW}, // unused
|
||||
{bhvHiddenStarTrigger, MODEL_NONE, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvUnusedFakeStar, MODEL_STAR, 0}, // unused
|
||||
{bhvMessagePanel, MODEL_WOODEN_SIGNPOST, 0},
|
||||
{bhvCannonClosed, MODEL_DL_CANNON_LID, 0},
|
||||
{bhvBobombBuddyOpensCannon, MODEL_BOBOMB_BUDDY, 0},
|
||||
{bhvButterfly, MODEL_BUTTERFLY, 0}, // unused
|
||||
{bhvBouncingFireball, MODEL_NONE, 0}, // unused
|
||||
{bhvFishSpawner, MODEL_NONE, 0}, // unused
|
||||
{bhvFishSpawner, MODEL_NONE, 1},
|
||||
{bhvBetaFishSplashSpawner, MODEL_NONE, 0},
|
||||
{bhvHidden1upInPoleSpawner, MODEL_NONE, 0},
|
||||
{bhvGoomba, MODEL_GOOMBA, 1},
|
||||
{bhvGoomba, MODEL_GOOMBA, 2},
|
||||
{bhvGoombaTripletSpawner, MODEL_NONE, 0},
|
||||
{bhvGoombaTripletSpawner, MODEL_NONE, 8}, // unused
|
||||
{bhvSignOnWall, MODEL_NONE, 0},
|
||||
{bhvChuckya, MODEL_CHUCKYA, 0},
|
||||
{bhvCannon, MODEL_CANNON_BASE, 0},
|
||||
{bhvGoomba, MODEL_GOOMBA, 0},
|
||||
{bhvHomingAmp, MODEL_AMP, 0},
|
||||
{bhvCirclingAmp, MODEL_AMP, 0},
|
||||
{bhvCarrySomething1, MODEL_UNKNOWN_7D, 0}, // unused
|
||||
{bhvBetaTrampolineTop, MODEL_TRAMPOLINE, 0}, // unused
|
||||
{bhvFreeBowlingBall, MODEL_BOWLING_BALL, 0}, // unused
|
||||
{bhvSnufit, MODEL_SNUFIT, 0},
|
||||
{bhvRecoveryHeart, MODEL_HEART, 0},
|
||||
{bhv1upSliding, MODEL_1UP, 0},
|
||||
{bhv1Up, MODEL_1UP, 0},
|
||||
{bhv1upJumpOnApproach, MODEL_1UP, 0}, // unused
|
||||
{bhvHidden1up, MODEL_1UP, 0},
|
||||
{bhvHidden1upTrigger, MODEL_NONE, 0},
|
||||
{bhv1Up, MODEL_1UP, 1},
|
||||
{bhv1Up, MODEL_1UP, 2},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvBlueCoinSwitch, MODEL_BLUE_COIN_SWITCH, 0},
|
||||
{bhvHiddenBlueCoin, MODEL_BLUE_COIN, 0},
|
||||
{bhvCapSwitch, MODEL_CAP_SWITCH, 0}, // unused
|
||||
{bhvCapSwitch, MODEL_CAP_SWITCH, 1}, // unused
|
||||
{bhvCapSwitch, MODEL_CAP_SWITCH, 2}, // unused
|
||||
{bhvCapSwitch, MODEL_CAP_SWITCH, 3}, // unused
|
||||
{bhvWaterLevelDiamond, MODEL_BREAKABLE_BOX, 0}, // unused
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 0},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 1},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 2},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 3},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 4}, // unused
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 5},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 6},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 7},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 8},
|
||||
{bhvBreakableBox, MODEL_BREAKABLE_BOX, 0},
|
||||
{bhvBreakableBox, MODEL_BREAKABLE_BOX, 1},
|
||||
{bhvPushableMetalBox, MODEL_METAL_BOX, 0},
|
||||
{bhvBreakableBoxSmall, MODEL_BREAKABLE_BOX_SMALL, 0},
|
||||
{bhvFloorSwitchHiddenObjects, MODEL_PURPLE_SWITCH, 0},
|
||||
{bhvHiddenObject, MODEL_BREAKABLE_BOX, 0},
|
||||
{bhvHiddenObject, MODEL_BREAKABLE_BOX, 1}, // unused
|
||||
{bhvHiddenObject, MODEL_BREAKABLE_BOX, 2}, // unused
|
||||
{bhvBreakableBox, MODEL_BREAKABLE_BOX, 3},
|
||||
{bhvKoopaShellUnderwater, MODEL_KOOPA_SHELL, 0},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 9},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvBulletBill, MODEL_BULLET_BILL, 0}, // unused
|
||||
{bhvHeaveHo, MODEL_HEAVE_HO, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvThwomp2, MODEL_THWOMP, 0}, // unused
|
||||
{bhvFireSpitter, MODEL_BOWLING_BALL, 0},
|
||||
{bhvFlyGuy, MODEL_FLYGUY, 1},
|
||||
{bhvJumpingBox, MODEL_BREAKABLE_BOX, 0},
|
||||
{bhvTripletButterfly, MODEL_BUTTERFLY, 0},
|
||||
{bhvTripletButterfly, MODEL_BUTTERFLY, 4},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvSmallBully, MODEL_BULLY, 0},
|
||||
{bhvSmallBully, MODEL_BULLY_BOSS, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvStub1D0C, MODEL_UNKNOWN_58, 0}, // unused
|
||||
{bhvBouncingFireball, MODEL_NONE, 0},
|
||||
{bhvFlamethrower, MODEL_NONE, 4},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvWoodenPost, MODEL_WOODEN_POST, 0},
|
||||
{bhvWaterBombSpawner, MODEL_NONE, 0},
|
||||
{bhvEnemyLakitu, MODEL_ENEMY_LAKITU, 0},
|
||||
{bhvKoopa, MODEL_KOOPA_WITH_SHELL, 2}, // unused
|
||||
{bhvKoopaRaceEndpoint, MODEL_NONE, 0}, // unused
|
||||
{bhvBobomb, MODEL_BLACK_BOBOMB, 0},
|
||||
{bhvWaterBombCannon, MODEL_CANNON_BASE, 0}, // unused
|
||||
{bhvBobombBuddyOpensCannon, MODEL_BOBOMB_BUDDY, 0}, // unused
|
||||
{bhvWaterBombCannon, MODEL_CANNON_BASE, 0},
|
||||
{bhvBobomb, MODEL_BLACK_BOBOMB, 1},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvUnusedFakeStar, MODEL_UNKNOWN_54, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvUnagi, MODEL_UNAGI, 0}, // unused
|
||||
{bhvSushiShark, MODEL_SUSHI, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvStaticObject, MODEL_KLEPTO, 0}, // unused
|
||||
{bhvTweester, MODEL_TWEESTER, 0}, // unused
|
||||
{bhvPokey, MODEL_NONE, 0},
|
||||
{bhvPokey, MODEL_NONE, 0}, // unused
|
||||
{bhvToxBox, MODEL_SSL_TOX_BOX, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvMontyMole, MODEL_MONTY_MOLE, 0}, // unused
|
||||
{bhvMontyMole, MODEL_MONTY_MOLE, 1},
|
||||
{bhvMontyMoleHole, MODEL_DL_MONTY_MOLE_HOLE, 0},
|
||||
{bhvFlyGuy, MODEL_FLYGUY, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvWigglerHead, MODEL_WIGGLER_HEAD, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvSpindrift, MODEL_SPINDRIFT, 0},
|
||||
{bhvMrBlizzard, MODEL_MR_BLIZZARD_HIDDEN, 0},
|
||||
{bhvMrBlizzard, MODEL_MR_BLIZZARD_HIDDEN, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvSmallPenguin, MODEL_PENGUIN, 0}, // unused
|
||||
{bhvTuxiesMother, MODEL_PENGUIN, 0}, // unused
|
||||
{bhvTuxiesMother, MODEL_PENGUIN, 0}, // unused
|
||||
{bhvMrBlizzard, MODEL_MR_BLIZZARD_HIDDEN, 1}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvHauntedChair, MODEL_HAUNTED_CHAIR, 0}, // unused
|
||||
{bhvHauntedChair, MODEL_HAUNTED_CHAIR, 0},
|
||||
{bhvHauntedChair, MODEL_HAUNTED_CHAIR, 0}, // unused
|
||||
{bhvGhostHuntBoo, MODEL_BOO, 0}, // unused
|
||||
{bhvGhostHuntBoo, MODEL_BOO, 0}, // unused
|
||||
{bhvCourtyardBooTriplet, MODEL_BOO, 0}, // unused
|
||||
{bhvBooWithCage, MODEL_BOO, 0}, // unused
|
||||
{bhvAlphaBooKey, MODEL_BETA_BOO_KEY, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvChirpChirp, MODEL_NONE, 0},
|
||||
{bhvSeaweedBundle, MODEL_NONE, 0},
|
||||
{bhvBetaChestBottom, MODEL_TREASURE_CHEST_BASE, 0}, // unused
|
||||
{bhvBowserBomb, MODEL_WATER_MINE, 0}, // unused
|
||||
{bhvFishSpawner, MODEL_NONE, 2}, // unused
|
||||
{bhvFishSpawner, MODEL_NONE, 3},
|
||||
{bhvJetStreamRingSpawner, MODEL_WATER_RING, 0}, // unused
|
||||
{bhvJetStreamRingSpawner, MODEL_WATER_RING, 0}, // unused
|
||||
{bhvSkeeter, MODEL_SKEETER, 0},
|
||||
{bhvClamShell, MODEL_CLAM_SHELL, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvMacroUkiki, MODEL_UKIKI, 0}, // unused
|
||||
{bhvMacroUkiki, MODEL_UKIKI, 1}, // unused
|
||||
{bhvPiranhaPlant, MODEL_PIRANHA_PLANT, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvSmallWhomp, MODEL_WHOMP, 0},
|
||||
{bhvChainChomp, MODEL_CHAIN_CHOMP, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvKoopa, MODEL_KOOPA_WITH_SHELL, 1},
|
||||
{bhvKoopa, MODEL_KOOPA_WITHOUT_SHELL, 0}, // unused
|
||||
{bhvWoodenPost, MODEL_WOODEN_POST, 0}, // unused
|
||||
{bhvFirePiranhaPlant, MODEL_PIRANHA_PLANT, 0},
|
||||
{bhvFirePiranhaPlant, MODEL_PIRANHA_PLANT, 1}, // unused
|
||||
{bhvKoopa, MODEL_KOOPA_WITH_SHELL, 4},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvMoneybagHidden, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvSwoop, MODEL_SWOOP, 0},
|
||||
{bhvSwoop, MODEL_SWOOP, 1},
|
||||
{bhvMrI, MODEL_NONE, 0},
|
||||
{bhvScuttlebugSpawn, MODEL_NONE, 0},
|
||||
{bhvScuttlebug, MODEL_SCUTTLEBUG, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_UNKNOWN_54, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvTTCRotatingSolid, MODEL_TTC_ROTATING_CUBE, 0},
|
||||
{bhvTTCRotatingSolid, MODEL_TTC_ROTATING_PRISM, 1},
|
||||
{bhvTTCPendulum, MODEL_TTC_PENDULUM, 0},
|
||||
{bhvTTCTreadmill, MODEL_TTC_LARGE_TREADMILL, 0},
|
||||
{bhvTTCTreadmill, MODEL_TTC_SMALL_TREADMILL, 1},
|
||||
{bhvTTCMovingBar, MODEL_TTC_PUSH_BLOCK, 0},
|
||||
{bhvTTCCog, MODEL_TTC_ROTATING_HEXAGON, 0},
|
||||
{bhvTTCCog, MODEL_TTC_ROTATING_TRIANGLE, 2},
|
||||
{bhvTTCPitBlock, MODEL_TTC_PIT_BLOCK, 0},
|
||||
{bhvTTCPitBlock, MODEL_TTC_PIT_BLOCK_UNUSED, 1}, // unused
|
||||
{bhvTTCElevator, MODEL_TTC_ELEVATOR_PLATFORM, 0},
|
||||
{bhvTTC2DRotator, MODEL_TTC_CLOCK_HAND, 0},
|
||||
{bhvTTCSpinner, MODEL_TTC_SPINNER, 0},
|
||||
{bhvTTC2DRotator, MODEL_TTC_SMALL_GEAR, 1},
|
||||
{bhvTTC2DRotator, MODEL_TTC_LARGE_GEAR, 1},
|
||||
{bhvTTCTreadmill, MODEL_TTC_LARGE_TREADMILL, 2},
|
||||
{bhvTTCTreadmill, MODEL_TTC_SMALL_TREADMILL, 3},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 10},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 11},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 12},
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 13}, // unused
|
||||
{bhvExclamationBox, MODEL_EXCLAMATION_BOX, 14},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvSlidingPlatform2, MODEL_BITS_SLIDING_PLATFORM, 0}, // unused
|
||||
{bhvSlidingPlatform2, MODEL_BITS_TWIN_SLIDING_PLATFORMS, 0}, // unused
|
||||
{bhvAnotherTiltingPlatform, MODEL_BITDW_SLIDING_PLATFORM, 0}, // unused
|
||||
{bhvOctagonalPlatformRotating, MODEL_BITS_OCTAGONAL_PLATFORM, 0}, // unused
|
||||
{bhvAnimatesOnFloorSwitchPress, MODEL_BITS_STAIRCASE, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvFerrisWheelAxle, MODEL_BITS_FERRIS_WHEEL_AXLE, 0}, // unused
|
||||
{bhvActivatedBackAndForthPlatform, MODEL_BITS_ARROW_PLATFORM, 0}, // unused
|
||||
{bhvSeesawPlatform, MODEL_BITS_SEESAW_PLATFORM, 0}, // unused
|
||||
{bhvSeesawPlatform, MODEL_BITS_TILTING_W_PLATFORM, 0}, // unused
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0},
|
||||
{bhvYellowCoin, MODEL_YELLOW_COIN, 0}
|
||||
macro_count
|
||||
};
|
||||
|
||||
#endif // MACRO_PRESETS_H
|
||||
|
||||
@@ -0,0 +1,379 @@
|
||||
#include "macro_presets.h"
|
||||
|
||||
struct MacroPreset {
|
||||
/* 0x00 */ const BehaviorScript *behavior;
|
||||
/* 0x04 */ s16 model;
|
||||
/* 0x06 */ s16 param;
|
||||
};
|
||||
|
||||
static struct MacroPreset sMacroObjectPresets[] = {
|
||||
/* macro_yellow_coin_1 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_yellow_coin_2 */ { bhvOneCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_moving_blue_coin */ { bhvMovingBlueCoin, MODEL_BLUE_COIN, 0 },
|
||||
/* macro_sliding_blue_coin */ { bhvBlueCoinSliding, MODEL_BLUE_COIN, 0 }, // unused
|
||||
/* macro_red_coin */ { bhvRedCoin, MODEL_RED_COIN, 0 },
|
||||
/* macro_empty_5 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_coin_line_horizontal */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_LINE_HORIZONTAL },
|
||||
/* macro_coin_ring_horizontal */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_RING_HORIZONTAL },
|
||||
/* macro_coin_arrow */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_ARROW },
|
||||
/* macro_coin_line_horizontal_flying */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_LINE_HORIZONTAL | COIN_FORMATION_BP_FLAG_FLYING },
|
||||
/* macro_coin_line_vertical_flying */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_LINE_VERTICAL | COIN_FORMATION_BP_FLAG_FLYING },
|
||||
/* macro_coin_ring_horizontal_flying */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_RING_HORIZONTAL | COIN_FORMATION_BP_FLAG_FLYING },
|
||||
/* macro_coin_ring_vertical_flying */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_RING_VERTICAL | COIN_FORMATION_BP_FLAG_FLYING },
|
||||
/* macro_coin_arrow_flying */ { bhvCoinFormation, MODEL_NONE, COIN_FORMATION_BP_ARROW | COIN_FORMATION_BP_FLAG_FLYING }, // unused
|
||||
/* macro_hidden_star_trigger */ { bhvHiddenStarTrigger, MODEL_NONE, 0 },
|
||||
/* macro_empty_15 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_16 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_17 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_18 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_19 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_fake_star */ { bhvUnusedFakeStar, MODEL_STAR, 0 }, // unused
|
||||
/* macro_wooden_signpost */ { bhvMessagePanel, MODEL_WOODEN_SIGNPOST, 0 },
|
||||
/* macro_cannon_closed */ { bhvCannonClosed, MODEL_DL_CANNON_LID, 0 },
|
||||
/* macro_bobomb_buddy_opens_cannon_1 */ { bhvBobombBuddyOpensCannon, MODEL_BOBOMB_BUDDY, 0 },
|
||||
/* macro_butterfly */ { bhvButterfly, MODEL_BUTTERFLY, 0 }, // unused
|
||||
/* macro_bouncing_fireball_1 */ { bhvBouncingFireball, MODEL_NONE, 0 }, // unused
|
||||
/* macro_fish_spawner_many_blue */ { bhvFishSpawner, MODEL_NONE, FISH_SPAWNER_BP_MANY_BLUE }, // unused
|
||||
/* macro_fish_spawner_few_blue */ { bhvFishSpawner, MODEL_NONE, FISH_SPAWNER_BP_FEW_BLUE },
|
||||
/* macro_unknown_28 */ { bhvBetaFishSplashSpawner, MODEL_NONE, 0 },
|
||||
/* macro_hidden_1up_in_pole */ { bhvHidden1UpInPoleSpawner, MODEL_NONE, 0 },
|
||||
/* macro_huge_goomba */ { bhvGoomba, MODEL_GOOMBA, GOOMBA_SIZE_HUGE },
|
||||
/* macro_tiny_goomba */ { bhvGoomba, MODEL_GOOMBA, GOOMBA_SIZE_TINY },
|
||||
/* macro_goomba_triplet_spawner */ { bhvGoombaTripletSpawner, MODEL_NONE, GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS(0) | GOOMBA_SIZE_REGULAR },
|
||||
/* macro_goomba_quintuplet_spawner */ { bhvGoombaTripletSpawner, MODEL_NONE, GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS(2) | GOOMBA_SIZE_REGULAR }, // unused
|
||||
/* macro_sign_on_wall */ { bhvSignOnWall, MODEL_NONE, 0 },
|
||||
/* macro_chuckya */ { bhvChuckya, MODEL_CHUCKYA, 0 },
|
||||
/* macro_cannon_open */ { bhvCannon, MODEL_CANNON_BASE, 0 },
|
||||
/* macro_goomba */ { bhvGoomba, MODEL_GOOMBA, 0 },
|
||||
/* macro_homing_amp */ { bhvHomingAmp, MODEL_AMP, 0 },
|
||||
/* macro_circling_amp */ { bhvCirclingAmp, MODEL_AMP, AMP_BP_ROT_RADIUS_200 },
|
||||
/* macro_unknown_40 */ { bhvCarrySomething1, MODEL_UNKNOWN_7D, 0 }, // unused
|
||||
/* macro_unknown_41 */ { bhvBetaTrampolineTop, MODEL_TRAMPOLINE, 0 }, // unused
|
||||
/* macro_free_bowling_ball */ { bhvFreeBowlingBall, MODEL_BOWLING_BALL, 0 }, // unused
|
||||
/* macro_snufit */ { bhvSnufit, MODEL_SNUFIT, 0 },
|
||||
/* macro_recovery_heart */ { bhvRecoveryHeart, MODEL_HEART, 0 },
|
||||
/* macro_1up_sliding */ { bhv1UpSliding, MODEL_1UP, 0 },
|
||||
/* macro_1up */ { bhv1Up, MODEL_1UP, 0 },
|
||||
/* macro_1up_jump_on_approach */ { bhv1UpJumpOnApproach, MODEL_1UP, 0 }, // unused
|
||||
/* macro_hidden_1up */ { bhvHidden1Up, MODEL_1UP, 0 },
|
||||
/* macro_hidden_1up_trigger */ { bhvHidden1UpTrigger, MODEL_NONE, 0 },
|
||||
/* macro_1up_beat_bitdw_bowser */ { bhv1Up, MODEL_1UP, ONE_UP_BP_BEAT_BITDW_BOWSER },
|
||||
/* macro_1up_beat_bitfs_bowser */ { bhv1Up, MODEL_1UP, ONE_UP_BP_BEAT_BITFS_BOWSER },
|
||||
/* macro_empty_52 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_blue_coin_switch */ { bhvBlueCoinSwitch, MODEL_BLUE_COIN_SWITCH, 0 },
|
||||
/* macro_hidden_blue_coin */ { bhvHiddenBlueCoin, MODEL_BLUE_COIN, 0 },
|
||||
/* macro_wing_cap_switch */ { bhvCapSwitch, MODEL_CAP_SWITCH, CAP_SWITCH_BP_RED }, // unused
|
||||
/* macro_metal_cap_switch */ { bhvCapSwitch, MODEL_CAP_SWITCH, CAP_SWITCH_BP_GREEN }, // unused
|
||||
/* macro_vanish_cap_switch */ { bhvCapSwitch, MODEL_CAP_SWITCH, CAP_SWITCH_BP_BLUE }, // unused
|
||||
/* macro_yellow_cap_switch */ { bhvCapSwitch, MODEL_CAP_SWITCH, CAP_SWITCH_BP_YELLOW }, // unused
|
||||
/* macro_unknown_59 */ { bhvWaterLevelDiamond, MODEL_BREAKABLE_BOX, 0 }, // unused
|
||||
/* macro_box_wing_cap */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_WING_CAP },
|
||||
/* macro_box_metal_cap */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_METAL_CAP },
|
||||
/* macro_box_vanish_cap */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_VANISH_CAP },
|
||||
/* macro_box_koopa_shell */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_KOOPA_SHELL },
|
||||
/* macro_box_one_coin */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_ONE_COIN }, // unused
|
||||
/* macro_box_three_coins */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_THREE_COINS },
|
||||
/* macro_box_ten_coins */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_TEN_COINS },
|
||||
/* macro_box_1up */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_1UP_WALKING },
|
||||
/* macro_box_star_act_1 */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_STAR_ACT_1 },
|
||||
/* macro_breakable_box_no_coins */ { bhvBreakableBox, MODEL_BREAKABLE_BOX, BREAKABLE_BOX_BP_NO_COINS },
|
||||
/* macro_breakable_box_three_coins */ { bhvBreakableBox, MODEL_BREAKABLE_BOX, BREAKABLE_BOX_BP_3_COINS },
|
||||
/* macro_pushable_metal_box */ { bhvPushableMetalBox, MODEL_METAL_BOX, 0 },
|
||||
/* macro_breakable_box_small */ { bhvBreakableBoxSmall, MODEL_BREAKABLE_BOX_SMALL, 0 },
|
||||
/* macro_floor_switch_hidden_objects */ { bhvFloorSwitchHiddenObjects, MODEL_PURPLE_SWITCH, 0 },
|
||||
/* macro_hidden_breakable_box */ { bhvHiddenObject, MODEL_BREAKABLE_BOX, HIDDEN_OBJECT_BP_BREAKABLE_BOX },
|
||||
/* macro_hidden_unbreakable_box_1 */ { bhvHiddenObject, MODEL_BREAKABLE_BOX, HIDDEN_OBJECT_BP_UNBREAKABLE_BOX_UNUSED_1 }, // unused
|
||||
/* macro_hidden_unbreakable_box_2 */ { bhvHiddenObject, MODEL_BREAKABLE_BOX, HIDDEN_OBJECT_BP_UNBREAKABLE_BOX_UNUSED_2 }, // unused
|
||||
/* macro_breakable_box_giant */ { bhvBreakableBox, MODEL_BREAKABLE_BOX, BREAKABLE_BOX_BP_GIANT },
|
||||
/* macro_koopa_shell_underwater */ { bhvKoopaShellUnderwater, MODEL_KOOPA_SHELL, 0 },
|
||||
/* macro_box_1up_running_away */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_1UP_RUNNING_AWAY },
|
||||
/* macro_empty_80 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_bullet_bill_cannon */ { bhvBulletBill, MODEL_BULLET_BILL, 0 }, // unused
|
||||
/* macro_heave_ho */ { bhvHeaveHo, MODEL_HEAVE_HO, 0 },
|
||||
/* macro_empty_83 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_thwomp */ { bhvThwomp, MODEL_THWOMP, 0 }, // unused
|
||||
/* macro_fire_spitter */ { bhvFireSpitter, MODEL_BOWLING_BALL, 0 },
|
||||
/* macro_fire_fly_guy */ { bhvFlyGuy, MODEL_FLYGUY, FLY_GUY_BP_FIRE },
|
||||
/* macro_jumping_box */ { bhvJumpingBox, MODEL_BREAKABLE_BOX, 0 },
|
||||
/* macro_butterfly_triplet */ { bhvTripletButterfly, MODEL_BUTTERFLY, 0 },
|
||||
/* macro_butterfly_triplet_no_bombs */ { bhvTripletButterfly, MODEL_BUTTERFLY, TRIPLET_BUTTERFLY_BP_NO_BOMBS },
|
||||
/* macro_empty_90 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_91 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_92 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_small_bully */ { bhvSmallBully, MODEL_BULLY, 0 },
|
||||
/* macro_big_bully */ { bhvSmallBully, MODEL_BULLY_BOSS, 0 }, // unused
|
||||
/* macro_empty_95 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_unknown_96 */ { bhvStub1D0C, MODEL_UNKNOWN_58, 0 }, // unused
|
||||
/* macro_bouncing_fireball_2 */ { bhvBouncingFireball, MODEL_NONE, 0 },
|
||||
/* macro_flamethrower */ { bhvFlamethrower, MODEL_NONE, 4 },
|
||||
/* macro_empty_99 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_100 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_101 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_102 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_103 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_104 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_105 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_wooden_post_1 */ { bhvWoodenPost, MODEL_WOODEN_POST, 0 },
|
||||
/* macro_water_bomb_spawner */ { bhvWaterBombSpawner, MODEL_NONE, 0 },
|
||||
/* macro_enemy_lakitu */ { bhvEnemyLakitu, MODEL_ENEMY_LAKITU, 0 },
|
||||
/* macro_bob_koopa_the_quick */ { bhvKoopa, MODEL_KOOPA_WITH_SHELL, KOOPA_BP_KOOPA_THE_QUICK_BOB }, // unused
|
||||
/* macro_koopa_race_endpoint */ { bhvKoopaRaceEndpoint, MODEL_NONE, 0 }, // unused
|
||||
/* macro_bobomb */ { bhvBobomb, MODEL_BLACK_BOBOMB, BOBOMB_BP_STYPE_GENERIC },
|
||||
/* macro_water_bomb_cannon_1 */ { bhvWaterBombCannon, MODEL_CANNON_BASE, 0 }, // unused
|
||||
/* macro_bobomb_buddy_opens_cannon_2 */ { bhvBobombBuddyOpensCannon, MODEL_BOBOMB_BUDDY, 0 }, // unused
|
||||
/* macro_water_bomb_cannon_2 */ { bhvWaterBombCannon, MODEL_CANNON_BASE, 0 },
|
||||
/* macro_bobomb_stationary */ { bhvBobomb, MODEL_BLACK_BOBOMB, BOBOMB_BP_STYPE_STATIONARY },
|
||||
/* macro_empty_116 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_117 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_118 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_119 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_120 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_121 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_122 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_unknown_123 */ { bhvUnusedFakeStar, MODEL_UNKNOWN_54, 0 }, // unused
|
||||
/* macro_empty_124 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_unagi */ { bhvUnagi, MODEL_UNAGI, 0 }, // unused
|
||||
/* macro_sushi */ { bhvSushiShark, MODEL_SUSHI, 0 }, // unused
|
||||
/* macro_empty_127 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_128 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_129 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_130 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_131 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_132 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_133 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_134 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_135 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_136 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_unknown_137 */ { bhvStaticObject, MODEL_KLEPTO, 0 }, // unused
|
||||
/* macro_tornado */ { bhvTweester, MODEL_TWEESTER, 0 }, // unused
|
||||
/* macro_pokey_1 */ { bhvPokey, MODEL_NONE, 0 },
|
||||
/* macro_pokey_2 */ { bhvPokey, MODEL_NONE, 0 }, // unused
|
||||
/* macro_tox_box */ { bhvToxBox, MODEL_SSL_TOX_BOX, TOX_BOX_BP_MOVEMENT_PATTERN_1 }, // unused
|
||||
/* macro_empty_142 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_143 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_144 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_145 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_146 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_147 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_148 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_149 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_150 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_monty_mole_no_rock */ { bhvMontyMole, MODEL_MONTY_MOLE, MONTY_MOLE_BP_NO_ROCK }, // unused
|
||||
/* macro_monty_mole */ { bhvMontyMole, MODEL_MONTY_MOLE, MONTY_MOLE_BP_GENERIC },
|
||||
/* macro_monty_mole_hole */ { bhvMontyMoleHole, MODEL_DL_MONTY_MOLE_HOLE, 0 },
|
||||
/* macro_fly_guy */ { bhvFlyGuy, MODEL_FLYGUY, FLY_GUY_BP_GENERIC },
|
||||
/* macro_empty_155 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_wiggler */ { bhvWigglerHead, MODEL_WIGGLER_HEAD, 0 }, // unused
|
||||
/* macro_empty_157 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_158 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_159 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_160 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_161 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_162 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_163 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_164 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_spindrift */ { bhvSpindrift, MODEL_SPINDRIFT, 0 },
|
||||
/* macro_mr_blizzard_1 */ { bhvMrBlizzard, MODEL_MR_BLIZZARD_HIDDEN, MR_BLIZZARD_STYPE_GENERIC },
|
||||
/* macro_mr_blizzard_2 */ { bhvMrBlizzard, MODEL_MR_BLIZZARD_HIDDEN, MR_BLIZZARD_STYPE_GENERIC }, // unused
|
||||
/* macro_empty_168 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_small_penguin */ { bhvSmallPenguin, MODEL_PENGUIN, 0 }, // unused
|
||||
/* macro_tuxies_mother_1 */ { bhvTuxiesMother, MODEL_PENGUIN, 0 }, // unused
|
||||
/* macro_tuxies_mother_2 */ { bhvTuxiesMother, MODEL_PENGUIN, 0 }, // unused
|
||||
/* macro_mr_blizzard_jumping */ { bhvMrBlizzard, MODEL_MR_BLIZZARD_HIDDEN, MR_BLIZZARD_STYPE_JUMPING }, // unused
|
||||
/* macro_empty_173 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_174 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_175 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_176 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_177 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_178 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_179 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_180 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_181 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_182 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_183 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_184 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_185 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_186 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_187 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_188 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_haunted_chair_1 */ { bhvHauntedChair, MODEL_HAUNTED_CHAIR, 0 }, // unused
|
||||
/* macro_haunted_chair_2 */ { bhvHauntedChair, MODEL_HAUNTED_CHAIR, 0 },
|
||||
/* macro_haunted_chair_3 */ { bhvHauntedChair, MODEL_HAUNTED_CHAIR, 0 }, // unused
|
||||
/* macro_boo_1 */ { bhvGhostHuntBoo, MODEL_BOO, BOO_BP_GHOST_HUNT }, // unused
|
||||
/* macro_boo_2 */ { bhvGhostHuntBoo, MODEL_BOO, BOO_BP_GHOST_HUNT }, // unused
|
||||
/* macro_boo_group */ { bhvCourtyardBooTriplet, MODEL_BOO, 0 }, // unused
|
||||
/* macro_boo_with_cage */ { bhvBooWithCage, MODEL_BOO, 0 }, // unused
|
||||
/* macro_beta_key */ { bhvAlphaBooKey, MODEL_BETA_BOO_KEY, 0 }, // unused
|
||||
/* macro_empty_197 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_198 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_199 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_200 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_201 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_202 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_203 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_204 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_205 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_206 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_207 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_208 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_209 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_210 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_211 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_212 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_213 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_214 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_215 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_216 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_217 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_218 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_219 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_220 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_221 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_222 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_223 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_224 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_225 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_226 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_227 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_228 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_229 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_230 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_231 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_232 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_233 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_chirp_chirp */ { bhvChirpChirp, MODEL_NONE, 0 },
|
||||
/* macro_seaweed_bundle */ { bhvSeaweedBundle, MODEL_NONE, 0 },
|
||||
/* macro_beta_chest */ { bhvBetaChestBottom, MODEL_TREASURE_CHEST_BASE, 0 }, // unused
|
||||
/* macro_water_mine */ { bhvBowserBomb, MODEL_WATER_MINE, 0 }, // unused
|
||||
/* macro_fish_spawner_many_cyan */ { bhvFishSpawner, MODEL_NONE, FISH_SPAWNER_BP_MANY_CYAN }, // unused
|
||||
/* macro_fish_spawner_few_cyan */ { bhvFishSpawner, MODEL_NONE, FISH_SPAWNER_BP_FEW_CYAN },
|
||||
/* macro_jet_stream_ring_spawner_1 */ { bhvJetStreamRingSpawner, MODEL_WATER_RING, 0 }, // unused
|
||||
/* macro_jet_stream_ring_spawner_2 */ { bhvJetStreamRingSpawner, MODEL_WATER_RING, 0 }, // unused
|
||||
/* macro_skeeter */ { bhvSkeeter, MODEL_SKEETER, 0 },
|
||||
/* macro_clam_shell */ { bhvClamShell, MODEL_CLAM_SHELL, 0 },
|
||||
/* macro_empty_244 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_245 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_246 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_247 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_248 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_249 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_250 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_cage_ukiki */ { bhvMacroUkiki, MODEL_UKIKI, UKIKI_BP_CAGE }, // unused
|
||||
/* macro_cap_ukiki */ { bhvMacroUkiki, MODEL_UKIKI, UKIKI_BP_CAP }, // unused
|
||||
/* macro_piranha_plant */ { bhvPiranhaPlant, MODEL_PIRANHA_PLANT, 0 }, // unused
|
||||
/* macro_empty_254 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_whomp */ { bhvSmallWhomp, MODEL_WHOMP, 0 },
|
||||
/* macro_chain_chomp */ { bhvChainChomp, MODEL_CHAIN_CHOMP, 0 },
|
||||
/* macro_empty_257 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_koopa */ { bhvKoopa, MODEL_KOOPA_WITH_SHELL, KOOPA_BP_NORMAL },
|
||||
/* macro_koopa_shellless */ { bhvKoopa, MODEL_KOOPA_WITHOUT_SHELL, KOOPA_BP_UNSHELLED }, // unused
|
||||
/* macro_wooden_post_2 */ { bhvWoodenPost, MODEL_WOODEN_POST, 0 }, // unused
|
||||
/* macro_fire_piranha_plant_1 */ { bhvFirePiranhaPlant, MODEL_PIRANHA_PLANT, 0 },
|
||||
/* macro_fire_piranha_plant_2 */ { bhvFirePiranhaPlant, MODEL_PIRANHA_PLANT, 1 }, // unused
|
||||
/* macro_koopa_tiny */ { bhvKoopa, MODEL_KOOPA_WITH_SHELL, KOOPA_BP_TINY },
|
||||
/* macro_empty_264 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_265 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_266 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_267 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_268 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_269 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_270 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_271 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_272 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_273 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_274 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_275 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_276 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_277 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_278 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_279 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_280 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_moneybag */ { bhvMoneybagHidden, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_282 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_283 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_284 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_285 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_286 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_287 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_288 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_swoop_1 */ { bhvSwoop, MODEL_SWOOP, 0 },
|
||||
/* macro_swoop_2 */ { bhvSwoop, MODEL_SWOOP, 1 },
|
||||
/* macro_mr_i */ { bhvMrI, MODEL_NONE, 0 },
|
||||
/* macro_scuttlebug_spawner */ { bhvScuttlebugSpawn, MODEL_NONE, 0 },
|
||||
/* macro_scuttlebug */ { bhvScuttlebug, MODEL_SCUTTLEBUG, 0 },
|
||||
/* macro_empty_294 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_295 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_296 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_297 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_298 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_299 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_300 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_301 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_302 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_unknown_303 */ { bhvYellowCoin, MODEL_UNKNOWN_54, 0 }, // unused
|
||||
/* macro_empty_304 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_305 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_306 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_307 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_308 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_309 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_310 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_311 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_312 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_ttc_rotating_cube */ { bhvTTCRotatingSolid, MODEL_TTC_ROTATING_CUBE, TTC_ROTATING_SOLID_BP_CUBE },
|
||||
/* macro_ttc_rotating_prism */ { bhvTTCRotatingSolid, MODEL_TTC_ROTATING_PRISM, TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM },
|
||||
/* macro_ttc_pendulum */ { bhvTTCPendulum, MODEL_TTC_PENDULUM, 0 },
|
||||
/* macro_ttc_large_treadmill_1 */ { bhvTTCTreadmill, MODEL_TTC_LARGE_TREADMILL, TTC_TREADMILL_BP_LARGE_1 },
|
||||
/* macro_ttc_small_treadmill_1 */ { bhvTTCTreadmill, MODEL_TTC_SMALL_TREADMILL, TTC_TREADMILL_BP_SMALL_1 },
|
||||
/* macro_ttc_push_block */ { bhvTTCMovingBar, MODEL_TTC_PUSH_BLOCK, 0 },
|
||||
/* macro_ttc_rotating_hexagon */ { bhvTTCCog, MODEL_TTC_ROTATING_HEXAGON, TTC_COG_BP_SHAPE_HEXAGON | TTC_COG_BP_DIR_CCW },
|
||||
/* macro_ttc_rotating_triangle */ { bhvTTCCog, MODEL_TTC_ROTATING_TRIANGLE, TTC_COG_BP_SHAPE_TRIANGLE | TTC_COG_BP_DIR_CCW },
|
||||
/* macro_ttc_pit_block_1 */ { bhvTTCPitBlock, MODEL_TTC_PIT_BLOCK, 0 },
|
||||
/* macro_ttc_pit_block_2 */ { bhvTTCPitBlock, MODEL_TTC_PIT_BLOCK_UNUSED, 1 }, // unused
|
||||
/* macro_ttc_elevator_platform */ { bhvTTCElevator, MODEL_TTC_ELEVATOR_PLATFORM, 0 },
|
||||
/* macro_ttc_clock_hand */ { bhvTTC2DRotator, MODEL_TTC_CLOCK_HAND, 0 },
|
||||
/* macro_ttc_spinner */ { bhvTTCSpinner, MODEL_TTC_SPINNER, 0 },
|
||||
/* macro_ttc_small_gear */ { bhvTTC2DRotator, MODEL_TTC_SMALL_GEAR, 1 },
|
||||
/* macro_ttc_large_gear */ { bhvTTC2DRotator, MODEL_TTC_LARGE_GEAR, 1 },
|
||||
/* macro_ttc_large_treadmill_2 */ { bhvTTCTreadmill, MODEL_TTC_LARGE_TREADMILL, TTC_TREADMILL_BP_LARGE_2 },
|
||||
/* macro_ttc_small_treadmill_2 */ { bhvTTCTreadmill, MODEL_TTC_SMALL_TREADMILL, TTC_TREADMILL_BP_SMALL_2 },
|
||||
/* macro_empty_330 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_331 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_332 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_333 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_334 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_335 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_336 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_337 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_338 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_box_star_act_2 */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_STAR_ACT_2 },
|
||||
/* macro_box_star_act_3 */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_STAR_ACT_3 },
|
||||
/* macro_box_star_act_4 */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_STAR_ACT_4 },
|
||||
/* macro_box_star_act_5 */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_STAR_ACT_5 }, // unused
|
||||
/* macro_box_star_act_6 */ { bhvExclamationBox, MODEL_EXCLAMATION_BOX, EXCLAMATION_BOX_BP_STAR_ACT_6 },
|
||||
/* macro_empty_344 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_345 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_346 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_347 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_348 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_349 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_bits_sliding_platform */ { bhvSlidingPlatform2, MODEL_BITS_SLIDING_PLATFORM, 0 }, // unused
|
||||
/* macro_bits_twin_sliding_platforms */ { bhvSlidingPlatform2, MODEL_BITS_TWIN_SLIDING_PLATFORMS, 0 }, // unused
|
||||
/* macro_bits_unknown_352 */ { bhvAnotherTiltingPlatform, MODEL_BITDW_SLIDING_PLATFORM, 0 }, // unused
|
||||
/* macro_bits_octagonal_platform */ { bhvOctagonalPlatformRotating, MODEL_BITS_OCTAGONAL_PLATFORM, 0 }, // unused
|
||||
/* macro_bits_staircase */ { bhvAnimatesOnFloorSwitchPress, MODEL_BITS_STAIRCASE, 0 }, // unused
|
||||
/* macro_empty_355 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_356 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_bits_ferris_wheel_axle */ { bhvFerrisWheelAxle, MODEL_BITS_FERRIS_WHEEL_AXLE, 0 }, // unused
|
||||
/* macro_bits_arrow_platform */ { bhvActivatedBackAndForthPlatform, MODEL_BITS_ARROW_PLATFORM, 0 }, // unused
|
||||
/* macro_bits_seesaw_platform */ { bhvSeesawPlatform, MODEL_BITS_SEESAW_PLATFORM, 0 }, // unused
|
||||
/* macro_bits_tilting_w_platform */ { bhvSeesawPlatform, MODEL_BITS_TILTING_W_PLATFORM, 0 }, // unused
|
||||
/* macro_empty_361 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_362 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_363 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_364 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
/* macro_empty_365 */ { bhvYellowCoin, MODEL_YELLOW_COIN, 0 },
|
||||
};
|
||||
|
||||
STATIC_ASSERT(ARRAY_COUNT(sMacroObjectPresets) == macro_count,
|
||||
"change this array if you are adding macro objects");
|
||||
@@ -25,6 +25,12 @@
|
||||
#define UNUSED
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_CN
|
||||
#define UNUSED_CN UNUSED
|
||||
#else
|
||||
#define UNUSED_CN
|
||||
#endif
|
||||
|
||||
// Avoid undefined behaviour for non-returning functions
|
||||
#ifdef __GNUC__
|
||||
#define NORETURN __attribute__((noreturn))
|
||||
@@ -69,4 +75,17 @@
|
||||
#define VIRTUAL_TO_PHYSICAL2(addr) ((void *)(addr))
|
||||
#endif
|
||||
|
||||
// Stubbed CN debug prints
|
||||
#ifdef VERSION_CN
|
||||
#define CN_DEBUG_PRINTF(args) osSyncPrintf args
|
||||
#else
|
||||
#define CN_DEBUG_PRINTF(args)
|
||||
#endif
|
||||
|
||||
#ifdef VERSION_CN
|
||||
#define FORCE_BSS __attribute__((nocommon)) __attribute__((section (".bss_cn")))
|
||||
#else
|
||||
#define FORCE_BSS
|
||||
#endif
|
||||
|
||||
#endif // MACROS_H
|
||||
|
||||
+6
-4
@@ -1,8 +1,10 @@
|
||||
// Assembly Macros
|
||||
#ifndef VERSION_CN
|
||||
.set gp=64
|
||||
#endif
|
||||
|
||||
.set K0BASE, 0x80000000
|
||||
.set K1BASE, 0xA0000000
|
||||
.set K2BASE, 0xC0000000
|
||||
.equ K0BASE, 0x80000000
|
||||
.equ K1BASE, 0xA0000000
|
||||
.equ K2BASE, 0xC0000000
|
||||
|
||||
.macro glabel label
|
||||
.global \label
|
||||
|
||||
@@ -14,11 +14,6 @@
|
||||
#define ALL_ACTS_MACRO ACT_1 | ACT_2 | ACT_3 | ACT_4 | ACT_5
|
||||
#define ALL_ACTS ACT_1 | ACT_2 | ACT_3 | ACT_4 | ACT_5 | ACT_6
|
||||
|
||||
#define COIN_FORMATION_FLAG_VERTICAL (1 << 0)
|
||||
#define COIN_FORMATION_FLAG_RING (1 << 1)
|
||||
#define COIN_FORMATION_FLAG_ARROW (1 << 2)
|
||||
#define COIN_FORMATION_FLAG_FLYING (1 << 4)
|
||||
|
||||
#define MODEL_NONE 0x00
|
||||
|
||||
/* Global models that are loaded for every level */
|
||||
|
||||
+336
-146
@@ -18,7 +18,6 @@
|
||||
#define ACTIVE_FLAG_UNK9 (1 << 9) // 0x0200
|
||||
#define ACTIVE_FLAG_UNK10 (1 << 10) // 0x0400
|
||||
|
||||
|
||||
/* respawnInfoType */
|
||||
#define RESPAWN_INFO_TYPE_NULL 0
|
||||
#define RESPAWN_INFO_TYPE_32 1
|
||||
@@ -86,10 +85,10 @@
|
||||
#endif
|
||||
|
||||
#define OBJ_MOVE_MASK_ON_GROUND (OBJ_MOVE_LANDED | OBJ_MOVE_ON_GROUND)
|
||||
#define OBJ_MOVE_MASK_IN_WATER (\
|
||||
OBJ_MOVE_ENTERED_WATER |\
|
||||
OBJ_MOVE_AT_WATER_SURFACE |\
|
||||
OBJ_MOVE_UNDERWATER_OFF_GROUND |\
|
||||
#define OBJ_MOVE_MASK_IN_WATER ( \
|
||||
OBJ_MOVE_ENTERED_WATER | \
|
||||
OBJ_MOVE_AT_WATER_SURFACE | \
|
||||
OBJ_MOVE_UNDERWATER_OFF_GROUND | \
|
||||
OBJ_MOVE_UNDERWATER_ON_GROUND)
|
||||
|
||||
/* oActiveParticleFlags */
|
||||
@@ -122,6 +121,15 @@
|
||||
#define OBJ_ACT_VERTICAL_KNOCKBACK 101
|
||||
#define OBJ_ACT_SQUISHED 102
|
||||
|
||||
/* Star Index */
|
||||
#define STAR_INDEX_ACT_1 0
|
||||
#define STAR_INDEX_ACT_2 1
|
||||
#define STAR_INDEX_ACT_3 2
|
||||
#define STAR_INDEX_ACT_4 3
|
||||
#define STAR_INDEX_ACT_5 4
|
||||
#define STAR_INDEX_ACT_6 5
|
||||
#define STAR_INDEX_100_COINS 6
|
||||
|
||||
/* gTTCSpeedSetting */
|
||||
#define TTC_SPEED_SLOW 0
|
||||
#define TTC_SPEED_FAST 1
|
||||
@@ -129,18 +137,41 @@
|
||||
#define TTC_SPEED_STOPPED 3
|
||||
|
||||
/* Bob-omb */
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BOBOMB_BP_STYPE_GENERIC 0
|
||||
#define BOBOMB_BP_STYPE_STATIONARY 1
|
||||
|
||||
/* oAction */
|
||||
#define BOBOMB_ACT_PATROL 0
|
||||
#define BOBOMB_ACT_LAUNCHED 1
|
||||
#define BOBOMB_ACT_CHASE_MARIO 2
|
||||
#define BOBOMB_ACT_EXPLODE 3
|
||||
#define BOBOMB_ACT_PATROL 0
|
||||
#define BOBOMB_ACT_LAUNCHED 1
|
||||
#define BOBOMB_ACT_CHASE_MARIO 2
|
||||
#define BOBOMB_ACT_EXPLODE 3
|
||||
#define BOBOMB_ACT_LAVA_DEATH 100
|
||||
#define BOBOMB_ACT_DEATH_PLANE_DEATH 101
|
||||
|
||||
/* Coin Formation */
|
||||
/* oAction */
|
||||
#define COIN_FORMATION_ACT_SPAWN_COINS 0
|
||||
#define COIN_FORMATION_ACT_IDLE 1
|
||||
#define COIN_FORMATION_ACT_RESPAWN_COINS 2
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define COIN_FORMATION_BP_FLAG_HORIZONTAL (0 << 0)
|
||||
#define COIN_FORMATION_BP_FLAG_VERTICAL (1 << 0)
|
||||
#define COIN_FORMATION_BP_FLAG_RING (1 << 1)
|
||||
#define COIN_FORMATION_BP_FLAG_ARROW (1 << 2)
|
||||
#define COIN_FORMATION_BP_FLAG_FLYING (1 << 4)
|
||||
#define COIN_FORMATION_BP_FLAG_MASK (COIN_FORMATION_BP_FLAG_HORIZONTAL | \
|
||||
COIN_FORMATION_BP_FLAG_VERTICAL | \
|
||||
COIN_FORMATION_BP_FLAG_RING | \
|
||||
COIN_FORMATION_BP_FLAG_ARROW)
|
||||
|
||||
#define COIN_FORMATION_BP_LINE_HORIZONTAL (COIN_FORMATION_BP_FLAG_HORIZONTAL)
|
||||
#define COIN_FORMATION_BP_LINE_VERTICAL (COIN_FORMATION_BP_FLAG_VERTICAL)
|
||||
#define COIN_FORMATION_BP_RING_HORIZONTAL (COIN_FORMATION_BP_FLAG_HORIZONTAL | COIN_FORMATION_BP_FLAG_RING)
|
||||
#define COIN_FORMATION_BP_RING_VERTICAL (COIN_FORMATION_BP_FLAG_VERTICAL | COIN_FORMATION_BP_FLAG_RING)
|
||||
#define COIN_FORMATION_BP_ARROW (COIN_FORMATION_BP_FLAG_ARROW)
|
||||
|
||||
/* Hidden Blue Coin */
|
||||
/* oAction */
|
||||
#define HIDDEN_BLUE_COIN_ACT_INACTIVE 0
|
||||
@@ -160,13 +191,13 @@
|
||||
|
||||
/* Moving Yellow Coin */
|
||||
/* oAction */
|
||||
#define MOV_YCOIN_ACT_IDLE 0
|
||||
#define MOV_YCOIN_ACT_BLINKING 1
|
||||
#define MOV_YCOIN_ACT_IDLE 0
|
||||
#define MOV_YCOIN_ACT_BLINKING 1
|
||||
#define MOV_YCOIN_ACT_LAVA_DEATH 100
|
||||
#define MOV_YCOIN_ACT_DEATH_PLANE_DEATH 101
|
||||
|
||||
/* Bob-omb Buddy */
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BOBOMB_BUDDY_BP_STYPE_GENERIC 0
|
||||
#define BOBOMB_BUDDY_BP_STYPE_BOB_GRASS_KBB 1
|
||||
#define BOBOMB_BUDDY_BP_STYPE_BOB_CANNON_KBB 2
|
||||
@@ -248,7 +279,7 @@
|
||||
#define BOWSER_ANIM_FLIP 25
|
||||
#define BOWSER_ANIM_STAND_UP_FROM_FLIP 26
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BOWSER_BP_BITDW 0
|
||||
#define BOWSER_BP_BITFS 1
|
||||
#define BOWSER_BP_BITS 2
|
||||
@@ -292,13 +323,13 @@
|
||||
#define BOWSER_SUB_ACT_HIT_MINE_START 0
|
||||
#define BOWSER_SUB_ACT_HIT_MINE_FALL 1
|
||||
#define BOWSER_SUB_ACT_HIT_MINE_STOP 2
|
||||
|
||||
|
||||
#define BOWSER_SUB_ACT_JUMP_ON_STAGE_IDLE 0
|
||||
#define BOWSER_SUB_ACT_JUMP_ON_STAGE_START 1
|
||||
#define BOWSER_SUB_ACT_JUMP_ON_STAGE_LAND 2
|
||||
#define BOWSER_SUB_ACT_JUMP_ON_STAGE_STOP 3
|
||||
|
||||
/* Bowser Bits Platform*/
|
||||
/* Bowser BitS Platform */
|
||||
/* oAction */
|
||||
#define BOWSER_BITS_PLAT_ACT_START 0
|
||||
#define BOWSER_BITS_PLAT_ACT_CHECK 1
|
||||
@@ -308,9 +339,9 @@
|
||||
/* oAction */
|
||||
#define FISH_SPAWNER_ACT_SPAWN 0
|
||||
#define FISH_SPAWNER_ACT_IDLE 1
|
||||
#define FISH_SPAWNER_ACT_RESPAWN 2
|
||||
#define FISH_SPAWNER_ACT_RESPAWN 2
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define FISH_SPAWNER_BP_MANY_BLUE 0
|
||||
#define FISH_SPAWNER_BP_FEW_BLUE 1
|
||||
#define FISH_SPAWNER_BP_MANY_CYAN 2
|
||||
@@ -322,7 +353,7 @@
|
||||
#define FISH_ACT_ROAM 1
|
||||
#define FISH_ACT_FLEE 2
|
||||
|
||||
/* Blue_Fish */
|
||||
/* Blue Fish */
|
||||
/* oAction */
|
||||
#define BLUE_FISH_ACT_DIVE 0
|
||||
#define BLUE_FISH_ACT_TURN 1
|
||||
@@ -350,7 +381,7 @@
|
||||
#define HOMING_AMP_ACT_ATTACK_COOLDOWN 4
|
||||
|
||||
/* Amp */
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define AMP_BP_ROT_RADIUS_200 0
|
||||
#define AMP_BP_ROT_RADIUS_300 1
|
||||
#define AMP_BP_ROT_RADIUS_400 2
|
||||
@@ -377,27 +408,27 @@
|
||||
#define HOOT_ACT_CARRY 1
|
||||
#define HOOT_ACT_TIRED 2
|
||||
|
||||
/* Bully (all variants) */
|
||||
/* oBehParams2ndByte */
|
||||
/* Bully (All variants) */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BULLY_BP_SIZE_SMALL 0
|
||||
#define BULLY_BP_SIZE_BIG 1
|
||||
|
||||
/* oAction */
|
||||
#define BULLY_ACT_PATROL 0
|
||||
#define BULLY_ACT_CHASE_MARIO 1
|
||||
#define BULLY_ACT_KNOCKBACK 2
|
||||
#define BULLY_ACT_BACK_UP 3
|
||||
#define BULLY_ACT_INACTIVE 4
|
||||
#define BULLY_ACT_ACTIVATE_AND_FALL 5
|
||||
#define BULLY_ACT_PATROL 0
|
||||
#define BULLY_ACT_CHASE_MARIO 1
|
||||
#define BULLY_ACT_KNOCKBACK 2
|
||||
#define BULLY_ACT_BACK_UP 3
|
||||
#define BULLY_ACT_INACTIVE 4
|
||||
#define BULLY_ACT_ACTIVATE_AND_FALL 5
|
||||
#define BULLY_ACT_LAVA_DEATH 100
|
||||
#define BULLY_ACT_DEATH_PLANE_DEATH 101
|
||||
|
||||
/* oBullySubtype */
|
||||
#define BULLY_STYPE_GENERIC 0
|
||||
#define BULLY_STYPE_MINION 1
|
||||
#define BULLY_STYPE_GENERIC 0
|
||||
#define BULLY_STYPE_MINION 1
|
||||
#define BULLY_STYPE_CHILL 16
|
||||
|
||||
/* Water Ring (all variants) */
|
||||
/* Water Ring (All variants) */
|
||||
/* oAction */
|
||||
#define WATER_RING_ACT_NOT_COLLECTED 0
|
||||
#define WATER_RING_ACT_COLLECTED 1
|
||||
@@ -417,7 +448,7 @@
|
||||
#define LLL_DRAWBRIDGE_ACT_LOWER 0
|
||||
#define LLL_DRAWBRIDGE_ACT_RAISE 1
|
||||
|
||||
/* Bomp (both variants) */
|
||||
/* Bomp (Both variants) */
|
||||
/* oAction */
|
||||
#define BOMP_ACT_WAIT 0
|
||||
#define BOMP_ACT_POKE_OUT 1
|
||||
@@ -425,7 +456,7 @@
|
||||
#define BOMP_ACT_RETRACT 3
|
||||
|
||||
/* WF Sliding Brick Platform */
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define WF_SLID_BRICK_PTFM_BP_MOV_VEL_10 1
|
||||
#define WF_SLID_BRICK_PTFM_BP_MOV_VEL_15 2
|
||||
#define WF_SLID_BRICK_PTFM_BP_MOV_VEL_20 3
|
||||
@@ -462,8 +493,8 @@
|
||||
#define BBALL_ACT_INITIALIZE 0
|
||||
#define BBALL_ACT_ROLL 1
|
||||
|
||||
/* Bowling Ball + Bowling Ball Spawner (all variants) */
|
||||
/* oBehParams2ndByte */
|
||||
/* Bowling Ball + Bowling Ball Spawner (All variants) */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BBALL_BP_STYPE_BOB_UPPER 0
|
||||
#define BBALL_BP_STYPE_TTM 1
|
||||
#define BBALL_BP_STYPE_BOB_LOWER 2
|
||||
@@ -495,10 +526,21 @@
|
||||
#define BOO_DEATH_STATUS_DEAD 2
|
||||
|
||||
/* attackStatus */
|
||||
#define BOO_NOT_ATTACKED 0
|
||||
#define BOO_ATTACKED 1
|
||||
#define BOO_NOT_ATTACKED 0
|
||||
#define BOO_ATTACKED 1
|
||||
#define BOO_BOUNCED_ON -1
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define BOO_BP_GHOST_HUNT 0
|
||||
#define BOO_BP_GENERIC 1
|
||||
#define BOO_BP_MERRY_GO_ROUND 2
|
||||
|
||||
/* Big Boo */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BIG_BOO_BP_GHOST_HUNT 0
|
||||
#define BIG_BOO_BP_MERRY_GO_ROUND 1
|
||||
#define BIG_BOO_BP_BALCONY 2
|
||||
|
||||
/* Beta Boo Key */
|
||||
/* oAction */
|
||||
#define BETA_BOO_KEY_ACT_IN_BOO 0
|
||||
@@ -521,7 +563,7 @@
|
||||
/* BBH Merry-Go-Round */
|
||||
/* gMarioCurrentRoom */
|
||||
#define BBH_NEAR_MERRY_GO_ROUND_ROOM 10
|
||||
#define BBH_DYNAMIC_SURFACE_ROOM 0
|
||||
#define BBH_DYNAMIC_SURFACE_ROOM 0
|
||||
#define BBH_OUTSIDE_ROOM 13
|
||||
|
||||
/* Coffin Spawner */
|
||||
@@ -533,7 +575,7 @@
|
||||
#define COFFIN_ACT_IDLE 0
|
||||
#define COFFIN_ACT_STAND_UP 1
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define COFFIN_BP_STATIC 0
|
||||
|
||||
/* WDW Arrow Lift */
|
||||
@@ -548,12 +590,12 @@
|
||||
|
||||
/* Yoshi */
|
||||
/* oAction */
|
||||
#define YOSHI_ACT_IDLE 0
|
||||
#define YOSHI_ACT_WALK 1
|
||||
#define YOSHI_ACT_TALK 2
|
||||
#define YOSHI_ACT_WALK_JUMP_OFF_ROOF 3
|
||||
#define YOSHI_ACT_FINISH_JUMPING_AND_DESPAWN 4
|
||||
#define YOSHI_ACT_GIVE_PRESENT 5
|
||||
#define YOSHI_ACT_IDLE 0
|
||||
#define YOSHI_ACT_WALK 1
|
||||
#define YOSHI_ACT_TALK 2
|
||||
#define YOSHI_ACT_WALK_JUMP_OFF_ROOF 3
|
||||
#define YOSHI_ACT_FINISH_JUMPING_AND_DESPAWN 4
|
||||
#define YOSHI_ACT_GIVE_PRESENT 5
|
||||
#define YOSHI_ACT_CREDITS 10
|
||||
|
||||
/* Koopa */
|
||||
@@ -590,7 +632,7 @@
|
||||
#define KOOPA_THE_QUICK_BOB_INDEX 0
|
||||
#define KOOPA_THE_QUICK_THI_INDEX 1
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define KOOPA_BP_UNSHELLED 0
|
||||
#define KOOPA_BP_NORMAL 1
|
||||
#define KOOPA_BP_KOOPA_THE_QUICK_BASE 2
|
||||
@@ -609,35 +651,40 @@
|
||||
#define SWOOP_ACT_IDLE 0
|
||||
#define SWOOP_ACT_MOVE 1
|
||||
|
||||
/* Fly guy */
|
||||
/* Fly Guy */
|
||||
/* oAction */
|
||||
#define FLY_GUY_ACT_IDLE 0
|
||||
#define FLY_GUY_ACT_APPROACH_MARIO 1
|
||||
#define FLY_GUY_ACT_LUNGE 2
|
||||
#define FLY_GUY_ACT_SHOOT_FIRE 3
|
||||
|
||||
/* Goomba triplet spawner */
|
||||
/* oBehParams2ndByte */
|
||||
#define GOOMBA_TRIPLET_SPAWNER_BP_SIZE_MASK 0x00000003
|
||||
#define GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS_MASK 0x000000FC
|
||||
|
||||
/* oAction */
|
||||
#define GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED 0
|
||||
#define GOOMBA_TRIPLET_SPAWNER_ACT_LOADED 1
|
||||
/* oBhvParams2ndByte */
|
||||
#define FLY_GUY_BP_GENERIC 0
|
||||
#define FLY_GUY_BP_FIRE 1
|
||||
|
||||
/* Goomba */
|
||||
/* oBehParams2ndByte */
|
||||
#define GOOMBA_BP_SIZE_MASK 0x00000003
|
||||
#define GOOMBA_SIZE_REGULAR 0
|
||||
#define GOOMBA_SIZE_HUGE 1
|
||||
#define GOOMBA_SIZE_TINY 2
|
||||
#define GOOMBA_BP_TRIPLET_FLAG_MASK 0x000000FC
|
||||
/* oAction */
|
||||
#define GOOMBA_ACT_WALK 0
|
||||
#define GOOMBA_ACT_ATTACKED_MARIO 1
|
||||
#define GOOMBA_ACT_JUMP 2
|
||||
|
||||
/* Chain chomp */
|
||||
/* oBhvParams2ndByte */
|
||||
#define GOOMBA_SIZE_REGULAR 0
|
||||
#define GOOMBA_SIZE_HUGE 1
|
||||
#define GOOMBA_SIZE_TINY 2
|
||||
#define GOOMBA_BP_SIZE_MASK (GOOMBA_SIZE_REGULAR | GOOMBA_SIZE_HUGE | GOOMBA_SIZE_TINY)
|
||||
#define GOOMBA_BP_TRIPLET_RESPAWN_FLAG_MASK (0x000000FF & ~GOOMBA_BP_SIZE_MASK)
|
||||
|
||||
/* Goomba Triplet Spawner */
|
||||
/* oAction */
|
||||
#define GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED 0
|
||||
#define GOOMBA_TRIPLET_SPAWNER_ACT_LOADED 1
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS_MASK (0x000000FF & ~GOOMBA_BP_SIZE_MASK)
|
||||
#define GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS(num) ((num) << 2)
|
||||
|
||||
/* Chain Chomp */
|
||||
/* oAction */
|
||||
#define CHAIN_CHOMP_ACT_UNINITIALIZED 0
|
||||
#define CHAIN_CHOMP_ACT_MOVE 1
|
||||
@@ -655,12 +702,12 @@
|
||||
#define CHAIN_CHOMP_RELEASED_JUMP_AWAY 4
|
||||
#define CHAIN_CHOMP_RELEASED_END_CUTSCENE 5
|
||||
|
||||
/* Chain chomp chain part */
|
||||
/* oBehParams2ndByte */
|
||||
/* Chain Chomp Chain Part */
|
||||
/* oBhvParams2ndByte */
|
||||
#define CHAIN_CHOMP_CHAIN_PART_BP_PIVOT 0
|
||||
|
||||
/* Wooden post */
|
||||
/* oBehParams */
|
||||
/* Wooden Post */
|
||||
/* oBhvParams */
|
||||
#define WOODEN_POST_BP_NO_COINS_MASK 0x0000FF00
|
||||
|
||||
/* Wiggler */
|
||||
@@ -684,7 +731,7 @@
|
||||
#define SPINY_ACT_THROWN_BY_LAKITU 2
|
||||
#define SPINY_ACT_ATTACKED_MARIO 3
|
||||
|
||||
/* Evil lakitu */
|
||||
/* Evil Lakitu */
|
||||
/* oAction */
|
||||
#define ENEMY_LAKITU_ACT_UNINITIALIZED 0
|
||||
#define ENEMY_LAKITU_ACT_MAIN 1
|
||||
@@ -701,17 +748,17 @@
|
||||
#define CLOUD_ACT_UNLOAD 2
|
||||
#define CLOUD_ACT_FWOOSH_HIDDEN 3
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define CLOUD_BP_FWOOSH 0
|
||||
#define CLOUD_BP_LAKITU_CLOUD 1
|
||||
|
||||
/* Camera lakitu */
|
||||
/* Camera Lakitu */
|
||||
/* oAction */
|
||||
#define CAMERA_LAKITU_INTRO_ACT_TRIGGER_CUTSCENE 0
|
||||
#define CAMERA_LAKITU_INTRO_ACT_SPAWN_CLOUD 1
|
||||
#define CAMERA_LAKITU_INTRO_ACT_UNK2 2
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define CAMERA_LAKITU_BP_FOLLOW_CAMERA 0
|
||||
#define CAMERA_LAKITU_BP_INTRO 1
|
||||
|
||||
@@ -720,7 +767,7 @@
|
||||
#define MANTA_ACT_SPAWN_RINGS 0
|
||||
#define MANTA_ACT_NO_RINGS 1
|
||||
|
||||
/* Monty mole */
|
||||
/* Monty Mole */
|
||||
/* oAction */
|
||||
#define MONTY_MOLE_ACT_SELECT_HOLE 0
|
||||
#define MONTY_MOLE_ACT_RISE_FROM_HOLE 1
|
||||
@@ -731,10 +778,11 @@
|
||||
#define MONTY_MOLE_ACT_HIDE 6
|
||||
#define MONTY_MOLE_ACT_JUMP_OUT_OF_HOLE 7
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define MONTY_MOLE_BP_NO_ROCK 0
|
||||
#define MONTY_MOLE_BP_GENERIC 1
|
||||
|
||||
/* Monty mole rock */
|
||||
/* Monty Mole Rock */
|
||||
/* oAction */
|
||||
#define MONTY_MOLE_ROCK_ACT_HELD 0
|
||||
#define MONTY_MOLE_ROCK_ACT_MOVE 1
|
||||
@@ -776,21 +824,21 @@
|
||||
#define UKIKI_TEXT_DO_NOT_LET_GO 6
|
||||
#define UKIKI_TEXT_STEAL_CAP 7
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
#define UKIKI_CAGE 0
|
||||
#define UKIKI_CAP 1
|
||||
/* oBhvParams2ndByte */
|
||||
#define UKIKI_BP_CAGE 0
|
||||
#define UKIKI_BP_CAP 1
|
||||
|
||||
/* Animations */
|
||||
#define UKIKI_ANIM_RUN 0
|
||||
#define UKIKI_ANIM_UNUSED_WALK 1
|
||||
#define UKIKI_ANIM_UNUSED_APOSE 2
|
||||
#define UKIKI_ANIM_UNUSED_DEATH 3
|
||||
#define UKIKI_ANIM_SCREECH 4
|
||||
#define UKIKI_ANIM_JUMP_CLAP 5
|
||||
#define UKIKI_ANIM_UNUSED_HOP 6
|
||||
#define UKIKI_ANIM_LAND 7
|
||||
#define UKIKI_ANIM_JUMP 8
|
||||
#define UKIKI_ANIM_ITCH 9
|
||||
#define UKIKI_ANIM_RUN 0
|
||||
#define UKIKI_ANIM_UNUSED_WALK 1
|
||||
#define UKIKI_ANIM_UNUSED_APOSE 2
|
||||
#define UKIKI_ANIM_UNUSED_DEATH 3
|
||||
#define UKIKI_ANIM_SCREECH 4
|
||||
#define UKIKI_ANIM_JUMP_CLAP 5
|
||||
#define UKIKI_ANIM_UNUSED_HOP 6
|
||||
#define UKIKI_ANIM_LAND 7
|
||||
#define UKIKI_ANIM_JUMP 8
|
||||
#define UKIKI_ANIM_ITCH 9
|
||||
#define UKIKI_ANIM_HANDSTAND 10
|
||||
#define UKIKI_ANIM_TURN 11
|
||||
#define UKIKI_ANIM_HELD 12
|
||||
@@ -830,12 +878,13 @@
|
||||
/* oPiranhaPlantSleepMusicState */
|
||||
#define PIRANHA_PLANT_SLEEP_MUSIC_PLAYING 0
|
||||
|
||||
/* Piranha Plant bubble */
|
||||
/* Piranha Plant Bubble */
|
||||
/* oAction */
|
||||
#define PIRANHA_PLANT_BUBBLE_ACT_IDLE 0
|
||||
#define PIRANHA_PLANT_BUBBLE_ACT_GROW_SHRINK_LOOP 1
|
||||
#define PIRANHA_PLANT_BUBBLE_ACT_BURST 2
|
||||
|
||||
/* Platform on track */
|
||||
/* Platform on Track */
|
||||
/* oAction */
|
||||
#define PLATFORM_ON_TRACK_ACT_INIT 0
|
||||
#define PLATFORM_ON_TRACK_ACT_WAIT_FOR_MARIO 1
|
||||
@@ -843,11 +892,11 @@
|
||||
#define PLATFORM_ON_TRACK_ACT_PAUSE_BRIEFLY 3
|
||||
#define PLATFORM_ON_TRACK_ACT_FALL 4
|
||||
|
||||
/* oBehParams >> 16 */
|
||||
#define PLATFORM_ON_TRACK_BP_MASK_PATH 0xF
|
||||
#define PLATFORM_ON_TRACK_BP_MASK_TYPE (0x7 << 4)
|
||||
#define PLATFORM_ON_TRACK_BP_RETURN_TO_START (1 << 8)
|
||||
#define PLATFORM_ON_TRACK_BP_DONT_DISAPPEAR (1 << 9)
|
||||
/* oBhvParams >> 16 */
|
||||
#define PLATFORM_ON_TRACK_BP_MASK_PATH 0x000F
|
||||
#define PLATFORM_ON_TRACK_BP_MASK_TYPE 0x0070
|
||||
#define PLATFORM_ON_TRACK_BP_RETURN_TO_START (1 << 8)
|
||||
#define PLATFORM_ON_TRACK_BP_DONT_DISAPPEAR (1 << 9)
|
||||
#define PLATFORM_ON_TRACK_BP_DONT_TURN_YAW (1 << 10)
|
||||
#define PLATFORM_ON_TRACK_BP_DONT_TURN_ROLL (1 << 11)
|
||||
|
||||
@@ -856,35 +905,38 @@
|
||||
#define PLATFORM_ON_TRACK_TYPE_CHECKERED 2
|
||||
#define PLATFORM_ON_TRACK_TYPE_GRATE 3
|
||||
|
||||
/* Purple switch */
|
||||
#define PURPLE_SWITCH_IDLE 0
|
||||
#define PURPLE_SWITCH_PRESSED 1
|
||||
#define PURPLE_SWITCH_TICKING 2
|
||||
#define PURPLE_SWITCH_UNPRESSED 3
|
||||
#define PURPLE_SWITCH_WAIT_FOR_MARIO_TO_GET_OFF 4
|
||||
/* Purple Switch */
|
||||
/* oAction */
|
||||
#define PURPLE_SWITCH_ACT_IDLE 0
|
||||
#define PURPLE_SWITCH_ACT_PRESSED 1
|
||||
#define PURPLE_SWITCH_ACT_TICKING 2
|
||||
#define PURPLE_SWITCH_ACT_UNPRESSED 3
|
||||
#define PURPLE_SWITCH_ACT_WAIT_FOR_MARIO_TO_GET_OFF 4
|
||||
|
||||
/* Pyramid elevator */
|
||||
#define PYRAMID_ELEVATOR_IDLE 0
|
||||
#define PYRAMID_ELEVATOR_START_MOVING 1
|
||||
#define PYRAMID_ELEVATOR_CONSTANT_VELOCITY 2
|
||||
#define PYRAMID_ELEVATOR_AT_BOTTOM 3
|
||||
/* Pyramid Elevator */
|
||||
/* oAction */
|
||||
#define PYRAMID_ELEVATOR_ACT_IDLE 0
|
||||
#define PYRAMID_ELEVATOR_ACT_START_MOVING 1
|
||||
#define PYRAMID_ELEVATOR_ACT_CONSTANT_VELOCITY 2
|
||||
#define PYRAMID_ELEVATOR_ACT_AT_BOTTOM 3
|
||||
|
||||
/* Pyramid top */
|
||||
/* Pyramid Top */
|
||||
/* oAction */
|
||||
#define PYRAMID_TOP_ACT_CHECK_IF_SOLVED 0
|
||||
#define PYRAMID_TOP_ACT_SPINNING 1
|
||||
#define PYRAMID_TOP_ACT_EXPLODE 2
|
||||
|
||||
/* Pyramid wall */
|
||||
/* Pyramid Wall */
|
||||
/* oAction */
|
||||
#define PYRAMID_WALL_ACT_MOVING_DOWN 0
|
||||
#define PYRAMID_WALL_ACT_MOVING_UP 1
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define PYRAMID_WALL_BP_POSITION_HIGH 0
|
||||
#define PYRAMID_WALL_BP_POSITION_MIDDLE 1
|
||||
#define PYRAMID_WALL_BP_POSITION_LOW 2
|
||||
|
||||
/* Penguins (general) */
|
||||
/* Penguins (General) */
|
||||
/* Walking sounds */
|
||||
#define PENGUIN_WALK_BABY 0
|
||||
#define PENGUIN_WALK_BIG 1
|
||||
@@ -893,7 +945,7 @@
|
||||
#define PENGUIN_ANIM_WALK 0
|
||||
#define PENGUIN_ANIM_IDLE 3
|
||||
|
||||
/* Racing penguin */
|
||||
/* Racing Penguin */
|
||||
/* oAction */
|
||||
#define RACING_PENGUIN_ACT_WAIT_FOR_MARIO 0
|
||||
#define RACING_PENGUIN_ACT_SHOW_INIT_TEXT 1
|
||||
@@ -902,80 +954,98 @@
|
||||
#define RACING_PENGUIN_ACT_FINISH_RACE 4
|
||||
#define RACING_PENGUIN_ACT_SHOW_FINAL_TEXT 5
|
||||
|
||||
/* SL walking penguin */
|
||||
/* oBhvParams2ndByte */
|
||||
#define RACING_PENGUIN_BP_THIN 0
|
||||
#define RACING_PENGUIN_BP_FAT 1
|
||||
|
||||
/* SL Walking Penguin */
|
||||
/* oAction */
|
||||
#define SL_WALKING_PENGUIN_ACT_MOVING_FORWARDS 0
|
||||
#define SL_WALKING_PENGUIN_ACT_TURNING_BACK 1
|
||||
#define SL_WALKING_PENGUIN_ACT_RETURNING 2
|
||||
#define SL_WALKING_PENGUIN_ACT_TURNING_FORWARDS 3
|
||||
|
||||
/* Snowman wind */
|
||||
/* Snowman Wind */
|
||||
/* oSubAction */
|
||||
#define SL_SNOWMAN_WIND_ACT_IDLE 0
|
||||
#define SL_SNOWMAN_WIND_ACT_TALKING 1
|
||||
#define SL_SNOWMAN_WIND_ACT_BLOWING 2
|
||||
|
||||
/* Water bomb */
|
||||
/* Water Bomb */
|
||||
/* oAction */
|
||||
#define WATER_BOMB_ACT_SHOT_FROM_CANNON 0
|
||||
#define WATER_BOMB_ACT_INIT 1
|
||||
#define WATER_BOMB_ACT_DROP 2
|
||||
#define WATER_BOMB_ACT_EXPLODE 3
|
||||
|
||||
/* TTC rotating solid */
|
||||
/* oBehParams2ndByte */
|
||||
/* TTC Rotating Solid */
|
||||
/* oBhvParams2ndByte */
|
||||
#define TTC_ROTATING_SOLID_BP_CUBE 0
|
||||
#define TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM 1
|
||||
|
||||
/* TTC moving bar */
|
||||
/* TTC Treadmill */
|
||||
/* oBhvParams2ndByte */
|
||||
#define TTC_TREADMILL_BP_FLAG_LARGE (0 << 0)
|
||||
#define TTC_TREADMILL_BP_FLAG_SMALL (1 << 0)
|
||||
#define TTC_TREADMILL_BP_FLAG_MASK (TTC_TREADMILL_BP_FLAG_LARGE | TTC_TREADMILL_BP_FLAG_SMALL)
|
||||
#define TTC_TREADMILL_BP_LARGE_1 ((0 << 1) | TTC_TREADMILL_BP_FLAG_LARGE)
|
||||
#define TTC_TREADMILL_BP_SMALL_1 ((0 << 1) | TTC_TREADMILL_BP_FLAG_SMALL)
|
||||
#define TTC_TREADMILL_BP_LARGE_2 ((1 << 1) | TTC_TREADMILL_BP_FLAG_LARGE)
|
||||
#define TTC_TREADMILL_BP_SMALL_2 ((1 << 1) | TTC_TREADMILL_BP_FLAG_SMALL)
|
||||
|
||||
/* TTC Moving Bar */
|
||||
/* oAction */
|
||||
#define TTC_MOVING_BAR_ACT_WAIT 0
|
||||
#define TTC_MOVING_BAR_ACT_PULL_BACK 1
|
||||
#define TTC_MOVING_BAR_ACT_EXTEND 2
|
||||
#define TTC_MOVING_BAR_ACT_RETRACT 3
|
||||
|
||||
/* TTC cog */
|
||||
/* oBehParams2ndByte */
|
||||
#define TTC_COG_BP_SHAPE_MASK 0x00000002
|
||||
/* TTC Cog */
|
||||
/* oBhvParams2ndByte */
|
||||
#define TTC_COG_BP_SHAPE_HEXAGON (0 << 1)
|
||||
#define TTC_COG_BP_SHAPE_TRIANGLE (1 << 1)
|
||||
#define TTC_COG_BP_DIR_MASK 0x00000001
|
||||
#define TTC_COG_BP_SHAPE_MASK (TTC_COG_BP_SHAPE_HEXAGON | TTC_COG_BP_SHAPE_TRIANGLE)
|
||||
#define TTC_COG_BP_DIR_CCW (0 << 0) // TODO: Check these
|
||||
#define TTC_COG_BP_DIR_CW (1 << 0)
|
||||
#define TTC_COG_BP_DIR_MASK (TTC_COG_BP_DIR_CCW | TTC_COG_BP_DIR_CW)
|
||||
|
||||
/* TTC 2D Rotator */
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define TTC_2D_ROTATOR_BP_HAND 0
|
||||
#define TTC_2D_ROTATOR_BP_2D_COG 1
|
||||
|
||||
/* Activated Back-and-Forth Platform */
|
||||
/* ((u16)(o->oBehParams >> 16) & 0x0300) >> 8 aka platform type */
|
||||
#define ACTIVATED_BF_PLAT_TYPE_BITS_ARROW_PLAT 0
|
||||
#define ACTIVATED_BF_PLAT_TYPE_BITFS_MESH_PLAT 1
|
||||
#define ACTIVATED_BF_PLAT_TYPE_BITFS_ELEVATOR 2
|
||||
|
||||
/* oBhvParams >> 16 */
|
||||
#define ACTIVATED_BF_PLAT_BP_MASK_TYPE ((ACTIVATED_BF_PLAT_TYPE_BITS_ARROW_PLAT | \
|
||||
ACTIVATED_BF_PLAT_TYPE_BITFS_MESH_PLAT | \
|
||||
ACTIVATED_BF_PLAT_TYPE_BITFS_ELEVATOR) << 8)
|
||||
|
||||
/* Dorrie */
|
||||
/* oAction */
|
||||
#define DORRIE_ACT_MOVE 0
|
||||
#define DORRIE_ACT_LOWER_HEAD 1
|
||||
#define DORRIE_ACT_RAISE_HEAD 2
|
||||
|
||||
/* Mad piano */
|
||||
/* Mad Piano */
|
||||
/* oAction */
|
||||
#define MAD_PIANO_ACT_WAIT 0
|
||||
#define MAD_PIANO_ACT_ATTACK 1
|
||||
|
||||
/* Fire piranha plant */
|
||||
/* Fire Piranha Plant */
|
||||
/* oAction */
|
||||
#define FIRE_PIRANHA_PLANT_ACT_HIDE 0
|
||||
#define FIRE_PIRANHA_PLANT_ACT_GROW 1
|
||||
|
||||
/* Fire spitter */
|
||||
/* Fire Spitter */
|
||||
/* oAction */
|
||||
#define FIRE_SPITTER_ACT_IDLE 0
|
||||
#define FIRE_SPITTER_ACT_SPIT_FIRE 1
|
||||
|
||||
/* Eyerok boss */
|
||||
/* Eyerok Boss */
|
||||
/* oAction */
|
||||
#define EYEROK_BOSS_ACT_SLEEP 0
|
||||
#define EYEROK_BOSS_ACT_WAKE_UP 1
|
||||
@@ -983,18 +1053,18 @@
|
||||
#define EYEROK_BOSS_ACT_FIGHT 3
|
||||
#define EYEROK_BOSS_ACT_DIE 4
|
||||
|
||||
/* Eyerok hand */
|
||||
/* Eyerok Hand */
|
||||
/* oAction */
|
||||
#define EYEROK_HAND_ACT_SLEEP 0
|
||||
#define EYEROK_HAND_ACT_IDLE 1
|
||||
#define EYEROK_HAND_ACT_OPEN 2
|
||||
#define EYEROK_HAND_ACT_SHOW_EYE 3
|
||||
#define EYEROK_HAND_ACT_CLOSE 4
|
||||
#define EYEROK_HAND_ACT_RETREAT 5
|
||||
#define EYEROK_HAND_ACT_TARGET_MARIO 6
|
||||
#define EYEROK_HAND_ACT_SMASH 7
|
||||
#define EYEROK_HAND_ACT_FIST_PUSH 8
|
||||
#define EYEROK_HAND_ACT_FIST_SWEEP 9
|
||||
#define EYEROK_HAND_ACT_SLEEP 0
|
||||
#define EYEROK_HAND_ACT_IDLE 1
|
||||
#define EYEROK_HAND_ACT_OPEN 2
|
||||
#define EYEROK_HAND_ACT_SHOW_EYE 3
|
||||
#define EYEROK_HAND_ACT_CLOSE 4
|
||||
#define EYEROK_HAND_ACT_RETREAT 5
|
||||
#define EYEROK_HAND_ACT_TARGET_MARIO 6
|
||||
#define EYEROK_HAND_ACT_SMASH 7
|
||||
#define EYEROK_HAND_ACT_FIST_PUSH 8
|
||||
#define EYEROK_HAND_ACT_FIST_SWEEP 9
|
||||
#define EYEROK_HAND_ACT_BEGIN_DOUBLE_POUND 10 // raising for double smash
|
||||
#define EYEROK_HAND_ACT_DOUBLE_POUND 11 // double smashing
|
||||
#define EYEROK_HAND_ACT_ATTACKED 12
|
||||
@@ -1023,7 +1093,7 @@
|
||||
#define BIRD_ACT_INACTIVE 0
|
||||
#define BIRD_ACT_FLY 1
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BIRD_BP_SPAWNED 0
|
||||
#define BIRD_BP_SPAWNER 1
|
||||
|
||||
@@ -1049,23 +1119,28 @@
|
||||
|
||||
#define TWEESTER_SUB_ACT_CHASE 0
|
||||
|
||||
/* Triplet butterfly */
|
||||
/* Triplet Butterfly */
|
||||
/* oAction */
|
||||
#define TRIPLET_BUTTERFLY_ACT_INIT 0
|
||||
#define TRIPLET_BUTTERFLY_ACT_WANDER 1
|
||||
#define TRIPLET_BUTTERFLY_ACT_ACTIVATE 2
|
||||
#define TRIPLET_BUTTERFLY_ACT_EXPLODE 3
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
#define TRIPLET_BUTTERFLY_BP_BUTTERFLY_NUM 0x00000003
|
||||
#define TRIPLET_BUTTERFLY_BP_NO_BOMBS 0x00000004
|
||||
/* oBhvParams2ndByte */
|
||||
#define TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_SPAWNER (0 << 0)
|
||||
#define TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_SPAWNED_1 (1 << 0)
|
||||
#define TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_SPAWNED_2 (1 << 1)
|
||||
#define TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_MASK (TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_SPAWNER | \
|
||||
TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_SPAWNED_1 | \
|
||||
TRIPLET_BUTTERFLY_BP_SPAWN_TYPE_SPAWNED_2)
|
||||
#define TRIPLET_BUTTERFLY_BP_NO_BOMBS (1 << 2)
|
||||
|
||||
/* oTripletButterflyType */
|
||||
#define TRIPLET_BUTTERFLY_TYPE_NORMAL -1
|
||||
#define TRIPLET_BUTTERFLY_TYPE_EXPLODES 0
|
||||
#define TRIPLET_BUTTERFLY_TYPE_SPAWN_1UP 1
|
||||
#define TRIPLET_BUTTERFLY_TYPE_EXPLODES 0
|
||||
#define TRIPLET_BUTTERFLY_TYPE_SPAWN_1UP 1
|
||||
|
||||
/* Water level diamond */
|
||||
/* Water Level Diamond */
|
||||
/* oAction */
|
||||
// Loading
|
||||
#define WATER_LEVEL_DIAMOND_ACT_INIT 0
|
||||
@@ -1089,6 +1164,10 @@
|
||||
#define MIPS_STAR_STATUS_SHOULD_SPAWN_STAR 1
|
||||
#define MIPS_STAR_STATUS_ALREADY_SPAWNED_STAR 2
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define MIPS_BP_15_STARS 0
|
||||
#define MIPS_BP_50_STARS 1
|
||||
|
||||
/* Falling Pillar */
|
||||
/* oAction */
|
||||
#define FALLING_PILLAR_ACT_IDLE 0
|
||||
@@ -1112,8 +1191,119 @@
|
||||
#define MR_BLIZZARD_ACT_DEATH 6
|
||||
#define MR_BLIZZARD_ACT_JUMP 7
|
||||
|
||||
/* oBehParams2ndByte */
|
||||
#define MR_BLIZZARD_STYPE_NO_CAP 0
|
||||
/* oBhvParams2ndByte */
|
||||
#define MR_BLIZZARD_STYPE_GENERIC 0
|
||||
#define MR_BLIZZARD_STYPE_JUMPING 1
|
||||
#define MR_BLIZZARD_STYPE_CAP 2
|
||||
|
||||
/* Whomp */
|
||||
/* oBhvParams2ndByte */
|
||||
#define WHOMP_BP_SMALL 0
|
||||
#define WHOMP_BP_KING 1
|
||||
|
||||
/* 1-Up Mushroom */
|
||||
/* oBhvParams2ndByte */
|
||||
#define ONE_UP_BP_GENERIC 0
|
||||
#define ONE_UP_BP_BEAT_BITDW_BOWSER 1
|
||||
#define ONE_UP_BP_BEAT_BITFS_BOWSER 2
|
||||
|
||||
/* Breakable Box */
|
||||
/* oBhvParams2ndByte */
|
||||
#define BREAKABLE_BOX_BP_NO_COINS 0
|
||||
#define BREAKABLE_BOX_BP_3_COINS 1
|
||||
#define BREAKABLE_BOX_BP_5_COINS 2
|
||||
#define BREAKABLE_BOX_BP_GIANT 3
|
||||
|
||||
/* Hidden Object */
|
||||
/* oAction */
|
||||
#define HIDDEN_OBJECT_ACT_INACTIVE 0
|
||||
#define HIDDEN_OBJECT_ACT_ACTIVE 1
|
||||
#define HIDDEN_OBJECT_ACT_BROKEN 2
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define HIDDEN_OBJECT_BP_BREAKABLE_BOX 0
|
||||
#define HIDDEN_OBJECT_BP_WDW_PLATFORM 1
|
||||
#define HIDDEN_OBJECT_BP_UNBREAKABLE_BOX_UNUSED_1 1
|
||||
#define HIDDEN_OBJECT_BP_UNBREAKABLE_BOX_UNUSED_2 2
|
||||
|
||||
/* Exclamation Box */
|
||||
/* oAnimState */
|
||||
#define EXCLAMATION_BOX_ANIM_STATE_WING_CAP 0
|
||||
#define EXCLAMATION_BOX_ANIM_STATE_METAL_CAP 1
|
||||
#define EXCLAMATION_BOX_ANIM_STATE_VANISH_CAP 2
|
||||
#define EXCLAMATION_BOX_ANIM_STATE_DEFAULT 3
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define EXCLAMATION_BOX_BP_WING_CAP 0
|
||||
#define EXCLAMATION_BOX_BP_METAL_CAP 1
|
||||
#define EXCLAMATION_BOX_BP_VANISH_CAP 2
|
||||
#define EXCLAMATION_BOX_BP_SPECIAL_CAP_END 2
|
||||
#define EXCLAMATION_BOX_BP_KOOPA_SHELL 3
|
||||
#define EXCLAMATION_BOX_BP_ONE_COIN 4
|
||||
#define EXCLAMATION_BOX_BP_THREE_COINS 5
|
||||
#define EXCLAMATION_BOX_BP_TEN_COINS 6
|
||||
#define EXCLAMATION_BOX_BP_1UP_WALKING 7
|
||||
#define EXCLAMATION_BOX_BP_STAR_ACT_1 8
|
||||
#define EXCLAMATION_BOX_BP_1UP_RUNNING_AWAY 9
|
||||
#define EXCLAMATION_BOX_BP_STAR_ACT_2 10
|
||||
#define EXCLAMATION_BOX_BP_STAR_ACT_3 11
|
||||
#define EXCLAMATION_BOX_BP_STAR_ACT_4 12
|
||||
#define EXCLAMATION_BOX_BP_STAR_ACT_5 13
|
||||
#define EXCLAMATION_BOX_BP_STAR_ACT_6 14
|
||||
#define EXCLAMATION_BOX_BP_END 99
|
||||
|
||||
/* Cap Switch */
|
||||
/* oBhvParams2ndByte */
|
||||
#define CAP_SWITCH_BP_RED 0
|
||||
#define CAP_SWITCH_BP_GREEN 1
|
||||
#define CAP_SWITCH_BP_BLUE 2
|
||||
#define CAP_SWITCH_BP_YELLOW 3
|
||||
|
||||
/* Openable Grill */
|
||||
/* oBhvParams2ndByte */
|
||||
#define OPENABLE_GRILL_BP_BOB 0
|
||||
#define OPENABLE_GRILL_BP_HMC 1
|
||||
|
||||
/* WF Rotating Wooden Platform */
|
||||
/* oAction */
|
||||
#define WF_ROTATING_WOODEN_PLATFORM_ACT_IDLE 0
|
||||
#define WF_ROTATING_WOODEN_PLATFORM_ACT_ROTATING 1
|
||||
|
||||
/* Rotating Platform */
|
||||
/* oBhvParams2ndByte */
|
||||
#define ROTATING_PLATFORM_BP_WF 0
|
||||
#define ROTATING_PLATFORM_BP_WDW 1
|
||||
|
||||
/* Tumbling Bridge */
|
||||
/* oBhvParams2ndByte */
|
||||
#define TUMBLING_BRIDGE_BP_WF 0
|
||||
#define TUMBLING_BRIDGE_BP_BBH 1
|
||||
#define TUMBLING_BRIDGE_BP_LLL 2
|
||||
#define TUMBLING_BRIDGE_BP_BITFS 3
|
||||
|
||||
/* Grindel or Thwomp */
|
||||
/* oAction */
|
||||
#define GRINDEL_THWOMP_ACT_RAISE 0
|
||||
#define GRINDEL_THWOMP_ACT_IDLE_AT_TOP 1
|
||||
#define GRINDEL_THWOMP_ACT_LOWER 2
|
||||
#define GRINDEL_THWOMP_ACT_LAND 3
|
||||
#define GRINDEL_THWOMP_ACT_IDLE_AT_BOTTOM 4
|
||||
|
||||
/* Tox Box */
|
||||
/* oAction */
|
||||
#define TOX_BOX_ACT_INIT 0
|
||||
#define TOX_BOX_ACT_ROLL_LAND 1
|
||||
#define TOX_BOX_ACT_IDLE 2
|
||||
#define TOX_BOX_ACT_UNUSED_IDLE 3
|
||||
#define TOX_BOX_ACT_ROLL_FORWARD 4
|
||||
#define TOX_BOX_ACT_ROLL_BACKWARD 5
|
||||
#define TOX_BOX_ACT_ROLL_RIGHT 6
|
||||
#define TOX_BOX_ACT_ROLL_LEFT 7
|
||||
#define TOX_BOX_ACT_TABLE_END -1
|
||||
|
||||
/* oBhvParams2ndByte */
|
||||
#define TOX_BOX_BP_MOVEMENT_PATTERN_1 0
|
||||
#define TOX_BOX_BP_MOVEMENT_PATTERN_2 1
|
||||
#define TOX_BOX_BP_MOVEMENT_PATTERN_3 2
|
||||
|
||||
#endif // OBJECT_CONSTANTS_H
|
||||
|
||||
+34
-34
@@ -101,7 +101,7 @@
|
||||
#define /*0x138*/ oParentRelativePosX OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 0)
|
||||
#define /*0x13C*/ oParentRelativePosY OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 1)
|
||||
#define /*0x140*/ oParentRelativePosZ OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 2)
|
||||
#define /*0x144*/ oBehParams2ndByte OBJECT_FIELD_S32(0x2F)
|
||||
#define /*0x144*/ oBhvParams2ndByte OBJECT_FIELD_S32(0x2F)
|
||||
// 0x148 unused, possibly a third param byte.
|
||||
#define /*0x14C*/ oAction OBJECT_FIELD_S32(0x31)
|
||||
#define /*0x150*/ oSubAction OBJECT_FIELD_S32(0x32)
|
||||
@@ -118,7 +118,7 @@
|
||||
#define /*0x17C*/ oOpacity OBJECT_FIELD_S32(0x3D)
|
||||
#define /*0x180*/ oDamageOrCoinValue OBJECT_FIELD_S32(0x3E)
|
||||
#define /*0x184*/ oHealth OBJECT_FIELD_S32(0x3F)
|
||||
#define /*0x188*/ oBehParams OBJECT_FIELD_S32(0x40)
|
||||
#define /*0x188*/ oBhvParams OBJECT_FIELD_S32(0x40)
|
||||
#define /*0x18C*/ oPrevAction OBJECT_FIELD_S32(0x41)
|
||||
#define /*0x190*/ oInteractionSubtype OBJECT_FIELD_U32(0x42)
|
||||
#define /*0x194*/ oCollisionDistance OBJECT_FIELD_F32(0x43)
|
||||
@@ -126,7 +126,7 @@
|
||||
#define /*0x19C*/ oDrawingDistance OBJECT_FIELD_F32(0x45)
|
||||
#define /*0x1A0*/ oRoom OBJECT_FIELD_S32(0x46)
|
||||
// 0x1A4 is unused, possibly related to 0x1A8 in removed macro purposes.
|
||||
#define /*0x1A8*/ oUnk1A8 OBJECT_FIELD_U32(0x48)
|
||||
#define /*0x1A8*/ oUnusedBhvParams OBJECT_FIELD_U32(0x48)
|
||||
// 0x1AC-0x1B2 (0x48-0x4A) are object specific and defined below the common fields.
|
||||
#define /*0x1B4*/ oWallAngle OBJECT_FIELD_S32(0x4B)
|
||||
#define /*0x1B8*/ oFloorType OBJECT_FIELD_S16(0x4C, 0)
|
||||
@@ -165,8 +165,8 @@
|
||||
#define /*0x110*/ oMarioSteepJumpYaw OBJECT_FIELD_S32(0x22)
|
||||
#define /*0x110*/ oMarioWalkingPitch OBJECT_FIELD_S32(0x22)
|
||||
|
||||
/* 1-Up Hidden */
|
||||
#define /*0x0F4*/ o1UpHiddenUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
/* Hidden 1-Up */
|
||||
#define /*0x0F4*/ oHidden1UpNumTouchedTriggers OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
/* Activated Back and Forth Platform */
|
||||
#define /*0x0F4*/ oActivatedBackAndForthPlatformMaxOffset OBJECT_FIELD_F32(0x1B)
|
||||
@@ -278,7 +278,7 @@
|
||||
#define /*0x0F4*/ oBowserStatus OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oBowserTimer OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oBowserDistToCenter OBJECT_FIELD_F32(0x1D)
|
||||
#define /*0x106*/ oBowserBitsJustJump OBJECT_FIELD_S16(0x1F, 1)
|
||||
#define /*0x106*/ oBowserBitSJustJump OBJECT_FIELD_S16(0x1F, 1)
|
||||
#define /*0x108*/ oBowserRandSplitFloor OBJECT_FIELD_S16(0x20, 0)
|
||||
#define /*0x10A*/ oBowserHeldAnglePitch OBJECT_FIELD_S16(0x20, 1)
|
||||
#define /*0x10D*/ oBowserHeldAngleVelYaw OBJECT_FIELD_S16(0x21, 0)
|
||||
@@ -398,11 +398,11 @@
|
||||
#define /*0x1AC*/ oCloudFwooshMovementRadius OBJECT_FIELD_S16(0x49, 0)
|
||||
|
||||
/* Coin */
|
||||
#define /*0x0F4*/ oCoinUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oCoinUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x110*/ oCoinUnk110 OBJECT_FIELD_F32(0x22)
|
||||
#define /*0x0F4*/ oCoinCollectedFlags OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oCoinOnGround OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x110*/ oCoinBaseVelY OBJECT_FIELD_F32(0x22)
|
||||
#ifndef VERSION_JP
|
||||
#define /*0x1B0*/ oCoinUnk1B0 OBJECT_FIELD_S32(0x4A)
|
||||
#define /*0x1B0*/ oCoinNumBounceSoundPlayed OBJECT_FIELD_S32(0x4A)
|
||||
#endif
|
||||
|
||||
/* Collision Particle */
|
||||
@@ -569,7 +569,7 @@
|
||||
#define /*0x0F4*/ oHeaveHoUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
|
||||
/* Hidden Object */
|
||||
#define /*0x0F4*/ oHiddenObjectUnkF4 OBJECT_FIELD_OBJ(0x1B)
|
||||
#define /*0x0F4*/ oHiddenObjectPurpleSwitch OBJECT_FIELD_OBJ(0x1B)
|
||||
|
||||
/* Hoot */
|
||||
#define /*0x0F4*/ oHootAvailability OBJECT_FIELD_S32(0x1B)
|
||||
@@ -724,8 +724,8 @@
|
||||
#define /*0x0FC*/ oRespawnerBehaviorToRespawn OBJECT_FIELD_CVPTR(0x1D)
|
||||
|
||||
/* Openable Grill */
|
||||
#define /*0x088*/ oOpenableGrillUnk88 OBJECT_FIELD_S32(0x00)
|
||||
#define /*0x0F4*/ oOpenableGrillUnkF4 OBJECT_FIELD_OBJ(0x1B)
|
||||
#define /*0x088*/ oOpenableGrillUnk88 OBJECT_FIELD_S32(0x00)
|
||||
#define /*0x0F4*/ oOpenableGrillPurpleSwitch OBJECT_FIELD_OBJ(0x1B)
|
||||
|
||||
/* Intro Cutscene Peach */
|
||||
#define /*0x108*/ oIntroPeachYawFromFocus OBJECT_FIELD_F32(0x20)
|
||||
@@ -770,12 +770,12 @@
|
||||
#define /*0x0F8*/ oPitouneUnkF8 OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0FC*/ oPitouneUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
|
||||
/* Falling Rising Bitfs Platform */
|
||||
#define /*0x0F4*/ oBitfsPlatformTimer OBJECT_FIELD_S32(0x1B)
|
||||
/* Falling Rising BitFS Platform */
|
||||
#define /*0x0F4*/ oBitFSPlatformTimer OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
/* Falling Bowser Bits Platform */
|
||||
#define /*0x0F8*/ oBitsPlatformBowser OBJECT_FIELD_OBJ(0x1C)
|
||||
#define /*0x0FC*/ oBitsPlatformTimer OBJECT_FIELD_S32(0x1D)
|
||||
/* Falling Bowser BitS Platform */
|
||||
#define /*0x0F8*/ oBitSPlatformBowser OBJECT_FIELD_OBJ(0x1C)
|
||||
#define /*0x0FC*/ oBitSPlatformTimer OBJECT_FIELD_S32(0x1D)
|
||||
|
||||
/* WF Platform */
|
||||
#define /*0x10C*/ oPlatformUnk10C OBJECT_FIELD_F32(0x21)
|
||||
@@ -831,10 +831,10 @@
|
||||
/* Rolling Log */
|
||||
#define /*0x0F4*/ oRollingLogUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
|
||||
/* Lll Rotating Hex Flame */
|
||||
#define /*0x0F4*/ oLllRotatingHexFlameUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F8*/ oLllRotatingHexFlameUnkF8 OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0FC*/ oLllRotatingHexFlameUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
/* LLL Rotating Hex Flame */
|
||||
#define /*0x0F4*/ oLLLRotatingHexFlameUnkF4 OBJECT_FIELD_F32(0x1B)
|
||||
#define /*0x0F8*/ oLLLRotatingHexFlameUnkF8 OBJECT_FIELD_F32(0x1C)
|
||||
#define /*0x0FC*/ oLLLRotatingHexFlameUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
|
||||
/* Scuttlebug */
|
||||
#define /*0x0F4*/ oScuttlebugUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
@@ -863,10 +863,10 @@
|
||||
#define /*0x100*/ oSkeeterWaitTime OBJECT_FIELD_S32(0x1E)
|
||||
#define /*0x1AC*/ oSkeeterUnk1AC OBJECT_FIELD_S16(0x49, 0)
|
||||
|
||||
/* Jrb Sliding Box */
|
||||
#define /*0x0F4*/ oJrbSlidingBoxUnkF4 OBJECT_FIELD_OBJ(0x1B)
|
||||
#define /*0x0F8*/ oJrbSlidingBoxUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oJrbSlidingBoxUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
/* JRB Sliding Box */
|
||||
#define /*0x0F4*/ oJRBSlidingBoxUnkF4 OBJECT_FIELD_OBJ(0x1B)
|
||||
#define /*0x0F8*/ oJRBSlidingBoxUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oJRBSlidingBoxUnkFC OBJECT_FIELD_F32(0x1D)
|
||||
|
||||
/* WF Sliding Brick Platform */
|
||||
#define /*0x0F4*/ oWFSlidBrickPtfmMovVel OBJECT_FIELD_F32(0x1B)
|
||||
@@ -952,8 +952,8 @@
|
||||
#define /*0x0F8*/ oSwoopTargetPitch OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oSwoopTargetYaw OBJECT_FIELD_S32(0x1D)
|
||||
|
||||
/* Thwomp */
|
||||
#define /*0x0F4*/ oThwompRandomTimer OBJECT_FIELD_S32(0x1B)
|
||||
/* Grindel or Thwomp */
|
||||
#define /*0x0F4*/ oGrindelThwompRandomTimer OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
/* Tilting Platform */
|
||||
#define /*0x0F4*/ oTiltingPyramidNormalX OBJECT_FIELD_F32(0x1B)
|
||||
@@ -962,13 +962,13 @@
|
||||
#define /*0x10C*/ oTiltingPyramidMarioOnPlatform OBJECT_FIELD_S32(0x21)
|
||||
|
||||
/* Toad Message */
|
||||
#define /*0x108*/ oToadMessageDialogId OBJECT_FIELD_U32(0x20)
|
||||
#define /*0x108*/ oToadMessageDialogID OBJECT_FIELD_U32(0x20)
|
||||
#define /*0x10C*/ oToadMessageRecentlyTalked OBJECT_FIELD_S32(0x21)
|
||||
#define /*0x110*/ oToadMessageState OBJECT_FIELD_S32(0x22)
|
||||
|
||||
/* Tox Box */
|
||||
#define /*0x1AC*/ oToxBoxMovementPattern OBJECT_FIELD_VPTR(0x49)
|
||||
#define /*0x1B0*/ oToxBoxMovementStep OBJECT_FIELD_S32(0x4A)
|
||||
#define /*0x1AC*/ oToxBoxActionTable OBJECT_FIELD_VPTR(0x49)
|
||||
#define /*0x1B0*/ oToxBoxActionStep OBJECT_FIELD_S32(0x4A)
|
||||
|
||||
/* TTC Rotating Solid */
|
||||
#define /*0x0F4*/ oTTCRotatingSolidNumTurns OBJECT_FIELD_S32(0x1B)
|
||||
@@ -1033,7 +1033,7 @@
|
||||
#define /*0x0F8*/ oTreasureChestUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oTreasureChestUnkFC OBJECT_FIELD_S32(0x1D)
|
||||
|
||||
/* Tree Snow Or Leaf */
|
||||
/* Tree Snow or Leaf */
|
||||
#define /*0x0F4*/ oTreeSnowOrLeafUnkF4 OBJECT_FIELD_S32(0x1B)
|
||||
#define /*0x0F8*/ oTreeSnowOrLeafUnkF8 OBJECT_FIELD_S32(0x1C)
|
||||
#define /*0x0FC*/ oTreeSnowOrLeafUnkFC OBJECT_FIELD_S32(0x1D)
|
||||
@@ -1146,8 +1146,8 @@
|
||||
#define /*0x1AC*/ oWigglerUnused OBJECT_FIELD_S16(0x49, 0)
|
||||
#define /*0x1AE*/ oWigglerTextStatus OBJECT_FIELD_S16(0x49, 1)
|
||||
|
||||
/* Lll Wood Piece */
|
||||
#define /*0x0F4*/ oLllWoodPieceOscillationTimer OBJECT_FIELD_S32(0x1B)
|
||||
/* LLL Wood Piece */
|
||||
#define /*0x0F4*/ oLLLWoodPieceOscillationTimer OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
/* Wooden Post */
|
||||
#define /*0x0F4*/ oWoodenPostTotalMarioAngle OBJECT_FIELD_S32(0x1B)
|
||||
|
||||
@@ -40,8 +40,15 @@ DECLARE_SEGMENT(engine)
|
||||
DECLARE_SEGMENT(behavior)
|
||||
DECLARE_SEGMENT(scripts)
|
||||
DECLARE_SEGMENT(goddard)
|
||||
|
||||
extern u8 _goddardSegmentStart[];
|
||||
|
||||
#ifdef USE_EXT_RAM
|
||||
extern u8 _engineSegmentStart[];
|
||||
extern u8 _framebuffersSegmentNoloadStart[];
|
||||
extern u8 _framebuffersSegmentNoloadEnd[];
|
||||
#endif
|
||||
|
||||
DECLARE_LEVEL_SEGMENT(menu)
|
||||
DECLARE_LEVEL_SEGMENT(intro)
|
||||
DECLARE_LEVEL_SEGMENT(ending)
|
||||
|
||||
+27
-23
@@ -13,30 +13,29 @@
|
||||
* linker script syntax.
|
||||
*/
|
||||
|
||||
#define SEG_START 0x8005C000
|
||||
|
||||
#define SEG_FRAMEBUFFERS_SIZE (2 * SCREEN_WIDTH * SCREEN_HEIGHT * 3)
|
||||
#define SEG_GODDARD_POOL_OFFSET 0x52000 // Offset from right side of pool
|
||||
#define SEG_GODDARD (SEG_POOL_END - SEG_GODDARD_POOL_OFFSET)
|
||||
|
||||
#ifndef USE_EXT_RAM /* Default: Runs out of memory quickly when importing custom assets. */
|
||||
|
||||
#define SEG_POOL_START 0x8005C000
|
||||
#define SEG_POOL_END SEG_BUFFERS
|
||||
#define RDRAM_END 0x80400000
|
||||
|
||||
#define SEG_GODDARD 0x8016F000
|
||||
#define SEG_POOL_START SEG_START
|
||||
#define SEG_POOL_SIZE 0x165000
|
||||
#define SEG_POOL_END (SEG_POOL_START + SEG_POOL_SIZE)
|
||||
|
||||
#define SEG_BUFFERS 0x801C1000
|
||||
|
||||
#if defined(VERSION_SH) || ENABLE_RUMBLE
|
||||
#define SEG_MAIN 0x80249000
|
||||
#elif defined(VERSION_EU)
|
||||
#define SEG_MAIN 0x80241800 // TODO: Investigate why it's different?
|
||||
#else
|
||||
#define SEG_MAIN 0x80246000
|
||||
#endif
|
||||
#define SEG_BUFFERS SEG_POOL_END
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define SEG_ENGINE 0x8036FF00
|
||||
#define SEG_ENGINE 0x8036FF00
|
||||
#else
|
||||
#define SEG_ENGINE 0x80378800
|
||||
#define SEG_ENGINE 0x80378800
|
||||
#endif
|
||||
|
||||
#define SEG_FRAMEBUFFERS 0x8038F800
|
||||
#define SEG_FRAMEBUFFERS (RDRAM_END - SEG_FRAMEBUFFERS_SIZE)
|
||||
|
||||
#else /* Use Expansion Pak space for pool. */
|
||||
|
||||
@@ -45,14 +44,19 @@
|
||||
* importing large custom content.
|
||||
*/
|
||||
|
||||
#define SEG_BUFFERS 0x8005C000 // 0x0085000 in size
|
||||
#define SEG_MAIN 0x800E1000 // 0x0132800 in size
|
||||
#define SEG_ENGINE 0x80213800 // 0x0017000 in size
|
||||
#define SEG_FRAMEBUFFERS 0x8022A800 // 0x0070800 in size
|
||||
#define SEG_POOL_START 0x8029B000 // 0x0165000 in size
|
||||
#define SEG_POOL_END 0x80800000
|
||||
#define SEG_POOL_END_4MB 0x80400000 // For the error message screen enhancement.
|
||||
#define SEG_GODDARD SEG_POOL_START + 0x113000
|
||||
#ifdef VERSION_CN
|
||||
#define RDRAM_END 0x807C0000 // iQue has stuff like EEPROM mapped at 807C0000 onwards. TODO: Code this using osMemSize
|
||||
#else
|
||||
#define RDRAM_END 0x80800000
|
||||
#endif
|
||||
|
||||
#define SEG_BUFFERS SEG_START
|
||||
#define SEG_ENGINE ((u32) &_engineSegmentStart)
|
||||
#define SEG_FRAMEBUFFERS ((u32) &_framebuffersSegmentNoloadStart)
|
||||
#define SEG_POOL_START ((u32) &_framebuffersSegmentNoloadEnd)
|
||||
#define SEG_POOL_END RDRAM_END
|
||||
#define SEG_POOL_END_4MB 0x80400000 // For the error message screen enhancement.
|
||||
|
||||
#endif
|
||||
|
||||
#endif // SEGMENTS_H
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
.byte 0xff
|
||||
.endm
|
||||
|
||||
#ifdef VERSION_SH
|
||||
#if defined(VERSION_SH) || defined(VERSION_CN)
|
||||
|
||||
.macro seq_unreservenotes
|
||||
.byte 0xf0
|
||||
@@ -462,7 +462,7 @@
|
||||
var_long \a
|
||||
.endm
|
||||
|
||||
#ifdef VERSION_SH
|
||||
#if defined(VERSION_SH) || defined(VERSION_CN)
|
||||
|
||||
.macro chan_setnotepriority a
|
||||
.byte 0xe9
|
||||
|
||||
+1
-1
@@ -98,7 +98,7 @@
|
||||
/**
|
||||
* The table below defines all sounds that exist in the game, and which flags
|
||||
* they are used with. If a sound is used with multiple sets of flags (e.g.
|
||||
* different priorities), they are gives distinguishing suffixes.
|
||||
* different priorities), they are given distinguishing suffixes.
|
||||
* A _2 suffix means the sound is the same despite a different sound ID.
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
#ifndef SPECIAL_PRESET_NAMES_H
|
||||
#define SPECIAL_PRESET_NAMES_H
|
||||
|
||||
enum SpecialPresets {
|
||||
special_null_start,
|
||||
special_yellow_coin,
|
||||
special_yellow_coin_2,
|
||||
special_unknown_3,
|
||||
special_boo,
|
||||
special_unknown_5,
|
||||
special_lll_moving_octagonal_mesh_platform,
|
||||
special_snow_ball,
|
||||
special_lll_drawbridge_spawner,
|
||||
special_empty_9,
|
||||
special_lll_rotating_block_with_fire_bars,
|
||||
special_lll_floating_wood_bridge,
|
||||
special_tumbling_platform,
|
||||
special_lll_rotating_hexagonal_ring,
|
||||
special_lll_sinking_rectangular_platform,
|
||||
special_lll_sinking_square_platforms,
|
||||
special_lll_tilting_square_platform,
|
||||
special_lll_bowser_puzzle,
|
||||
special_mr_i,
|
||||
special_small_bully,
|
||||
special_big_bully,
|
||||
special_empty_21,
|
||||
special_empty_22,
|
||||
special_empty_23,
|
||||
special_empty_24,
|
||||
special_empty_25,
|
||||
special_moving_blue_coin,
|
||||
special_jrb_chest,
|
||||
special_water_ring,
|
||||
special_mine,
|
||||
special_empty_30,
|
||||
special_empty_31,
|
||||
special_butterfly,
|
||||
special_bowser,
|
||||
special_wf_rotating_wooden_platform,
|
||||
special_small_bomp,
|
||||
special_wf_sliding_platform,
|
||||
special_tower_platform_group,
|
||||
special_rotating_counter_clockwise,
|
||||
special_wf_tumbling_bridge,
|
||||
special_large_bomp,
|
||||
|
||||
special_level_geo_03 = 0x65,
|
||||
special_level_geo_04,
|
||||
special_level_geo_05,
|
||||
special_level_geo_06,
|
||||
special_level_geo_07,
|
||||
special_level_geo_08,
|
||||
special_level_geo_09,
|
||||
special_level_geo_0A,
|
||||
special_level_geo_0B,
|
||||
special_level_geo_0C,
|
||||
special_level_geo_0D,
|
||||
special_level_geo_0E,
|
||||
special_level_geo_0F,
|
||||
special_level_geo_10,
|
||||
special_level_geo_11,
|
||||
special_level_geo_12,
|
||||
special_level_geo_13,
|
||||
special_level_geo_14,
|
||||
special_level_geo_15,
|
||||
special_level_geo_16,
|
||||
special_bubble_tree,
|
||||
special_spiky_tree,
|
||||
special_snow_tree,
|
||||
special_unknown_tree,
|
||||
special_palm_tree,
|
||||
special_wooden_door,
|
||||
special_haunted_door = special_wooden_door,
|
||||
special_unknown_door,
|
||||
special_metal_door,
|
||||
special_hmc_door,
|
||||
special_unknown2_door,
|
||||
special_wooden_door_warp,
|
||||
special_unknown1_door_warp,
|
||||
special_metal_door_warp,
|
||||
special_unknown2_door_warp,
|
||||
special_unknown3_door_warp,
|
||||
special_castle_door_warp,
|
||||
special_castle_door,
|
||||
special_0stars_door,
|
||||
special_1star_door,
|
||||
special_3star_door,
|
||||
special_key_door,
|
||||
|
||||
special_null_end = 0xFF
|
||||
};
|
||||
|
||||
#endif // SPECIAL_PRESET_NAMES_H
|
||||
+85
-103
@@ -1,111 +1,93 @@
|
||||
#ifndef SPECIAL_PRESETS_H
|
||||
#define SPECIAL_PRESETS_H
|
||||
|
||||
#include "special_preset_names.h"
|
||||
#include "behavior_data.h"
|
||||
#include "model_ids.h"
|
||||
enum SpecialPresets {
|
||||
special_null_start,
|
||||
special_yellow_coin,
|
||||
special_yellow_coin_2,
|
||||
special_unknown_3,
|
||||
special_boo,
|
||||
special_unknown_5,
|
||||
special_lll_moving_octagonal_mesh_platform,
|
||||
special_snow_ball,
|
||||
special_lll_drawbridge_spawner,
|
||||
special_empty_9,
|
||||
special_lll_rotating_block_with_fire_bars,
|
||||
special_lll_floating_wood_bridge,
|
||||
special_tumbling_platform,
|
||||
special_lll_rotating_hexagonal_ring,
|
||||
special_lll_sinking_rectangular_platform,
|
||||
special_lll_sinking_square_platforms,
|
||||
special_lll_tilting_square_platform,
|
||||
special_lll_bowser_puzzle,
|
||||
special_mr_i,
|
||||
special_small_bully,
|
||||
special_big_bully,
|
||||
special_empty_21,
|
||||
special_empty_22,
|
||||
special_empty_23,
|
||||
special_empty_24,
|
||||
special_empty_25,
|
||||
special_moving_blue_coin,
|
||||
special_jrb_chest,
|
||||
special_water_ring,
|
||||
special_mine,
|
||||
special_empty_30,
|
||||
special_empty_31,
|
||||
special_butterfly,
|
||||
special_bowser,
|
||||
special_wf_rotating_wooden_platform,
|
||||
special_small_bomp,
|
||||
special_wf_sliding_platform,
|
||||
special_tower_platform_group,
|
||||
special_rotating_counter_clockwise,
|
||||
special_wf_tumbling_bridge,
|
||||
special_large_bomp,
|
||||
|
||||
// Special Preset types
|
||||
#define SPTYPE_NO_YROT_OR_PARAMS 0 // object is 8-bytes long, no y-rotation or any behavior params
|
||||
#define SPTYPE_YROT_NO_PARAMS 1 // object is 10-bytes long, has y-rotation but no params
|
||||
#define SPTYPE_PARAMS_AND_YROT 2 // object is 12-bytes long, has y-rotation and params
|
||||
#define SPTYPE_UNKNOWN 3 // object is 14-bytes long, has 3 extra shorts that get converted to floats.
|
||||
#define SPTYPE_DEF_PARAM_AND_YROT 4 // object is 10-bytes long, has y-rotation and uses the default param
|
||||
special_level_geo_03 = 0x65,
|
||||
special_level_geo_04,
|
||||
special_level_geo_05,
|
||||
special_level_geo_06,
|
||||
special_level_geo_07,
|
||||
special_level_geo_08,
|
||||
special_level_geo_09,
|
||||
special_level_geo_0A,
|
||||
special_level_geo_0B,
|
||||
special_level_geo_0C,
|
||||
special_level_geo_0D,
|
||||
special_level_geo_0E,
|
||||
special_level_geo_0F,
|
||||
special_level_geo_10,
|
||||
special_level_geo_11,
|
||||
special_level_geo_12,
|
||||
special_level_geo_13,
|
||||
special_level_geo_14,
|
||||
special_level_geo_15,
|
||||
special_level_geo_16,
|
||||
special_bubble_tree,
|
||||
special_spiky_tree,
|
||||
special_snow_tree,
|
||||
special_unknown_tree,
|
||||
special_palm_tree,
|
||||
special_wooden_door,
|
||||
special_haunted_door = special_wooden_door,
|
||||
special_unknown_door,
|
||||
special_metal_door,
|
||||
special_hmc_door,
|
||||
special_unknown2_door,
|
||||
special_wooden_door_warp,
|
||||
special_unknown1_door_warp,
|
||||
special_metal_door_warp,
|
||||
special_unknown2_door_warp,
|
||||
special_unknown3_door_warp,
|
||||
special_castle_door_warp,
|
||||
special_castle_door,
|
||||
special_0stars_door,
|
||||
special_1star_door,
|
||||
special_3star_door,
|
||||
special_key_door,
|
||||
|
||||
struct SpecialPreset {
|
||||
/*00*/ u8 preset_id;
|
||||
/*01*/ u8 type; // Determines whether object is 8, 10, 12 or 14 bytes long.
|
||||
/*02*/ u8 defParam; // Default parameter, only used when type is SPTYPE_DEF_PARAM_AND_YROT
|
||||
/*03*/ u8 model;
|
||||
/*04*/ const BehaviorScript *behavior;
|
||||
};
|
||||
|
||||
// Some Models ID's are missing their names because they are probably unused
|
||||
|
||||
static struct SpecialPreset SpecialObjectPresets[] = {
|
||||
{0x00, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_NONE, NULL},
|
||||
{0x01, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_YELLOW_COIN, bhvYellowCoin},
|
||||
{0x02, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_YELLOW_COIN, bhvYellowCoin},
|
||||
{0x03, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_UNKNOWN_B8, bhvStaticObject},
|
||||
{0x04, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_BOO, bhvCourtyardBooTriplet},
|
||||
{0x05, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_UNKNOWN_AC, bhvCastleFloorTrap},
|
||||
{0x06, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, bhvLllMovingOctagonalMeshPlatform},
|
||||
{0x07, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_CCM_SNOWMAN_HEAD, bhvSnowBall},
|
||||
{0x08, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LLL_DRAWBRIDGE_PART, bhvLllDrawbridgeSpawner},
|
||||
{0x09, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x0A, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, bhvLllRotatingBlockWithFireBars},
|
||||
{0x0B, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvLllFloatingWoodBridge},
|
||||
{0x0C, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvLllTumblingBridge},
|
||||
{0x0D, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_LLL_ROTATING_HEXAGONAL_RING , bhvLllRotatingHexagonalRing},
|
||||
{0x0E, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, bhvLllSinkingRectangularPlatform},
|
||||
{0x0F, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_LLL_SINKING_SQUARE_PLATFORMS, bhvLllSinkingSquarePlatforms},
|
||||
{0x10, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_LLL_TILTING_SQUARE_PLATFORM, bhvLllTiltingInvertedPyramid},
|
||||
{0x11, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvLllBowserPuzzle},
|
||||
{0x12, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvMrI},
|
||||
{0x13, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_BULLY, bhvSmallBully},
|
||||
{0x14, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_BULLY_BOSS, bhvBigBully},
|
||||
{0x15, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x16, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x17, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x18, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x19, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x1A, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_YELLOW_COIN, bhvMovingBlueCoin},
|
||||
{0x1B, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_TREASURE_CHEST_BASE, bhvBetaChestBottom},
|
||||
{0x1C, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_WATER_RING, bhvJetStreamRingSpawner},
|
||||
{0x1D, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_WATER_MINE, bhvBowserBomb},
|
||||
{0x1E, SPTYPE_UNKNOWN , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x1F, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvStaticObject},
|
||||
{0x20, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_BUTTERFLY, bhvButterfly},
|
||||
{0x21, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_BOWSER, bhvBowser},
|
||||
{0x22, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_WF_ROTATING_WOODEN_PLATFORM, bhvWfRotatingWoodenPlatform},
|
||||
{0x23, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_WF_SMALL_BOMP, bhvSmallBomp},
|
||||
{0x24, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_WF_SLIDING_PLATFORM, bhvWfSlidingPlatform},
|
||||
{0x25, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvTowerPlatformGroup},
|
||||
{0x26, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, bhvRotatingCounterClockwise},
|
||||
{0x27, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_WF_TUMBLING_BRIDGE, bhvWfTumblingBridge},
|
||||
{0x28, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_WF_LARGE_BOMP, bhvLargeBomp},
|
||||
{0x65, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_03, bhvStaticObject},
|
||||
{0x66, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_04, bhvStaticObject},
|
||||
{0x67, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_05, bhvStaticObject},
|
||||
{0x68, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_06, bhvStaticObject},
|
||||
{0x69, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_07, bhvStaticObject},
|
||||
{0x6A, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_08, bhvStaticObject},
|
||||
{0x6B, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_09, bhvStaticObject},
|
||||
{0x6C, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_0A, bhvStaticObject},
|
||||
{0x6D, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_0B, bhvStaticObject},
|
||||
{0x6E, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_0C, bhvStaticObject},
|
||||
{0x6F, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_0D, bhvStaticObject},
|
||||
{0x70, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_0E, bhvStaticObject},
|
||||
{0x71, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_0F, bhvStaticObject},
|
||||
{0x72, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_10, bhvStaticObject},
|
||||
{0x73, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_11, bhvStaticObject},
|
||||
{0x74, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_12, bhvStaticObject},
|
||||
{0x75, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_13, bhvStaticObject},
|
||||
{0x76, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_14, bhvStaticObject},
|
||||
{0x77, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_15, bhvStaticObject},
|
||||
{0x78, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_LEVEL_GEOMETRY_16, bhvStaticObject},
|
||||
{0x79, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_BOB_BUBBLY_TREE, bhvTree},
|
||||
{0x7A, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_COURTYARD_SPIKY_TREE, bhvTree},
|
||||
{0x7B, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_CCM_SNOW_TREE, bhvTree},
|
||||
{0x7C, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_UNKNOWN_TREE_1A, bhvTree},
|
||||
{0x7D, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_SSL_PALM_TREE, bhvTree},
|
||||
{0x89, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_CASTLE_CASTLE_DOOR_UNUSED, bhvDoor},
|
||||
{0x7E, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_CASTLE_WOODEN_DOOR_UNUSED, bhvDoor},
|
||||
{0x7F, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_UNKNOWN_DOOR_1E, bhvDoor},
|
||||
{0x80, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_HMC_METAL_DOOR, bhvDoor},
|
||||
{0x81, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_HMC_HAZY_MAZE_DOOR, bhvDoor},
|
||||
{0x82, SPTYPE_YROT_NO_PARAMS , 0x00, MODEL_UNKNOWN_DOOR_21, bhvDoor},
|
||||
{0x8A, SPTYPE_DEF_PARAM_AND_YROT, 0x00, MODEL_CASTLE_DOOR_0_STARS, bhvDoor},
|
||||
{0x8B, SPTYPE_DEF_PARAM_AND_YROT, 0x01, MODEL_CASTLE_DOOR_1_STAR, bhvDoor},
|
||||
{0x8C, SPTYPE_DEF_PARAM_AND_YROT, 0x03, MODEL_CASTLE_DOOR_3_STARS, bhvDoor},
|
||||
{0x8D, SPTYPE_DEF_PARAM_AND_YROT, 0x00, MODEL_CASTLE_KEY_DOOR, bhvDoor},
|
||||
{0x88, SPTYPE_PARAMS_AND_YROT , 0x00, MODEL_CASTLE_CASTLE_DOOR, bhvDoorWarp},
|
||||
{0x83, SPTYPE_PARAMS_AND_YROT , 0x00, MODEL_CASTLE_WOODEN_DOOR, bhvDoorWarp},
|
||||
{0x84, SPTYPE_PARAMS_AND_YROT , 0x00, MODEL_UNKNOWN_DOOR_28, bhvDoorWarp},
|
||||
{0x85, SPTYPE_PARAMS_AND_YROT , 0x00, MODEL_CASTLE_METAL_DOOR, bhvDoorWarp},
|
||||
{0x86, SPTYPE_PARAMS_AND_YROT , 0x00, MODEL_UNKNOWN_DOOR_2A, bhvDoorWarp},
|
||||
{0x87, SPTYPE_PARAMS_AND_YROT , 0x00, MODEL_UNKNOWN_DOOR_2B, bhvDoorWarp},
|
||||
{0xFF, SPTYPE_NO_YROT_OR_PARAMS , 0x00, MODEL_NONE, NULL}
|
||||
special_null_end = 0xFF
|
||||
};
|
||||
|
||||
#endif // SPECIAL_PRESETS_H
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
#include "special_presets.h"
|
||||
|
||||
// Special Preset types
|
||||
#define SPTYPE_NO_YROT_OR_PARAMS 0 // object is 8-bytes long, no y-rotation or any behavior params
|
||||
#define SPTYPE_YROT_NO_PARAMS 1 // object is 10-bytes long, has y-rotation but no params
|
||||
#define SPTYPE_PARAMS_AND_YROT 2 // object is 12-bytes long, has y-rotation and params
|
||||
#define SPTYPE_UNKNOWN 3 // object is 14-bytes long, has 3 extra shorts that get converted to floats.
|
||||
#define SPTYPE_DEF_PARAM_AND_YROT 4 // object is 10-bytes long, has y-rotation and uses the default param
|
||||
|
||||
struct SpecialPreset {
|
||||
/* 0x00 */ u8 presetID;
|
||||
/* 0x01 */ u8 type; // Determines whether object is 8, 10, 12 or 14 bytes long.
|
||||
/* 0x02 */ u8 defParam; // Default parameter, only used when type is SPTYPE_DEF_PARAM_AND_YROT
|
||||
/* 0x03 */ u8 model;
|
||||
/* 0x04 */ const BehaviorScript *behavior;
|
||||
};
|
||||
|
||||
// Some Models ID's are missing their names because they are probably unused
|
||||
|
||||
static struct SpecialPreset sSpecialObjectPresets[] = {
|
||||
{ special_null_start, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_NONE, NULL },
|
||||
{ special_yellow_coin, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_YELLOW_COIN, bhvYellowCoin },
|
||||
{ special_yellow_coin_2, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_YELLOW_COIN, bhvYellowCoin },
|
||||
{ special_unknown_3, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_UNKNOWN_B8, bhvStaticObject },
|
||||
{ special_boo, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_BOO, bhvCourtyardBooTriplet },
|
||||
{ special_unknown_5, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_UNKNOWN_AC, bhvCastleFloorTrap },
|
||||
{ special_lll_moving_octagonal_mesh_platform, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, bhvLLLMovingOctagonalMeshPlatform },
|
||||
{ special_snow_ball, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_CCM_SNOWMAN_HEAD, bhvSnowBall },
|
||||
{ special_lll_drawbridge_spawner, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LLL_DRAWBRIDGE_PART, bhvLLLDrawbridgeSpawner },
|
||||
{ special_empty_9, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_lll_rotating_block_with_fire_bars, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, bhvLLLRotatingBlockWithFireBars },
|
||||
{ special_lll_floating_wood_bridge, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvLLLFloatingWoodBridge },
|
||||
{ special_tumbling_platform, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvLLLTumblingBridge },
|
||||
{ special_lll_rotating_hexagonal_ring, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_LLL_ROTATING_HEXAGONAL_RING , bhvLLLRotatingHexagonalRing },
|
||||
{ special_lll_sinking_rectangular_platform, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, bhvLLLSinkingRectangularPlatform },
|
||||
{ special_lll_sinking_square_platforms, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_LLL_SINKING_SQUARE_PLATFORMS, bhvLLLSinkingSquarePlatforms },
|
||||
{ special_lll_tilting_square_platform, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_LLL_TILTING_SQUARE_PLATFORM, bhvLLLTiltingInvertedPyramid },
|
||||
{ special_lll_bowser_puzzle, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvLLLBowserPuzzle },
|
||||
{ special_mr_i, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvMrI },
|
||||
{ special_small_bully, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_BULLY, bhvSmallBully },
|
||||
{ special_big_bully, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_BULLY_BOSS, bhvBigBully },
|
||||
{ special_empty_21, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_empty_22, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_empty_23, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_empty_24, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_empty_25, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_moving_blue_coin, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_YELLOW_COIN, bhvMovingBlueCoin },
|
||||
{ special_jrb_chest, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_TREASURE_CHEST_BASE, bhvBetaChestBottom },
|
||||
{ special_water_ring, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_WATER_RING, bhvJetStreamRingSpawner },
|
||||
{ special_mine, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_WATER_MINE, bhvBowserBomb },
|
||||
{ special_empty_30, SPTYPE_UNKNOWN, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_empty_31, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvStaticObject },
|
||||
{ special_butterfly, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_BUTTERFLY, bhvButterfly },
|
||||
{ special_bowser, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_BOWSER, bhvBowser },
|
||||
{ special_wf_rotating_wooden_platform, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_WF_ROTATING_WOODEN_PLATFORM, bhvWFRotatingWoodenPlatform },
|
||||
{ special_small_bomp, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_WF_SMALL_BOMP, bhvSmallBomp },
|
||||
{ special_wf_sliding_platform, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_WF_SLIDING_PLATFORM, bhvWFSlidingPlatform },
|
||||
{ special_tower_platform_group, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvTowerPlatformGroup },
|
||||
{ special_rotating_counter_clockwise, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, bhvRotatingCounterClockwise },
|
||||
{ special_wf_tumbling_bridge, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_WF_TUMBLING_BRIDGE, bhvTumblingBridge },
|
||||
{ special_large_bomp, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_WF_LARGE_BOMP, bhvLargeBomp },
|
||||
{ special_level_geo_03, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_03, bhvStaticObject },
|
||||
{ special_level_geo_04, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_04, bhvStaticObject },
|
||||
{ special_level_geo_05, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_05, bhvStaticObject },
|
||||
{ special_level_geo_06, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_06, bhvStaticObject },
|
||||
{ special_level_geo_07, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_07, bhvStaticObject },
|
||||
{ special_level_geo_08, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_08, bhvStaticObject },
|
||||
{ special_level_geo_09, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_09, bhvStaticObject },
|
||||
{ special_level_geo_0A, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_0A, bhvStaticObject },
|
||||
{ special_level_geo_0B, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_0B, bhvStaticObject },
|
||||
{ special_level_geo_0C, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_0C, bhvStaticObject },
|
||||
{ special_level_geo_0D, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_0D, bhvStaticObject },
|
||||
{ special_level_geo_0E, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_0E, bhvStaticObject },
|
||||
{ special_level_geo_0F, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_0F, bhvStaticObject },
|
||||
{ special_level_geo_10, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_10, bhvStaticObject },
|
||||
{ special_level_geo_11, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_11, bhvStaticObject },
|
||||
{ special_level_geo_12, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_12, bhvStaticObject },
|
||||
{ special_level_geo_13, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_13, bhvStaticObject },
|
||||
{ special_level_geo_14, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_14, bhvStaticObject },
|
||||
{ special_level_geo_15, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_15, bhvStaticObject },
|
||||
{ special_level_geo_16, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_LEVEL_GEOMETRY_16, bhvStaticObject },
|
||||
{ special_bubble_tree, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_BOB_BUBBLY_TREE, bhvTree },
|
||||
{ special_spiky_tree, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_COURTYARD_SPIKY_TREE, bhvTree },
|
||||
{ special_snow_tree, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_CCM_SNOW_TREE, bhvTree },
|
||||
{ special_unknown_tree, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_UNKNOWN_TREE_1A, bhvTree },
|
||||
{ special_palm_tree, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_SSL_PALM_TREE, bhvTree },
|
||||
{ special_castle_door, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_CASTLE_CASTLE_DOOR_UNUSED, bhvDoor },
|
||||
{ special_wooden_door, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_CASTLE_WOODEN_DOOR_UNUSED, bhvDoor },
|
||||
{ special_unknown_door, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_UNKNOWN_DOOR_1E, bhvDoor },
|
||||
{ special_metal_door, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_HMC_METAL_DOOR, bhvDoor },
|
||||
{ special_hmc_door, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_HMC_HAZY_MAZE_DOOR, bhvDoor },
|
||||
{ special_unknown2_door, SPTYPE_YROT_NO_PARAMS, 0x00, MODEL_UNKNOWN_DOOR_21, bhvDoor },
|
||||
{ special_0stars_door, SPTYPE_DEF_PARAM_AND_YROT, 0x00, MODEL_CASTLE_DOOR_0_STARS, bhvDoor },
|
||||
{ special_1star_door, SPTYPE_DEF_PARAM_AND_YROT, 0x01, MODEL_CASTLE_DOOR_1_STAR, bhvDoor },
|
||||
{ special_3star_door, SPTYPE_DEF_PARAM_AND_YROT, 0x03, MODEL_CASTLE_DOOR_3_STARS, bhvDoor },
|
||||
{ special_key_door, SPTYPE_DEF_PARAM_AND_YROT, 0x00, MODEL_CASTLE_KEY_DOOR, bhvDoor },
|
||||
{ special_castle_door_warp, SPTYPE_PARAMS_AND_YROT, 0x00, MODEL_CASTLE_CASTLE_DOOR, bhvDoorWarp },
|
||||
{ special_wooden_door_warp, SPTYPE_PARAMS_AND_YROT, 0x00, MODEL_CASTLE_WOODEN_DOOR, bhvDoorWarp },
|
||||
{ special_unknown1_door_warp, SPTYPE_PARAMS_AND_YROT, 0x00, MODEL_UNKNOWN_DOOR_28, bhvDoorWarp },
|
||||
{ special_metal_door_warp, SPTYPE_PARAMS_AND_YROT, 0x00, MODEL_CASTLE_METAL_DOOR, bhvDoorWarp },
|
||||
{ special_unknown2_door_warp, SPTYPE_PARAMS_AND_YROT, 0x00, MODEL_UNKNOWN_DOOR_2A, bhvDoorWarp },
|
||||
{ special_unknown3_door_warp, SPTYPE_PARAMS_AND_YROT, 0x00, MODEL_UNKNOWN_DOOR_2B, bhvDoorWarp },
|
||||
{ special_null_end, SPTYPE_NO_YROT_OR_PARAMS, 0x00, MODEL_NONE, NULL },
|
||||
};
|
||||
@@ -102,9 +102,9 @@
|
||||
#define SURFACE_PAINTING_WOBBLE_CD 0x00CD // Painting wobble (THI Huge - Left)
|
||||
#define SURFACE_PAINTING_WOBBLE_CE 0x00CE // Painting wobble (THI Huge - Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_CF 0x00CF // Painting wobble (THI Huge - Right)
|
||||
#define SURFACE_PAINTING_WOBBLE_D0 0x00D0 // Painting wobble (HMC & COTMC - Left), makes the painting wobble if touched
|
||||
#define SURFACE_PAINTING_WOBBLE_D1 0x00D1 // Painting wobble (Unused, HMC & COTMC - Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_D2 0x00D2 // Painting wobble (Unused, HMC & COTMC - Right)
|
||||
#define SURFACE_PAINTING_WOBBLE_D0 0x00D0 // Painting wobble (HMC & CotMC - Left), makes the painting wobble if touched
|
||||
#define SURFACE_PAINTING_WOBBLE_D1 0x00D1 // Painting wobble (Unused, HMC & CotMC - Middle)
|
||||
#define SURFACE_PAINTING_WOBBLE_D2 0x00D2 // Painting wobble (Unused, HMC & CotMC - Right)
|
||||
#define SURFACE_PAINTING_WARP_D3 0x00D3 // Painting warp (BoB Left)
|
||||
#define SURFACE_PAINTING_WARP_D4 0x00D4 // Painting warp (BoB Middle)
|
||||
#define SURFACE_PAINTING_WARP_D5 0x00D5 // Painting warp (BoB Right)
|
||||
|
||||
@@ -2,17 +2,19 @@
|
||||
#define TEXT_MENU_STRINGS_H
|
||||
|
||||
// These strings use a different table defined in menu_hud_lut
|
||||
// Unlike text_strings.h.in, the charmap is different and
|
||||
// Unlike text_strings.h.in, the charmap is different and
|
||||
// uses char values from charmap_menu.txt
|
||||
|
||||
/**
|
||||
* File Select JP HUD Text
|
||||
*/
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH)
|
||||
#define TEXT_JPHUD_MARIO _("マリオ")
|
||||
#define TEXT_JPHUD_SELECT_FILE _("ファイルセレクト")
|
||||
#define TEXT_JPHUD_CHECK_FILE _("どのスコアをみる?")
|
||||
#define TEXT_JPHUD_COPY_FILE _("ファイルコピーする")
|
||||
#define TEXT_JPHUD_ERASE_FILE _("ファイルけす")
|
||||
#define TEXT_JPHUD_SOUND_SELECT _("サウンドセレクト")
|
||||
#endif
|
||||
|
||||
#endif // TEXT_MENU_STRINGS_H
|
||||
|
||||
+115
-2
@@ -6,30 +6,48 @@
|
||||
/**
|
||||
* Global Symbols
|
||||
*/
|
||||
#define TEXT_ZERO _("0")
|
||||
#define TEXT_EMPTY_STRING _("")
|
||||
#define TEXT_ZERO _%("0")
|
||||
#define TEXT_COIN _("$")
|
||||
#define TEXT_STAR _("★")
|
||||
#define TEXT_COIN_X _("$×")
|
||||
#define TEXT_STAR_X _("★×")
|
||||
#define TEXT_VARIABLE_X _("×")
|
||||
|
||||
#ifdef VERSION_CN
|
||||
#define TEXT_STAR_DIFF _("★ ")
|
||||
#define TEXT_UNFILLED_STAR _("☆ ")
|
||||
#else
|
||||
#define TEXT_STAR_DIFF TEXT_STAR
|
||||
#define TEXT_UNFILLED_STAR _("☆")
|
||||
#endif
|
||||
|
||||
/**
|
||||
* Global Text
|
||||
*/
|
||||
// File Select
|
||||
#define TEXT_NEW _("NEW") // New File Text
|
||||
#define TEXT_4DASHES _("----") // Used in Score File Menu
|
||||
#ifdef VERSION_CN
|
||||
#define TEXT_NEW 0x7E, 0x7F, 0x82, 0x83, 0xFE, 0x80, 0x81, 0x84, 0x85, 0xFF
|
||||
#else
|
||||
#define TEXT_NEW _("NEW") // New File Text
|
||||
#endif
|
||||
|
||||
// Ingame Menu
|
||||
#ifdef VERSION_CN
|
||||
#define TEXT_PAUSE 0x86, 0x87, 0x8A, 0x8B, 0x8E, 0x8F, 0xFE, 0x88, 0x89, 0x8C, 0x8D, 0x90, 0x91, 0xFF
|
||||
#define TEXT_HUD_CONGRATULATIONS 0x3A, 0x3B, 0x3E, 0x3F, 0x42, 0x43, 0xFE, 0x3C, 0x3D, 0x40, 0x41, 0x44, 0x45, 0xFF
|
||||
#else
|
||||
#define TEXT_PAUSE _("PAUSE") // Pause text, Castle Courses
|
||||
#define TEXT_HUD_CONGRATULATIONS _("CONGRATULATIONS") // Course Complete Text, Bowser Courses
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_JP) || defined(VERSION_SH)
|
||||
|
||||
/**
|
||||
* File Select Text
|
||||
*/
|
||||
|
||||
// Main Screens
|
||||
// JPHUD menu strings are defined in "text_menu_strings.h.in"
|
||||
#define TEXT_MARIO TEXT_JPHUD_MARIO // View Score Menu
|
||||
@@ -129,6 +147,7 @@
|
||||
/**
|
||||
* File Select Text
|
||||
*/
|
||||
|
||||
// Main Screens
|
||||
#define TEXT_MARIO _("MARIO") // View Score Menu
|
||||
#define TEXT_SELECT_FILE _("SELECT FILE")
|
||||
@@ -136,6 +155,7 @@
|
||||
#define TEXT_COPY_FILE _("COPY FILE")
|
||||
#define TEXT_ERASE_FILE _("ERASE FILE")
|
||||
#define TEXT_SOUND_SELECT _("SOUND SELECT")
|
||||
|
||||
#define TEXT_FILE_MARIO_A _("MARIO A")
|
||||
#define TEXT_FILE_MARIO_B _("MARIO B")
|
||||
#define TEXT_FILE_MARIO_C _("MARIO C")
|
||||
@@ -472,4 +492,97 @@
|
||||
#define TEXT_MENU_STARS_DE _(" GEHEIME STERNE")
|
||||
#endif // VERSION_EU
|
||||
|
||||
#ifdef VERSION_CN
|
||||
|
||||
/**
|
||||
* File Select Text
|
||||
*/
|
||||
|
||||
// Main Screens
|
||||
// JPHUD menu strings are defined in "text_menu_strings.h.in"
|
||||
#define TEXT_MARIO 0x76, 0x77, 0x7A, 0x7B, 0xFE, 0x78, 0x79, 0x7C, 0x7D, 0xFF
|
||||
#define TEXT_SELECT_FILE 0x96, 0x97, 0x9A, 0x9B, 0x9E, 0x9F, 0xFE, 0x98, 0x99, 0x9C, 0x9D, 0xA0, 0xA1, 0xFF
|
||||
#define TEXT_CHECK_FILE 0x46, 0x47, 0x4A, 0x4B, 0x4E, 0x4F, 0xFE, 0x48, 0x49, 0x4C, 0x4D, 0x50, 0x51, 0xFF
|
||||
#define TEXT_COPY_FILE 0x52, 0x53, 0x56, 0x57, 0x5A, 0x5B, 0xFE, 0x54, 0x55, 0x58, 0x59, 0x5C, 0x5D, 0xFF
|
||||
#define TEXT_ERASE_FILE 0x5E, 0x5F, 0x62, 0x63, 0x66, 0x67, 0xFE, 0x60, 0x61, 0x64, 0x65, 0x68, 0x69, 0xFF
|
||||
#define TEXT_SOUND_SELECT 0xA2, 0xA3, 0xA6, 0xA7, 0xAA, 0xAB, 0xFE, 0xA4, 0xA5, 0xA8, 0xA9, 0xAC, 0xAD, 0xFF
|
||||
|
||||
#define TEXT_FILE_MARIO_A _("马力欧 A")
|
||||
#define TEXT_FILE_MARIO_B _("马力欧 B")
|
||||
#define TEXT_FILE_MARIO_C _("马力欧 C")
|
||||
#define TEXT_FILE_MARIO_D _("马力欧 D")
|
||||
|
||||
// Menu Options
|
||||
#define TEXT_SCORE _("积分")
|
||||
#define TEXT_COPY _("复制")
|
||||
#define TEXT_ERASE _("删除")
|
||||
|
||||
// Sound Options
|
||||
#define TEXT_STEREO _("立体声")
|
||||
#define TEXT_MONO _("单声道")
|
||||
#define TEXT_HEADSET _("耳机")
|
||||
|
||||
// Misc Menu Text
|
||||
#define TEXT_SAVED_DATA_EXISTS _("有保存的数据")
|
||||
#define TEXT_NO_SAVED_DATA_EXISTS _("没有保存的数据")
|
||||
|
||||
// Inside a Menu
|
||||
#define TEXT_RETURN _("返回")
|
||||
#define TEXT_CHECK_SCORE _("查看积分")
|
||||
#define TEXT_COPY_FILE_BUTTON _("复制文件")
|
||||
#define TEXT_ERASE_FILE_BUTTON _("删除文件")
|
||||
|
||||
// Score Menu
|
||||
#define TEXT_HI_SCORE _("最高积分")
|
||||
#define TEXT_MY_SCORE _("我的积分")
|
||||
#define TEXT_SCORE_MARIO_A _("☺A")
|
||||
#define TEXT_SCORE_MARIO_B _("☺B")
|
||||
#define TEXT_SCORE_MARIO_C _("☺C")
|
||||
#define TEXT_SCORE_MARIO_D _("☺D")
|
||||
|
||||
// Copy Menu
|
||||
#define TEXT_COPY_IT_TO_WHERE _("复制到何处")
|
||||
#define TEXT_COPYING_COMPLETED _("复制完毕")
|
||||
#define TEXT_NO_FILE_TO_COPY_FROM _("没有空文件")
|
||||
|
||||
// Erase Menu
|
||||
#define TEXT_SURE _("确定吗?")
|
||||
#define TEXT_YES _("是")
|
||||
#define TEXT_NO _("否")
|
||||
#define TEXT_FILE_MARIO_A_JUST_ERASED _("文件已删除")
|
||||
|
||||
/**
|
||||
* Menus Text (Pause, Course Completed)
|
||||
*/
|
||||
// Main Courses
|
||||
#define TEXT_COURSE _("关卡")
|
||||
#define TEXT_MYSCORE TEXT_MY_SCORE
|
||||
#define TEXT_CONTINUE _("继续")
|
||||
#define TEXT_EXIT_COURSE _("退出")
|
||||
#define TEXT_CAMERA_ANGLE_R _("使用[R]键设定视角")
|
||||
|
||||
// Camera Options
|
||||
#define TEXT_LAKITU_MARIO TEXT_EMPTY_STRING
|
||||
#define TEXT_LAKITU_STOP TEXT_EMPTY_STRING
|
||||
#define TEXT_NORMAL_UPCLOSE _("特写镜头")
|
||||
#define TEXT_NORMAL_FIXED _("固定镜头")
|
||||
|
||||
// Course Completed Misc Text
|
||||
#define TEXT_CATCH _("接住")
|
||||
#define TEXT_CLEAR _("清除")
|
||||
#define TEXT_HUD_HI_SCORE 0x6A, 0x6B, 0x6E, 0x6F, 0x72, 0x73, 0xFE, 0x6C, 0x6D, 0x70, 0x71, 0x74, 0x75, 0xFF
|
||||
|
||||
// Save Options
|
||||
#define TEXT_SAVE_AND_CONTINUE _("保存并继续")
|
||||
#define TEXT_SAVE_AND_QUIT _("保存并退出")
|
||||
#define TEXT_CONTINUE_WITHOUT_SAVING _("不必保存")
|
||||
|
||||
// File Score Menu Icons
|
||||
#define TEXT_ARROW_L _("◀ L")
|
||||
#define TEXT_R_ARROW _("R ▶")
|
||||
|
||||
#endif // VERSION_CN
|
||||
|
||||
#endif // TEXT_STRINGS_H
|
||||
|
||||
|
||||
|
||||
+14
-11
@@ -48,11 +48,14 @@ typedef uintptr_t GeoLayout;
|
||||
typedef uintptr_t LevelScript;
|
||||
typedef s16 Movtex;
|
||||
typedef s16 MacroObject;
|
||||
typedef s16 Collision;
|
||||
typedef s16 Collision; // Collision data is limited to -32768 to 32767. Change this if you want to increase it.
|
||||
typedef s16 Trajectory;
|
||||
typedef s16 PaintingData;
|
||||
typedef uintptr_t BehaviorScript;
|
||||
typedef u8 Texture;
|
||||
typedef s8 RoomData; // Rooms are limited to -128 to 127. Change the type if you wish to have more rooms.
|
||||
typedef Collision TerrainData;
|
||||
typedef TerrainData Vec3Terrain[3];
|
||||
|
||||
enum SpTaskState {
|
||||
SPTASK_STATE_NOT_STARTED,
|
||||
@@ -75,7 +78,7 @@ struct VblankHandler {
|
||||
};
|
||||
|
||||
#define ANIM_FLAG_NOLOOP (1 << 0) // 0x01
|
||||
#define ANIM_FLAG_FORWARD (1 << 1) // 0x02
|
||||
#define ANIM_FLAG_BACKWARD (1 << 1) // 0x02
|
||||
#define ANIM_FLAG_2 (1 << 2) // 0x04
|
||||
#define ANIM_FLAG_HOR_TRANS (1 << 3) // 0x08
|
||||
#define ANIM_FLAG_VERT_TRANS (1 << 4) // 0x10
|
||||
@@ -216,15 +219,15 @@ struct Waypoint {
|
||||
};
|
||||
|
||||
struct Surface {
|
||||
/*0x00*/ s16 type;
|
||||
/*0x02*/ s16 force;
|
||||
/*0x00*/ TerrainData type;
|
||||
/*0x02*/ TerrainData force;
|
||||
/*0x04*/ s8 flags;
|
||||
/*0x05*/ s8 room;
|
||||
/*0x06*/ s16 lowerY;
|
||||
/*0x08*/ s16 upperY;
|
||||
/*0x0A*/ Vec3s vertex1;
|
||||
/*0x10*/ Vec3s vertex2;
|
||||
/*0x16*/ Vec3s vertex3;
|
||||
/*0x05*/ RoomData room;
|
||||
/*0x06*/ TerrainData lowerY;
|
||||
/*0x08*/ TerrainData upperY;
|
||||
/*0x0A*/ Vec3Terrain vertex1;
|
||||
/*0x10*/ Vec3Terrain vertex2;
|
||||
/*0x16*/ Vec3Terrain vertex3;
|
||||
/*0x1C*/ struct {
|
||||
f32 x;
|
||||
f32 y;
|
||||
@@ -309,7 +312,7 @@ struct MarioState {
|
||||
/*0xB8*/ s16 prevNumStarsForDialog;
|
||||
/*0xBC*/ f32 peakHeight;
|
||||
/*0xC0*/ f32 quicksandDepth;
|
||||
/*0xC4*/ f32 unkC4;
|
||||
/*0xC4*/ f32 gettingBlownGravity;
|
||||
};
|
||||
|
||||
#endif // TYPES_H
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <PR/os_thread.h>
|
||||
#include <PR/os_time.h>
|
||||
#include <PR/os_message.h>
|
||||
#include <PR/os_pfs.h>
|
||||
#include <PR/os_cont.h>
|
||||
#include <PR/os_tlb.h>
|
||||
#include <PR/sptask.h>
|
||||
@@ -27,6 +28,7 @@
|
||||
#include <PR/os_libc.h>
|
||||
#include <PR/gu.h>
|
||||
#include <PR/os_ai.h>
|
||||
#include <PR/os_motor.h>
|
||||
#include <PR/libaudio.h>
|
||||
#include <PR/libultra.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user