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>
218 lines
19 KiB
C
218 lines
19 KiB
C
#include <ultra64.h>
|
|
#include "sm64.h"
|
|
#include "behavior_data.h"
|
|
#include "model_ids.h"
|
|
#include "seq_ids.h"
|
|
#include "dialog_ids.h"
|
|
#include "segment_symbols.h"
|
|
#include "level_commands.h"
|
|
|
|
#include "game/level_update.h"
|
|
|
|
#include "levels/scripts.h"
|
|
|
|
#include "actors/common1.h"
|
|
|
|
#include "make_const_nonconst.h"
|
|
#include "levels/lll/header.h"
|
|
|
|
// Unlike most levels, level geometry objects in LLL are defined as regular objects instead of terrain objects.
|
|
static const LevelScript script_func_local_1[] = {
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_03, /*pos*/ 3840, 0, -5631, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_04, /*pos*/ 4992, 0, -639, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_05, /*pos*/ 7168, 0, 1408, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_06, /*pos*/ 0, 0, 3712, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_07, /*pos*/ -3199, 0, 3456, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_08, /*pos*/ -5119, 0, -2047, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0A, /*pos*/ 0, 0, 0, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0B, /*pos*/ 0, 0, 6272, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0C, /*pos*/ 5632, 0, 1408, /*angle*/ 0, 270, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0C, /*pos*/ 2048, 0, 3456, /*angle*/ 0, 180, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0C, /*pos*/ -4607, 0, 3456, /*angle*/ 0, 270, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0C, /*pos*/ -5119, 0, -511, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0D, /*pos*/ 0, 0, -2047, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
OBJECT(/*model*/ MODEL_LEVEL_GEOMETRY_0E, /*pos*/ -5115, 300, -3200, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvStaticObject),
|
|
RETURN(),
|
|
};
|
|
|
|
static const LevelScript script_func_local_2[] = {
|
|
OBJECT(/*model*/ MODEL_LLL_DRAWBRIDGE_PART, /*pos*/ -1919, 307, 3648, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllDrawbridgeSpawner),
|
|
OBJECT(/*model*/ MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, /*pos*/ -5119, 307, -4095, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllRotatingBlockWithFireBars),
|
|
OBJECT(/*model*/ MODEL_LLL_ROTATING_HEXAGONAL_RING, /*pos*/ 0, 0, 0, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllRotatingHexagonalRing),
|
|
OBJECT(/*model*/ MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, /*pos*/ 3968, 0, 1408, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllSinkingRectangularPlatform),
|
|
OBJECT(/*model*/ MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, /*pos*/ -5759, 0, 3072, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllSinkingRectangularPlatform),
|
|
OBJECT(/*model*/ MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, /*pos*/ 2816, 0, 512, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllSinkingRectangularPlatform),
|
|
OBJECT(/*model*/ MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, /*pos*/ -1791, 0, -4095, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllSinkingRectangularPlatform),
|
|
OBJECT(/*model*/ MODEL_LLL_SINKING_SQUARE_PLATFORMS, /*pos*/ 3840, 0, -3199, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllSinkingSquarePlatforms),
|
|
OBJECT(/*model*/ MODEL_LLL_TILTING_SQUARE_PLATFORM, /*pos*/ 922, -153, 2150, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllTiltingInvertedPyramid),
|
|
OBJECT(/*model*/ MODEL_LLL_TILTING_SQUARE_PLATFORM, /*pos*/ 1741, -153, 1741, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllTiltingInvertedPyramid),
|
|
OBJECT(/*model*/ MODEL_LLL_TILTING_SQUARE_PLATFORM, /*pos*/ 1741, -153, 2560, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllTiltingInvertedPyramid),
|
|
OBJECT(/*model*/ MODEL_LLL_TILTING_SQUARE_PLATFORM, /*pos*/ 2099, -153, -306, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllTiltingInvertedPyramid),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -5119, 102, 1024, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllBowserPuzzle),
|
|
RETURN(),
|
|
};
|
|
|
|
static const LevelScript script_func_local_3[] = {
|
|
OBJECT(/*model*/ MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, /*pos*/ 1124, 0, -4607, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllMovingOctagonalMeshPlatform),
|
|
OBJECT(/*model*/ MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, /*pos*/ 7168, 0, 2432, /*angle*/ 0, 0, 0, /*behParam*/ 0x00010000, /*beh*/ bhvLllMovingOctagonalMeshPlatform),
|
|
OBJECT(/*model*/ MODEL_LLL_SINKING_ROCK_BLOCK, /*pos*/ 7168, 0, 7296, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllSinkingRockBlock),
|
|
OBJECT(/*model*/ MODEL_LLL_ROLLING_LOG, /*pos*/ 6144, 307, 6016, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllRollingLog),
|
|
OBJECT(/*model*/ MODEL_LLL_ROTATING_HEXAGONAL_PLATFORM, /*pos*/ -5119, 0, -4095, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllRotatingHexagonalPlatform),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -3583, 0, -4095, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllFloatingWoodBridge),
|
|
RETURN(),
|
|
};
|
|
|
|
static const LevelScript script_func_local_4[] = {
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -3199, 307, 3456, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvMrI),
|
|
OBJECT(/*model*/ MODEL_BULLY_BOSS, /*pos*/ 0, 307, -4385, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBigBully),
|
|
OBJECT(/*model*/ MODEL_BULLY_BOSS, /*pos*/ 4046, 2234, -5521, /*angle*/ 0, 0, 0, /*behParam*/ 0x01000000, /*beh*/ bhvBigBullyWithMinions),
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ -5119, 307, -2482, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ 0, 307, 3712, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ 6813, 307, 1613, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ 7168, 307, 998, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
OBJECT(/*model*/ MODEL_BULLY, /*pos*/ -5130, 285, -1663, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvSmallBully),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 0, 200, -2048, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvFlamethrower),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 500, 2, 5000, /*angle*/ 0, 270, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -700, 2, 4500, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -6300, 2, 2625, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -3280, 2, -4854, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 5996, 2, -390, /*angle*/ 0, 315, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 5423, 2, -1991, /*angle*/ 0, 315, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 4921, 2, -1504, /*angle*/ 0, 90, 0, /*behParam*/ 0x00000000, /*beh*/ bhvBouncingFireball),
|
|
OBJECT_WITH_ACTS(/*model*/ MODEL_EXCLAMATION_BOX, /*pos*/ 1050, 550, 6200, /*angle*/ 0, 0, 0, /*behParam*/ 0x00030000, /*beh*/ bhvExclamationBox, /*acts*/ ACT_5 | ACT_6),
|
|
RETURN(),
|
|
};
|
|
|
|
static const LevelScript script_func_local_5[] = {
|
|
OBJECT_WITH_ACTS(/*model*/ MODEL_NONE, /*pos*/ -4400, 350, 250, /*angle*/ 0, 0, 0, /*behParam*/ 0x02000000, /*beh*/ bhvHiddenRedCoinStar, /*acts*/ ALL_ACTS),
|
|
OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ 3100, 400, 7900, /*angle*/ 0, 0, 0, /*behParam*/ 0x03000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS),
|
|
RETURN(),
|
|
};
|
|
|
|
static const LevelScript script_func_local_6[] = {
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 728, 2606, -2754, /*angle*/ 0, 0, 0, /*behParam*/ 0x00380000, /*beh*/ bhvPoleGrabbing),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1043, 2972, -2679, /*angle*/ 0, 0, 0, /*behParam*/ 0x004E0000, /*beh*/ bhvPoleGrabbing),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1078, 3078, -2269, /*angle*/ 0, 0, 0, /*behParam*/ 0x00660000, /*beh*/ bhvPoleGrabbing),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 1413, 3222, -2190, /*angle*/ 0, 0, 0, /*behParam*/ 0x00520000, /*beh*/ bhvPoleGrabbing),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 783, 1126, -47, /*angle*/ 0, 0, 0, /*behParam*/ 0x00660000, /*beh*/ bhvPoleGrabbing),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 662, 2150, 708, /*angle*/ 0, 0, 0, /*behParam*/ 0x00660000, /*beh*/ bhvPoleGrabbing),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 2943, 476, 10, /*angle*/ 0, 270, 0, /*behParam*/ 0x00020000, /*beh*/ bhvFlamethrower),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -2759, 2350, -1108, /*angle*/ 0, 60, 0, /*behParam*/ 0x00020000, /*beh*/ bhvFlamethrower),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -2472, 2350, -1605, /*angle*/ 0, 60, 0, /*behParam*/ 0x00020000, /*beh*/ bhvFlamethrower),
|
|
OBJECT(/*model*/ MODEL_LLL_VOLCANO_FALLING_TRAP, /*pos*/ -485, 1203, 2933, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllVolcanoFallingTrap),
|
|
OBJECT(/*model*/ MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, /*pos*/ 417, 2150, 583, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvLllRotatingBlockWithFireBars),
|
|
OBJECT(/*model*/ MODEL_CHECKERBOARD_PLATFORM, /*pos*/ -764, 0, 1664, /*angle*/ 0, 180, 0, /*behParam*/ 0x08A50000, /*beh*/ bhvPlatformOnTrack),
|
|
OBJECT(/*model*/ MODEL_CHECKERBOARD_PLATFORM, /*pos*/ 184, 980, -1366, /*angle*/ 0, 180, 0, /*behParam*/ 0x08A60000, /*beh*/ bhvPlatformOnTrack),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -26, 103, -2649, /*angle*/ 0, 0, 0, /*behParam*/ 0x00000000, /*beh*/ bhvVolcanoSoundLoop),
|
|
RETURN(),
|
|
};
|
|
|
|
static const LevelScript script_func_local_7[] = {
|
|
OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ 2523, 3850, -901, /*angle*/ 0, 0, 0, /*behParam*/ 0x04000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS),
|
|
OBJECT_WITH_ACTS(/*model*/ MODEL_STAR, /*pos*/ 1800, 3400, 1450, /*angle*/ 0, 0, 0, /*behParam*/ 0x05000000, /*beh*/ bhvStar, /*acts*/ ALL_ACTS),
|
|
RETURN(),
|
|
};
|
|
|
|
const LevelScript level_lll_entry[] = {
|
|
INIT_LEVEL(),
|
|
LOAD_YAY0( /*seg*/ 0x07, _lll_segment_7SegmentRomStart, _lll_segment_7SegmentRomEnd),
|
|
LOAD_YAY0_TEXTURE(/*seg*/ 0x09, _fire_yay0SegmentRomStart, _fire_yay0SegmentRomEnd),
|
|
LOAD_YAY0( /*seg*/ 0x0A, _bitfs_skybox_yay0SegmentRomStart, _bitfs_skybox_yay0SegmentRomEnd),
|
|
LOAD_YAY0( /*seg*/ 0x0B, _effect_yay0SegmentRomStart, _effect_yay0SegmentRomEnd),
|
|
LOAD_YAY0( /*seg*/ 0x05, _group2_yay0SegmentRomStart, _group2_yay0SegmentRomEnd),
|
|
LOAD_RAW( /*seg*/ 0x0C, _group2_geoSegmentRomStart, _group2_geoSegmentRomEnd),
|
|
LOAD_YAY0( /*seg*/ 0x06, _group17_yay0SegmentRomStart, _group17_yay0SegmentRomEnd),
|
|
LOAD_RAW( /*seg*/ 0x0D, _group17_geoSegmentRomStart, _group17_geoSegmentRomEnd),
|
|
LOAD_YAY0( /*seg*/ 0x08, _common0_yay0SegmentRomStart, _common0_yay0SegmentRomEnd),
|
|
LOAD_RAW( /*seg*/ 0x0F, _common0_geoSegmentRomStart, _common0_geoSegmentRomEnd),
|
|
ALLOC_LEVEL_POOL(),
|
|
MARIO(/*model*/ MODEL_MARIO, /*behParam*/ 0x00000001, /*beh*/ bhvMario),
|
|
JUMP_LINK(script_func_global_1),
|
|
JUMP_LINK(script_func_global_3),
|
|
JUMP_LINK(script_func_global_18),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_03, lll_geo_0009E0),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_04, lll_geo_0009F8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_05, lll_geo_000A10),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_06, lll_geo_000A28),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_07, lll_geo_000A40),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_08, lll_geo_000A60),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_0A, lll_geo_000A90),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_0B, lll_geo_000AA8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_0C, lll_geo_000AC0),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_0D, lll_geo_000AD8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LEVEL_GEOMETRY_0E, lll_geo_000AF0),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_DRAWBRIDGE_PART, lll_geo_000B20),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_ROTATING_BLOCK_FIRE_BARS, lll_geo_000B38),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_ROTATING_HEXAGONAL_RING, lll_geo_000BB0),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_SINKING_RECTANGULAR_PLATFORM, lll_geo_000BC8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_SINKING_SQUARE_PLATFORMS, lll_geo_000BE0),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_TILTING_SQUARE_PLATFORM, lll_geo_000BF8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_1, lll_geo_bowser_puzzle_piece_1),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_2, lll_geo_bowser_puzzle_piece_2),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_3, lll_geo_bowser_puzzle_piece_3),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_4, lll_geo_bowser_puzzle_piece_4),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_5, lll_geo_bowser_puzzle_piece_5),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_6, lll_geo_bowser_puzzle_piece_6),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_7, lll_geo_bowser_puzzle_piece_7),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_8, lll_geo_bowser_puzzle_piece_8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_9, lll_geo_bowser_puzzle_piece_9),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_10, lll_geo_bowser_puzzle_piece_10),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_11, lll_geo_bowser_puzzle_piece_11),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_12, lll_geo_bowser_puzzle_piece_12),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_13, lll_geo_bowser_puzzle_piece_13),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_BOWSER_PIECE_14, lll_geo_bowser_puzzle_piece_14),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_MOVING_OCTAGONAL_MESH_PLATFORM, lll_geo_000B08),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_SINKING_ROCK_BLOCK, lll_geo_000DD0),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_ROLLING_LOG, lll_geo_000DE8),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_ROTATING_HEXAGONAL_PLATFORM, lll_geo_000A78),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_WOOD_BRIDGE, lll_geo_000B50),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_LARGE_WOOD_BRIDGE, lll_geo_000B68),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_FALLING_PLATFORM, lll_geo_000B80),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_LARGE_FALLING_PLATFORM, lll_geo_000B98),
|
|
LOAD_MODEL_FROM_GEO(MODEL_LLL_VOLCANO_FALLING_TRAP, lll_geo_000EA8),
|
|
|
|
AREA(/*index*/ 1, lll_geo_000E00),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -3839, 1154, 6272, /*angle*/ 0, 90, 0, /*behParam*/ 0x000A0000, /*beh*/ bhvSpinAirborneWarp),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ 0, 105, 0, /*angle*/ 0, 0, 0, /*behParam*/ 0x190B0000, /*beh*/ bhvWarp),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -3200, 11, 3456, /*angle*/ 0, -100, 0, /*behParam*/ 0x000C0000, /*beh*/ bhvFadingWarp),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -5888, 154, 6656, /*angle*/ 0, 100, 0, /*behParam*/ 0x000D0000, /*beh*/ bhvFadingWarp),
|
|
WARP_NODE(/*id*/ 0x0A, /*destLevel*/ LEVEL_LLL, /*destArea*/ 0x01, /*destNode*/ 0x0A, /*flags*/ WARP_NO_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0x0B, /*destLevel*/ LEVEL_LLL, /*destArea*/ 0x02, /*destNode*/ 0x0A, /*flags*/ WARP_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0x0C, /*destLevel*/ LEVEL_LLL, /*destArea*/ 0x01, /*destNode*/ 0x0D, /*flags*/ WARP_NO_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0x0D, /*destLevel*/ LEVEL_LLL, /*destArea*/ 0x01, /*destNode*/ 0x0C, /*flags*/ WARP_NO_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0xF0, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x03, /*destNode*/ 0x32, /*flags*/ WARP_NO_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0xF1, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x03, /*destNode*/ 0x64, /*flags*/ WARP_NO_CHECKPOINT),
|
|
JUMP_LINK(script_func_local_1),
|
|
JUMP_LINK(script_func_local_2),
|
|
JUMP_LINK(script_func_local_3),
|
|
JUMP_LINK(script_func_local_4),
|
|
JUMP_LINK(script_func_local_5),
|
|
TERRAIN(/*terrainData*/ lll_seg7_area_1_collision),
|
|
MACRO_OBJECTS(/*objList*/ lll_seg7_area_1_macro_objs),
|
|
SHOW_DIALOG(/*index*/ 0x00, DIALOG_097),
|
|
SET_BACKGROUND_MUSIC(/*settingsPreset*/ 0x0000, /*seq*/ SEQ_LEVEL_HOT),
|
|
TERRAIN_TYPE(/*terrainType*/ TERRAIN_STONE),
|
|
END_AREA(),
|
|
|
|
AREA(/*index*/ 2, lll_geo_000EC0),
|
|
OBJECT(/*model*/ MODEL_NONE, /*pos*/ -955, 1103, -1029, /*angle*/ 0, 118, 0, /*behParam*/ 0x000A0000, /*beh*/ bhvAirborneWarp),
|
|
WARP_NODE(/*id*/ 0x0A, /*destLevel*/ LEVEL_LLL, /*destArea*/ 0x02, /*destNode*/ 0x0A, /*flags*/ WARP_NO_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0xF0, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x03, /*destNode*/ 0x32, /*flags*/ WARP_NO_CHECKPOINT),
|
|
WARP_NODE(/*id*/ 0xF1, /*destLevel*/ LEVEL_CASTLE, /*destArea*/ 0x03, /*destNode*/ 0x64, /*flags*/ WARP_NO_CHECKPOINT),
|
|
JUMP_LINK(script_func_local_6),
|
|
JUMP_LINK(script_func_local_7),
|
|
TERRAIN(/*terrainData*/ lll_seg7_area_2_collision),
|
|
MACRO_OBJECTS(/*objList*/ lll_seg7_area_2_macro_objs),
|
|
SET_BACKGROUND_MUSIC(/*settingsPreset*/ 0x0004, /*seq*/ SEQ_LEVEL_HOT),
|
|
TERRAIN_TYPE(/*terrainType*/ TERRAIN_STONE),
|
|
END_AREA(),
|
|
|
|
FREE_LEVEL_POOL(),
|
|
MARIO_POS(/*area*/ 1, /*yaw*/ 90, /*pos*/ -3839, 154, 6272),
|
|
CALL(/*arg*/ 0, /*func*/ lvl_init_or_update),
|
|
CALL_LOOP(/*arg*/ 1, /*func*/ lvl_init_or_update),
|
|
CLEAR_LEVEL(),
|
|
SLEEP_BEFORE_EXIT(/*frames*/ 1),
|
|
EXIT(),
|
|
};
|