You've already forked Microtransactions64
mirror of
https://github.com/Print-and-Panic/Microtransactions64.git
synced 2026-01-21 10:17:19 -08:00
* buffers: refresh 15 and revert to base decomp * behavior script * color helper functions * extended bounds * egeo_layout * fixed model ids * camera conf improved * message panel ucode small * graph node * level script * mathutil updates * mathutil updates (allow unused funcs) * behaviors a - beta_fish * Add librtc and fix some data declarations * Move GRUCODE define to proper location in makefile * Refresh 15 * extra * Make ROM name smaller and change messages printed on build a bit * Fix console (lol) * Update UNF to latest master * Make ucode load from .o's (and also fix Super3D) * Fix crash with rumble + custom mario model * graph node and mathutil * removed behaviors * Ldtob documentation * _Putfld labeling * area * behavior actions * camera * debug updates * bubbles * envfx snow * farcall helpers * game init * geo misc * hud * only check if VC on render init * ingame menu * revert goddard to base decomp * insn disasm * interaction documentation * level geo * level update defines * macro special objects formatting changes * main.h documentation * map parser documentation & formatting * airborne documentation * mario actions automatic documentation * mario actions cutscene documentation * mario actions moving documentation and options * mario actions object documentation and options * mario stationary documentation * mario submerged documentation * mario misc documentation * mario step: ledge grab fixes and documentation * mario documentation * memory.h documentation * moving textures * object behaviors * object collision * fix flamethrower bug * object helpers * object list processor documentation * paintings * platform displacement * print / printf * puppycam absf * puppyprint updates and formatting changes * rendering graph node performance optimizations * rumble opt and doc * hqvm back to ultrasm64 * save file documentation and unlock defines * s2d engine * reset various files to ultrasm64 * file select * intro geo documentation * screen transition documentation * segment2.h * shadow overhaul * skybox refactor * sound init: clean up define usage + documentation * spawn object optimizations and documentation * spawn sound cleanup * sram to ultrasm64 * star select cleanup * title screen cleanup * dialogs / text * rename stomp smoke * stomp smoke -> small water splash * updated README * compilation flags * optimized file positions + support function/data sections * surface collision performance improvements * surface load optimizations * camera conf documentation * Allow easier command for opening puppyprint debug * Rearranged framebuffers & fixed puppyprint console printing * Fix shadow scaling and shifting * Fix SILHOUETTE, OBJECTS_REJ, and ucode loading, also clean up render phase system a bit. * Fixed build with BETTER_HANGING off * Clean up OBJECTS_REJ ifdefs * Fix duplicate comment & graph render layers/flags bitmask * Fixed build with BETTER_HANGING off * Fix Fast64 importing by reverting sSegmentTable change * Readded missing functions that caused build errors with Mario head enabled * Fixed clang compilation issues * Add INTER mode for geo_update_layer_transparency * Fix build warnings * bugfix: miscalculation in obj_turn_toward_object * Some puppytech fixes * Further Puppycamera fixes * Fix BUGFIX_DIALOG_TIME_STOP Fixes #136 * Fix sliding platform bparams * Add LEGACY_SHADOW_IDS define for Fast64 compatibility * Apply suggested changes * Better find_in_bounds_yaw_wdw_bob_thi ifdef * Fix build warnings for unused functions * Fixed stale reference bug from obj_mark_for_deletion change * Fixed incorrect digit for 100s #145 * Change groundpound-fix define and functionality to just disable bonking * Fixed puppyroll #134 * Adjust height value for terrain angle to kick in * fixed hi score flashing * Remove menudata backup (#131) Not considered important enough to keep * Fix fread() build warning * Add COURSE_NUM_TO_INDEX to save_file_get_star_flags check in bhv_unagi_init * Fix approach_s16 return value * Use boolean defines for oCapDoScaleVertically * Make the door lock a part of the key door model to eliminate z-fighting, also reduce z fighting on numbered doors with AUTO_LOD enabled. * Move flames to LAYER_TRANSPARENT_INTER * Resolved some compiler warnings and added FALL_THROUGH define (#168) * Address some more compiler warnings with different define toggles * Remove unnecessary fallthrough attribute * fixed geo_process_billboard floating point exception * Allow water to face any direction * Initialize focOffset so that BBH doesn't crash * Removed superfluous RDP commands when switching microcodes which would override scissor * Set OBJ_FLAG_DONT_CALC_COLL_DIST on bhvUkikiCage * Fix rumble build * Fixed UNLOCK_FPS strobing * Update src/game/object_helpers.c Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> * Update src/game/object_helpers.c Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> * Fix LEGACY_SHADOW_IDS id conflict * Use the vanilla default value for rotating fire bars if bparam2 is 0 * START_LEVEL safeguard * Fix some drawing distance issues caused by AUTO_COLLISION_DISTANCE * Fix rumble build * Fixed spline poll code using the wrong values for keyframes * Update readme with better credits Better credits for individual contributors * add arthur * added falco and moose * add fazana * le funny typo * added S2DEX engine to credits * silhouette + axo + ratio * remove specific callouts + add auto col distance * Update data/behavior_data.c Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> * Update data/behavior_data.c Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> * Update data/behavior_data.c Co-authored-by: thecozies <79979276+thecozies@users.noreply.github.com> * Revert formatting changes to match vanilla decomp * Re-implement Y buffer for find_ceil * Re-implement POWER_STARS_HEAL for normal Power Stars * Start level comment & exit course comment/collapse * utilize reonucam technique for FAST_VERTICAL_CAMERA_MOVEMENT * Fix "MAX_REFERENCED_WALLS" typo * Allow stop_and_set_height_to_floor to work at any height if Mario is teleporting (#213) * Revert stop_and_set_height_to_floor to vanilla Fixes #208 * Fixed sAudioEnabled so that it disables audio CPU processing as well * Fixed puppyprint debug RDP us calculations * Renamed sAudioEnabled to gAudioEnabled * Replaced mtxf_to_mtx_asm with an equivalent implementation that supports WORLD_SCALE * Moved extended bounds and world scale configuration to a new config_world.h file * Default all objects to non-rej (#227) Fixes #221 (Default all objects to non-rej) * Fix #221 * Fix VISUAL_DEBUG breaking/crashing when OBJECTS_REJ is disabled (#211) * Fix VISUAL_DEBUG breaking/crashing when OBJECTS_REJ is disabled * Change vtl decrement in visual_surface_display from 6 to 3 Fixes #207 * Make area in SL igloo wider to prevent a softlock (#233) Fixes #210 * Fix coin formation coins being deleted if they spawn in the middle of a floor, also fix TTM slide coin position (#232) Fixes #201 * Make UNLOCK_ALL apply to more things * Fix wrong ifdef/ifndef in bhv_invisible_objects_under_bridge_init * Change chain chomp load/unload distances depending on number of segments (#237) Fixes #192 * added WATER_PLUNGE_UPWARP define * Add reonucam patch (#239) * added reonucam patch Fixes #218 * Fix how shadows handle water/transparency/height (#228) * Fix how shadows handle water/transparency/height * Change shadow check for flying carpets from a level specific check to a oPlatformOnTrackType check Fixes #179 * added reonucam credit * delete unnecesary patches * Apply suggested changes * murdered more patches * UNLOCK_ALL unlocks the cap boxes * UNLOCK_ALL unlocks cap boxes (slightly more epic edition) * revert ceil buffer * Renamed HD_INTRO_TEXTURES define, separated intro floombas * prevent double definition of floombas * actually prevent floomba redefinition * Develop/refactor default defines (#242) * Changed default config options * Added build dir to includePaths for pngs * disable NO_SLEEP by default * Disable puppyprint by default Sorry fazana 😔 * fix typos * add comment about BETTER_REVERB console perf * disable blue coin switch retry by default * Update config_audio.h Co-authored-by: Reonu <danileon95@gmail.com> Co-authored-by: Mr-Wiseguy <68165316+Mr-Wiseguy@users.noreply.github.com> * revert air step line to vanilla to fix bitfs scaling platform issue (#247) Fixes #200 * Fix stuttering on thin slopes (#248) * Fix stuttering on thin slopes * Revert vec3f_find_ceil calls to vanilla * Rename vec3f_find_ceil to find_mario_ceil * Update src/engine/surface_collision.h Fixes #249 * Swap static and dynamic surface checks back to vanilla order (#253) * Swap static and dynamic surface checks back to vanilla order * re-enable DISABLE_ALL config Fixes #251 #252 * Fixed save and quitting while in widescreen (#257) * Fixed save and quitting while in widescreen * use define for the level * all my homies hate ifdefs * skip wall offsets < 0 (#255) Fixes #255 * #264: Document non-stop stars' issues (#267) * #264: Document non-stop stars' issues * Update include/config/config_game.h * nonstop vanilla comment * derive margin_radius from radius after capping at 200 (#266) Fixes #259 * Config cleanup/refactor (#269) * Moved puppyprint define to graphics / rearranged some debug defines for ease of access * Moved compatibility safeguards to config_safeguards.h * spacing and comment formatting * #272 Move GFX_POOL_SIZE to config_graphics.h * disable EASIER_DIALOG_TRIGGER by default * prevent redefining warnings * small ifdef typo * changed ifndef to undefs Fixes #262 Fixes #272 * Improved movement config documentation related to turning around (#271) Fixes #270 * rename CUSTOM_DEBUG, add comments (#275) * Update README.md (#277) * v2.0.0 Co-authored-by: CrashOveride95 <crashoveride953@gmail.com> Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com> Co-authored-by: n64 <n64> Co-authored-by: Fazana <52551480+FazanaJ@users.noreply.github.com> Co-authored-by: Mr-Wiseguy <mrwiseguyromhacking@gmail.com> Co-authored-by: aglab2 <aglab3@gmail.com> Co-authored-by: gheskett <gheskett@gmail.com> Co-authored-by: Reonu <danileon95@gmail.com> Co-authored-by: Axollyon <20480418+Axollyon@users.noreply.github.com> Co-authored-by: Mr-Wiseguy <68165316+Mr-Wiseguy@users.noreply.github.com>
725 lines
50 KiB
C
725 lines
50 KiB
C
#ifndef SM64_H
|
|
#define SM64_H
|
|
|
|
// Global header for Super Mario 64
|
|
|
|
#include "types.h"
|
|
#include "config.h"
|
|
#include "object_fields.h"
|
|
#include "object_constants.h"
|
|
#include "sounds.h"
|
|
#include "model_ids.h"
|
|
#include "mario_animation_ids.h"
|
|
#include "mario_geo_switch_case_ids.h"
|
|
#include "surface_terrains.h"
|
|
#include "macros.h"
|
|
#include "segments.h"
|
|
|
|
// Crash handler enhancement
|
|
#ifdef CRASH_SCREEN_INCLUDED
|
|
#define DEBUG_ASSERT(exp) do { if (!(exp)) _n64_assert(__FILE__, __LINE__, #exp, 1); } while (0)
|
|
#else
|
|
#define DEBUG_ASSERT(exp)
|
|
#endif
|
|
|
|
// Pointer casting is technically UB, and avoiding it gets rid of endian issues as well as a nice side effect.
|
|
#define GET_HIGH_U16_OF_32(var) ((u16)((var) >> 16))
|
|
#define GET_HIGH_S16_OF_32(var) ((s16)((var) >> 16))
|
|
#define GET_LOW_U16_OF_32(var) ((u16)((var) & 0xFFFF))
|
|
#define GET_LOW_S16_OF_32(var) ((s16)((var) & 0xFFFF))
|
|
#define SET_HIGH_U16_OF_32(var, x) ((var) = ((var) & 0xFFFF) | ((x) << 16))
|
|
#define SET_HIGH_S16_OF_32(var, x) ((var) = ((var) & 0xFFFF) | ((x) << 16))
|
|
|
|
// Common cos values for degrees, often used for surface Y normals
|
|
// These are different than coss()
|
|
#define COS1 0.9998477f
|
|
#define COS5 0.9961947f
|
|
#define COS10 0.9848077f
|
|
#define COS15 0.9659258f
|
|
#define COS20 0.9396926f
|
|
#define COS25 0.9063078f // ledge grabs
|
|
#define COS30 0.8660254f
|
|
#define COS35 0.85264016f
|
|
#define COS36 0.8443279f
|
|
#define COS38 0.7880108f // mario_floor_is_slippery default
|
|
#define COS40 0.80901699f
|
|
#define COS45 0.76040596f
|
|
#define COS50 0.70710678f // SURFACE_FLAG_X_PROJECTION
|
|
#define COS55 0.64944805f
|
|
#define COS60 0.58778525f
|
|
#define COS65 0.52249856f
|
|
#define COS70 0.4539905f
|
|
#define COS73 0.29237169f // common_landing_cancels, check_common_idle_cancels, check_common_hold_idle_cancels
|
|
#define COS75 0.38268343f
|
|
#define COS78 0.20791169f
|
|
#define COS80 0.17364818f // braking action
|
|
#define COS85 0.23344536f
|
|
|
|
enum RenderLayers {
|
|
LAYER_FORCE,
|
|
LAYER_OPAQUE,
|
|
LAYER_OPAQUE_INTER,
|
|
LAYER_OPAQUE_DECAL,
|
|
LAYER_ALPHA,
|
|
#if SILHOUETTE
|
|
LAYER_ALPHA_DECAL,
|
|
LAYER_SILHOUETTE_OPAQUE,
|
|
LAYER_SILHOUETTE_ALPHA,
|
|
LAYER_OCCLUDE_SILHOUETTE_OPAQUE,
|
|
LAYER_OCCLUDE_SILHOUETTE_ALPHA,
|
|
#endif
|
|
LAYER_TRANSPARENT_DECAL,
|
|
LAYER_TRANSPARENT,
|
|
LAYER_TRANSPARENT_INTER,
|
|
LAYER_COUNT
|
|
};
|
|
|
|
#define LAYER_FIRST LAYER_FORCE
|
|
#define LAYER_LAST (LAYER_COUNT - 1)
|
|
|
|
#define LAYER_ZB_FIRST LAYER_OPAQUE
|
|
#if SILHOUETTE
|
|
#define LAYER_ZB_LAST LAYER_OCCLUDE_SILHOUETTE_ALPHA
|
|
#define LAYER_SILHOUETTE_FIRST LAYER_SILHOUETTE_OPAQUE
|
|
#define LAYER_LAST_BEFORE_SILHOUETTE (LAYER_SILHOUETTE_FIRST - 1)
|
|
#define LAYER_SILHOUETTE_LAST LAYER_SILHOUETTE_ALPHA
|
|
#define LAYER_OCCLUDE_SILHOUETTE_FIRST LAYER_OCCLUDE_SILHOUETTE_OPAQUE
|
|
#define LAYER_OCCLUDE_SILHOUETTE_LAST LAYER_OCCLUDE_SILHOUETTE_ALPHA
|
|
#define LAYER_OPAQUE_ORIG LAYER_OPAQUE
|
|
#define LAYER_ALPHA_ORIG LAYER_ALPHA
|
|
#else
|
|
#define LAYER_ZB_LAST LAYER_ALPHA
|
|
#define LAYER_ALPHA_DECAL LAYER_ALPHA
|
|
#define LAYER_SILHOUETTE_OPAQUE LAYER_OPAQUE // is zbuffered
|
|
#define LAYER_SILHOUETTE_ALPHA LAYER_ALPHA // is zbuffered
|
|
#define LAYER_OCCLUDE_SILHOUETTE_OPAQUE LAYER_OPAQUE // is zbuffered
|
|
#define LAYER_OCCLUDE_SILHOUETTE_ALPHA LAYER_ALPHA // is zbuffered
|
|
#endif
|
|
|
|
#define LAYER_NON_ZB_FIRST (LAYER_ZB_LAST + 1)
|
|
#define LAYER_NON_ZB_LAST LAYER_LAST
|
|
|
|
enum MarioInput {
|
|
INPUT_NONE = /* 0x0000 */ (0 << 0),
|
|
INPUT_NONZERO_ANALOG = /* 0x0001 */ (1 << 0),
|
|
INPUT_A_PRESSED = /* 0x0002 */ (1 << 1),
|
|
INPUT_OFF_FLOOR = /* 0x0004 */ (1 << 2),
|
|
INPUT_ABOVE_SLIDE = /* 0x0008 */ (1 << 3),
|
|
INPUT_FIRST_PERSON = /* 0x0010 */ (1 << 4),
|
|
INPUT_IDLE = /* 0x0020 */ (1 << 5),
|
|
INPUT_SQUISHED = /* 0x0040 */ (1 << 6),
|
|
INPUT_A_DOWN = /* 0x0080 */ (1 << 7),
|
|
INPUT_IN_POISON_GAS = /* 0x0100 */ (1 << 8),
|
|
INPUT_IN_WATER = /* 0x0200 */ (1 << 9),
|
|
INPUT_STOMPED = /* 0x0400 */ (1 << 10),
|
|
INPUT_INTERACT_OBJ_GRABBABLE = /* 0x0800 */ (1 << 11),
|
|
INPUT_B_DOWN = /* 0x1000 */ (1 << 12),
|
|
INPUT_B_PRESSED = /* 0x2000 */ (1 << 13),
|
|
INPUT_Z_DOWN = /* 0x4000 */ (1 << 14),
|
|
INPUT_Z_PRESSED = /* 0x8000 */ (1 << 15),
|
|
};
|
|
enum GroundStep {
|
|
GROUND_STEP_LEFT_GROUND,
|
|
GROUND_STEP_NONE,
|
|
GROUND_STEP_HIT_WALL,
|
|
GROUND_STEP_HIT_WALL_STOP_QSTEPS = GROUND_STEP_HIT_WALL,
|
|
GROUND_STEP_HIT_WALL_CONTINUE_QSTEPS
|
|
};
|
|
|
|
enum AirStepCheck {
|
|
AIR_STEP_CHECK_NONE,
|
|
AIR_STEP_CHECK_LEDGE_GRAB,
|
|
AIR_STEP_CHECK_HANG
|
|
};
|
|
|
|
enum AirStep {
|
|
AIR_STEP_NONE,
|
|
AIR_STEP_LANDED,
|
|
AIR_STEP_HIT_WALL,
|
|
AIR_STEP_GRABBED_LEDGE,
|
|
AIR_STEP_GRABBED_CEILING,
|
|
AIR_STEP_UNK,
|
|
AIR_STEP_HIT_LAVA_WALL,
|
|
AIR_STEP_HIT_CEILING
|
|
};
|
|
|
|
enum WaterStep {
|
|
WATER_STEP_NONE,
|
|
WATER_STEP_HIT_FLOOR,
|
|
WATER_STEP_HIT_CEILING,
|
|
WATER_STEP_CANCELLED,
|
|
WATER_STEP_HIT_WALL
|
|
};
|
|
|
|
enum MarioParticleFlags {
|
|
PARTICLE_NONE = /* 0x00000000 */ (0 << 0),
|
|
PARTICLE_DUST = /* 0x00000001 */ (1 << 0),
|
|
PARTICLE_VERTICAL_STAR = /* 0x00000002 */ (1 << 1),
|
|
PARTICLE_2 = /* 0x00000004 */ (1 << 2),
|
|
PARTICLE_SPARKLES = /* 0x00000008 */ (1 << 3),
|
|
PARTICLE_HORIZONTAL_STAR = /* 0x00000010 */ (1 << 4),
|
|
PARTICLE_BUBBLE = /* 0x00000020 */ (1 << 5),
|
|
PARTICLE_WATER_SPLASH = /* 0x00000040 */ (1 << 6),
|
|
PARTICLE_IDLE_WATER_WAVE = /* 0x00000080 */ (1 << 7),
|
|
PARTICLE_SHALLOW_WATER_WAVE = /* 0x00000100 */ (1 << 8),
|
|
PARTICLE_PLUNGE_BUBBLE = /* 0x00000200 */ (1 << 9),
|
|
PARTICLE_WAVE_TRAIL = /* 0x00000400 */ (1 << 10),
|
|
PARTICLE_FIRE = /* 0x00000800 */ (1 << 11),
|
|
PARTICLE_SHALLOW_WATER_SPLASH = /* 0x00001000 */ (1 << 12),
|
|
PARTICLE_LEAF = /* 0x00002000 */ (1 << 13),
|
|
PARTICLE_SNOW = /* 0x00004000 */ (1 << 14),
|
|
PARTICLE_DIRT = /* 0x00008000 */ (1 << 15),
|
|
PARTICLE_MIST_CIRCLE = /* 0x00010000 */ (1 << 16),
|
|
PARTICLE_BREATH = /* 0x00020000 */ (1 << 17),
|
|
PARTICLE_TRIANGLE = /* 0x00040000 */ (1 << 18),
|
|
PARTICLE_19 = /* 0x00080000 */ (1 << 19),
|
|
};
|
|
|
|
enum ModelStates {
|
|
MODEL_STATE_ALPHA = (1 << 8), // 0x100
|
|
MODEL_STATE_NOISE_ALPHA = ((1 << 7) | MODEL_STATE_ALPHA), // (0x080 | MODEL_STATE_ALPHA)
|
|
MODEL_STATE_METAL = (1 << 9), // 0x200
|
|
MODEL_STATE_MASK = 0xFF
|
|
};
|
|
|
|
enum MarioFlags {
|
|
MARIO_NONE = /* 0x00000000 */ (0 << 0),
|
|
MARIO_NORMAL_CAP = /* 0x00000001 */ (1 << 0),
|
|
MARIO_VANISH_CAP = /* 0x00000002 */ (1 << 1),
|
|
MARIO_METAL_CAP = /* 0x00000004 */ (1 << 2),
|
|
MARIO_WING_CAP = /* 0x00000008 */ (1 << 3),
|
|
MARIO_CAP_ON_HEAD = /* 0x00000010 */ (1 << 4),
|
|
MARIO_CAP_IN_HAND = /* 0x00000020 */ (1 << 5),
|
|
MARIO_METAL_SHOCK = /* 0x00000040 */ (1 << 6),
|
|
MARIO_TELEPORTING = /* 0x00000080 */ (1 << 7),
|
|
MARIO_JUMPING = /* 0x00000100 */ (1 << 8),
|
|
MARIO_UNUSED_9 = /* 0x00000200 */ (1 << 9),
|
|
MARIO_UNUSED_10 = /* 0x00000400 */ (1 << 10),
|
|
MARIO_UNUSED_11 = /* 0x00000800 */ (1 << 11),
|
|
MARIO_UNUSED_12 = /* 0x00001000 */ (1 << 12),
|
|
MARIO_NO_PURPLE_SWITCH = /* 0x00002000 */ (1 << 13),
|
|
MARIO_UNUSED_14 = /* 0x00004000 */ (1 << 14),
|
|
MARIO_UNUSED_15 = /* 0x00008000 */ (1 << 15),
|
|
MARIO_ACTION_SOUND_PLAYED = /* 0x00010000 */ (1 << 16),
|
|
MARIO_MARIO_SOUND_PLAYED = /* 0x00020000 */ (1 << 17),
|
|
MARIO_FALL_SOUND_PLAYED = /* 0x00040000 */ (1 << 18),
|
|
MARIO_UNUSED_19 = /* 0x00080000 */ (1 << 19),
|
|
MARIO_PUNCHING = /* 0x00100000 */ (1 << 20),
|
|
MARIO_KICKING = /* 0x00200000 */ (1 << 21),
|
|
MARIO_TRIPPING = /* 0x00400000 */ (1 << 22),
|
|
MARIO_UNUSED_23 = /* 0x00800000 */ (1 << 23),
|
|
MARIO_UNUSED_24 = /* 0x01000000 */ (1 << 24),
|
|
MARIO_LEDGE_CLIMB_CAMERA = /* 0x02000000 */ (1 << 25),
|
|
MARIO_UNUSED_26 = /* 0x04000000 */ (1 << 26),
|
|
MARIO_UNUSED_27 = /* 0x08000000 */ (1 << 27),
|
|
MARIO_UNUSED_28 = /* 0x10000000 */ (1 << 28),
|
|
MARIO_UNUSED_29 = /* 0x20000000 */ (1 << 29),
|
|
MARIO_AIR_HIT_WALL = /* 0x40000000 */ (1 << 30),
|
|
MARIO_PUSHING = /* 0x80000000 */ (1 << 31),
|
|
MARIO_SPECIAL_CAPS = (MARIO_VANISH_CAP | MARIO_METAL_CAP | MARIO_WING_CAP),
|
|
MARIO_CAPS = (MARIO_NORMAL_CAP | MARIO_SPECIAL_CAPS),
|
|
};
|
|
|
|
#define ACT_ID_MASK 0x000001FF
|
|
|
|
enum MarioActionGroups {
|
|
ACT_GROUP_STATIONARY = /* 0x00000000 */ (0 << 6),
|
|
ACT_GROUP_MOVING = /* 0x00000040 */ (1 << 6),
|
|
ACT_GROUP_AIRBORNE = /* 0x00000080 */ (2 << 6),
|
|
ACT_GROUP_SUBMERGED = /* 0x000000C0 */ (3 << 6),
|
|
ACT_GROUP_CUTSCENE = /* 0x00000100 */ (4 << 6),
|
|
ACT_GROUP_AUTOMATIC = /* 0x00000140 */ (5 << 6),
|
|
ACT_GROUP_OBJECT = /* 0x00000180 */ (6 << 6),
|
|
ACT_GROUP_CUSTOM = /* 0x000001C0 */ (7 << 6),
|
|
ACT_GROUP_MASK = 0x000001C0
|
|
};
|
|
|
|
enum MarioActionFlags {
|
|
ACT_FLAG_STATIONARY = /* 0x00000200 */ (1 << 9),
|
|
ACT_FLAG_MOVING = /* 0x00000400 */ (1 << 10),
|
|
ACT_FLAG_AIR = /* 0x00000800 */ (1 << 11),
|
|
ACT_FLAG_INTANGIBLE = /* 0x00001000 */ (1 << 12),
|
|
ACT_FLAG_SWIMMING = /* 0x00002000 */ (1 << 13),
|
|
ACT_FLAG_METAL_WATER = /* 0x00004000 */ (1 << 14),
|
|
ACT_FLAG_SHORT_HITBOX = /* 0x00008000 */ (1 << 15),
|
|
ACT_FLAG_RIDING_SHELL = /* 0x00010000 */ (1 << 16),
|
|
ACT_FLAG_INVULNERABLE = /* 0x00020000 */ (1 << 17),
|
|
ACT_FLAG_BUTT_OR_STOMACH_SLIDE = /* 0x00040000 */ (1 << 18),
|
|
ACT_FLAG_DIVING = /* 0x00080000 */ (1 << 19),
|
|
ACT_FLAG_ON_POLE = /* 0x00100000 */ (1 << 20),
|
|
ACT_FLAG_HANGING = /* 0x00200000 */ (1 << 21),
|
|
ACT_FLAG_IDLE = /* 0x00400000 */ (1 << 22),
|
|
ACT_FLAG_ATTACKING = /* 0x00800000 */ (1 << 23),
|
|
ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION = /* 0x01000000 */ (1 << 24),
|
|
ACT_FLAG_CONTROL_JUMP_HEIGHT = /* 0x02000000 */ (1 << 25),
|
|
ACT_FLAG_ALLOW_FIRST_PERSON = /* 0x04000000 */ (1 << 26),
|
|
ACT_FLAG_PAUSE_EXIT = /* 0x08000000 */ (1 << 27),
|
|
ACT_FLAG_SWIMMING_OR_FLYING = /* 0x10000000 */ (1 << 28),
|
|
ACT_FLAG_WATER_OR_TEXT = /* 0x20000000 */ (1 << 29),
|
|
ACT_FLAG_UNUSED = /* 0x40000000 */ (1 << 30),
|
|
ACT_FLAG_THROWING = /* 0x80000000 */ (1 << 31),
|
|
};
|
|
|
|
#define ACT_UNINITIALIZED 0x00000000 // (0x000)
|
|
|
|
// group 0x000: stationary actions
|
|
#define ACT_IDLE 0x0C400201 // (0x001 | ACT_FLAG_STATIONARY | ACT_FLAG_IDLE | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_START_SLEEPING 0x0C400202 // (0x002 | ACT_FLAG_STATIONARY | ACT_FLAG_IDLE | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_SLEEPING 0x0C000203 // (0x003 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_WAKING_UP 0x0C000204 // (0x004 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_PANTING 0x0C400205 // (0x005 | ACT_FLAG_STATIONARY | ACT_FLAG_IDLE | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_PANTING_UNUSED 0x08000206 // (0x006 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_IDLE 0x08000207 // (0x007 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_HEAVY_IDLE 0x08000208 // (0x008 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_STANDING_AGAINST_WALL 0x0C400209 // (0x009 | ACT_FLAG_STATIONARY | ACT_FLAG_IDLE | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_COUGHING 0x0C40020A // (0x00A | ACT_FLAG_STATIONARY | ACT_FLAG_IDLE | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_SHIVERING 0x0C40020B // (0x00B | ACT_FLAG_STATIONARY | ACT_FLAG_IDLE | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_UNUSED_00C 0x0000000C // (0x00C)
|
|
#define ACT_IN_QUICKSAND 0x0002020D // (0x00D | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_NO_STANDING_DEATH 0x0002020E // (0x00E | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_UNUSED_00F 0x0000000F // (0x00F)
|
|
#define ACT_UNUSED_010 0x00000010 // (0x010)
|
|
|
|
#define ACT_UNUSED_01F 0x0000001F // (0x01F)
|
|
#define ACT_CROUCHING 0x0C008220 // (0x020 | ACT_FLAG_STATIONARY | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_START_CROUCHING 0x0C008221 // (0x021 | ACT_FLAG_STATIONARY | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_STOP_CROUCHING 0x0C008222 // (0x022 | ACT_FLAG_STATIONARY | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_START_CRAWLING 0x0C008223 // (0x023 | ACT_FLAG_STATIONARY | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_STOP_CRAWLING 0x0C008224 // (0x024 | ACT_FLAG_STATIONARY | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_SLIDE_KICK_SLIDE_STOP 0x08000225 // (0x025 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_SHOCKWAVE_BOUNCE 0x00020226 // (0x026 | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_FIRST_PERSON 0x0C000227 // (0x027 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_UNUSED_028 0x00000028 // (0x028)
|
|
|
|
#define ACT_UNUSED_02E 0x0000002E // (0x02E)
|
|
#define ACT_BACKFLIP_LAND_STOP 0x0800022F // (0x02F | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_JUMP_LAND_STOP 0x0C000230 // (0x030 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_DOUBLE_JUMP_LAND_STOP 0x0C000231 // (0x031 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_FREEFALL_LAND_STOP 0x0C000232 // (0x032 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_SIDE_FLIP_LAND_STOP 0x0C000233 // (0x033 | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_JUMP_LAND_STOP 0x08000234 // (0x034 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_FREEFALL_LAND_STOP 0x08000235 // (0x035 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_AIR_THROW_LAND 0x80000A36 // (0x036 | ACT_FLAG_STATIONARY | ACT_FLAG_AIR | ACT_FLAG_THROWING)
|
|
#define ACT_UNUSED_037 0x00000037 // (0x037)
|
|
#define ACT_TWIRL_LAND 0x18800238 // (0x038 | ACT_FLAG_STATIONARY | ACT_FLAG_ATTACKING | ACT_FLAG_PAUSE_EXIT | ACT_FLAG_SWIMMING_OR_FLYING)
|
|
#define ACT_LAVA_BOOST_LAND 0x08000239 // (0x039 | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_TRIPLE_JUMP_LAND_STOP 0x0800023A // (0x03A | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_LONG_JUMP_LAND_STOP 0x0800023B // (0x03B | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_GROUND_POUND_LAND 0x0080023C // (0x03C | ACT_FLAG_STATIONARY | ACT_FLAG_ATTACKING)
|
|
#define ACT_BRAKING_STOP 0x0C00023D // (0x03D | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_BUTT_SLIDE_STOP 0x0C00023E // (0x03E | ACT_FLAG_STATIONARY | ACT_FLAG_ALLOW_FIRST_PERSON | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_BUTT_SLIDE_STOP 0x0800043F // (0x03F | ACT_FLAG_MOVING | ACT_FLAG_PAUSE_EXIT)
|
|
|
|
// group 0x040: moving (ground) actions
|
|
#define ACT_WALKING 0x04000440 // (0x040 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_UNUSED_041 0x00000041 // (0x041)
|
|
#define ACT_HOLD_WALKING 0x00000442 // (0x042 | ACT_FLAG_MOVING)
|
|
#define ACT_TURNING_AROUND 0x00000443 // (0x043 | ACT_FLAG_MOVING)
|
|
#define ACT_FINISH_TURNING_AROUND 0x00000444 // (0x044 | ACT_FLAG_MOVING)
|
|
#define ACT_BRAKING 0x04000445 // (0x045 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_RIDING_SHELL_GROUND 0x20810446 // (0x046 | ACT_FLAG_MOVING | ACT_FLAG_RIDING_SHELL | ACT_FLAG_ATTACKING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_HOLD_HEAVY_WALKING 0x00000447 // (0x047 | ACT_FLAG_MOVING)
|
|
#define ACT_CRAWLING 0x04008448 // (0x048 | ACT_FLAG_MOVING | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_BURNING_GROUND 0x00020449 // (0x049 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_DECELERATING 0x0400044A // (0x04A | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_HOLD_DECELERATING 0x0000044B // (0x04B | ACT_FLAG_MOVING)
|
|
#define ACT_UNUSED_04C 0x0000004C // (0x04C)
|
|
#define ACT_UNUSED_04D 0x0000004D // (0x04D)
|
|
#define ACT_UNUSED_04E 0x0000004E // (0x04E)
|
|
#define ACT_UNUSED_04F 0x0000004F // (0x04F)
|
|
#define ACT_BEGIN_SLIDING 0x00000050 // (0x050)
|
|
#define ACT_HOLD_BEGIN_SLIDING 0x00000051 // (0x051)
|
|
#define ACT_BUTT_SLIDE 0x00840452 // (0x052 | ACT_FLAG_MOVING | ACT_FLAG_BUTT_OR_STOMACH_SLIDE | ACT_FLAG_ATTACKING)
|
|
#define ACT_STOMACH_SLIDE 0x008C0453 // (0x053 | ACT_FLAG_MOVING | ACT_FLAG_BUTT_OR_STOMACH_SLIDE | ACT_FLAG_DIVING | ACT_FLAG_ATTACKING)
|
|
#define ACT_HOLD_BUTT_SLIDE 0x00840454 // (0x054 | ACT_FLAG_MOVING | ACT_FLAG_BUTT_OR_STOMACH_SLIDE | ACT_FLAG_ATTACKING)
|
|
#define ACT_HOLD_STOMACH_SLIDE 0x008C0455 // (0x055 | ACT_FLAG_MOVING | ACT_FLAG_BUTT_OR_STOMACH_SLIDE | ACT_FLAG_DIVING | ACT_FLAG_ATTACKING)
|
|
#define ACT_DIVE_SLIDE 0x00880456 // (0x056 | ACT_FLAG_MOVING | ACT_FLAG_DIVING | ACT_FLAG_ATTACKING)
|
|
#define ACT_MOVE_PUNCHING 0x00800457 // (0x057 | ACT_FLAG_MOVING | ACT_FLAG_ATTACKING)
|
|
#define ACT_UNUSED_058 0x00000058 // (0x058)
|
|
#define ACT_CROUCH_SLIDE 0x04808459 // (0x059 | ACT_FLAG_MOVING | ACT_FLAG_SHORT_HITBOX | ACT_FLAG_ATTACKING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_SLIDE_KICK_SLIDE 0x0080045A // (0x05A | ACT_FLAG_MOVING | ACT_FLAG_ATTACKING)
|
|
#define ACT_UNUSED_05B 0x0000005B // (0x05B)
|
|
#define ACT_UNUSED_05C 0x0000005C // (0x05C)
|
|
#define ACT_UNUSED_05D 0x0000005D // (0x05D)
|
|
#define ACT_UNUSED_05E 0x0000005E // (0x05E)
|
|
#define ACT_UNUSED_05F 0x0000005F // (0x05F)
|
|
#define ACT_HARD_BACKWARD_GROUND_KB 0x00020460 // (0x060 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_HARD_FORWARD_GROUND_KB 0x00020461 // (0x061 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_BACKWARD_GROUND_KB 0x00020462 // (0x062 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_FORWARD_GROUND_KB 0x00020463 // (0x063 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_SOFT_BACKWARD_GROUND_KB 0x00020464 // (0x064 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_SOFT_FORWARD_GROUND_KB 0x00020465 // (0x065 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_GROUND_BONK 0x00020466 // (0x066 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_DEATH_EXIT_LAND 0x00020467 // (0x067 | ACT_FLAG_MOVING | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_UNUSED_068 0x00000068 // (0x068)
|
|
#define ACT_UNUSED_06C 0x0000006C // (0x06C)
|
|
#define ACT_UNUSED_06D 0x0000006D // (0x06D)
|
|
#define ACT_UNUSED_06E 0x0000006E // (0x06E)
|
|
#define ACT_UNUSED_06F 0x0000006F // (0x06F)
|
|
#define ACT_JUMP_LAND 0x04000470 // (0x070 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_FREEFALL_LAND 0x04000471 // (0x071 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_DOUBLE_JUMP_LAND 0x04000472 // (0x072 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_SIDE_FLIP_LAND 0x04000473 // (0x073 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_HOLD_JUMP_LAND 0x00000474 // (0x074 | ACT_FLAG_MOVING)
|
|
#define ACT_HOLD_FREEFALL_LAND 0x00000475 // (0x075 | ACT_FLAG_MOVING)
|
|
#define ACT_QUICKSAND_JUMP_LAND 0x00000476 // (0x076 | ACT_FLAG_MOVING)
|
|
#define ACT_HOLD_QUICKSAND_JUMP_LAND 0x00000477 // (0x077 | ACT_FLAG_MOVING)
|
|
#define ACT_TRIPLE_JUMP_LAND 0x04000478 // (0x078 | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_LONG_JUMP_LAND 0x00000479 // (0x079 | ACT_FLAG_MOVING)
|
|
#define ACT_BACKFLIP_LAND 0x0400047A // (0x07A | ACT_FLAG_MOVING | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_UNUSED_07B 0x0000007B // (0x07B)
|
|
#define ACT_UNUSED_07C 0x0000007C // (0x07C)
|
|
#define ACT_UNUSED_07D 0x0000007D // (0x07D)
|
|
#define ACT_UNUSED_07E 0x0000007E // (0x07E)
|
|
#define ACT_UNUSED_07F 0x0000007F // (0x07F)
|
|
|
|
// group 0x080: airborne actions
|
|
#define ACT_JUMP 0x03000880 // (0x080 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_DOUBLE_JUMP 0x03000881 // (0x081 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_TRIPLE_JUMP 0x01000882 // (0x082 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_BACKFLIP 0x01000883 // (0x083 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_UNUSED_084 0x00000084 // (0x084)
|
|
#define ACT_STEEP_JUMP 0x03000885 // (0x085 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_WALL_KICK_AIR 0x03000886 // (0x086 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_SIDE_FLIP 0x01000887 // (0x087 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_LONG_JUMP 0x03000888 // (0x088 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_WATER_JUMP 0x01000889 // (0x089 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_DIVE 0x0188088A // (0x08A | ACT_FLAG_AIR | ACT_FLAG_DIVING | ACT_FLAG_ATTACKING | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_FREEFALL 0x0100088C // (0x08C | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_TOP_OF_POLE_JUMP 0x0300088D // (0x08D | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_BUTT_SLIDE_AIR 0x0300088E // (0x08E | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_UNUSED_08F 0x0000008F // (0x08F)
|
|
#define ACT_UNUSED_090 0x00000090 // (0x090)
|
|
#define ACT_UNUSED_091 0x00000091 // (0x091)
|
|
#define ACT_UNUSED_092 0x00000092 // (0x092)
|
|
#define ACT_UNUSED_093 0x00000093 // (0x093)
|
|
#define ACT_FLYING_TRIPLE_JUMP 0x03000894 // (0x094 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_UNUSED_095 0x00000095 // (0x095)
|
|
#define ACT_UNUSED_096 0x00000096 // (0x096)
|
|
#define ACT_UNUSED_097 0x00000097 // (0x097)
|
|
#define ACT_SHOT_FROM_CANNON 0x00880898 // (0x098 | ACT_FLAG_AIR | ACT_FLAG_DIVING | ACT_FLAG_ATTACKING)
|
|
#define ACT_FLYING 0x10880899 // (0x099 | ACT_FLAG_AIR | ACT_FLAG_DIVING | ACT_FLAG_ATTACKING | ACT_FLAG_SWIMMING_OR_FLYING)
|
|
#define ACT_RIDING_SHELL_JUMP 0x0281089A // (0x09A | ACT_FLAG_AIR | ACT_FLAG_RIDING_SHELL | ACT_FLAG_ATTACKING | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_RIDING_SHELL_FALL 0x0081089B // (0x09B | ACT_FLAG_AIR | ACT_FLAG_RIDING_SHELL | ACT_FLAG_ATTACKING)
|
|
#define ACT_VERTICAL_WIND 0x1008089C // (0x09C | ACT_FLAG_AIR | ACT_FLAG_DIVING | ACT_FLAG_SWIMMING_OR_FLYING)
|
|
#define ACT_UNUSED_09D 0x0000009D // (0x09D)
|
|
#define ACT_UNUSED_09E 0x0000009E // (0x09E)
|
|
#define ACT_UNUSED_09F 0x0000009F // (0x09F)
|
|
#define ACT_HOLD_JUMP 0x030008A0 // (0x0A0 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_HOLD_FREEFALL 0x010008A1 // (0x0A1 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_HOLD_BUTT_SLIDE_AIR 0x010008A2 // (0x0A2 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_HOLD_WATER_JUMP 0x010008A3 // (0x0A3 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_TWIRLING 0x108008A4 // (0x0A4 | ACT_FLAG_AIR | ACT_FLAG_ATTACKING | ACT_FLAG_SWIMMING_OR_FLYING)
|
|
#define ACT_FORWARD_ROLLOUT 0x010008A6 // (0x0A6 | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_UNUSED_0A5 0x000000A5 // (0x0A5)
|
|
#define ACT_AIR_HIT_WALL 0x000008A7 // (0x0A7 | ACT_FLAG_AIR)
|
|
#define ACT_RIDING_HOOT 0x000004A8 // (0x0A8 | ACT_FLAG_MOVING)
|
|
#define ACT_GROUND_POUND 0x008008A9 // (0x0A9 | ACT_FLAG_AIR | ACT_FLAG_ATTACKING)
|
|
#define ACT_SLIDE_KICK 0x018008AA // (0x0AA | ACT_FLAG_AIR | ACT_FLAG_ATTACKING | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_AIR_THROW 0x830008AB // (0x0AB | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT | ACT_FLAG_THROWING)
|
|
#define ACT_JUMP_KICK 0x018008AC // (0x0AC | ACT_FLAG_AIR | ACT_FLAG_ATTACKING | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_BACKWARD_ROLLOUT 0x010008AD // (0x0AD | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_CRAZY_BOX_BOUNCE 0x000008AE // (0x0AE | ACT_FLAG_AIR)
|
|
#define ACT_SPECIAL_TRIPLE_JUMP 0x030008AF // (0x0AF | ACT_FLAG_AIR | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION | ACT_FLAG_CONTROL_JUMP_HEIGHT)
|
|
#define ACT_BACKWARD_AIR_KB 0x010208B0 // (0x0B0 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_FORWARD_AIR_KB 0x010208B1 // (0x0B1 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_HARD_FORWARD_AIR_KB 0x010208B2 // (0x0B2 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_HARD_BACKWARD_AIR_KB 0x010208B3 // (0x0B3 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_BURNING_JUMP 0x010208B4 // (0x0B4 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_BURNING_FALL 0x010208B5 // (0x0B5 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_SOFT_BONK 0x010208B6 // (0x0B6 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_LAVA_BOOST 0x010208B7 // (0x0B7 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_GETTING_BLOWN 0x010208B8 // (0x0B8 | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_UNUSED_0B9 0x000000B9 // (0x0B9)
|
|
|
|
#define ACT_UNUSED_0BC 0x000000BC // (0x0BC)
|
|
#define ACT_THROWN_FORWARD 0x010208BD // (0x0BD | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_THROWN_BACKWARD 0x010208BE // (0x0BE | ACT_FLAG_AIR | ACT_FLAG_INVULNERABLE | ACT_FLAG_ALLOW_VERTICAL_WIND_ACTION)
|
|
#define ACT_UNUSED_0BF 0x000000BF // (0x0BF)
|
|
|
|
// group 0x0C0: submerged actions
|
|
#define ACT_WATER_IDLE 0x380022C0 // (0x0C0 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_PAUSE_EXIT | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_HOLD_WATER_IDLE 0x380022C1 // (0x0C1 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_PAUSE_EXIT | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_WATER_ACTION_END 0x300022C2 // (0x0C2 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_HOLD_WATER_ACTION_END 0x300022C3 // (0x0C3 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_DROWNING 0x300032C4 // (0x0C4 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_BACKWARD_WATER_KB 0x300222C5 // (0x0C5 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_INVULNERABLE | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_FORWARD_WATER_KB 0x300222C6 // (0x0C6 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_INVULNERABLE | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_WATER_DEATH 0x300032C7 // (0x0C7 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_WATER_SHOCKED 0x300222C8 // (0x0C8 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_INVULNERABLE | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_UNUSED_0C9 0x000000C9 // (0x0C9)
|
|
#define ACT_UNUSED_0CA 0x000000CA // (0x0CA)
|
|
#define ACT_UNUSED_0CB 0x000000CB // (0x0CB)
|
|
#define ACT_UNUSED_0CC 0x000000CC // (0x0CC)
|
|
#define ACT_UNUSED_0CD 0x000000CD // (0x0CD)
|
|
#define ACT_UNUSED_0CE 0x000000CE // (0x0CE)
|
|
#define ACT_UNUSED_0CF 0x000000CF // (0x0CF)
|
|
#define ACT_BREASTSTROKE 0x300024D0 // (0x0D0 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_SWIMMING_END 0x300024D1 // (0x0D1 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_FLUTTER_KICK 0x300024D2 // (0x0D2 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_HOLD_BREASTSTROKE 0x300024D3 // (0x0D3 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_HOLD_SWIMMING_END 0x300024D4 // (0x0D4 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_HOLD_FLUTTER_KICK 0x300024D5 // (0x0D5 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_WATER_SHELL_SWIMMING 0x300024D6 // (0x0D6 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_UNUSED_0D7 0x000000D7 // (0x0D7)
|
|
#define ACT_UNUSED_0D8 0x000000D8 // (0x0D8)
|
|
#define ACT_UNUSED_0D9 0x000000D9 // (0x0D9)
|
|
#define ACT_UNUSED_0DA 0x000000DA // (0x0DA)
|
|
#define ACT_UNUSED_0DB 0x000000DB // (0x0DB)
|
|
#define ACT_UNUSED_0DC 0x000000DC // (0x0DC)
|
|
#define ACT_UNUSED_0DD 0x000000DD // (0x0DD)
|
|
#define ACT_UNUSED_0DE 0x000000DE // (0x0DE)
|
|
#define ACT_UNUSED_0DF 0x000000DF // (0x0DF)
|
|
#define ACT_WATER_THROW 0x300024E0 // (0x0E0 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_WATER_PUNCH 0x300024E1 // (0x0E1 | ACT_FLAG_MOVING | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_WATER_PLUNGE 0x300022E2 // (0x0E2 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_CAUGHT_IN_WHIRLPOOL 0x300222E3 // (0x0E3 | ACT_FLAG_STATIONARY | ACT_FLAG_SWIMMING | ACT_FLAG_INVULNERABLE | ACT_FLAG_SWIMMING_OR_FLYING | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_UNUSED_0E4 0x000000E4 // (0x0E4)
|
|
#define ACT_UNUSED_0E5 0x000000E5 // (0x0E5)
|
|
#define ACT_UNUSED_0E6 0x000000E6 // (0x0E6)
|
|
#define ACT_UNUSED_0E7 0x000000E7 // (0x0E7)
|
|
#define ACT_UNUSED_0E8 0x000000E8 // (0x0E8)
|
|
#define ACT_UNUSED_0E9 0x000000E9 // (0x0E9)
|
|
#define ACT_UNUSED_0EA 0x000000EA // (0x0EA)
|
|
#define ACT_UNUSED_0EB 0x000000EB // (0x0EB)
|
|
#define ACT_UNUSED_0EC 0x000000EC // (0x0EC)
|
|
#define ACT_UNUSED_0ED 0x000000ED // (0x0ED)
|
|
#define ACT_UNUSED_0EE 0x000000EE // (0x0EE)
|
|
#define ACT_UNUSED_0EF 0x000000EF // (0x0EF)
|
|
#define ACT_METAL_WATER_STANDING 0x080042F0 // (0x0F0 | ACT_FLAG_STATIONARY | ACT_FLAG_METAL_WATER | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HOLD_METAL_WATER_STANDING 0x080042F1 // (0x0F1 | ACT_FLAG_STATIONARY | ACT_FLAG_METAL_WATER | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_METAL_WATER_WALKING 0x000044F2 // (0x0F2 | ACT_FLAG_MOVING | ACT_FLAG_METAL_WATER)
|
|
#define ACT_HOLD_METAL_WATER_WALKING 0x000044F3 // (0x0F3 | ACT_FLAG_MOVING | ACT_FLAG_METAL_WATER)
|
|
#define ACT_METAL_WATER_FALLING 0x000042F4 // (0x0F4 | ACT_FLAG_STATIONARY | ACT_FLAG_METAL_WATER)
|
|
#define ACT_HOLD_METAL_WATER_FALLING 0x000042F5 // (0x0F5 | ACT_FLAG_STATIONARY | ACT_FLAG_METAL_WATER)
|
|
#define ACT_METAL_WATER_FALL_LAND 0x000042F6 // (0x0F6 | ACT_FLAG_STATIONARY | ACT_FLAG_METAL_WATER)
|
|
#define ACT_HOLD_METAL_WATER_FALL_LAND 0x000042F7 // (0x0F7 | ACT_FLAG_STATIONARY | ACT_FLAG_METAL_WATER)
|
|
#define ACT_METAL_WATER_JUMP 0x000044F8 // (0x0F8 | ACT_FLAG_MOVING | ACT_FLAG_METAL_WATER)
|
|
#define ACT_HOLD_METAL_WATER_JUMP 0x000044F9 // (0x0F9 | ACT_FLAG_MOVING | ACT_FLAG_METAL_WATER)
|
|
#define ACT_METAL_WATER_JUMP_LAND 0x000044FA // (0x0FA | ACT_FLAG_MOVING | ACT_FLAG_METAL_WATER)
|
|
#define ACT_HOLD_METAL_WATER_JUMP_LAND 0x000044FB // (0x0FB | ACT_FLAG_MOVING | ACT_FLAG_METAL_WATER)
|
|
#define ACT_UNUSED_0FC 0x000000FC // (0x0FC)
|
|
#define ACT_UNUSED_0FD 0x000000FD // (0x0FD)
|
|
#define ACT_UNUSED_0FE 0x000000FE // (0x0FE)
|
|
#define ACT_UNUSED_0FF 0x000000FF // (0x0FF)
|
|
|
|
// group 0x100: cutscene actions
|
|
#define ACT_DISAPPEARED 0x00001300 // (0x100 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_INTRO_CUTSCENE 0x04001301 // (0x101 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_ALLOW_FIRST_PERSON)
|
|
#define ACT_STAR_DANCE_EXIT 0x00001302 // (0x102 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_STAR_DANCE_WATER 0x00001303 // (0x103 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_FALL_AFTER_STAR_GRAB 0x00001904 // (0x104 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_READING_AUTOMATIC_DIALOG 0x20001305 // (0x105 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_READING_NPC_DIALOG 0x20001306 // (0x106 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_WATER_OR_TEXT)
|
|
#define ACT_STAR_DANCE_NO_EXIT 0x00001307 // (0x107 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_READING_SIGN 0x00001308 // (0x108 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_JUMBO_STAR_CUTSCENE 0x00001909 // (0x109 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_WAITING_FOR_DIALOG 0x0000130A // (0x10A | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNUSED_10B 0x0000010B // (0x10B)
|
|
#define ACT_UNUSED_10C 0x0000010C // (0x10C)
|
|
#define ACT_UNUSED_10D 0x0000010D // (0x10D)
|
|
#define ACT_UNUSED_10E 0x0000010E // (0x10E)
|
|
#define ACT_DEBUG_FREE_MOVE 0x0000130F // (0x10F | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNUSED_110 0x00000110 // (0x110)
|
|
#define ACT_STANDING_DEATH 0x00021311 // (0x111 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_QUICKSAND_DEATH 0x00021312 // (0x112 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_ELECTROCUTION 0x00021313 // (0x113 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_SUFFOCATION 0x00021314 // (0x114 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_DEATH_ON_STOMACH 0x00021315 // (0x115 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_DEATH_ON_BACK 0x00021316 // (0x116 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_EATEN_BY_BUBBA 0x00021317 // (0x117 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_END_PEACH_CUTSCENE 0x00001918 // (0x118 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_CREDITS_CUTSCENE 0x00001319 // (0x119 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_END_WAVING_CUTSCENE 0x0000131A // (0x11A | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNUSED_11B 0x0000011B // (0x11B)
|
|
#define ACT_UNUSED_11C 0x0000011C // (0x11C)
|
|
#define ACT_UNUSED_11D 0x0000011D // (0x11D)
|
|
#define ACT_UNUSED_11E 0x0000011E // (0x11E)
|
|
#define ACT_UNUSED_11F 0x0000011F // (0x11F)
|
|
#define ACT_PULLING_DOOR 0x00001320 // (0x120 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_PUSHING_DOOR 0x00001321 // (0x121 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_WARP_DOOR_SPAWN 0x00001322 // (0x122 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_EMERGE_FROM_PIPE 0x00001923 // (0x123 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SPAWN_SPIN_AIRBORNE 0x00001924 // (0x124 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SPAWN_SPIN_LANDING 0x00001325 // (0x125 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_EXIT_AIRBORNE 0x00001926 // (0x126 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_EXIT_LAND_SAVE_DIALOG 0x00001327 // (0x127 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_DEATH_EXIT 0x00001928 // (0x128 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNUSED_DEATH_EXIT 0x00001929 // (0x129 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_FALLING_DEATH_EXIT 0x0000192A // (0x12A | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SPECIAL_EXIT_AIRBORNE 0x0000192B // (0x12B | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SPECIAL_DEATH_EXIT 0x0000192C // (0x12C | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_FALLING_EXIT_AIRBORNE 0x0000192D // (0x12D | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNLOCKING_KEY_DOOR 0x0000132E // (0x12E | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNLOCKING_STAR_DOOR 0x0000132F // (0x12F | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNUSED_130 0x00000130 // (0x130)
|
|
#define ACT_ENTERING_STAR_DOOR 0x00001331 // (0x131 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SPAWN_NO_SPIN_AIRBORNE 0x00001932 // (0x132 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SPAWN_NO_SPIN_LANDING 0x00001333 // (0x133 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_BBH_ENTER_JUMP 0x00001934 // (0x134 | ACT_FLAG_AIR | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_BBH_ENTER_SPIN 0x00001535 // (0x135 | ACT_FLAG_MOVING | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_TELEPORT_FADE_OUT 0x00001336 // (0x136 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_TELEPORT_FADE_IN 0x00001337 // (0x137 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_SHOCKED 0x00020338 // (0x138 | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_SQUISHED 0x00020339 // (0x139 | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_HEAD_STUCK_IN_GROUND 0x0002033A // (0x13A | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_BUTT_STUCK_IN_GROUND 0x0002033B // (0x13B | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_FEET_STUCK_IN_GROUND 0x0002033C // (0x13C | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_PUTTING_ON_CAP 0x0000133D // (0x13D | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_UNUSED_13E 0x0000013E // (0x13E)
|
|
#define ACT_UNUSED_13F 0x0000013F // (0x13F)
|
|
|
|
// group 0x140: "automatic" actions
|
|
#define ACT_HOLDING_POLE 0x08100340 // (0x140 | ACT_FLAG_STATIONARY | ACT_FLAG_ON_POLE | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_GRAB_POLE_SLOW 0x00100341 // (0x141 | ACT_FLAG_STATIONARY | ACT_FLAG_ON_POLE)
|
|
#define ACT_GRAB_POLE_FAST 0x00100342 // (0x142 | ACT_FLAG_STATIONARY | ACT_FLAG_ON_POLE)
|
|
#define ACT_CLIMBING_POLE 0x00100343 // (0x143 | ACT_FLAG_STATIONARY | ACT_FLAG_ON_POLE)
|
|
#define ACT_TOP_OF_POLE_TRANSITION 0x00100344 // (0x144 | ACT_FLAG_STATIONARY | ACT_FLAG_ON_POLE)
|
|
#define ACT_TOP_OF_POLE 0x00100345 // (0x145 | ACT_FLAG_STATIONARY | ACT_FLAG_ON_POLE)
|
|
#define ACT_UNUSED_146 0x00000146 // (0x146)
|
|
#define ACT_UNUSED_147 0x00000147 // (0x147)
|
|
#define ACT_START_HANGING 0x08200348 // (0x148 | ACT_FLAG_STATIONARY | ACT_FLAG_HANGING | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_HANGING 0x00200349 // (0x149 | ACT_FLAG_STATIONARY | ACT_FLAG_HANGING)
|
|
#define ACT_HANG_MOVING 0x0020054A // (0x14A | ACT_FLAG_MOVING | ACT_FLAG_HANGING)
|
|
#define ACT_LEDGE_GRAB 0x0800034B // (0x14B | ACT_FLAG_STATIONARY | ACT_FLAG_PAUSE_EXIT)
|
|
#define ACT_LEDGE_CLIMB_SLOW_1 0x0000054C // (0x14C | ACT_FLAG_MOVING)
|
|
#define ACT_LEDGE_CLIMB_SLOW_2 0x0000054D // (0x14D | ACT_FLAG_MOVING)
|
|
#define ACT_LEDGE_CLIMB_DOWN 0x0000054E // (0x14E | ACT_FLAG_MOVING)
|
|
#define ACT_LEDGE_CLIMB_FAST 0x0000054F // (0x14F | ACT_FLAG_MOVING)
|
|
#define ACT_UNUSED_150 0x00000150 // (0x150)
|
|
#define ACT_UNUSED_151 0x00000151 // (0x151)
|
|
#define ACT_UNUSED_152 0x00000152 // (0x152)
|
|
#define ACT_UNUSED_153 0x00000153 // (0x153)
|
|
#define ACT_UNUSED_154 0x00000154 // (0x154)
|
|
#define ACT_UNUSED_155 0x00000155 // (0x155)
|
|
#define ACT_UNUSED_156 0x00000156 // (0x156)
|
|
#define ACT_UNUSED_157 0x00000157 // (0x157)
|
|
#define ACT_UNUSED_158 0x00000158 // (0x158)
|
|
#define ACT_UNUSED_159 0x00000159 // (0x159)
|
|
#define ACT_UNUSED_15A 0x0000015A // (0x15A)
|
|
#define ACT_UNUSED_15B 0x0000015B // (0x15B)
|
|
#define ACT_UNUSED_15C 0x0000015C // (0x15C)
|
|
#define ACT_UNUSED_15D 0x0000015D // (0x15D)
|
|
#define ACT_UNUSED_15E 0x0000015E // (0x15E)
|
|
#define ACT_UNUSED_15F 0x0000015F // (0x15F)
|
|
#define ACT_UNUSED_160 0x00000160 // (0x160)
|
|
#define ACT_UNUSED_161 0x00000161 // (0x161)
|
|
#define ACT_UNUSED_162 0x00000162 // (0x162)
|
|
#define ACT_UNUSED_163 0x00000163 // (0x163)
|
|
#define ACT_UNUSED_164 0x00000164 // (0x164)
|
|
#define ACT_UNUSED_165 0x00000165 // (0x165)
|
|
#define ACT_UNUSED_166 0x00000166 // (0x166)
|
|
#define ACT_UNUSED_167 0x00000167 // (0x167)
|
|
#define ACT_UNUSED_168 0x00000168 // (0x168)
|
|
#define ACT_UNUSED_169 0x00000169 // (0x169)
|
|
#define ACT_UNUSED_16A 0x0000016A // (0x16A)
|
|
#define ACT_UNUSED_16B 0x0000016B // (0x16B)
|
|
#define ACT_UNUSED_16C 0x0000016C // (0x16C)
|
|
#define ACT_UNUSED_16D 0x0000016D // (0x16D)
|
|
#define ACT_UNUSED_16E 0x0000016E // (0x16E)
|
|
#define ACT_UNUSED_16F 0x0000016F // (0x16F)
|
|
#define ACT_GRABBED 0x00020370 // (0x170 | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE)
|
|
#define ACT_IN_CANNON 0x00001371 // (0x171 | ACT_FLAG_STATIONARY | ACT_FLAG_INTANGIBLE)
|
|
#define ACT_TORNADO_TWIRLING 0x10020372 // (0x172 | ACT_FLAG_STATIONARY | ACT_FLAG_INVULNERABLE | ACT_FLAG_SWIMMING_OR_FLYING)
|
|
#define ACT_UNUSED_173 0x00000173 // (0x173)
|
|
#define ACT_UNUSED_174 0x00000174 // (0x174)
|
|
#define ACT_UNUSED_175 0x00000175 // (0x175)
|
|
#define ACT_UNUSED_176 0x00000176 // (0x176)
|
|
#define ACT_UNUSED_177 0x00000177 // (0x177)
|
|
#define ACT_UNUSED_178 0x00000178 // (0x178)
|
|
#define ACT_UNUSED_179 0x00000179 // (0x179)
|
|
#define ACT_UNUSED_17A 0x0000017A // (0x17A)
|
|
#define ACT_UNUSED_17B 0x0000017B // (0x17B)
|
|
#define ACT_UNUSED_17C 0x0000017C // (0x17C)
|
|
#define ACT_UNUSED_17D 0x0000017D // (0x17D)
|
|
#define ACT_UNUSED_17E 0x0000017E // (0x17E)
|
|
#define ACT_UNUSED_17F 0x0000017F // (0x17F)
|
|
|
|
// group 0x180: object actions
|
|
#define ACT_PUNCHING 0x00800380 // (0x180 | ACT_FLAG_STATIONARY | ACT_FLAG_ATTACKING)
|
|
#define ACT_UNUSED_181 0x00000181 // (0x181)
|
|
#define ACT_UNUSED_182 0x00000182 // (0x182)
|
|
#define ACT_PICKING_UP 0x00000383 // (0x183 | ACT_FLAG_STATIONARY)
|
|
#define ACT_UNUSED_184 0x00000184 // (0x184)
|
|
#define ACT_DIVE_PICKING_UP 0x00000385 // (0x185 | ACT_FLAG_STATIONARY)
|
|
#define ACT_STOMACH_SLIDE_STOP 0x00000386 // (0x186 | ACT_FLAG_STATIONARY)
|
|
#define ACT_PLACING_DOWN 0x00000387 // (0x187 | ACT_FLAG_STATIONARY)
|
|
#define ACT_THROWING 0x80000588 // (0x188 | ACT_FLAG_MOVING | ACT_FLAG_THROWING)
|
|
#define ACT_HEAVY_THROW 0x80000589 // (0x189 | ACT_FLAG_MOVING | ACT_FLAG_THROWING)
|
|
#define ACT_UNUSED_18A 0x0000018A // (0x18A)
|
|
#define ACT_UNUSED_18B 0x0000018B // (0x18B)
|
|
#define ACT_UNUSED_18C 0x0000018C // (0x18C)
|
|
#define ACT_UNUSED_18D 0x0000018D // (0x18D)
|
|
#define ACT_UNUSED_18E 0x0000018E // (0x18E)
|
|
#define ACT_UNUSED_18F 0x0000018F // (0x18F)
|
|
#define ACT_PICKING_UP_BOWSER 0x00000390 // (0x190 | ACT_FLAG_STATIONARY)
|
|
#define ACT_HOLDING_BOWSER 0x00000391 // (0x191 | ACT_FLAG_STATIONARY)
|
|
#define ACT_RELEASING_BOWSER 0x00000392 // (0x192 | ACT_FLAG_STATIONARY)
|
|
#define ACT_UNUSED_193 0x00000193 // (0x193)
|
|
#define ACT_UNUSED_194 0x00000194 // (0x194)
|
|
#define ACT_UNUSED_195 0x00000195 // (0x195)
|
|
#define ACT_UNUSED_196 0x00000196 // (0x196)
|
|
#define ACT_UNUSED_197 0x00000197 // (0x197)
|
|
#define ACT_UNUSED_198 0x00000198 // (0x198)
|
|
#define ACT_UNUSED_199 0x00000199 // (0x199)
|
|
#define ACT_UNUSED_19A 0x0000019A // (0x19A)
|
|
#define ACT_UNUSED_19B 0x0000019B // (0x19B)
|
|
#define ACT_UNUSED_19C 0x0000019C // (0x19C)
|
|
#define ACT_UNUSED_19D 0x0000019D // (0x19D)
|
|
#define ACT_UNUSED_19E 0x0000019E // (0x19E)
|
|
#define ACT_UNUSED_19F 0x0000019F // (0x19F)
|
|
#define ACT_UNUSED_1A0 0x000001A0 // (0x1A0)
|
|
#define ACT_UNUSED_1A1 0x000001A1 // (0x1A1)
|
|
#define ACT_UNUSED_1A2 0x000001A2 // (0x1A2)
|
|
#define ACT_UNUSED_1A3 0x000001A3 // (0x1A3)
|
|
#define ACT_UNUSED_1A4 0x000001A4 // (0x1A4)
|
|
#define ACT_UNUSED_1A5 0x000001A5 // (0x1A5)
|
|
#define ACT_UNUSED_1A6 0x000001A6 // (0x1A6)
|
|
#define ACT_UNUSED_1A7 0x000001A7 // (0x1A7)
|
|
#define ACT_UNUSED_1A8 0x000001A8 // (0x1A8)
|
|
#define ACT_UNUSED_1A9 0x000001A9 // (0x1A9)
|
|
#define ACT_UNUSED_1AA 0x000001AA // (0x1AA)
|
|
#define ACT_UNUSED_1AB 0x000001AB // (0x1AB)
|
|
#define ACT_UNUSED_1AC 0x000001AC // (0x1AC)
|
|
#define ACT_UNUSED_1AD 0x000001AD // (0x1AD)
|
|
#define ACT_UNUSED_1AE 0x000001AE // (0x1AE)
|
|
#define ACT_UNUSED_1AF 0x000001AF // (0x1AF)
|
|
#define ACT_UNUSED_1B0 0x000001B0 // (0x1B0)
|
|
#define ACT_UNUSED_1B1 0x000001B1 // (0x1B1)
|
|
#define ACT_UNUSED_1B2 0x000001B2 // (0x1B2)
|
|
#define ACT_UNUSED_1B3 0x000001B3 // (0x1B3)
|
|
#define ACT_UNUSED_1B4 0x000001B4 // (0x1B4)
|
|
#define ACT_UNUSED_1B5 0x000001B5 // (0x1B5)
|
|
#define ACT_UNUSED_1B6 0x000001B6 // (0x1B6)
|
|
#define ACT_UNUSED_1B7 0x000001B7 // (0x1B7)
|
|
#define ACT_UNUSED_1B8 0x000001B8 // (0x1B8)
|
|
#define ACT_UNUSED_1B9 0x000001B9 // (0x1B9)
|
|
#define ACT_UNUSED_1BA 0x000001BA // (0x1BA)
|
|
#define ACT_UNUSED_1BB 0x000001BB // (0x1BB)
|
|
#define ACT_UNUSED_1BC 0x000001BC // (0x1BC)
|
|
#define ACT_UNUSED_1BD 0x000001BD // (0x1BD)
|
|
#define ACT_UNUSED_1BE 0x000001BE // (0x1BE)
|
|
#define ACT_UNUSED_1BF 0x000001BF // (0x1BF)
|
|
|
|
// group 0x1C0: custom actions
|
|
// 0x1C0 - 0x1FF
|
|
|
|
/*
|
|
this input mask is unused by the controller,
|
|
but END_DEMO is used internally to signal
|
|
the demo to end. This button cannot
|
|
be pressed normally by a controller.
|
|
*/
|
|
#define END_DEMO (1 << 7)
|
|
|
|
#define VALID_BUTTONS (A_BUTTON | B_BUTTON | Z_TRIG | START_BUTTON | \
|
|
U_JPAD | D_JPAD | L_JPAD | R_JPAD | \
|
|
L_TRIG | R_TRIG | \
|
|
U_CBUTTONS | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS )
|
|
|
|
#define C_BUTTONS (U_CBUTTONS | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS )
|
|
|
|
#define JPAD_BUTTONS (U_JPAD | D_JPAD | L_JPAD | R_JPAD )
|
|
|
|
#endif // SM64_H
|