├── levels ├── sa │ ├── texture.inc.c │ ├── level.yaml │ └── geo.c ├── ssl │ ├── eyerok_col │ │ ├── geo.inc.c │ │ └── model.inc.c │ ├── areas │ │ ├── 1 │ │ │ └── 5 │ │ │ │ └── geo.inc.c │ │ └── 3 │ │ │ └── macro.inc.c │ ├── tox_box │ │ └── geo.inc.c │ ├── pyramid_top │ │ └── geo.inc.c │ ├── moving_pyramid_wall │ │ └── geo.inc.c │ ├── pyramid_elevator │ │ └── geo.inc.c │ └── level.yaml ├── totwc │ ├── cloud │ │ ├── collision.inc.c │ │ └── geo.inc.c │ └── level.yaml ├── castle_courtyard │ ├── texture.inc.c │ ├── areas │ │ └── 1 │ │ │ └── spire │ │ │ └── geo.inc.c │ └── level.yaml ├── ttc │ ├── large_gear │ │ ├── collision.inc.c │ │ └── geo.inc.c │ ├── small_gear │ │ ├── collision.inc.c │ │ └── geo.inc.c │ ├── spinner │ │ └── geo.inc.c │ ├── clock_hand │ │ └── geo.inc.c │ ├── pendulum │ │ └── geo.inc.c │ ├── pit_block │ │ └── geo.inc.c │ ├── pit_block_2 │ │ └── geo.inc.c │ ├── push_block │ │ └── geo.inc.c │ ├── rotating_cube │ │ └── geo.inc.c │ ├── elevator_platform │ │ └── geo.inc.c │ ├── rotating_hexagon │ │ └── geo.inc.c │ ├── rotating_prism │ │ └── geo.inc.c │ ├── rotating_triangle │ │ └── geo.inc.c │ ├── texture.inc.c │ ├── large_treadmill │ │ └── geo.inc.c │ └── small_treadmill │ │ └── geo.inc.c ├── bbh │ ├── tumbling_platform_far │ │ ├── collision.inc.c │ │ └── geo.inc.c │ ├── coffin │ │ └── geo.inc.c │ ├── mesh_elevator │ │ └── geo.inc.c │ ├── merry_go_round │ │ └── geo.inc.c │ ├── moving_bookshelf │ │ └── geo.inc.c │ ├── staircase_step │ │ └── geo.inc.c │ ├── tilting_trap_platform │ │ └── geo.inc.c │ └── tumbling_platform_near │ │ └── geo.inc.c ├── castle_inside │ ├── clock_hour_hand │ │ ├── collision.inc.c │ │ └── geo.inc.c │ ├── clock_minute_hand │ │ ├── collision.inc.c │ │ └── geo.inc.c │ ├── star_door │ │ └── geo.inc.c │ ├── trap_door │ │ └── geo.inc.c │ ├── areas │ │ └── 2 │ │ │ ├── pendulum │ │ │ └── geo.inc.c │ │ │ └── macro.inc.c │ └── water_level_pillar │ │ └── geo.inc.c ├── entry.h ├── bowser_2 │ ├── texture.inc.c │ ├── tilting_platform │ │ └── geo.inc.c │ └── level.yaml ├── jrb │ ├── areas │ │ └── 2 │ │ │ └── macro.inc.c │ ├── rock │ │ └── geo.inc.c │ ├── sliding_box │ │ └── geo.inc.c │ ├── falling_pillar │ │ └── geo.inc.c │ ├── floating_platform │ │ └── geo.inc.c │ ├── falling_pillar_base │ │ └── geo.inc.c │ └── level.yaml ├── rr │ ├── flying_carpet │ │ └── geo.inc.c │ ├── areas │ │ └── 1 │ │ │ ├── 2 │ │ │ └── geo.inc.c │ │ │ ├── 3 │ │ │ └── geo.inc.c │ │ │ ├── 4 │ │ │ └── geo.inc.c │ │ │ ├── 5 │ │ │ └── geo.inc.c │ │ │ ├── 6 │ │ │ └── geo.inc.c │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ ├── 9 │ │ │ └── geo.inc.c │ │ │ ├── 10 │ │ │ └── geo.inc.c │ │ │ ├── 11 │ │ │ └── geo.inc.c │ │ │ ├── 12 │ │ │ └── geo.inc.c │ │ │ ├── 13 │ │ │ └── geo.inc.c │ │ │ ├── 14 │ │ │ └── geo.inc.c │ │ │ ├── 15 │ │ │ └── geo.inc.c │ │ │ ├── 16 │ │ │ └── geo.inc.c │ │ │ ├── 17 │ │ │ └── geo.inc.c │ │ │ ├── 18 │ │ │ └── geo.inc.c │ │ │ ├── 19 │ │ │ └── geo.inc.c │ │ │ ├── 20 │ │ │ └── geo.inc.c │ │ │ └── 21 │ │ │ └── geo.inc.c │ ├── l_platform │ │ └── geo.inc.c │ ├── cruiser_wing │ │ └── geo.inc.c │ ├── pyramid_platform │ │ └── geo.inc.c │ ├── seesaw_platform │ │ └── geo.inc.c │ ├── sliding_platform │ │ └── geo.inc.c │ ├── elevator_platform │ │ └── geo.inc.c │ ├── octagonal_platform │ │ └── geo.inc.c │ ├── swinging_platform │ │ └── geo.inc.c │ ├── tricky_triangles_1 │ │ └── geo.inc.c │ ├── tricky_triangles_2 │ │ └── geo.inc.c │ ├── tricky_triangles_3 │ │ └── geo.inc.c │ ├── tricky_triangles_4 │ │ └── geo.inc.c │ ├── tricky_triangles_5 │ │ └── geo.inc.c │ ├── rotating_bridge_platform │ │ └── geo.inc.c │ └── donut_block │ │ └── geo.inc.c ├── sl │ ├── snow_mound │ │ └── geo.inc.c │ ├── unused_cracked_ice │ │ └── geo.inc.c │ ├── unused_ice_shard │ │ └── geo.inc.c │ └── level.yaml ├── wf │ ├── areas │ │ └── 1 │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ ├── 9 │ │ │ └── geo.inc.c │ │ │ ├── 11 │ │ │ └── geo.inc.c │ │ │ ├── 13 │ │ │ └── geo.inc.c │ │ │ ├── 14 │ │ │ └── geo.inc.c │ │ │ ├── 16 │ │ │ └── geo.inc.c │ │ │ ├── 17 │ │ │ └── geo.inc.c │ │ │ ├── 18 │ │ │ └── geo.inc.c │ │ │ └── 19 │ │ │ └── geo.inc.c │ ├── large_bomp │ │ └── geo.inc.c │ ├── tower_door │ │ └── geo.inc.c │ ├── sliding_platform │ │ └── geo.inc.c │ ├── breakable_wall_left │ │ └── geo.inc.c │ ├── breakable_wall_right │ │ └── geo.inc.c │ ├── tumbling_bridge_far │ │ └── geo.inc.c │ ├── tumbling_bridge_near │ │ └── geo.inc.c │ └── beta_extending_platform │ │ └── geo.inc.c ├── bits │ ├── areas │ │ └── 1 │ │ │ ├── 2 │ │ │ └── geo.inc.c │ │ │ ├── 3 │ │ │ └── geo.inc.c │ │ │ ├── 4 │ │ │ └── geo.inc.c │ │ │ ├── 5 │ │ │ └── geo.inc.c │ │ │ ├── 6 │ │ │ └── geo.inc.c │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ ├── 9 │ │ │ └── geo.inc.c │ │ │ ├── 10 │ │ │ └── geo.inc.c │ │ │ ├── 11 │ │ │ └── geo.inc.c │ │ │ ├── 12 │ │ │ └── geo.inc.c │ │ │ ├── 13 │ │ │ └── geo.inc.c │ │ │ ├── 14 │ │ │ └── geo.inc.c │ │ │ ├── 15 │ │ │ └── geo.inc.c │ │ │ ├── 16 │ │ │ └── geo.inc.c │ │ │ ├── 17 │ │ │ └── geo.inc.c │ │ │ ├── 18 │ │ │ └── geo.inc.c │ │ │ ├── 19 │ │ │ └── geo.inc.c │ │ │ ├── 20 │ │ │ └── geo.inc.c │ │ │ ├── 21 │ │ │ └── geo.inc.c │ │ │ ├── 22 │ │ │ └── geo.inc.c │ │ │ ├── 23 │ │ │ └── geo.inc.c │ │ │ ├── 24 │ │ │ └── geo.inc.c │ │ │ ├── 25 │ │ │ └── geo.inc.c │ │ │ ├── 26 │ │ │ └── geo.inc.c │ │ │ ├── 27 │ │ │ └── geo.inc.c │ │ │ ├── 28 │ │ │ └── geo.inc.c │ │ │ ├── 29 │ │ │ └── geo.inc.c │ │ │ ├── 30 │ │ │ └── geo.inc.c │ │ │ ├── 31 │ │ │ └── geo.inc.c │ │ │ └── 32 │ │ │ └── geo.inc.c │ └── level.yaml ├── bob │ ├── grate_door │ │ └── geo.inc.c │ ├── chain_chomp_gate │ │ └── geo.inc.c │ ├── seesaw_platform │ │ └── geo.inc.c │ └── level.yaml ├── lll │ ├── areas │ │ └── 1 │ │ │ ├── 4 │ │ │ └── geo.inc.c │ │ │ ├── 5 │ │ │ └── geo.inc.c │ │ │ ├── 6 │ │ │ └── geo.inc.c │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ ├── 9 │ │ │ └── geo.inc.c │ │ │ ├── 10 │ │ │ └── geo.inc.c │ │ │ ├── 11 │ │ │ └── geo.inc.c │ │ │ ├── 12 │ │ │ └── geo.inc.c │ │ │ ├── 13 │ │ │ └── geo.inc.c │ │ │ ├── 14 │ │ │ └── geo.inc.c │ │ │ └── 15 │ │ │ └── geo.inc.c │ ├── rolling_log │ │ └── geo.inc.c │ ├── drawbridge_part │ │ └── geo.inc.c │ ├── long_wooden_bridge │ │ └── geo.inc.c │ ├── sinking_rock_block │ │ └── geo.inc.c │ ├── wooden_float_small │ │ └── geo.inc.c │ ├── tilting_square_platform │ │ └── geo.inc.c │ ├── volcano_falling_trap │ │ └── geo.inc.c │ ├── wooden_float_large │ │ └── geo.inc.c │ ├── collapsing_wooden_platform │ │ └── geo.inc.c │ ├── rotating_block_fire_bars │ │ └── geo.inc.c │ ├── rotating_hexagonal_ring │ │ └── geo.inc.c │ ├── sinking_square_platform │ │ └── geo.inc.c │ ├── moving_octagonal_mesh_platform │ │ └── geo.inc.c │ └── sinking_rectangular_platform │ │ └── geo.inc.c ├── thi │ ├── areas │ │ └── 1 │ │ │ └── 7 │ │ │ └── geo.inc.c │ ├── texture.inc.c │ └── level.yaml ├── ttm │ ├── rolling_log │ │ └── geo.inc.c │ ├── slide_exit_podium │ │ └── geo.inc.c │ ├── star_cage │ │ └── geo.inc.c │ ├── areas │ │ └── 1 │ │ │ ├── 3 │ │ │ └── geo.inc.c │ │ │ ├── 4 │ │ │ └── geo.inc.c │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ ├── 9 │ │ │ └── geo.inc.c │ │ │ ├── 10 │ │ │ └── geo.inc.c │ │ │ ├── 11 │ │ │ └── geo.inc.c │ │ │ ├── 12 │ │ │ └── geo.inc.c │ │ │ ├── 13 │ │ │ └── geo.inc.c │ │ │ ├── 15 │ │ │ └── geo.inc.c │ │ │ ├── 16 │ │ │ └── geo.inc.c │ │ │ ├── 17 │ │ │ └── geo.inc.c │ │ │ ├── 18 │ │ │ └── geo.inc.c │ │ │ ├── 19 │ │ │ └── geo.inc.c │ │ │ ├── 20 │ │ │ └── geo.inc.c │ │ │ └── 21 │ │ │ └── geo.inc.c │ └── level.yaml ├── vcutm │ ├── seesaw │ │ └── geo.inc.c │ └── level.yaml ├── bitfs │ ├── areas │ │ └── 1 │ │ │ ├── 2 │ │ │ └── geo.inc.c │ │ │ ├── 3 │ │ │ └── geo.inc.c │ │ │ ├── 4 │ │ │ └── geo.inc.c │ │ │ ├── 5 │ │ │ └── geo.inc.c │ │ │ ├── 6 │ │ │ └── geo.inc.c │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ ├── 9 │ │ │ └── geo.inc.c │ │ │ ├── 10 │ │ │ └── geo.inc.c │ │ │ ├── 11 │ │ │ └── geo.inc.c │ │ │ ├── 12 │ │ │ └── geo.inc.c │ │ │ ├── 13 │ │ │ └── geo.inc.c │ │ │ ├── 14 │ │ │ └── geo.inc.c │ │ │ ├── 15 │ │ │ └── geo.inc.c │ │ │ ├── 16 │ │ │ └── geo.inc.c │ │ │ ├── 17 │ │ │ └── geo.inc.c │ │ │ ├── 18 │ │ │ └── geo.inc.c │ │ │ ├── 19 │ │ │ └── geo.inc.c │ │ │ └── 20 │ │ │ └── geo.inc.c │ ├── elevator │ │ └── geo.inc.c │ ├── platform_on_track │ │ └── geo.inc.c │ ├── seesaw_platform │ │ └── geo.inc.c │ ├── sinking_cage_pole │ │ └── geo.inc.c │ ├── sliding_platform │ │ └── geo.inc.c │ ├── moving_square_platform │ │ └── geo.inc.c │ ├── sinking_cage_platform │ │ └── geo.inc.c │ ├── sinking_platforms │ │ └── geo.inc.c │ ├── tumbling_platform_far │ │ └── geo.inc.c │ ├── tumbling_platform_near │ │ └── geo.inc.c │ ├── tilting_square_platform │ │ └── geo.inc.c │ └── stretching_platform │ │ └── geo.inc.c ├── hmc │ ├── areas │ │ └── 1 │ │ │ └── grill_door │ │ │ └── geo.inc.c │ ├── arrow_platform │ │ └── geo.inc.c │ ├── elevator_platform │ │ └── geo.inc.c │ ├── arrow_platform_button │ │ └── geo.inc.c │ ├── rolling_rock_fragment_1 │ │ └── geo.inc.c │ ├── rolling_rock_fragment_2 │ │ └── geo.inc.c │ └── rolling_rock │ │ └── geo.inc.c ├── wdw │ ├── express_elevator │ │ └── geo.inc.c │ ├── rotating_platform │ │ └── geo.inc.c │ ├── square_floating_platform │ │ └── geo.inc.c │ ├── rectangular_floating_platform │ │ └── geo.inc.c │ ├── arrow_lift │ │ └── geo.inc.c │ ├── hidden_platform │ │ └── geo.inc.c │ └── water_level_diamond │ │ └── geo.inc.c ├── bitdw │ ├── ferris_platform │ │ └── geo.inc.c │ ├── ferris_wheel_axle │ │ └── geo.inc.c │ ├── seesaw_platform │ │ └── geo.inc.c │ ├── sliding_platform │ │ └── geo.inc.c │ ├── square_platform │ │ └── geo.inc.c │ ├── collapsing_stairs_1 │ │ └── geo.inc.c │ ├── collapsing_stairs_2 │ │ └── geo.inc.c │ ├── collapsing_stairs_3 │ │ └── geo.inc.c │ ├── collapsing_stairs_4 │ │ └── geo.inc.c │ ├── collapsing_stairs_5 │ │ └── geo.inc.c │ └── areas │ │ └── 1 │ │ ├── large_platform │ │ └── geo.inc.c │ │ ├── octogonal_platform │ │ └── geo.inc.c │ │ ├── platform_with_hill │ │ └── geo.inc.c │ │ ├── quartz_crystal │ │ └── geo.inc.c │ │ ├── quartzy_path_1 │ │ └── geo.inc.c │ │ ├── quartzy_path_2 │ │ └── geo.inc.c │ │ ├── quartzy_path_fences │ │ └── geo.inc.c │ │ ├── starting_platform │ │ └── geo.inc.c │ │ ├── wooden_platform │ │ └── geo.inc.c │ │ ├── narrow_path_platform │ │ └── geo.inc.c │ │ ├── platforms_and_tilting │ │ └── geo.inc.c │ │ ├── platforms_and_tilting_2 │ │ └── geo.inc.c │ │ ├── wooden_bridge_and_fences │ │ └── geo.inc.c │ │ ├── staircase_slope_and_platform │ │ └── geo.inc.c │ │ └── track_for_pyramid_platforms │ │ └── geo.inc.c ├── bowser_3 │ ├── areas │ │ └── 1 │ │ │ └── bomb_stand │ │ │ └── geo.inc.c │ ├── falling_platform_1 │ │ └── geo.inc.c │ ├── falling_platform_10 │ │ └── geo.inc.c │ ├── falling_platform_2 │ │ └── geo.inc.c │ ├── falling_platform_3 │ │ └── geo.inc.c │ ├── falling_platform_4 │ │ └── geo.inc.c │ ├── falling_platform_5 │ │ └── geo.inc.c │ ├── falling_platform_6 │ │ └── geo.inc.c │ ├── falling_platform_7 │ │ └── geo.inc.c │ ├── falling_platform_8 │ │ └── geo.inc.c │ └── falling_platform_9 │ │ └── geo.inc.c ├── ccm │ ├── snowman_base │ │ └── geo.inc.c │ ├── ropeway_lift │ │ └── geo.inc.c │ ├── snowman_head │ │ └── geo.inc.c │ ├── areas │ │ └── 1 │ │ │ ├── 6 │ │ │ └── geo.inc.c │ │ │ ├── 8 │ │ │ └── geo.inc.c │ │ │ └── 9 │ │ │ └── geo.inc.c │ └── level.yaml ├── castle_grounds │ ├── areas │ │ └── 1 │ │ │ ├── 3 │ │ │ └── geo.inc.c │ │ │ ├── 7 │ │ │ └── geo.inc.c │ │ │ └── 8 │ │ │ └── geo.inc.c │ └── level.yaml ├── level_rules.mk ├── ddd │ ├── submarine │ │ └── geo.inc.c │ ├── level.yaml │ ├── pole │ │ └── geo.inc.c │ └── sub_door │ │ └── geo.inc.c ├── pss │ ├── level.yaml │ └── geo.c ├── cotmc │ └── level.yaml ├── wmotr │ └── level.yaml ├── bowser_1 │ ├── level.yaml │ └── header.h └── level_headers.h.in ├── actors ├── amp │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── bub │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── blue_fish │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── chair │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── cyan_fish │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── flyguy │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── goomba │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── manta │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── seaweed │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── spindrift │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── spiny │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── spiny_egg │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── sushi │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── chain_chomp │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── koopa_flag │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── scuttlebug │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── water_ring │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── wiggler_body │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── wiggler_head │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── lakitu_cameraman │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── bird │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── hoot │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── blargg │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── bobomb │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── butterfly │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── mad_piano │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── snowman │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── swoop │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── whomp │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── cannon_lid │ └── geo.inc.c ├── clam_shell │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── bowser_key │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── bookend │ └── anims │ │ ├── data.inc.c │ │ ├── table.inc.c │ │ └── anim_05002528.inc.c ├── dorrie │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── heave_ho │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── yoshi │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── test_platform │ └── geo.inc.c ├── bully │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── penguin │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── skeeter │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── chillychief │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── lakitu_enemy │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── door │ └── anims │ │ ├── data.inc.c │ │ ├── table.inc.c │ │ ├── anim_03015458.inc.c │ │ └── anim_030156A8.inc.c ├── mips │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── moneybag │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── chuckya │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── leaves │ └── geo.inc.c ├── book │ └── geo.inc.c ├── group16_geo.c ├── fwoosh │ └── geo.inc.c ├── burn_smoke │ └── geo.inc.c ├── cannon_base │ └── geo.inc.c ├── cannon_barrel │ └── geo.inc.c ├── tornado │ └── geo.inc.c ├── group2_geo.c ├── poundable_pole │ └── geo.inc.c ├── purple_switch │ └── geo.inc.c ├── thwomp │ └── geo.inc.c ├── yellow_sphere_small │ └── geo.inc.c ├── heart │ └── geo.inc.c ├── klepto │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── unagi │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── group8_geo.c ├── mr_i_eyeball │ └── geo.inc.c ├── white_particle │ └── geo.inc.c ├── chain_ball │ └── geo.inc.c ├── group3_geo.c ├── mushroom_1up │ └── geo.inc.c ├── checkerboard_platform │ └── geo.inc.c ├── group10_geo.c ├── group4_geo.c ├── group5_geo.c ├── toad │ └── anims │ │ ├── data.inc.c │ │ └── table.inc.c ├── eyerok │ └── anims │ │ ├── data.inc.c │ │ ├── anim_0500F3F0.inc.c │ │ └── table.inc.c ├── group6_geo.c ├── group7_geo.c ├── warp_pipe │ └── geo.inc.c ├── blue_coin_switch │ └── geo.inc.c ├── group15_geo.c ├── impact_ring │ └── geo.inc.c ├── metal_box │ └── geo.inc.c ├── monty_mole │ └── anims │ │ ├── anim_050065D8.inc.c │ │ └── data.inc.c ├── yellow_sphere │ └── geo.inc.c ├── bullet_bill │ └── geo.inc.c ├── group11_geo.c ├── small_key │ └── geo.inc.c ├── piranha_plant │ └── anims │ │ └── data.inc.c ├── transparent_star │ └── geo.inc.c ├── group17_geo.c ├── group1_geo.c ├── water_mine │ └── geo.inc.c ├── group12_geo.c ├── bubba │ └── geo.inc.c ├── group8.c ├── star │ └── geo.inc.c ├── group3.c └── group9_geo.c ├── src ├── pc │ ├── cheats.c │ ├── audio │ │ ├── audio_sdl.h │ │ ├── audio_null.h │ │ └── audio_api.h │ ├── gfx │ │ ├── gfx_sdl.h │ │ ├── gfx_opengl.h │ │ ├── gfx_screen_config.h │ │ ├── gfx_direct3d11.h │ │ └── gfx_direct3d12.h │ ├── controller │ │ ├── controller_recorded_tas.h │ │ ├── controller_emscripten_keyboard.h │ │ ├── controller_sdl.h │ │ └── controller_mouse.h │ └── pc_main.h ├── audio │ └── globals_start.c ├── game │ ├── debug_course.h │ ├── decompress.h │ ├── behaviors │ │ ├── sound_volcano.inc.c │ │ ├── castle_flag.inc.c │ │ ├── sound_waterfall.inc.c │ │ ├── floating_box.inc.c │ │ ├── reds_star_marker.inc.c │ │ ├── sound_spawner.inc.c │ │ ├── ddd_sub.inc.c │ │ ├── sound_sand.inc.c │ │ ├── castle_cannon_grate.inc.c │ │ ├── moat_grill.inc.c │ │ ├── sound_ambient.inc.c │ │ ├── moat_drainer.inc.c │ │ ├── music_touch.inc.c │ │ ├── ddd_warp.inc.c │ │ ├── lll_sinking_rock_block.inc.c │ │ ├── tower_door.inc.c │ │ ├── spawn_star_exit.inc.c │ │ ├── pole_base.inc.c │ │ ├── water_mist.inc.c │ │ └── water_wave.inc.c │ ├── object_collision.h │ ├── debug_course.c │ ├── mario_actions_airborne.h │ ├── mario_actions_automatic.h │ ├── mario_actions_submerged.h │ ├── options_menu.h │ ├── mario_actions_object.h │ ├── mario_actions_moving.h │ ├── skybox.h │ └── spawn_object.h ├── buffers │ ├── zbuffer.c │ ├── zbuffer.h │ ├── gfx_output_buffer.h │ └── framebuffers.c ├── menu │ └── level_select_menu.h ├── engine │ └── level_script.h └── goddard │ ├── skin_movement.h │ └── particles.h ├── doxygen └── logo.png ├── sm64.eu.sha1 ├── sm64.jp.sha1 ├── sm64.sh.sha1 ├── sm64.us.sha1 ├── lib ├── discord │ ├── libdiscord-rpc.so │ ├── libdiscord-rpc.dll │ └── libdiscord-rpc.dylib └── src │ ├── osAi.h │ ├── guNormalize.c │ ├── guTranslateF.c │ └── guScaleF.c ├── tools ├── ido5.3_compiler │ ├── lib │ │ ├── rld │ │ ├── libmalloc.so │ │ └── libmalloc_old.so │ └── usr │ │ ├── bin │ │ └── cc │ │ └── lib │ │ ├── acpp │ │ ├── as0 │ │ ├── as1 │ │ ├── cfe │ │ ├── copt │ │ ├── ugen │ │ ├── uld │ │ ├── uopt │ │ ├── crt1.o │ │ ├── libm.so │ │ ├── ujoin │ │ ├── umerge │ │ ├── usplit │ │ ├── libc.so.1 │ │ ├── libexc.so │ │ └── libgen.so ├── asm_processor │ └── prelude.inc ├── utf8.h ├── sdk-tools │ ├── tabledesign │ │ └── .gitignore │ └── adpcm │ │ └── .gitignore ├── output_level_headers.py ├── zeroterm.py ├── audiofile │ └── Makefile ├── .gitignore └── determine-endian-bitwidth.c ├── include ├── make_const_nonconst.h ├── segment_symbols.h ├── libc │ ├── stdio.h │ ├── stddef.h │ ├── math.h │ ├── string.h │ └── stdlib.h ├── helper_macros.h ├── PR │ ├── os_misc.h │ └── libaudio.h ├── macros.inc └── platform_info.h ├── .clang-tidy ├── asmdiff.jp.sh ├── sound └── sound_data.c └── format.sh /levels/sa/texture.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /levels/ssl/eyerok_col/geo.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /levels/ssl/eyerok_col/model.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /levels/totwc/cloud/collision.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /actors/amp/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0800401C.inc.c" 2 | -------------------------------------------------------------------------------- /actors/bub/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0601233C.inc.c" 2 | -------------------------------------------------------------------------------- /levels/castle_courtyard/texture.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /levels/ttc/large_gear/collision.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /levels/ttc/small_gear/collision.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /actors/blue_fish/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0301C298.inc.c" 2 | -------------------------------------------------------------------------------- /actors/chair/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500576C.inc.c" 2 | -------------------------------------------------------------------------------- /actors/cyan_fish/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0600E24C.inc.c" 2 | -------------------------------------------------------------------------------- /actors/flyguy/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_08011A4C.inc.c" 2 | -------------------------------------------------------------------------------- /actors/goomba/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0801DA34.inc.c" 2 | -------------------------------------------------------------------------------- /actors/manta/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05008CFC.inc.c" 2 | -------------------------------------------------------------------------------- /actors/seaweed/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0600A4BC.inc.c" 2 | -------------------------------------------------------------------------------- /actors/spindrift/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050006AC.inc.c" 2 | -------------------------------------------------------------------------------- /actors/spiny/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05016E94.inc.c" 2 | -------------------------------------------------------------------------------- /actors/spiny_egg/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050157CC.inc.c" 2 | -------------------------------------------------------------------------------- /actors/sushi/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500AE3C.inc.c" 2 | -------------------------------------------------------------------------------- /actors/chain_chomp/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06025160.inc.c" 2 | -------------------------------------------------------------------------------- /actors/koopa_flag/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06001010.inc.c" 2 | -------------------------------------------------------------------------------- /actors/scuttlebug/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0601504C.inc.c" 2 | -------------------------------------------------------------------------------- /actors/water_ring/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06013F64.inc.c" 2 | -------------------------------------------------------------------------------- /actors/wiggler_body/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500C760.inc.c" 2 | -------------------------------------------------------------------------------- /actors/wiggler_head/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500EC74.inc.c" 2 | -------------------------------------------------------------------------------- /levels/bbh/tumbling_platform_far/collision.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /src/pc/cheats.c: -------------------------------------------------------------------------------- 1 | #include "cheats.h" 2 | 3 | struct CheatList Cheats; 4 | -------------------------------------------------------------------------------- /actors/lakitu_cameraman/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_060058E0.inc.c" 2 | -------------------------------------------------------------------------------- /levels/castle_inside/clock_hour_hand/collision.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /levels/castle_inside/clock_minute_hand/collision.inc.c: -------------------------------------------------------------------------------- 1 | // Blank File 2 | 3 | -------------------------------------------------------------------------------- /doxygen/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/doxygen/logo.png -------------------------------------------------------------------------------- /sm64.eu.sha1: -------------------------------------------------------------------------------- 1 | 4ac5721683d0e0b6bbb561b58a71740845dceea9 build/eu/sm64.eu.z64 2 | -------------------------------------------------------------------------------- /sm64.jp.sha1: -------------------------------------------------------------------------------- 1 | 8a20a5c83d6ceb0f0506cfc9fa20d8f438cafe51 build/jp/sm64.jp.z64 2 | -------------------------------------------------------------------------------- /sm64.sh.sha1: -------------------------------------------------------------------------------- 1 | 3f319ae697533a255a1003d09202379d78d5a2e0 build/sh/sm64.sh.z64 2 | -------------------------------------------------------------------------------- /sm64.us.sha1: -------------------------------------------------------------------------------- 1 | 9bef1128717f958171a4afac3ed78ee2bb4e86ce build/us/sm64.us.z64 2 | -------------------------------------------------------------------------------- /src/audio/globals_start.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | u64 gAudioGlobalsStartMarker; 4 | -------------------------------------------------------------------------------- /actors/bird/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050008D0.inc.c" 2 | #include "anim_050009D0.inc.c" 3 | -------------------------------------------------------------------------------- /actors/hoot/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050053EC.inc.c" 2 | #include "anim_05005750.inc.c" 3 | -------------------------------------------------------------------------------- /actors/blargg/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05006070.inc.c" 2 | #include "anim_05006154.inc.c" 3 | -------------------------------------------------------------------------------- /actors/bobomb/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_080237FC.inc.c" 2 | #include "anim_08023954.inc.c" 3 | -------------------------------------------------------------------------------- /actors/butterfly/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_030055B0.inc.c" 2 | #include "anim_03005698.inc.c" 3 | -------------------------------------------------------------------------------- /actors/mad_piano/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05009A04.inc.c" 2 | #include "anim_05009AFC.inc.c" 3 | -------------------------------------------------------------------------------- /actors/snowman/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500CED8.inc.c" 2 | #include "anim_0500D100.inc.c" 3 | -------------------------------------------------------------------------------- /actors/swoop/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06006E88.inc.c" 2 | #include "anim_060070B8.inc.c" 3 | -------------------------------------------------------------------------------- /actors/whomp/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_060202DC.inc.c" 2 | #include "anim_060209EC.inc.c" 3 | -------------------------------------------------------------------------------- /actors/cannon_lid/geo.inc.c: -------------------------------------------------------------------------------- 1 | // Empty geo script 2 | UNUSED static const u64 cannon_lid_unused_1 = 0; 3 | -------------------------------------------------------------------------------- /actors/clam_shell/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05001654.inc.c" 2 | #include "anim_0500172C.inc.c" 3 | -------------------------------------------------------------------------------- /lib/discord/libdiscord-rpc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/lib/discord/libdiscord-rpc.so -------------------------------------------------------------------------------- /tools/ido5.3_compiler/lib/rld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/lib/rld -------------------------------------------------------------------------------- /actors/bowser_key/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_course_exit.inc.c" 2 | #include "anim_unlock_door.inc.c" 3 | -------------------------------------------------------------------------------- /include/make_const_nonconst.h: -------------------------------------------------------------------------------- 1 | #ifndef MAKE_CONST_NONCONST_H 2 | #define MAKE_CONST_NONCONST_H 3 | 4 | #endif 5 | -------------------------------------------------------------------------------- /lib/discord/libdiscord-rpc.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/lib/discord/libdiscord-rpc.dll -------------------------------------------------------------------------------- /lib/discord/libdiscord-rpc.dylib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/lib/discord/libdiscord-rpc.dylib -------------------------------------------------------------------------------- /tools/asm_processor/prelude.inc: -------------------------------------------------------------------------------- 1 | .set noat 2 | .set noreorder 3 | .set gp=64 4 | .include "macros.inc" 5 | 6 | -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/bin/cc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/bin/cc -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/acpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/acpp -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/as0: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/as0 -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/as1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/as1 -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/cfe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/cfe -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/copt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/copt -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/ugen: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/ugen -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/uld: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/uld -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/uopt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/uopt -------------------------------------------------------------------------------- /include/segment_symbols.h: -------------------------------------------------------------------------------- 1 | #ifndef SEGMENT_SYMBOLS_H 2 | #define SEGMENT_SYMBOLS_H 3 | 4 | #endif // SEGMENT_SYMBOLS_H 5 | -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/crt1.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/crt1.o -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/libm.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/libm.so -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/ujoin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/ujoin -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/umerge: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/umerge -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/usplit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/usplit -------------------------------------------------------------------------------- /tools/ido5.3_compiler/lib/libmalloc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/lib/libmalloc.so -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/libc.so.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/libc.so.1 -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/libexc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/libexc.so -------------------------------------------------------------------------------- /tools/ido5.3_compiler/usr/lib/libgen.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/usr/lib/libgen.so -------------------------------------------------------------------------------- /tools/ido5.3_compiler/lib/libmalloc_old.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sm64pc/sm64ex/HEAD/tools/ido5.3_compiler/lib/libmalloc_old.so -------------------------------------------------------------------------------- /actors/bookend/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050023F4.inc.c" 2 | #include "anim_05002510.inc.c" 3 | #include "anim_05002528.inc.c" 4 | -------------------------------------------------------------------------------- /actors/dorrie/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0600E18C.inc.c" 2 | #include "anim_0600E9BC.inc.c" 3 | #include "anim_0600F620.inc.c" 4 | -------------------------------------------------------------------------------- /actors/heave_ho/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05014F28.inc.c" 2 | #include "anim_05015118.inc.c" 3 | #include "anim_05015334.inc.c" 4 | -------------------------------------------------------------------------------- /actors/yoshi/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050233A4.inc.c" 2 | #include "anim_05023E4C.inc.c" 3 | #include "anim_050240E8.inc.c" 4 | -------------------------------------------------------------------------------- /include/libc/stdio.h: -------------------------------------------------------------------------------- 1 | #ifndef STDIO_H 2 | #define STDIO_H 3 | 4 | extern int sprintf(char *s, const char *fmt, ...); 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /tools/utf8.h: -------------------------------------------------------------------------------- 1 | #ifndef UTF8_H_ 2 | #define UTF8_H_ 3 | 4 | char *utf8_decode(char *str, uint32_t *codep); 5 | 6 | #endif // UTF8_H_ 7 | -------------------------------------------------------------------------------- /actors/test_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // Empty geo script 2 | const GeoLayout test_platform_geo[] = { 3 | GEO_BRANCH_AND_LINK(NULL), 4 | }; 5 | -------------------------------------------------------------------------------- /actors/amp/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x08004034 2 | const struct Animation *const amp_seg8_anims_08004034[] = { 3 | &_seg8_anim_0800401C, 4 | }; 5 | -------------------------------------------------------------------------------- /levels/ssl/areas/3/macro.inc.c: -------------------------------------------------------------------------------- 1 | // 0x07027ECC - 0x07027ECE 2 | const MacroObject ssl_seg7_area_3_macro_objs[] = { 3 | MACRO_OBJECT_END(), 4 | }; 5 | -------------------------------------------------------------------------------- /src/game/debug_course.h: -------------------------------------------------------------------------------- 1 | #ifndef DEBUG_COURSE_H 2 | #define DEBUG_COURSE_H 3 | 4 | void nop_change_course(void); 5 | 6 | #endif // DEBUG_COURSE_H 7 | -------------------------------------------------------------------------------- /src/game/decompress.h: -------------------------------------------------------------------------------- 1 | #ifndef DECOMPRESS_H 2 | #define DECOMPRESS_H 3 | 4 | void decompress(void *mio0, void *dest); 5 | 6 | #endif // DECOMPRESS_H 7 | -------------------------------------------------------------------------------- /actors/chair/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05005784 2 | const struct Animation *const chair_seg5_anims_05005784[] = { 3 | &chair_seg5_anim_0500576C, 4 | }; 5 | -------------------------------------------------------------------------------- /actors/sushi/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0500AE54 2 | const struct Animation *const sushi_seg5_anims_0500AE54[] = { 3 | &sushi_seg5_anim_0500AE3C, 4 | }; 5 | -------------------------------------------------------------------------------- /actors/seaweed/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0600A4D4 2 | const struct Animation *const seaweed_seg6_anims_0600A4D4[] = { 3 | &seaweed_seg6_anim_0600A4BC, 4 | }; 5 | -------------------------------------------------------------------------------- /src/buffers/zbuffer.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "config.h" 4 | #include "zbuffer.h" 5 | 6 | ALIGNED8 u16 gZBuffer[SCREEN_WIDTH * SCREEN_HEIGHT]; 7 | -------------------------------------------------------------------------------- /src/pc/audio/audio_sdl.h: -------------------------------------------------------------------------------- 1 | #ifndef AUDIO_SDL_H 2 | #define AUDIO_SDL_H 3 | 4 | #include "audio_api.h" 5 | 6 | extern struct AudioAPI audio_sdl; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /actors/wiggler_body/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0500C874 2 | const struct Animation *const wiggler_seg5_anims_0500C874[] = { 3 | &wiggler_seg5_anim_0500C760, 4 | }; 5 | -------------------------------------------------------------------------------- /actors/wiggler_head/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0500EC8C 2 | const struct Animation *const wiggler_seg5_anims_0500EC8C[] = { 3 | &wiggler_seg5_anim_0500EC74, 4 | }; 5 | -------------------------------------------------------------------------------- /src/game/behaviors/sound_volcano.inc.c: -------------------------------------------------------------------------------- 1 | // sound_volcano.inc.c 2 | 3 | void bhv_volcano_sound_loop(void) { 4 | cur_obj_play_sound_1(SOUND_ENV_DRONING1); 5 | } 6 | -------------------------------------------------------------------------------- /src/pc/audio/audio_null.h: -------------------------------------------------------------------------------- 1 | #ifndef AUDIO_NULL_H 2 | #define AUDIO_NULL_H 3 | 4 | #include "audio_api.h" 5 | 6 | extern struct AudioAPI audio_null; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /actors/bully/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050042A4.inc.c" 2 | #include "anim_050043D8.inc.c" 3 | #include "anim_05004598.inc.c" 4 | #include "anim_050046F4.inc.c" 5 | -------------------------------------------------------------------------------- /actors/penguin/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_050079E4.inc.c" 2 | #include "anim_05007DCC.inc.c" 3 | #include "anim_050087C0.inc.c" 4 | #include "anim_05008B5C.inc.c" 5 | -------------------------------------------------------------------------------- /actors/scuttlebug/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06015064 2 | const struct Animation *const scuttlebug_seg6_anims_06015064[] = { 3 | &scuttlebug_seg6_anim_0601504C, 4 | }; 5 | -------------------------------------------------------------------------------- /actors/skeeter/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06005D44.inc.c" 2 | #include "anim_06006B70.inc.c" 3 | #include "anim_060071E0.inc.c" 4 | #include "anim_06007DC8.inc.c" 5 | -------------------------------------------------------------------------------- /lib/src/osAi.h: -------------------------------------------------------------------------------- 1 | #ifndef _OSAI_H_ 2 | #define _OSAI_H_ 3 | 4 | s32 osAiSetFrequency(u32); 5 | s32 osAiSetNextBuffer(void *, u32); 6 | u32 osAiGetLength(void); 7 | #endif 8 | -------------------------------------------------------------------------------- /src/game/object_collision.h: -------------------------------------------------------------------------------- 1 | #ifndef OBJECT_COLLISION_H 2 | #define OBJECT_COLLISION_H 3 | 4 | void detect_object_collisions(void); 5 | 6 | #endif // OBJECT_COLLISION_H 7 | -------------------------------------------------------------------------------- /actors/bub/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06012354 2 | const struct Animation *const bub_seg6_anims_06012354[] = { 3 | &bub_seg6_anim_0601233C, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/chillychief/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_060032EC.inc.c" 2 | #include "anim_06003420.inc.c" 3 | #include "anim_060035E0.inc.c" 4 | #include "anim_0600373C.inc.c" 5 | -------------------------------------------------------------------------------- /actors/lakitu_enemy/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05013EDC.inc.c" 2 | #include "anim_050140E8.inc.c" 3 | #include "anim_050142E0.inc.c" 4 | #include "anim_050144BC.inc.c" 5 | -------------------------------------------------------------------------------- /levels/entry.h: -------------------------------------------------------------------------------- 1 | #ifndef ENTRY_H 2 | #define ENTRY_H 3 | 4 | #include "types.h" 5 | 6 | // script 7 | extern const LevelScript level_script_entry[]; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /src/game/behaviors/castle_flag.inc.c: -------------------------------------------------------------------------------- 1 | // castle_flag.inc.c 2 | 3 | void bhv_castle_flag_init(void) { 4 | o->header.gfx.unk38.animFrame = random_float() * 28.0f; 5 | } 6 | -------------------------------------------------------------------------------- /src/game/behaviors/sound_waterfall.inc.c: -------------------------------------------------------------------------------- 1 | // sound_waterfall.inc.c 2 | 3 | void bhv_waterfall_sound_loop(void) { 4 | cur_obj_play_sound_1(SOUND_ENV_WATERFALL2); 5 | } 6 | -------------------------------------------------------------------------------- /src/pc/gfx/gfx_sdl.h: -------------------------------------------------------------------------------- 1 | #ifndef GFX_SDL_H 2 | #define GFX_SDL_H 3 | 4 | #include "gfx_window_manager_api.h" 5 | 6 | extern struct GfxWindowManagerAPI gfx_sdl; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /tools/sdk-tools/tabledesign/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.s 3 | *.dump 4 | *.aiff 5 | *.aifc 6 | *.table 7 | /tabledesign_irix 8 | /tabledesign_native 9 | /tabledesign_orig 10 | -------------------------------------------------------------------------------- /actors/blue_fish/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0301C2B0 2 | const struct Animation *const blue_fish_seg3_anims_0301C2B0[] = { 3 | &blue_fish_seg3_anim_0301C298, 4 | NULL, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/lakitu_cameraman/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x060058F8 2 | const struct Animation *const lakitu_seg6_anims_060058F8[] = { 3 | &lakitu_seg6_anim_060058E0, 4 | NULL, 5 | }; 6 | -------------------------------------------------------------------------------- /levels/bowser_2/texture.inc.c: -------------------------------------------------------------------------------- 1 | // 0x07000000 - 0x07000800 2 | ALIGNED8 static const u8 bowser_2_seg7_texture_07000000[] = { 3 | #include "levels/bowser_2/0.rgba16.inc.c" 4 | }; 5 | -------------------------------------------------------------------------------- /src/game/behaviors/floating_box.inc.c: -------------------------------------------------------------------------------- 1 | // floating_box.c.inc 2 | 3 | void bhv_jrb_floating_box_loop(void) { 4 | o->oPosY = o->oHomeY + sins(o->oTimer * 0x400) * 10.0f; 5 | } 6 | -------------------------------------------------------------------------------- /tools/output_level_headers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import sys 3 | for line in sys.stdin: 4 | if line.strip(): 5 | print('#include "{}"'.format(line.strip())) 6 | -------------------------------------------------------------------------------- /actors/chain_chomp/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06025178 2 | const struct Animation *const chain_chomp_seg6_anims_06025178[] = { 3 | &chain_chomp_seg6_anim_06025160, 4 | NULL, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/flyguy/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x08011A64 2 | const struct Animation *const flyguy_seg8_anims_08011A64[] = { 3 | &flyguy_seg8_anim_08011A4C, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/goomba/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0801DA4C 2 | const struct Animation *const goomba_seg8_anims_0801DA4C[] = { 3 | &goomba_seg8_anim_0801DA34, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/hoot/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05005768 2 | const struct Animation *const hoot_seg5_anims_05005768[] = { 3 | &hoot_seg5_anim_050053EC, 4 | &hoot_seg5_anim_05005750, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/koopa_flag/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06001028 2 | const struct Animation *const koopa_flag_seg6_anims_06001028[] = { 3 | &koopa_flag_seg6_anim_06001010, 4 | NULL, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/manta/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05008EB4 2 | const struct Animation *const manta_seg5_anims_05008EB4[] = { 3 | &manta_seg5_anim_05008CFC, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/spiny/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05016EAC 2 | const struct Animation *const spiny_seg5_anims_05016EAC[] = { 3 | &spiny_seg5_anim_05016E94, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /src/pc/gfx/gfx_opengl.h: -------------------------------------------------------------------------------- 1 | #ifndef GFX_OPENGL_H 2 | #define GFX_OPENGL_H 3 | 4 | #include "gfx_rendering_api.h" 5 | 6 | extern struct GfxRenderingAPI gfx_opengl_api; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /actors/bird/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x050009E8 2 | const struct Animation *const birds_seg5_anims_050009E8[] = { 3 | &birds_seg5_anim_050008D0, 4 | &birds_seg5_anim_050009D0, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/swoop/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x060070D0 2 | const struct Animation *const swoop_seg6_anims_060070D0[] = { 3 | &swoop_seg6_anim_06006E88, 4 | &swoop_seg6_anim_060070B8, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/whomp/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06020A04 2 | const struct Animation *const whomp_seg6_anims_06020A04[] = { 3 | &whomp_seg6_anim_060209EC, 4 | &whomp_seg6_anim_060202DC, 5 | }; 6 | -------------------------------------------------------------------------------- /src/pc/gfx/gfx_screen_config.h: -------------------------------------------------------------------------------- 1 | #ifndef GFX_SCREEN_CONFIG_H 2 | #define GFX_SCREEN_CONFIG_H 3 | 4 | #define DESIRED_SCREEN_WIDTH 640 5 | #define DESIRED_SCREEN_HEIGHT 480 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /actors/cyan_fish/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0600E264 2 | const struct Animation *const cyan_fish_seg6_anims_0600E264[] = { 3 | &cyan_fish_seg6_anim_0600E24C, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/spiny_egg/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x050157E4 2 | const struct Animation *const spiny_egg_seg5_anims_050157E4[] = { 3 | &spiny_egg_seg5_anim_050157CC, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /.clang-tidy: -------------------------------------------------------------------------------- 1 | --- 2 | Checks: '-*,readability-braces-around-statements' 3 | WarningsAsErrors: '' 4 | HeaderFilterRegex: '(src|include|enhancements)\/.*\.h$' 5 | FormatStyle: 'file' 6 | CheckOptions: 7 | -------------------------------------------------------------------------------- /actors/door/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_03015208.inc.c" 2 | #include "anim_03015440.inc.c" 3 | #include "anim_03015458.inc.c" 4 | #include "anim_03015690.inc.c" 5 | #include "anim_030156A8.inc.c" 6 | -------------------------------------------------------------------------------- /actors/mips/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06013248.inc.c" 2 | #include "anim_0601369C.inc.c" 3 | #include "anim_060139F8.inc.c" 4 | #include "anim_06014B94.inc.c" 5 | #include "anim_0601561C.inc.c" 6 | -------------------------------------------------------------------------------- /actors/water_ring/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06013F7C 2 | const struct Animation *const water_ring_seg6_anims_06013F7C[] = { 3 | &water_ring_seg6_anim_06013F64, 4 | NULL, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /include/helper_macros.h: -------------------------------------------------------------------------------- 1 | #ifndef HELPER_MACROS_H 2 | #define HELPER_MACROS_H 3 | 4 | #define LIST_NEXT_ITEM(curItem, type) ((type *)((s32)curItem + sizeof(type))) 5 | 6 | #endif // HELPER_MACROS_H 7 | -------------------------------------------------------------------------------- /actors/butterfly/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x030056B0 2 | const struct Animation *const butterfly_seg3_anims_030056B0[] = { 3 | &butterfly_seg3_anim_030055B0, 4 | &butterfly_seg3_anim_03005698, 5 | }; 6 | -------------------------------------------------------------------------------- /actors/moneybag/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06005AD8.inc.c" 2 | #include "anim_06005BEC.inc.c" 3 | #include "anim_06005C98.inc.c" 4 | #include "anim_06005D3C.inc.c" 5 | #include "anim_06005E44.inc.c" 6 | -------------------------------------------------------------------------------- /src/game/behaviors/reds_star_marker.inc.c: -------------------------------------------------------------------------------- 1 | 2 | // Filename is abbreviated to prevent compiler seg fault 3 | 4 | void bhv_red_coin_star_marker_init(void) { 5 | o->header.gfx.scale[2] = 0.75f; 6 | } 7 | -------------------------------------------------------------------------------- /tools/zeroterm.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | import sys 3 | if len(sys.argv) < 2: 4 | print("usage: zeroterm ") 5 | else: 6 | sys.stdout.buffer.write(bytes(sys.argv[1], 'ascii') + b'\x00') 7 | -------------------------------------------------------------------------------- /actors/bobomb/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0802396C 2 | const struct Animation *const bobomb_seg8_anims_0802396C[] = { 3 | &bobomb_seg8_anim_080237FC, 4 | &bobomb_seg8_anim_08023954, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/spindrift/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05002D68 2 | const struct Animation *const spindrift_seg5_anims_05002D68[] = { 3 | &spindrift_seg5_anim_050006AC, 4 | NULL, 5 | NULL, 6 | NULL, 7 | }; 8 | -------------------------------------------------------------------------------- /src/game/behaviors/sound_spawner.inc.c: -------------------------------------------------------------------------------- 1 | // sound_spawner.c.inc 2 | 3 | void bhv_sound_spawner_init(void) { 4 | s32 sp1C = o->oSoundEffectUnkF4; 5 | play_sound(sp1C, o->header.gfx.cameraToObject); 6 | } 7 | -------------------------------------------------------------------------------- /include/libc/stddef.h: -------------------------------------------------------------------------------- 1 | #ifndef STDDEF_H 2 | #define STDDEF_H 3 | 4 | #include "PR/ultratypes.h" 5 | 6 | #ifndef offsetof 7 | #define offsetof(st, m) ((size_t)&(((st *)0)->m)) 8 | #endif 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /src/game/debug_course.c: -------------------------------------------------------------------------------- 1 | #include "debug_course.h" 2 | 3 | // This is a seperate file according to Europe/Shindou 4 | // versions. It is unknown what this file was for. 5 | 6 | void nop_change_course(void) { 7 | } 8 | -------------------------------------------------------------------------------- /actors/mad_piano/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05009B14 2 | const struct Animation *const mad_piano_seg5_anims_05009B14[] = { 3 | &mad_piano_seg5_anim_05009A04, 4 | &mad_piano_seg5_anim_05009AFC, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/clam_shell/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05001744 2 | const struct Animation *const clam_shell_seg5_anims_05001744[] = { 3 | &clam_shell_seg5_anim_05001654, 4 | &clam_shell_seg5_anim_0500172C, 5 | NULL, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/snowman/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0500D118 2 | const struct Animation *const snowman_seg5_anims_0500D118[] = { 3 | &snowman_seg5_anim_0500CED8, 4 | &snowman_seg5_anim_0500D100, 5 | NULL, 6 | NULL, 7 | }; 8 | -------------------------------------------------------------------------------- /actors/blargg/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // unreferenced 2 | // 0x0500616C 3 | const struct Animation *const blargg_seg5_anims_0500616C[] = { 4 | &blargg_seg5_anim_05006154, 5 | &blargg_seg5_anim_05006070, 6 | NULL, 7 | }; 8 | -------------------------------------------------------------------------------- /actors/bowser_key/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x030172D0 2 | const struct Animation *const bowser_key_seg3_anims_list[] = { 3 | &bowser_key_seg3_anim_unlock_door, // id 0 4 | &bowser_key_seg3_anim_course_exit, // id 1 5 | }; 6 | -------------------------------------------------------------------------------- /actors/dorrie/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0600F638 2 | const struct Animation *const dorrie_seg6_anims_0600F638[] = { 3 | &dorrie_seg6_anim_0600E18C, 4 | &dorrie_seg6_anim_0600E9BC, 5 | &dorrie_seg6_anim_0600F620, 6 | }; 7 | -------------------------------------------------------------------------------- /src/game/behaviors/ddd_sub.inc.c: -------------------------------------------------------------------------------- 1 | // ddd_sub.c.inc 2 | 3 | void bhv_bowsers_sub_loop(void) { 4 | if (save_file_get_flags() & (SAVE_FLAG_HAVE_KEY_2 | SAVE_FLAG_UNLOCKED_UPSTAIRS_DOOR)) 5 | obj_mark_for_deletion(o); 6 | } 7 | -------------------------------------------------------------------------------- /src/pc/controller/controller_recorded_tas.h: -------------------------------------------------------------------------------- 1 | #ifndef CONTROLLER_RECORDED_TAS_H 2 | #define CONTROLLER_RECORDED_TAS_H 3 | 4 | #include "controller_api.h" 5 | 6 | extern struct ControllerAPI controller_recorded_tas; 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /tools/sdk-tools/adpcm/.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | *.s 3 | *.dump 4 | *.aiff 5 | *.aifc 6 | *.table 7 | /vadpcm_dec_irix 8 | /vadpcm_enc_irix 9 | /vadpcm_dec_native 10 | /vadpcm_enc_native 11 | /vadpcm_dec_orig 12 | /vadpcm_enc_orig 13 | -------------------------------------------------------------------------------- /actors/chuckya/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0800AF68.inc.c" 2 | #include "anim_0800B1A8.inc.c" 3 | #include "anim_0800B4A8.inc.c" 4 | #include "anim_0800B9F8.inc.c" 5 | #include "anim_0800BBEC.inc.c" 6 | #include "anim_0800C058.inc.c" 7 | -------------------------------------------------------------------------------- /actors/heave_ho/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0501534C 2 | const struct Animation *const heave_ho_seg5_anims_0501534C[] = { 3 | &heave_ho_seg5_anim_05015118, 4 | &heave_ho_seg5_anim_05015334, 5 | &heave_ho_seg5_anim_05014F28, 6 | }; 7 | -------------------------------------------------------------------------------- /actors/leaves/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x16000C8C 2 | const GeoLayout leaves_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, leaves_seg3_dl_0301CDE0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/yoshi/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05024100 2 | const struct Animation *const yoshi_seg5_anims_05024100[] = { 3 | &yoshi_seg5_anim_050233A4, 4 | &yoshi_seg5_anim_05023E4C, 5 | &yoshi_seg5_anim_050240E8, 6 | NULL, 7 | }; 8 | -------------------------------------------------------------------------------- /levels/jrb/areas/2/macro.inc.c: -------------------------------------------------------------------------------- 1 | // 0x07011370 - 0x0701137C 2 | const MacroObject jrb_seg7_area_2_macro_objs[] = { 3 | MACRO_OBJECT(/*preset*/ macro_box_star_1, /*yaw*/ 0, /*pos*/ 0, 1600, 3000), 4 | MACRO_OBJECT_END(), 5 | }; 6 | -------------------------------------------------------------------------------- /src/game/behaviors/sound_sand.inc.c: -------------------------------------------------------------------------------- 1 | // sound_sand.inc.c 2 | 3 | void bhv_sand_sound_loop(void) { 4 | if (gCamera->mode == CAMERA_MODE_BEHIND_MARIO) 5 | return; 6 | 7 | cur_obj_play_sound_1(SOUND_ENV_MOVINGSAND); 8 | } 9 | -------------------------------------------------------------------------------- /actors/book/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C0000C0 2 | const GeoLayout bookend_geo[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, book_seg5_dl_05002FB0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/group16_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group16.h" 9 | 10 | #include "moneybag/geo.inc.c" 11 | -------------------------------------------------------------------------------- /lib/src/guNormalize.c: -------------------------------------------------------------------------------- 1 | #include "libultra_internal.h" 2 | 3 | void guNormalize(f32 *x, f32 *y, f32 *z) { 4 | f32 tmp = 1.0f / sqrtf(*x * *x + *y * *y + *z * *z); 5 | *x = *x * tmp; 6 | *y = *y * tmp; 7 | *z = *z * tmp; 8 | } 9 | -------------------------------------------------------------------------------- /src/pc/controller/controller_emscripten_keyboard.h: -------------------------------------------------------------------------------- 1 | #ifndef CONTROLLER_KEYBOARD_EMSCRIPTEN_H 2 | #define CONTROLLER_KEYBOARD_EMSCRIPTEN_H 3 | 4 | #ifdef TARGET_WEB 5 | void controller_emscripten_keyboard_init(void); 6 | #endif 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /actors/bookend/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05002540 2 | const struct Animation *const bookend_seg5_anims_05002540[] = { 3 | &bookend_seg5_anim_05002528, 4 | &bookend_seg5_anim_050023F4, 5 | &bookend_seg5_anim_05002510, 6 | NULL, 7 | }; 8 | -------------------------------------------------------------------------------- /levels/rr/flying_carpet/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000848 2 | const GeoLayout rr_geo_000848[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_ASM(0, geo_exec_flying_carpet_create), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /src/pc/controller/controller_sdl.h: -------------------------------------------------------------------------------- 1 | #ifndef CONTROLLER_SDL_H 2 | #define CONTROLLER_SDL_H 3 | 4 | #include "controller_api.h" 5 | 6 | #define VK_BASE_SDL_GAMEPAD 0x1000 7 | 8 | extern struct ControllerAPI controller_sdl; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /actors/fwoosh/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C00036C 2 | const GeoLayout fwoosh_geo[] = { 3 | GEO_CULLING_RADIUS(200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, fwoosh_seg5_dl_05016040), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bbh/coffin/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000658 2 | const GeoLayout geo_bbh_000658[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_070206F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/jrb/rock/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000930 2 | const GeoLayout jrb_geo_000930[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, jrb_seg7_dl_07007AC8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/10/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000720 2 | const GeoLayout rr_geo_000720[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0700CA38), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/12/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000758 2 | const GeoLayout rr_geo_000758[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_0700E178), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/14/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000788 2 | const GeoLayout rr_geo_000788[] = { 3 | GEO_CULLING_RADIUS(4000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07012758), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/15/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0007A0 2 | const GeoLayout rr_geo_0007A0[] = { 3 | GEO_CULLING_RADIUS(3500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07014508), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/16/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0007B8 2 | const GeoLayout rr_geo_0007B8[] = { 3 | GEO_CULLING_RADIUS(1600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07014F30), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/17/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0007D0 2 | const GeoLayout rr_geo_0007D0[] = { 3 | GEO_CULLING_RADIUS(3800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_070156B8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000660 2 | const GeoLayout rr_geo_000660[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07002CC8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/21/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000830 2 | const GeoLayout rr_geo_000830[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_070191A0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000678 2 | const GeoLayout rr_geo_000678[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_07002E80), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000690 2 | const GeoLayout rr_geo_000690[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07004A98), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006A8 2 | const GeoLayout rr_geo_0006A8[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07005C80), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/6/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006C0 2 | const GeoLayout rr_geo_0006C0[] = { 3 | GEO_CULLING_RADIUS(3500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07007E60), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006D8 2 | const GeoLayout rr_geo_0006D8[] = { 3 | GEO_CULLING_RADIUS(3500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07008258), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006F0 2 | const GeoLayout rr_geo_0006F0[] = { 3 | GEO_CULLING_RADIUS(2800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07008E20), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000708 2 | const GeoLayout rr_geo_000708[] = { 3 | GEO_CULLING_RADIUS(4000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0700BB48), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/l_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000940 2 | const GeoLayout rr_geo_000940[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701BD08), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/sl/snow_mound/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000390 2 | const GeoLayout sl_geo_000390[] = { 3 | GEO_CULLING_RADIUS(350), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, sl_seg7_dl_0700A780), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ssl/tox_box/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000630 2 | const GeoLayout ssl_geo_000630[] = { 3 | GEO_CULLING_RADIUS(4000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ssl_seg7_dl_0700FCE0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/spinner/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000370 2 | const GeoLayout ttc_geo_000370[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_07012028), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/11/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008E8 2 | const GeoLayout wf_geo_0008E8[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_07009278), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/13/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000940 2 | const GeoLayout wf_geo_000940[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_07009DB0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/14/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AE0 2 | const GeoLayout wf_geo_000AE0[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700A170), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/16/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009A0 2 | const GeoLayout wf_geo_0009A0[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700BA28), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/17/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009B8 2 | const GeoLayout wf_geo_0009B8[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700BF50), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/18/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009D0 2 | const GeoLayout wf_geo_0009D0[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700D028), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/19/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009E8 2 | const GeoLayout wf_geo_0009E8[] = { 3 | GEO_CULLING_RADIUS(2700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700D300), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000860 2 | const GeoLayout wf_geo_000860[] = { 3 | GEO_CULLING_RADIUS(1400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_07006820), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000878 2 | const GeoLayout wf_geo_000878[] = { 3 | GEO_CULLING_RADIUS(9000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, wf_seg7_dl_07007220), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000890 2 | const GeoLayout wf_geo_000890[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_07007518), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/large_bomp/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A40 2 | const GeoLayout wf_geo_000A40[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700DE20), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/tower_door/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000BE0 2 | const GeoLayout wf_geo_000BE0[] = { 3 | GEO_CULLING_RADIUS(320), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700F7F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /src/buffers/zbuffer.h: -------------------------------------------------------------------------------- 1 | #ifndef ZBUFFER_H 2 | #define ZBUFFER_H 3 | 4 | #include 5 | 6 | #include "config.h" 7 | #include "macros.h" 8 | 9 | extern u16 gZBuffer[SCREEN_WIDTH * SCREEN_HEIGHT]; 10 | 11 | #endif // ZBUFFER_H 12 | -------------------------------------------------------------------------------- /src/pc/gfx/gfx_direct3d11.h: -------------------------------------------------------------------------------- 1 | #ifdef RAPI_D3D11 2 | 3 | #ifndef GFX_DIRECT3D11_H 4 | #define GFX_DIRECT3D11_H 5 | 6 | #include "gfx_rendering_api.h" 7 | 8 | extern struct GfxRenderingAPI gfx_direct3d11_api; 9 | 10 | #endif 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /src/pc/gfx/gfx_direct3d12.h: -------------------------------------------------------------------------------- 1 | #ifdef RAPI_D3D12 2 | 3 | #ifndef GFX_DIRECT3D12_H 4 | #define GFX_DIRECT3D12_H 5 | 6 | #include "gfx_rendering_api.h" 7 | 8 | extern struct GfxRenderingAPI gfx_direct3d12_api; 9 | 10 | #endif 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /actors/burn_smoke/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x17000084 2 | const GeoLayout burn_smoke_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, burn_smoke_seg4_dl_04022070), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/cannon_base/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F0001A8 2 | const GeoLayout cannon_base_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, cannon_base_seg8_dl_080057F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /include/libc/math.h: -------------------------------------------------------------------------------- 1 | #ifndef MATH_H 2 | #define MATH_H 3 | 4 | #define M_PI 3.14159265358979323846 5 | 6 | float sinf(float); 7 | double sin(double); 8 | float cosf(float); 9 | double cos(double); 10 | 11 | float sqrtf(float); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /levels/bbh/mesh_elevator/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000628 2 | const GeoLayout geo_bbh_000628[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bbh_seg7_dl_0701FFE8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/13/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000538 2 | const GeoLayout bits_geo_000538[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bits_seg7_dl_0700BA18), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000430 2 | const GeoLayout bits_geo_000430[] = { 3 | GEO_CULLING_RADIUS(3200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07003670), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/21/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005F8 2 | const GeoLayout bits_geo_0005F8[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07012D40), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/23/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000628 2 | const GeoLayout bits_geo_000628[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07013820), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/24/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000640 2 | const GeoLayout bits_geo_000640[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07013C78), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/25/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000658 2 | const GeoLayout bits_geo_000658[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07013EF8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000448 2 | const GeoLayout bits_geo_000448[] = { 3 | GEO_CULLING_RADIUS(3200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_070047F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000460 2 | const GeoLayout bits_geo_000460[] = { 3 | GEO_CULLING_RADIUS(3900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07005DB8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000478 2 | const GeoLayout bits_geo_000478[] = { 3 | GEO_CULLING_RADIUS(2500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07007AF0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/6/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000490 2 | const GeoLayout bits_geo_000490[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bits_seg7_dl_07007C28), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004A8 2 | const GeoLayout bits_geo_0004A8[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07007EC8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004C0 2 | const GeoLayout bits_geo_0004C0[] = { 3 | GEO_CULLING_RADIUS(2700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07008D18), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004D8 2 | const GeoLayout bits_geo_0004D8[] = { 3 | GEO_CULLING_RADIUS(1600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bits_seg7_dl_07008FE8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bob/grate_door/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000470 2 | const GeoLayout bob_geo_000470[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bob_seg7_dl_0700E8A0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/jrb/sliding_box/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000960 2 | const GeoLayout jrb_geo_000960[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, jrb_seg7_dl_070080F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/10/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A78 2 | const GeoLayout lll_geo_000A78[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_070165C8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/11/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A90 2 | const GeoLayout lll_geo_000A90[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07016B00), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/12/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AA8 2 | const GeoLayout lll_geo_000AA8[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_070174E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/13/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AC0 2 | const GeoLayout lll_geo_000AC0[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_070178A8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/14/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AD8 2 | const GeoLayout lll_geo_000AD8[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07017B50), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/15/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AF0 2 | const GeoLayout lll_geo_000AF0[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, lll_seg7_dl_07017F40), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009E0 2 | const GeoLayout lll_geo_0009E0[] = { 3 | GEO_CULLING_RADIUS(1700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07013D28), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009F8 2 | const GeoLayout lll_geo_0009F8[] = { 3 | GEO_CULLING_RADIUS(2200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07014788), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/6/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A10 2 | const GeoLayout lll_geo_000A10[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07014BD8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A28 2 | const GeoLayout lll_geo_000A28[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07015458), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A60 2 | const GeoLayout lll_geo_000A60[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07016250), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/rolling_log/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000DE8 2 | const GeoLayout lll_geo_000DE8[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_0701AD70), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/13/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000770 2 | const GeoLayout rr_geo_000770[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, rr_seg7_dl_0700E830), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/18/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0007E8 2 | const GeoLayout rr_geo_0007E8[] = { 3 | GEO_CULLING_RADIUS(2500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, rr_seg7_dl_07015C68), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/19/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000800 2 | const GeoLayout rr_geo_000800[] = { 3 | GEO_CULLING_RADIUS(4500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, rr_seg7_dl_07017530), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/areas/1/20/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000818 2 | const GeoLayout rr_geo_000818[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, rr_seg7_dl_07018B58), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/cruiser_wing/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000890 2 | const GeoLayout rr_geo_000890[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_0701A680), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/pyramid_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008D8 2 | const GeoLayout rr_geo_0008D8[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701AFA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/seesaw_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000908 2 | const GeoLayout rr_geo_000908[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701B4C0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/sliding_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008C0 2 | const GeoLayout rr_geo_0008C0[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701ADF8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/sl/unused_cracked_ice/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000360 2 | const GeoLayout sl_geo_000360[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sl_seg7_dl_0700A890), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/sl/unused_ice_shard/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000378 2 | const GeoLayout sl_geo_000378[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, sl_seg7_dl_0700A980), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ssl/areas/1/5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005C0 2 | const GeoLayout ssl_geo_0005C0[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_ASM(0x801, geo_movtex_draw_colored_2_no_update), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ssl/pyramid_top/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000618 2 | const GeoLayout ssl_geo_000618[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ssl_seg7_dl_0700BF18), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/thi/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005F0 2 | const GeoLayout thi_geo_0005F0[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, thi_seg7_dl_07007930), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/clock_hand/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000358 2 | const GeoLayout ttc_geo_000358[] = { 3 | GEO_CULLING_RADIUS(1700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_07011B38), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/large_gear/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0003A0 2 | const GeoLayout ttc_geo_0003A0[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttc_seg7_dl_07012278), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/pendulum/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000270 2 | const GeoLayout ttc_geo_000270[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_0700F760), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/pit_block/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000310 2 | const GeoLayout ttc_geo_000310[] = { 3 | GEO_CULLING_RADIUS(250), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_07011040), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/pit_block_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000328 2 | const GeoLayout ttc_geo_000328[] = { 3 | GEO_CULLING_RADIUS(250), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_07011360), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/push_block/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002C8 2 | const GeoLayout ttc_geo_0002C8[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_070102B8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/rotating_cube/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000240 2 | const GeoLayout ttc_geo_000240[] = { 3 | GEO_CULLING_RADIUS(410), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_0700ECB8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/small_gear/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000388 2 | const GeoLayout ttc_geo_000388[] = { 3 | GEO_CULLING_RADIUS(200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttc_seg7_dl_07012148), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttm/rolling_log/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000730 2 | const GeoLayout ttm_geo_000730[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_07012270), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/vcutm/seesaw/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0001F0 2 | const GeoLayout vcutm_geo_0001F0[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, vcutm_seg7_dl_070096E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/sliding_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A98 2 | const GeoLayout wf_geo_000A98[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700EB40), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/cannon_barrel/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F0001C0 2 | const GeoLayout cannon_barrel_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, cannon_barrel_seg8_dl_08006660), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/tornado/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05014630 2 | const GeoLayout tweester_geo[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, tornado_seg5_dl_050145C0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bbh/merry_go_round/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000640 2 | const GeoLayout geo_bbh_000640[] = { 3 | GEO_CULLING_RADIUS(2300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_070202F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bbh/moving_bookshelf/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000610 2 | const GeoLayout geo_bbh_000610[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_0701FD28), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bbh/staircase_step/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005B0 2 | const GeoLayout geo_bbh_0005B0[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_0701F2E8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/10/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000570 2 | const GeoLayout bitfs_geo_000570[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07007958), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/11/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000588 2 | const GeoLayout bitfs_geo_000588[] = { 3 | GEO_CULLING_RADIUS(2200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07008F48), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/12/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005A0 2 | const GeoLayout bitfs_geo_0005A0[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_070091E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/13/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005B8 2 | const GeoLayout bitfs_geo_0005B8[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_070095E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/14/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005D0 2 | const GeoLayout bitfs_geo_0005D0[] = { 3 | GEO_CULLING_RADIUS(1900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700AA00), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/15/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005E8 2 | const GeoLayout bitfs_geo_0005E8[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_0700AB90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/16/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000600 2 | const GeoLayout bitfs_geo_000600[] = { 3 | GEO_CULLING_RADIUS(2800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700BED8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/17/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000618 2 | const GeoLayout bitfs_geo_000618[] = { 3 | GEO_CULLING_RADIUS(2500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_0700C3C0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/18/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000630 2 | const GeoLayout bitfs_geo_000630[] = { 3 | GEO_CULLING_RADIUS(1600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700EC78), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004B0 2 | const GeoLayout bitfs_geo_0004B0[] = { 3 | GEO_CULLING_RADIUS(2700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07002A78), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/20/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000660 2 | const GeoLayout bitfs_geo_000660[] = { 3 | GEO_CULLING_RADIUS(4100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700F1C8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004C8 2 | const GeoLayout bitfs_geo_0004C8[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07003670), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004E0 2 | const GeoLayout bitfs_geo_0004E0[] = { 3 | GEO_CULLING_RADIUS(2500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07003C60), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004F8 2 | const GeoLayout bitfs_geo_0004F8[] = { 3 | GEO_CULLING_RADIUS(3200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_070040B0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/6/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000510 2 | const GeoLayout bitfs_geo_000510[] = { 3 | GEO_CULLING_RADIUS(2600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_07004630), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000528 2 | const GeoLayout bitfs_geo_000528[] = { 3 | GEO_CULLING_RADIUS(3500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07006B90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000540 2 | const GeoLayout bitfs_geo_000540[] = { 3 | GEO_CULLING_RADIUS(1900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_07007070), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000558 2 | const GeoLayout bitfs_geo_000558[] = { 3 | GEO_CULLING_RADIUS(4600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07007720), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/elevator/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000678 2 | const GeoLayout bitfs_geo_000678[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700F508), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/10/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004F0 2 | const GeoLayout bits_geo_0004F0[] = { 3 | GEO_CULLING_RADIUS(1800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07009690), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/11/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000508 2 | const GeoLayout bits_geo_000508[] = { 3 | GEO_CULLING_RADIUS(3200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_0700B4A0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/12/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000520 2 | const GeoLayout bits_geo_000520[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_0700B820), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/14/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000550 2 | const GeoLayout bits_geo_000550[] = { 3 | GEO_CULLING_RADIUS(2900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_0700CDC0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/15/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000568 2 | const GeoLayout bits_geo_000568[] = { 3 | GEO_CULLING_RADIUS(2400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_0700D278), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/17/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000598 2 | const GeoLayout bits_geo_000598[] = { 3 | GEO_CULLING_RADIUS(2200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_0700DD00), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/18/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005B0 2 | const GeoLayout bits_geo_0005B0[] = { 3 | GEO_CULLING_RADIUS(2700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_0700FC70), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/19/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005C8 2 | const GeoLayout bits_geo_0005C8[] = { 3 | GEO_CULLING_RADIUS(3300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_070128F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/20/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005E0 2 | const GeoLayout bits_geo_0005E0[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07012B10), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/22/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000610 2 | const GeoLayout bits_geo_000610[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_070135A0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/26/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000670 2 | const GeoLayout bits_geo_000670[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07014178), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/27/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000688 2 | const GeoLayout bits_geo_000688[] = { 3 | GEO_CULLING_RADIUS(1900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07014C28), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/28/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006A0 2 | const GeoLayout bits_geo_0006A0[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_070153C0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/29/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006B8 2 | const GeoLayout bits_geo_0006B8[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07015B60), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/30/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006D0 2 | const GeoLayout bits_geo_0006D0[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07016300), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/31/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006E8 2 | const GeoLayout bits_geo_0006E8[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07016AA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/32/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000700 2 | const GeoLayout bits_geo_000700[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bits_seg7_dl_07016DA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bob/chain_chomp_gate/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000440 2 | const GeoLayout bob_geo_000440[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bob_seg7_dl_0700E458), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bob/seesaw_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000458 2 | const GeoLayout bob_geo_000458[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bob_seg7_dl_0700E768), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/hmc/areas/1/grill_door/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000530 2 | const GeoLayout hmc_geo_000530[] = { 3 | GEO_CULLING_RADIUS(1000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, hmc_seg7_dl_0701FFF8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/hmc/arrow_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005A0 2 | const GeoLayout hmc_geo_0005A0[] = { 3 | GEO_CULLING_RADIUS(550), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07022DA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/hmc/elevator_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005D0 2 | const GeoLayout hmc_geo_0005D0[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07022AA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/jrb/falling_pillar/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000900 2 | const GeoLayout jrb_geo_000900[] = { 3 | GEO_CULLING_RADIUS(1600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, jrb_seg7_dl_0700AE48), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/jrb/floating_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000948 2 | const GeoLayout jrb_geo_000948[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, jrb_seg7_dl_07007DC8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/drawbridge_part/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B20 2 | const GeoLayout lll_geo_000B20[] = { 3 | GEO_CULLING_RADIUS(850), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07018680), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/long_wooden_bridge/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B98 2 | const GeoLayout lll_geo_000B98[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_070193E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/sinking_rock_block/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000DD0 2 | const GeoLayout lll_geo_000DD0[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_0701A878), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/wooden_float_small/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B50 2 | const GeoLayout lll_geo_000B50[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07018C90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/elevator_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008F0 2 | const GeoLayout rr_geo_0008F0[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701B220), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/octagonal_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008A8 2 | const GeoLayout rr_geo_0008A8[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701AB78), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/swinging_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000860 2 | const GeoLayout rr_geo_000860[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07019AE0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/tricky_triangles_1/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000958 2 | const GeoLayout rr_geo_000958[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701E670), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/tricky_triangles_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000970 2 | const GeoLayout rr_geo_000970[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07021100), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/tricky_triangles_3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000988 2 | const GeoLayout rr_geo_000988[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07023B90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/tricky_triangles_4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009A0 2 | const GeoLayout rr_geo_0009A0[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07026630), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/tricky_triangles_5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009B8 2 | const GeoLayout rr_geo_0009B8[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_07028FA8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/elevator_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000340 2 | const GeoLayout ttc_geo_000340[] = { 3 | GEO_CULLING_RADIUS(380), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_070116A8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/rotating_hexagon/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002E0 2 | const GeoLayout ttc_geo_0002E0[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_07010868), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/rotating_prism/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000258 2 | const GeoLayout ttc_geo_000258[] = { 3 | GEO_CULLING_RADIUS(410), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_0700EFE0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttc/rotating_triangle/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002F8 2 | const GeoLayout ttc_geo_0002F8[] = { 3 | GEO_CULLING_RADIUS(520), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_07010D38), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ttm/slide_exit_podium/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000DF4 2 | const GeoLayout ttm_geo_000DF4[] = { 3 | GEO_CULLING_RADIUS(8000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0702BB60), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wdw/express_elevator/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000610 2 | const GeoLayout wdw_geo_000610[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wdw_seg7_dl_07013B70), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wdw/rotating_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000640 2 | const GeoLayout wdw_geo_000640[] = { 3 | GEO_CULLING_RADIUS(450), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wdw_seg7_dl_070140E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/breakable_wall_left/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B90 2 | const GeoLayout wf_geo_000B90[] = { 3 | GEO_CULLING_RADIUS(690), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700F340), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/breakable_wall_right/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B78 2 | const GeoLayout wf_geo_000B78[] = { 3 | GEO_CULLING_RADIUS(750), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700F1A8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/tumbling_bridge_far/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AC8 2 | const GeoLayout wf_geo_000AC8[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700E3D0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/tumbling_bridge_near/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AB0 2 | const GeoLayout wf_geo_000AB0[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700E0F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /src/game/behaviors/castle_cannon_grate.inc.c: -------------------------------------------------------------------------------- 1 | // castle_cannon_grate.inc.c 2 | 3 | void bhv_castle_cannon_grate_init(void) { 4 | if (save_file_get_total_star_count(gCurrSaveFileNum - 1, 0, 24) >= 120) 5 | o->activeFlags = ACTIVE_FLAG_DEACTIVATED; 6 | } 7 | -------------------------------------------------------------------------------- /src/game/behaviors/moat_grill.inc.c: -------------------------------------------------------------------------------- 1 | // moat_grill.c.inc 2 | 3 | void bhv_moat_grills_loop(void) { 4 | if (save_file_get_flags() & SAVE_FLAG_MOAT_DRAINED) 5 | cur_obj_set_model(MODEL_NONE); 6 | else 7 | load_object_collision_model(); 8 | } 9 | -------------------------------------------------------------------------------- /src/menu/level_select_menu.h: -------------------------------------------------------------------------------- 1 | #ifndef LEVEL_SELECT_MENU_H 2 | #define LEVEL_SELECT_MENU_H 3 | 4 | #include 5 | 6 | #include "macros.h" 7 | 8 | s32 lvl_intro_update(s16 arg1, UNUSED s32 arg2); 9 | 10 | #endif // LEVEL_SELECT_MENU_H 11 | -------------------------------------------------------------------------------- /src/pc/pc_main.h: -------------------------------------------------------------------------------- 1 | #ifndef _PC_MAIN_H 2 | #define _PC_MAIN_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | void game_deinit(void); 9 | void game_exit(void); 10 | 11 | #ifdef __cplusplus 12 | } 13 | #endif 14 | 15 | #endif // _PC_MAIN_H 16 | -------------------------------------------------------------------------------- /actors/group2_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group2.h" 9 | 10 | #include "bully/geo.inc.c" 11 | #include "blargg/geo.inc.c" 12 | -------------------------------------------------------------------------------- /actors/poundable_pole/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0D0000B8 2 | const GeoLayout wooden_post_geo[] = { 3 | GEO_CULLING_RADIUS(450), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, poundable_pole_seg6_dl_06002410), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/purple_switch/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F0004CC 2 | const GeoLayout purple_switch_geo[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, purple_switch_seg8_dl_0800C718), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/skeeter/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06007DE0 2 | const struct Animation *const skeeter_seg6_anims_06007DE0[] = { 3 | &skeeter_seg6_anim_06005D44, 4 | &skeeter_seg6_anim_06006B70, 5 | &skeeter_seg6_anim_060071E0, 6 | &skeeter_seg6_anim_06007DC8, 7 | }; 8 | -------------------------------------------------------------------------------- /actors/thwomp/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C000248 2 | const GeoLayout thwomp_geo[] = { 3 | GEO_SHADOW(SHADOW_SQUARE_SCALABLE, 0xB4, 300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, thwomp_seg5_dl_0500B750), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/yellow_sphere_small/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C000000 2 | const GeoLayout yellow_sphere_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, yellow_sphere_seg5_dl_050008C8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /include/libc/string.h: -------------------------------------------------------------------------------- 1 | #ifndef STRING_H 2 | #define STRING_H 3 | 4 | #include "PR/ultratypes.h" 5 | 6 | void *memcpy(void *dst, const void *src, size_t size); 7 | size_t strlen(const char *str); 8 | char *strchr(const char *str, s32 ch); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /levels/bbh/tilting_trap_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005C8 2 | const GeoLayout geo_bbh_0005C8[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_0701F5F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bbh/tumbling_platform_far/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005E0 2 | const GeoLayout geo_bbh_0005E0[] = { 3 | GEO_CULLING_RADIUS(650), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_0701F7E8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bbh/tumbling_platform_near/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005F8 2 | const GeoLayout geo_bbh_0005F8[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bbh_seg7_dl_0701FAB0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/ferris_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000588 2 | const GeoLayout geo_bitdw_000588[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700BB58), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/ferris_wheel_axle/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000570 2 | const GeoLayout geo_bitdw_000570[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700B8D8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/seesaw_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000540 2 | const GeoLayout geo_bitdw_000540[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700B220), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/sliding_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000528 2 | const GeoLayout geo_bitdw_000528[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700AFA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/square_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000558 2 | const GeoLayout geo_bitdw_000558[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700B480), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/areas/1/19/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000648 2 | const GeoLayout bitfs_geo_000648[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, bitfs_seg7_dl_0700ED90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/platform_on_track/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000758 2 | const GeoLayout bitfs_geo_000758[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_07011798), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/seesaw_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000788 2 | const GeoLayout bitfs_geo_000788[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07011E28), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/sinking_cage_pole/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006A8 2 | const GeoLayout bitfs_geo_0006A8[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700FB38), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/sliding_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000740 2 | const GeoLayout bitfs_geo_000740[] = { 3 | GEO_CULLING_RADIUS(550), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07011568), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bits/areas/1/16/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000580 2 | const GeoLayout bits_geo_000580[] = { 3 | GEO_CULLING_RADIUS(3500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, bits_seg7_dl_0700D5A0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/hmc/arrow_platform_button/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005B8 2 | const GeoLayout hmc_geo_0005B8[] = { 3 | GEO_CULLING_RADIUS(200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07023090), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/hmc/rolling_rock_fragment_1/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000570 2 | const GeoLayout hmc_geo_000570[] = { 3 | GEO_CULLING_RADIUS(150), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07023E10), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/hmc/rolling_rock_fragment_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000588 2 | const GeoLayout hmc_geo_000588[] = { 3 | GEO_CULLING_RADIUS(100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07024110), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/jrb/falling_pillar_base/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000918 2 | const GeoLayout jrb_geo_000918[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, jrb_seg7_dl_0700AFB0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/tilting_square_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000BF8 2 | const GeoLayout lll_geo_000BF8[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_0701A1F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/volcano_falling_trap/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000EA8 2 | const GeoLayout lll_geo_000EA8[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07025EC0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/wooden_float_large/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B68 2 | const GeoLayout lll_geo_000B68[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07018EF8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/rr/rotating_bridge_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000878 2 | const GeoLayout rr_geo_000878[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701A568), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ssl/moving_pyramid_wall/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000794 2 | const GeoLayout ssl_geo_000794[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ssl_seg7_dl_07022CF8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wf/beta_extending_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000AF8 2 | const GeoLayout wf_geo_000AF8[] = { 3 | GEO_CULLING_RADIUS(650), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wf_seg7_dl_0700EDC0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /src/game/behaviors/sound_ambient.inc.c: -------------------------------------------------------------------------------- 1 | // sound_ambient.inc.c 2 | 3 | void bhv_ambient_sounds_init(void) { 4 | if (gCamera->mode == CAMERA_MODE_BEHIND_MARIO) 5 | return; 6 | 7 | play_sound(SOUND_AIR_CASTLE_OUTDOORS_AMBIENT, gDefaultSoundArgs); 8 | } 9 | -------------------------------------------------------------------------------- /actors/bully/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0500470C 2 | const struct Animation *const bully_seg5_anims_0500470C[] = { 3 | &bully_seg5_anim_05004598, 4 | &bully_seg5_anim_050043D8, 5 | &bully_seg5_anim_050042A4, 6 | &bully_seg5_anim_050046F4, 7 | NULL, 8 | }; 9 | -------------------------------------------------------------------------------- /actors/heart/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F0004FC 2 | const GeoLayout heart_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x64, 100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, heart_seg8_dl_0800DFE0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/klepto/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05005E44.inc.c" 2 | #include "anim_05007574.inc.c" 3 | #include "anim_050079B0.inc.c" 4 | #include "anim_05007E34.inc.c" 5 | #include "anim_050086C0.inc.c" 6 | #include "anim_05008A18.inc.c" 7 | #include "anim_05008CE4.inc.c" 8 | -------------------------------------------------------------------------------- /actors/unagi/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500FBF4.inc.c" 2 | #include "anim_05010488.inc.c" 3 | #include "anim_05010B54.inc.c" 4 | #include "anim_05011488.inc.c" 5 | #include "anim_05011890.inc.c" 6 | #include "anim_05011D40.inc.c" 7 | #include "anim_0501280C.inc.c" 8 | -------------------------------------------------------------------------------- /levels/bitdw/collapsing_stairs_1/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005A0 2 | const GeoLayout geo_bitdw_0005A0[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700C0E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/collapsing_stairs_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005B8 2 | const GeoLayout geo_bitdw_0005B8[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700C670), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/collapsing_stairs_3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005D0 2 | const GeoLayout geo_bitdw_0005D0[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700CC00), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/collapsing_stairs_4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005E8 2 | const GeoLayout geo_bitdw_0005E8[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700D190), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/collapsing_stairs_5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000600 2 | const GeoLayout geo_bitdw_000600[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700D3E8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/moving_square_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000728 2 | const GeoLayout bitfs_geo_000728[] = { 3 | GEO_CULLING_RADIUS(650), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07011318), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/sinking_cage_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000690 2 | const GeoLayout bitfs_geo_000690[] = { 3 | GEO_CULLING_RADIUS(550), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_0700F6A8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/sinking_platforms/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000770 2 | const GeoLayout bitfs_geo_000770[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07011BA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/tumbling_platform_far/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006F0 2 | const GeoLayout bitfs_geo_0006F0[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07010168), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/tumbling_platform_near/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006D8 2 | const GeoLayout bitfs_geo_0006D8[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700FF90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/collapsing_wooden_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B80 2 | const GeoLayout lll_geo_000B80[] = { 3 | GEO_CULLING_RADIUS(450), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07019160), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/rotating_block_fire_bars/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B38 2 | const GeoLayout lll_geo_000B38[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07018A30), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/rotating_hexagonal_ring/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000BB0 2 | const GeoLayout lll_geo_000BB0[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07019A08), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/sinking_square_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000BE0 2 | const GeoLayout lll_geo_000BE0[] = { 3 | GEO_CULLING_RADIUS(1800), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_0701A010), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wdw/square_floating_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000580 2 | const GeoLayout wdw_geo_000580[] = { 3 | GEO_CULLING_RADIUS(550), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wdw_seg7_dl_07012B90), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/group8_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group8.h" 9 | 10 | #include "springboard/geo.inc.c" 11 | #include "capswitch/geo.inc.c" 12 | -------------------------------------------------------------------------------- /actors/mr_i_eyeball/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0D000000 2 | const GeoLayout mr_i_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, mr_i_eyeball_seg6_dl_06002080), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/white_particle/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x16000F98 2 | const GeoLayout white_particle_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 50), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, white_particle_dl), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/large_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0003D8 2 | const GeoLayout geo_bitdw_0003D8[] = { 3 | GEO_CULLING_RADIUS(2300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_070032F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/octogonal_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000450 2 | const GeoLayout geo_bitdw_000450[] = { 3 | GEO_CULLING_RADIUS(1300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_07005078), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/platform_with_hill/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000468 2 | const GeoLayout geo_bitdw_000468[] = { 3 | GEO_CULLING_RADIUS(2900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_07005BC0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/quartz_crystal/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004C8 2 | const GeoLayout geo_bitdw_0004C8[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, bitdw_seg7_dl_070093B0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/quartzy_path_1/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000408 2 | const GeoLayout geo_bitdw_000408[] = { 3 | GEO_CULLING_RADIUS(4000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_07003BF0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/quartzy_path_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000420 2 | const GeoLayout geo_bitdw_000420[] = { 3 | GEO_CULLING_RADIUS(3500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_07004318), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/quartzy_path_fences/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000438 2 | const GeoLayout geo_bitdw_000438[] = { 3 | GEO_CULLING_RADIUS(2500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitdw_seg7_dl_070045C0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/starting_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0003C0 2 | const GeoLayout geo_bitdw_0003C0[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_070028A0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/wooden_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000480 2 | const GeoLayout geo_bitdw_000480[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_070065F0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitfs/tilting_square_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006C0 2 | const GeoLayout bitfs_geo_0006C0[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_0700FD08), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_2/tilting_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000170 2 | const GeoLayout bowser_2_geo_000170[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_2_seg7_dl_07000FE0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/areas/1/bomb_stand/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000380 2 | const GeoLayout bowser_3_geo_000380[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07004958), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_inside/star_door/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000F00 2 | const GeoLayout castle_geo_000F00[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0703BFA8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_inside/trap_door/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000F18 2 | const GeoLayout castle_geo_000F18[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_0703BCB8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/ccm/snowman_base/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0003F0 2 | const GeoLayout ccm_geo_0003F0[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xC8, 400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ccm_seg7_dl_07012BD8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/moving_octagonal_mesh_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000B08 2 | const GeoLayout lll_geo_000B08[] = { 3 | GEO_CULLING_RADIUS(550), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, lll_seg7_dl_07018380), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/sinking_rectangular_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000BC8 2 | const GeoLayout lll_geo_000BC8[] = { 3 | GEO_CULLING_RADIUS(1400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07019C08), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/wdw/rectangular_floating_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000628 2 | const GeoLayout wdw_geo_000628[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wdw_seg7_dl_07013E40), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/chain_ball/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0D0005D0 2 | const GeoLayout metallic_ball_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 60), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, chain_ball_seg6_dl_060212E8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /actors/group3_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group3.h" 9 | 10 | #include "king_bobomb/geo.inc.c" 11 | #include "water_bubble/geo.inc.c" 12 | -------------------------------------------------------------------------------- /actors/mushroom_1up/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x16000E84 2 | const GeoLayout mushroom_1up_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0xB4, 80), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, mushroom_1up_seg3_dl_0302A660), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /include/PR/os_misc.h: -------------------------------------------------------------------------------- 1 | #ifndef _ULTRA64_OS_MISC_H_ 2 | #define _ULTRA64_OS_MISC_H_ 3 | #include 4 | /* Miscellaneous OS functions */ 5 | 6 | void osInitialize(void); 7 | u32 osGetCount(void); 8 | 9 | uintptr_t osVirtualToPhysical(void *); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/narrow_path_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000510 2 | const GeoLayout geo_bitdw_000510[] = { 3 | GEO_CULLING_RADIUS(1400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700AD10), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/platforms_and_tilting/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000498 2 | const GeoLayout geo_bitdw_000498[] = { 3 | GEO_CULLING_RADIUS(2400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_07007AA8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/platforms_and_tilting_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004B0 2 | const GeoLayout geo_bitdw_0004B0[] = { 3 | GEO_CULLING_RADIUS(2400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_07008FF0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/wooden_bridge_and_fences/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0003F0 2 | const GeoLayout geo_bitdw_0003F0[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitdw_seg7_dl_07003608), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_1/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000290 2 | const GeoLayout bowser_3_geo_000290[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_070022A8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_10/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000368 2 | const GeoLayout bowser_3_geo_000368[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07003FA0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_2/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002A8 2 | const GeoLayout bowser_3_geo_0002A8[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_070025E0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002C0 2 | const GeoLayout bowser_3_geo_0002C0[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07002918), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002D8 2 | const GeoLayout bowser_3_geo_0002D8[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07002C50), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_5/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002F0 2 | const GeoLayout bowser_3_geo_0002F0[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07002F88), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_6/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000308 2 | const GeoLayout bowser_3_geo_000308[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_070032C0), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000320 2 | const GeoLayout bowser_3_geo_000320[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_070035F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000338 2 | const GeoLayout bowser_3_geo_000338[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07003930), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bowser_3/falling_platform_9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000350 2 | const GeoLayout bowser_3_geo_000350[] = { 3 | GEO_CULLING_RADIUS(5000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bowser_3_seg7_dl_07003C68), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_inside/clock_hour_hand/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E001548 2 | const GeoLayout castle_geo_001548[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07059190), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/staircase_slope_and_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004E0 2 | const GeoLayout geo_bitdw_0004E0[] = { 3 | GEO_CULLING_RADIUS(2400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitdw_seg7_dl_0700A368), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/bitdw/areas/1/track_for_pyramid_platforms/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004F8 2 | const GeoLayout geo_bitdw_0004F8[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitdw_seg7_dl_0700A6A8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_grounds/areas/1/3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0006F4 2 | const GeoLayout castle_grounds_geo_0006F4[] = { 3 | GEO_CULLING_RADIUS(2100), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, castle_grounds_seg7_dl_0700A290), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_grounds/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E00070C 2 | const GeoLayout castle_grounds_geo_00070C[] = { 3 | GEO_CULLING_RADIUS(15000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, castle_grounds_seg7_dl_0700BB80), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_grounds/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000724 2 | const GeoLayout castle_grounds_geo_000724[] = { 3 | GEO_CULLING_RADIUS(15000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, castle_grounds_seg7_dl_0700BC68), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_inside/areas/2/pendulum/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E001518 2 | const GeoLayout castle_geo_001518[] = { 3 | GEO_CULLING_RADIUS(600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_070512F8), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_inside/clock_minute_hand/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E001530 2 | const GeoLayout castle_geo_001530[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07058950), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/castle_inside/water_level_pillar/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E001940 2 | const GeoLayout castle_geo_001940[] = { 3 | GEO_CULLING_RADIUS(550), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, inside_castle_seg7_dl_07068B10), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /src/game/behaviors/moat_drainer.inc.c: -------------------------------------------------------------------------------- 1 | // moat_drainer.c.inc 2 | 3 | void bhv_invisible_objects_under_bridge_init(void) { 4 | if (save_file_get_flags() & SAVE_FLAG_MOAT_DRAINED) { 5 | gEnvironmentRegions[6] = -800; 6 | gEnvironmentRegions[12] = -800; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/game/mario_actions_airborne.h: -------------------------------------------------------------------------------- 1 | #ifndef MARIO_ACTIONS_AIRBORNE_H 2 | #define MARIO_ACTIONS_AIRBORNE_H 3 | 4 | #include 5 | 6 | #include "types.h" 7 | 8 | s32 mario_execute_airborne_action(struct MarioState *m); 9 | 10 | #endif // MARIO_ACTIONS_AIRBORNE_H 11 | -------------------------------------------------------------------------------- /actors/checkerboard_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F0004E4 2 | const GeoLayout checkerboard_platform_geo[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, checkerboard_platform_seg8_dl_0800D680), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /include/macros.inc: -------------------------------------------------------------------------------- 1 | # Assembly Macros 2 | 3 | .set K0BASE, 0x80000000 4 | .set K1BASE, 0xA0000000 5 | .set K2BASE, 0xC0000000 6 | 7 | .macro glabel label 8 | .global \label 9 | .balign 4 10 | \label: 11 | .endm 12 | 13 | .macro .word32 x 14 | .word \x 15 | .endm 16 | -------------------------------------------------------------------------------- /src/game/mario_actions_automatic.h: -------------------------------------------------------------------------------- 1 | #ifndef MARIO_ACTIONS_AUTOMATIC_H 2 | #define MARIO_ACTIONS_AUTOMATIC_H 3 | 4 | #include 5 | 6 | #include "types.h" 7 | 8 | s32 mario_execute_automatic_action(struct MarioState *m); 9 | 10 | #endif // MARIO_ACTIONS_AUTOMATIC_H 11 | -------------------------------------------------------------------------------- /src/game/mario_actions_submerged.h: -------------------------------------------------------------------------------- 1 | #ifndef MARIO_ACTIONS_SUBMERGED_H 2 | #define MARIO_ACTIONS_SUBMERGED_H 3 | 4 | #include 5 | 6 | #include "types.h" 7 | 8 | s32 mario_execute_submerged_action(struct MarioState *m); 9 | 10 | #endif // MARIO_ACTIONS_SUBMERGED_H 11 | -------------------------------------------------------------------------------- /src/game/options_menu.h: -------------------------------------------------------------------------------- 1 | #ifndef OPTIONS_MENU_H 2 | #define OPTIONS_MENU_H 3 | 4 | void optmenu_toggle(void); 5 | void optmenu_draw(void); 6 | void optmenu_draw_prompt(void); 7 | void optmenu_check_buttons(void); 8 | 9 | extern u8 optmenu_open; 10 | 11 | #endif // OPTIONS_MENU_H 12 | -------------------------------------------------------------------------------- /levels/castle_courtyard/areas/1/spire/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000200 2 | const GeoLayout castle_courtyard_geo_000200[] = { 3 | GEO_CULLING_RADIUS(2600), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, castle_courtyard_seg7_dl_07005078), 6 | GEO_CLOSE_NODE(), 7 | GEO_END(), 8 | }; 9 | -------------------------------------------------------------------------------- /levels/level_rules.mk: -------------------------------------------------------------------------------- 1 | #define STUB_LEVEL(_0, _1, _2, _3, _4, _5, _6, _7, _8) 2 | #define DEFINE_LEVEL(_0, _1, _2, folder, texturebin, _5, _6, _7, _8, _9, _10) $(eval $(call level_rules,folder,texturebin)) 3 | 4 | #include "levels/level_defines.h" 5 | 6 | #undef STUB_LEVEL 7 | #undef DEFINE_LEVEL 8 | -------------------------------------------------------------------------------- /actors/group10_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group10.h" 9 | 10 | #include "bird/geo.inc.c" 11 | #include "peach/geo.inc.c" 12 | #include "yoshi/geo.inc.c" 13 | -------------------------------------------------------------------------------- /actors/group4_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group4.h" 9 | 10 | #include "clam_shell/geo.inc.c" 11 | #include "sushi/geo.inc.c" 12 | #include "unagi/geo.inc.c" 13 | -------------------------------------------------------------------------------- /actors/group5_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group5.h" 9 | 10 | #include "klepto/geo.inc.c" 11 | #include "eyerok/geo.inc.c" 12 | #include "pokey/geo.inc.c" 13 | -------------------------------------------------------------------------------- /actors/toad/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06008F7C.inc.c" 2 | #include "anim_06009310.inc.c" 3 | #include "anim_060099F0.inc.c" 4 | #include "anim_0600A0D0.inc.c" 5 | #include "anim_0600B66C.inc.c" 6 | #include "anim_0600CE78.inc.c" 7 | #include "anim_0600E414.inc.c" 8 | #include "anim_0600FB40.inc.c" 9 | -------------------------------------------------------------------------------- /actors/door/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x030156C0 2 | const struct Animation *const door_seg3_anims_030156C0[] = { 3 | &door_seg3_anim_03015208, 4 | &door_seg3_anim_03015440, 5 | &door_seg3_anim_03015690, 6 | &door_seg3_anim_03015458, 7 | &door_seg3_anim_030156A8, 8 | NULL, 9 | }; 10 | -------------------------------------------------------------------------------- /actors/eyerok/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_0500D270.inc.c" 2 | #include "anim_0500DF50.inc.c" 3 | #include "anim_0500E1D8.inc.c" 4 | #include "anim_0500E99C.inc.c" 5 | #include "anim_0500F3D8.inc.c" 6 | #include "anim_0500F3F0.inc.c" 7 | #include "anim_0500FCCC.inc.c" 8 | #include "anim_050116CC.inc.c" 9 | -------------------------------------------------------------------------------- /actors/group6_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group6.h" 9 | 10 | #include "monty_mole/geo.inc.c" 11 | #include "ukiki/geo.inc.c" 12 | #include "fwoosh/geo.inc.c" 13 | -------------------------------------------------------------------------------- /actors/group7_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group7.h" 9 | 10 | #include "spindrift/geo.inc.c" 11 | #include "penguin/geo.inc.c" 12 | #include "snowman/geo.inc.c" 13 | -------------------------------------------------------------------------------- /levels/castle_inside/areas/2/macro.inc.c: -------------------------------------------------------------------------------- 1 | // 0x070777E0 - 0x070777EC 2 | const MacroObject inside_castle_seg7_area_2_macro_objs[] = { 3 | MACRO_OBJECT_WITH_BEH_PARAM(/*preset*/ macro_sign_on_wall, /*yaw*/ 90, /*pos*/ 164, 1203, 2278, /*behParam*/ DIALOG_019), 4 | MACRO_OBJECT_END(), 5 | }; 6 | -------------------------------------------------------------------------------- /src/engine/level_script.h: -------------------------------------------------------------------------------- 1 | #ifndef LEVEL_SCRIPT_H 2 | #define LEVEL_SCRIPT_H 3 | 4 | #include 5 | 6 | struct LevelCommand; 7 | 8 | extern u8 level_script_entry[]; 9 | 10 | struct LevelCommand *level_script_execute(struct LevelCommand *cmd); 11 | 12 | #endif // LEVEL_SCRIPT_H 13 | -------------------------------------------------------------------------------- /src/game/behaviors/music_touch.inc.c: -------------------------------------------------------------------------------- 1 | // music_touch.c.inc 2 | 3 | void bhv_play_music_track_when_touched_loop(void) { 4 | if (o->oAction == 0) { 5 | if (o->oDistanceToMario < 200.0f) { 6 | play_puzzle_jingle(); 7 | o->oAction++; 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/pc/controller/controller_mouse.h: -------------------------------------------------------------------------------- 1 | #ifndef CONTROLLER_MOUSE_H 2 | #define CONTROLLER_MOUSE_H 3 | 4 | #include "controller_api.h" 5 | 6 | extern int mouse_x; 7 | extern int mouse_y; 8 | 9 | #define VK_BASE_MOUSE 0x2000 10 | 11 | extern struct ControllerAPI controller_mouse; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /actors/chillychief/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06003994 2 | const struct Animation *const chilly_chief_seg6_anims_06003994[] = { 3 | &chilly_chief_seg6_anim_060035E0, 4 | &chilly_chief_seg6_anim_06003420, 5 | &chilly_chief_seg6_anim_060032EC, 6 | &chilly_chief_seg6_anim_0600373C, 7 | NULL, 8 | }; 9 | -------------------------------------------------------------------------------- /actors/moneybag/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06005E5C 2 | const struct Animation *const moneybag_seg6_anims_06005E5C[] = { 3 | &moneybag_seg6_anim_06005AD8, 4 | &moneybag_seg6_anim_06005BEC, 5 | &moneybag_seg6_anim_06005C98, 6 | &moneybag_seg6_anim_06005D3C, 7 | &moneybag_seg6_anim_06005E44, 8 | }; 9 | -------------------------------------------------------------------------------- /asmdiff.jp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | OBJDUMP="mips-linux-gnu-objdump -D -z -bbinary -mmips -EB" 4 | OPTIONS="--start-address=$(($1)) --stop-address=$(($2))" 5 | $OBJDUMP $OPTIONS baserom.jp.z64 > baserom.jp.dump 6 | $OBJDUMP $OPTIONS build/jp/sm64.jp.z64 > sm64.jp.dump 7 | diff baserom.jp.dump sm64.jp.dump | colordiff 8 | -------------------------------------------------------------------------------- /levels/thi/texture.inc.c: -------------------------------------------------------------------------------- 1 | // 0x07000000 - 0x07000002 2 | ALIGNED8 static const u8 thi_seg7_texture_07000000[] = { 3 | #include "levels/thi/0.rgba16.inc.c" 4 | }; 5 | 6 | // 0x07000800 - 0x07000802 7 | ALIGNED8 static const u8 thi_seg7_texture_07000800[] = { 8 | #include "levels/thi/1.rgba16.inc.c" 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ttc/texture.inc.c: -------------------------------------------------------------------------------- 1 | // 0x07000000 - 0x07000800 2 | ALIGNED8 static const u8 ttc_seg7_texture_07000000[] = { 3 | #include "levels/ttc/0.rgba16.inc.c" 4 | }; 5 | 6 | // 0x07000800 - 0x07001000 7 | ALIGNED8 static const u8 ttc_seg7_texture_07000800[] = { 8 | #include "levels/ttc/1.rgba16.inc.c" 9 | }; 10 | -------------------------------------------------------------------------------- /actors/mips/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x06015634 2 | const struct Animation *const mips_seg6_anims_06015634[] = { 3 | &mips_seg6_anim_06014B94, 4 | &mips_seg6_anim_060139F8, 5 | &mips_seg6_anim_06013248, 6 | &mips_seg6_anim_0601561C, 7 | &mips_seg6_anim_0601369C, 8 | NULL, 9 | NULL, 10 | }; 11 | -------------------------------------------------------------------------------- /src/buffers/gfx_output_buffer.h: -------------------------------------------------------------------------------- 1 | #ifndef GFX_OUTPUT_BUFFER_H 2 | #define GFX_OUTPUT_BUFFER_H 3 | 4 | #include 5 | 6 | #ifdef VERSION_EU 7 | extern u64 gGfxSPTaskOutputBuffer[0x2fc0]; 8 | #else 9 | extern u64 gGfxSPTaskOutputBuffer[0x3e00]; 10 | #endif 11 | 12 | #endif // GFX_OUTPUT_BUFFER_H 13 | -------------------------------------------------------------------------------- /actors/penguin/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05008B74 2 | const struct Animation *const penguin_seg5_anims_05008B74[] = { 3 | &penguin_seg5_anim_05008B5C, 4 | &penguin_seg5_anim_050079E4, 5 | &penguin_seg5_anim_05007DCC, 6 | &penguin_seg5_anim_050087C0, 7 | &penguin_seg5_anim_05008B5C, // duplicate pointer? 8 | }; 9 | -------------------------------------------------------------------------------- /levels/lll/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A40 2 | const GeoLayout lll_geo_000A40[] = { 3 | GEO_CULLING_RADIUS(1700), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, lll_seg7_dl_07015C88), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, lll_seg7_dl_07015E20), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/rr/areas/1/11/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000738 2 | const GeoLayout rr_geo_000738[] = { 3 | GEO_CULLING_RADIUS(4000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0700DBD8), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_0700DE88), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/rr/donut_block/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000920 2 | const GeoLayout rr_geo_000920[] = { 3 | GEO_CULLING_RADIUS(420), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, rr_seg7_dl_0701B848), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, rr_seg7_dl_0701B980), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ttm/star_cage/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000710 2 | const GeoLayout ttm_geo_000710[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_07013430), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttm_seg7_dl_07013608), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/bits/level.yaml: -------------------------------------------------------------------------------- 1 | # Bowser in the Sky 2 | short-name: bits 3 | full-name: Bowser in the Sky 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: bits 10 | texture-bin: sky 11 | effects: false 12 | actor-bins: [group14] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/ccm/ropeway_lift/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0003D0 2 | const GeoLayout ccm_geo_0003D0[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, ccm_seg7_dl_07010F28), 6 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ccm_seg7_dl_070118B0), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ccm/snowman_head/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E00040C 2 | const GeoLayout ccm_geo_00040C[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ccm_seg7_dl_070136D0), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, ccm_seg7_dl_07013870), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ddd/submarine/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004A0 2 | const GeoLayout ddd_geo_0004A0[] = { 3 | GEO_CULLING_RADIUS(10000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ddd_seg7_dl_0700AF10), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, ddd_seg7_dl_0700B068), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ttc/large_treadmill/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000288 2 | const GeoLayout ttc_geo_000288[] = { 3 | GEO_CULLING_RADIUS(720), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_0700FBB8), 6 | GEO_ASM(0x1400, geo_movtex_draw_colored_no_update), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ttc/small_treadmill/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0002A8 2 | const GeoLayout ttc_geo_0002A8[] = { 3 | GEO_CULLING_RADIUS(520), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttc_seg7_dl_0700FFE8), 6 | GEO_ASM(0x1401, geo_movtex_draw_colored_no_update), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/16/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000970 2 | const GeoLayout ttm_geo_000970[] = { 3 | GEO_CULLING_RADIUS(3200), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700EAC8), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttm_seg7_dl_0700EC58), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /actors/door/anims/anim_03015458.inc.c: -------------------------------------------------------------------------------- 1 | // 0x03015458 2 | static const struct Animation door_seg3_anim_03015458 = { 3 | 1, 4 | 0, 5 | 40, 6 | 40, 7 | 0x50, 8 | ANIMINDEX_NUMPARTS(door_seg3_animindex_03015404), 9 | door_seg3_animvalue_03015220, 10 | door_seg3_animindex_03015404, 11 | 0, 12 | }; 13 | -------------------------------------------------------------------------------- /actors/door/anims/anim_030156A8.inc.c: -------------------------------------------------------------------------------- 1 | // 0x030156A8 2 | static const struct Animation door_seg3_anim_030156A8 = { 3 | 1, 4 | 0, 5 | 40, 6 | 40, 7 | 0x50, 8 | ANIMINDEX_NUMPARTS(door_seg3_animindex_03015654), 9 | door_seg3_animvalue_03015470, 10 | door_seg3_animindex_03015654, 11 | 0, 12 | }; 13 | -------------------------------------------------------------------------------- /actors/warp_pipe/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x16000388 2 | const GeoLayout warp_pipe_geo[] = { 3 | GEO_CULLING_RADIUS(350), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, warp_pipe_seg3_dl_03008F98), 6 | GEO_DISPLAY_LIST(LAYER_OPAQUE, warp_pipe_seg3_dl_03009A50), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /levels/sa/level.yaml: -------------------------------------------------------------------------------- 1 | # Secret Aquarium 2 | short-name: sa 3 | full-name: Secret Aquarium 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: cloud_floor 10 | texture-bin: inside 11 | effects: true 12 | actor-bins: [group4, group13] 13 | common-bin: [] 14 | -------------------------------------------------------------------------------- /levels/ssl/pyramid_elevator/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0007AC 2 | const GeoLayout ssl_geo_0007AC[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ssl_seg7_dl_070233A8), 6 | GEO_DISPLAY_LIST(LAYER_ALPHA, ssl_seg7_dl_070235C0), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /src/game/mario_actions_object.h: -------------------------------------------------------------------------------- 1 | #ifndef MARIO_ACTIONS_OBJECT_H 2 | #define MARIO_ACTIONS_OBJECT_H 3 | 4 | #include 5 | 6 | #include "types.h" 7 | 8 | s32 mario_update_punch_sequence(struct MarioState *m); 9 | s32 mario_execute_object_action(struct MarioState *m); 10 | 11 | #endif // MARIO_ACTIONS_OBJECT_H 12 | -------------------------------------------------------------------------------- /actors/blue_coin_switch/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F000000 2 | const GeoLayout blue_coin_switch_geo[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_OPEN_NODE(), 6 | GEO_DISPLAY_LIST(LAYER_OPAQUE, blue_coin_switch_seg8_dl_08000E08), 7 | GEO_CLOSE_NODE(), 8 | GEO_CLOSE_NODE(), 9 | GEO_END(), 10 | }; 11 | -------------------------------------------------------------------------------- /actors/eyerok/anims/anim_0500F3F0.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0500F3F0 2 | static const struct Animation eyerok_seg5_anim_0500F3F0 = { 3 | 35, 4 | 0, 5 | 29, 6 | 0, 7 | 0x1E, 8 | ANIMINDEX_NUMPARTS(eyerok_seg5_animindex_0500F1D4), 9 | eyerok_seg5_animvalue_0500E9B4, 10 | eyerok_seg5_animindex_0500F1D4, 11 | 0, 12 | }; 13 | -------------------------------------------------------------------------------- /actors/group15_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group15.h" 9 | 10 | #include "lakitu_cameraman/geo.inc.c" 11 | #include "toad/geo.inc.c" 12 | #include "mips/geo.inc.c" 13 | #include "boo_castle/geo.inc.c" 14 | -------------------------------------------------------------------------------- /levels/bitfs/stretching_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000708 2 | const GeoLayout bitfs_geo_000708[] = { 3 | GEO_CULLING_RADIUS(3000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_ALPHA, bitfs_seg7_dl_07010340), 6 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bitfs_seg7_dl_07011138), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /src/game/behaviors/ddd_warp.inc.c: -------------------------------------------------------------------------------- 1 | // ddd_warp.c.inc 2 | 3 | void bhv_ddd_warp_loop(void) { 4 | if (gDddPaintingStatus & BOWSERS_SUB_BEATEN) 5 | o->collisionData = segmented_to_virtual(inside_castle_seg7_collision_ddd_warp_2); 6 | else 7 | o->collisionData = segmented_to_virtual(inside_castle_seg7_collision_ddd_warp); 8 | } 9 | -------------------------------------------------------------------------------- /src/game/behaviors/lll_sinking_rock_block.inc.c: -------------------------------------------------------------------------------- 1 | // lll_sinking_rock_block.c.inc 2 | 3 | void bhv_lll_sinking_rock_block_loop(void) { 4 | lll_octagonal_mesh_find_y_offset(&o->oSinkWhenSteppedOnUnk104, &o->oSinkWhenSteppedOnUnk108, 124, -110); 5 | o->oGraphYOffset = 0.0f; 6 | o->oPosY = o->oHomeY + o->oSinkWhenSteppedOnUnk108; 7 | } 8 | -------------------------------------------------------------------------------- /src/game/behaviors/tower_door.inc.c: -------------------------------------------------------------------------------- 1 | // tower_door.c.inc 2 | 3 | void bhv_tower_door_loop(void) { 4 | if (o->oTimer == 0) 5 | o->oMoveAngleYaw -= 0x4000; 6 | if (check_mario_attacking(0)) { 7 | obj_explode_and_spawn_coins(80.0f, 0); 8 | create_sound_spawner(SOUND_GENERAL_WALL_EXPLOSION); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/game/mario_actions_moving.h: -------------------------------------------------------------------------------- 1 | #ifndef MARIO_ACTIONS_MOVING 2 | #define MARIO_ACTIONS_MOVING 3 | 4 | #include 5 | 6 | #include "types.h" 7 | 8 | void play_step_sound(struct MarioState *m, s16 frame1, s16 frame2); 9 | s32 mario_execute_moving_action(struct MarioState *m); 10 | 11 | #endif // MARIO_ACTIONS_MOVING 12 | -------------------------------------------------------------------------------- /actors/bookend/anims/anim_05002528.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05002528 2 | static const struct Animation bookend_seg5_anim_05002528 = { 3 | 0, 4 | 0, 5 | 0, 6 | 0, 7 | 0x01, 8 | ANIMINDEX_NUMPARTS(bookend_seg5_animindex_0500248C), 9 | bookend_seg5_animvalue_0500240C, 10 | bookend_seg5_animindex_0500248C, 11 | 0, 12 | }; 13 | -------------------------------------------------------------------------------- /actors/chuckya/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0800C070 2 | const struct Animation *const chuckya_seg8_anims_0800C070[] = { 3 | &chuckya_seg8_anim_0800AF68, 4 | &chuckya_seg8_anim_0800B1A8, 5 | &chuckya_seg8_anim_0800B4A8, 6 | &chuckya_seg8_anim_0800B9F8, 7 | &chuckya_seg8_anim_0800BBEC, 8 | &chuckya_seg8_anim_0800C058, 9 | }; 10 | -------------------------------------------------------------------------------- /actors/impact_ring/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0D000090 2 | const GeoLayout invisible_bowser_accessory_geo[] = { 3 | GEO_CULLING_RADIUS(10000), 4 | GEO_OPEN_NODE(), 5 | GEO_ASM(20, geo_update_layer_transparency), 6 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT_DECAL, impact_ring_seg6_dl_0601EAC0), 7 | GEO_CLOSE_NODE(), 8 | GEO_END(), 9 | }; 10 | -------------------------------------------------------------------------------- /actors/lakitu_enemy/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x050144D4 2 | const struct Animation *const lakitu_enemy_seg5_anims_050144D4[] = { 3 | &lakitu_enemy_seg5_anim_05013EDC, 4 | &lakitu_enemy_seg5_anim_050140E8, 5 | &lakitu_enemy_seg5_anim_050142E0, 6 | &lakitu_enemy_seg5_anim_050144BC, 7 | NULL, 8 | NULL, 9 | NULL, 10 | }; 11 | -------------------------------------------------------------------------------- /include/platform_info.h: -------------------------------------------------------------------------------- 1 | #ifndef PLATFORM_INFO_H 2 | #define PLATFORM_INFO_H 3 | 4 | #include 5 | #define IS_64_BIT (UINTPTR_MAX == 0xFFFFFFFFFFFFFFFFU) 6 | #define IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) 7 | 8 | #define DOUBLE_SIZE_ON_64_BIT(size) ((size) * (sizeof(void *) / 4)) 9 | 10 | #endif // PLATFORM_INFO_H 11 | -------------------------------------------------------------------------------- /levels/pss/level.yaml: -------------------------------------------------------------------------------- 1 | # Princess's Secret Slide 2 | short-name: pss 3 | full-name: The Princess's Secret Slide 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: null 10 | texture-bin: mountain 11 | effects: false 12 | actor-bins: [group8] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/totwc/level.yaml: -------------------------------------------------------------------------------- 1 | # Tower of the Wing Cap 2 | short-name: totwc 3 | full-name: Tower of the Wing Cap 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [cloud] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: cloud_floor 10 | texture-bin: sky 11 | effects: false 12 | actor-bins: [group8] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /src/goddard/skin_movement.h: -------------------------------------------------------------------------------- 1 | #ifndef GD_SKIN_MOVEMENT_H 2 | #define GD_SKIN_MOVEMENT_H 3 | 4 | #include "gd_types.h" 5 | 6 | void func_80181760(struct ObjGroup *a0); 7 | void move_skin(struct ObjNet *net); 8 | void func_80181894(struct ObjJoint *joint); 9 | void func_80181B88(struct ObjJoint *joint); 10 | 11 | #endif // GD_SKIN_MOVEMENT_H 12 | -------------------------------------------------------------------------------- /levels/cotmc/level.yaml: -------------------------------------------------------------------------------- 1 | # Cavern of the Metal Cap 2 | short-name: cotmc 3 | full-name: Cavern of the Metal Cap 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: null 10 | texture-bin: cave 11 | effects: true 12 | actor-bins: [group8, group17] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/ddd/level.yaml: -------------------------------------------------------------------------------- 1 | # Dire Dire Docks 2 | short-name: ddd 3 | full-name: Dire Dire Docks 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 2 6 | objects: [pole, sub_door, submarine] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: water 10 | texture-bin: water 11 | effects: true 12 | actor-bins: [group4, group13] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/totwc/cloud/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000160 2 | const GeoLayout totwc_geo_000160[] = { 3 | GEO_CULLING_RADIUS(2000), 4 | GEO_OPEN_NODE(), 5 | GEO_BILLBOARD(), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, totwc_seg7_dl_070079A8), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/vcutm/level.yaml: -------------------------------------------------------------------------------- 1 | # Vanish Cap under the Moat 2 | short-name: vcutm 3 | full-name: Vanish Cap Under The Moat 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [seesaw] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: null 10 | texture-bin: outside 11 | effects: false 12 | actor-bins: [group8] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/wmotr/level.yaml: -------------------------------------------------------------------------------- 1 | # Wing Mario Over the Rainbow 2 | short-name: wmotr 3 | full-name: Wing Mario Over the Rainbow 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: cloud_floor 10 | texture-bin: sky 11 | effects: false 12 | actor-bins: [group2, group17] 13 | common-bin: [common0] -------------------------------------------------------------------------------- /actors/metal_box/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0F000A30 2 | const GeoLayout metal_box_geo[] = { 3 | GEO_CULLING_RADIUS(500), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 70), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, metal_box_dl), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /actors/monty_mole/anims/anim_050065D8.inc.c: -------------------------------------------------------------------------------- 1 | // 0x050065D8 2 | static const struct Animation monty_mole_seg5_anim_050065D8 = { 3 | 0, 4 | 0, 5 | 0, 6 | 0, 7 | 0x01, 8 | ANIMINDEX_NUMPARTS(monty_mole_seg5_animindex_0500650C), 9 | monty_mole_seg5_animvalue_050062C8, 10 | monty_mole_seg5_animindex_0500650C, 11 | 0, 12 | }; 13 | -------------------------------------------------------------------------------- /actors/yellow_sphere/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0D0000B0 2 | const GeoLayout bowser_1_yellow_sphere_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_BILLBOARD(), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_ALPHA, yellow_sphere_seg6_dl_0601F3C0), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ccm/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000494 2 | const GeoLayout ccm_geo_000494[] = { 3 | GEO_CULLING_RADIUS(400), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-500, 7000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ccm_seg7_dl_0700FB00), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/thi/level.yaml: -------------------------------------------------------------------------------- 1 | # Tiny Huge Island 2 | short-name: thi 3 | full-name: Tiny Huge Island 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 3 6 | objects: [] 7 | shared-path: ["/areas/2/", "/areas/1/"] 8 | # loaded files 9 | skybox-bin: water 10 | texture-bin: grass 11 | effects: false 12 | actor-bins: [group11, group14] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/10/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000880 2 | const GeoLayout ttm_geo_000880[] = { 3 | GEO_CULLING_RADIUS(2200), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-3200, 10000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700CAE0), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/11/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008A8 2 | const GeoLayout ttm_geo_0008A8[] = { 3 | GEO_CULLING_RADIUS(750), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1750, 7000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700CD10), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/12/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008D0 2 | const GeoLayout ttm_geo_0008D0[] = { 3 | GEO_CULLING_RADIUS(1200), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2200, 8000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700D1D8), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/13/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0008F8 2 | const GeoLayout ttm_geo_0008F8[] = { 3 | GEO_CULLING_RADIUS(1500), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2100, 8000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700D688), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/15/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000948 2 | const GeoLayout ttm_geo_000948[] = { 3 | GEO_CULLING_RADIUS(350), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1350, 3000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700E308), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/19/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009F0 2 | const GeoLayout ttm_geo_0009F0[] = { 3 | GEO_CULLING_RADIUS(920), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1920, 5000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_07011128), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/20/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A18 2 | const GeoLayout ttm_geo_000A18[] = { 3 | GEO_CULLING_RADIUS(1100), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2100, 5000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_07011608), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/7/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000808 2 | const GeoLayout ttm_geo_000808[] = { 3 | GEO_CULLING_RADIUS(650), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1650, 9500), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700BE20), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/8/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000830 2 | const GeoLayout ttm_geo_000830[] = { 3 | GEO_CULLING_RADIUS(1900), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2900, 8000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700C070), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000858 2 | const GeoLayout ttm_geo_000858[] = { 3 | GEO_CULLING_RADIUS(450), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1450, 5500), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700C408), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /src/game/skybox.h: -------------------------------------------------------------------------------- 1 | #ifndef SKYBOX_H 2 | #define SKYBOX_H 3 | 4 | #include 5 | #include 6 | 7 | Gfx *create_skybox_facing_camera(s8 player, s8 background, f32 fov, 8 | f32 posX, f32 posY, f32 posZ, 9 | f32 focX, f32 focY, f32 focZ); 10 | 11 | #endif // SKYBOX_H 12 | -------------------------------------------------------------------------------- /actors/unagi/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05012824 2 | const struct Animation *const unagi_seg5_anims_05012824[] = { 3 | &unagi_seg5_anim_0500FBF4, 4 | &unagi_seg5_anim_05010488, 5 | &unagi_seg5_anim_05010B54, 6 | &unagi_seg5_anim_05011488, 7 | &unagi_seg5_anim_05011890, 8 | &unagi_seg5_anim_05011D40, 9 | &unagi_seg5_anim_0501280C, 10 | }; 11 | -------------------------------------------------------------------------------- /levels/bowser_1/level.yaml: -------------------------------------------------------------------------------- 1 | # Bowser in the Dark World (Boss Area) 2 | short-name: bowser_1 3 | full-name: Bowser in the Dark World (Boss Area) 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: bidw 10 | texture-bin: null 11 | effects: false 12 | actor-bins: [group12] 13 | common-bin: [] 14 | -------------------------------------------------------------------------------- /levels/ccm/areas/1/9/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0004BC 2 | const GeoLayout ccm_geo_0004BC[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1000, 7000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ccm_seg7_dl_0700FD08), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /src/buffers/framebuffers.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | #include "config.h" 4 | 5 | // 0x70800 bytes 6 | #ifdef AVOID_UB 7 | u16 gFrameBuffers[3][SCREEN_WIDTH * SCREEN_HEIGHT]; 8 | #else 9 | u16 gFrameBuffer0[SCREEN_WIDTH * SCREEN_HEIGHT]; 10 | u16 gFrameBuffer1[SCREEN_WIDTH * SCREEN_HEIGHT]; 11 | u16 gFrameBuffer2[SCREEN_WIDTH * SCREEN_HEIGHT]; 12 | #endif 13 | -------------------------------------------------------------------------------- /tools/audiofile/Makefile: -------------------------------------------------------------------------------- 1 | CXX ?= g++ 2 | 3 | libaudiofile.a: audiofile.o 4 | ar rcs libaudiofile.a audiofile.o 5 | 6 | audiofile.o: audiofile.cpp audiofile.h aupvlist.h 7 | $(CXX) -std=gnu++11 -DNDEBUG -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -O2 -I. -c audiofile.cpp 8 | 9 | clean: 10 | rm -f audiofile.o libaudiofile.a 11 | 12 | .PHONY: clean 13 | -------------------------------------------------------------------------------- /levels/ddd/pole/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000450 2 | const GeoLayout ddd_geo_000450[] = { 3 | GEO_CULLING_RADIUS(700), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0xB4, 120), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ddd_seg7_dl_0700D2A0), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/sl/level.yaml: -------------------------------------------------------------------------------- 1 | # Snowman's Land 2 | short-name: sl 3 | full-name: Snowman's Land 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 2 6 | objects: [snow_mound, unused_cracked_ice, unused_ice_shard] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: ccm 10 | texture-bin: snow 11 | effects: true 12 | actor-bins: [group7, group16] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /lib/src/guTranslateF.c: -------------------------------------------------------------------------------- 1 | #include "libultra_internal.h" 2 | 3 | void guTranslateF(float m[4][4], float x, float y, float z) { 4 | guMtxIdentF(m); 5 | m[3][0] = x; 6 | m[3][1] = y; 7 | m[3][2] = z; 8 | } 9 | void guTranslate(Mtx *m, float x, float y, float z) { 10 | float mf[4][4]; 11 | guTranslateF(mf, x, y, z); 12 | guMtxF2L(mf, m); 13 | } 14 | -------------------------------------------------------------------------------- /src/game/behaviors/spawn_star_exit.inc.c: -------------------------------------------------------------------------------- 1 | // spawn_star_exit.c.inc 2 | 3 | void bhv_ccm_touched_star_spawn_loop(void) { 4 | if (gCCMEnteredSlide & 1) { 5 | o->oPosY += 100.0f; 6 | o->oPosX = 2780.0f; 7 | o->oPosZ = 4666.0f; 8 | spawn_default_star(2500.0f, -4350.0f, 5750.0f); 9 | obj_mark_for_deletion(o); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /actors/bullet_bill/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C000264 2 | const GeoLayout bullet_bill_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_SQUARE_PERMANENT, 0x96, 400), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bullet_bill_seg5_dl_0500E8A8), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /actors/group11_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group11.h" 9 | 10 | #include "bubba/geo.inc.c" 11 | #include "wiggler_head/geo.inc.c" 12 | #include "lakitu_enemy/geo.inc.c" 13 | #include "spiny_egg/geo.inc.c" 14 | #include "spiny/geo.inc.c" 15 | -------------------------------------------------------------------------------- /actors/small_key/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C000188 2 | const GeoLayout small_key_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x96, 80), 4 | GEO_OPEN_NODE(), 5 | GEO_SCALE(0x00, 16384), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, small_key_seg5_dl_05006A68), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/ccm/level.yaml: -------------------------------------------------------------------------------- 1 | # Cool Cool Mountain 2 | short-name: ccm 3 | full-name: Cool Cool Mountain 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 2 6 | objects: [ropeway_lift, snowman_base, snowman_head] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: ccm 10 | texture-bin: snow 11 | effects: true 12 | actor-bins: [group7, group16] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/hmc/rolling_rock/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000548 2 | const GeoLayout hmc_geo_000548[] = { 3 | GEO_CULLING_RADIUS(300), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_CIRCLE_9_VERTS, 0xB4, 400), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, hmc_seg7_dl_07023BC8), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /levels/wdw/arrow_lift/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000598 2 | const GeoLayout wdw_geo_000598[] = { 3 | GEO_CULLING_RADIUS(350), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_SQUARE_TOGGLABLE, 0x96, 110), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wdw_seg7_dl_07012E88), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /src/game/behaviors/pole_base.inc.c: -------------------------------------------------------------------------------- 1 | // pole_base.inc.c 2 | 3 | void bhv_pole_base_loop(void) { 4 | if (o->oPosY - 10.0f < gMarioObject->oPosY 5 | && gMarioObject->oPosY < o->oPosY + o->hitboxHeight + 30.0f) 6 | if (o->oTimer > 10) 7 | if (!(gMarioStates->action & MARIO_PUNCHING)) 8 | cur_obj_push_mario_away(70.0f); 9 | } 10 | -------------------------------------------------------------------------------- /src/goddard/particles.h: -------------------------------------------------------------------------------- 1 | #ifndef GD_PARTICLES_H 2 | #define GD_PARTICLES_H 3 | 4 | #include 5 | 6 | #include "gd_types.h" 7 | 8 | // functions 9 | void func_801823A0(struct ObjNet *net); 10 | struct ObjParticle *make_particle(u32 a, s32 b, f32 x, f32 y, f32 z); 11 | void move_particles_in_grp(struct ObjGroup *group); 12 | 13 | #endif // GD_PARTICLES_H 14 | -------------------------------------------------------------------------------- /levels/bowser_2/level.yaml: -------------------------------------------------------------------------------- 1 | # Bowser in the Fire Sea (Boss Area) 2 | short-name: bowser_2 3 | full-name: Bowser in the Fire Sea (Boss Area) 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [tilting_platform] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: bitfs 10 | texture-bin: fire 11 | effects: true 12 | actor-bins: [group12] 13 | common-bin: [] 14 | -------------------------------------------------------------------------------- /levels/level_headers.h.in: -------------------------------------------------------------------------------- 1 | // This file is to be processed by the Makefile to add #include "" before being included in build. 2 | 3 | #define STUB_LEVEL(_0, _1, _2, _3, _4, _5, _6, _7, _8) 4 | #define DEFINE_LEVEL(_0, _1, _2, folder, _4, _5, _6, _7, _8, _9, _10) levels/folder/header.h 5 | 6 | #include "levels/level_defines.h" 7 | 8 | #undef STUB_LEVEL 9 | #undef DEFINE_LEVEL 10 | -------------------------------------------------------------------------------- /levels/wdw/hidden_platform/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005E8 2 | const GeoLayout wdw_geo_0005E8[] = { 3 | GEO_CULLING_RADIUS(420), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_SQUARE_TOGGLABLE, 0x96, 240), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, wdw_seg7_dl_07013490), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /sound/sound_data.c: -------------------------------------------------------------------------------- 1 | unsigned char gSoundDataADSR[] = { 2 | #include "sound/sound_data.ctl.inc.c" 3 | }; 4 | 5 | unsigned char gSoundDataRaw[] = { 6 | #include "sound/sound_data.tbl.inc.c" 7 | }; 8 | 9 | unsigned char gMusicData[] = { 10 | #include "sound/sequences.bin.inc.c" 11 | }; 12 | 13 | unsigned char gBankSetsData[] = { 14 | #include "sound/bank_sets.inc.c" 15 | }; 16 | -------------------------------------------------------------------------------- /actors/monty_mole/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_05004FEC.inc.c" 2 | #include "anim_0500527C.inc.c" 3 | #include "anim_050054B0.inc.c" 4 | #include "anim_050062B0.inc.c" 5 | #include "anim_050065C0.inc.c" 6 | #include "anim_050065D8.inc.c" 7 | #include "anim_05006880.inc.c" 8 | #include "anim_05006B10.inc.c" 9 | #include "anim_05006DB8.inc.c" 10 | #include "anim_05007230.inc.c" 11 | -------------------------------------------------------------------------------- /actors/piranha_plant/anims/data.inc.c: -------------------------------------------------------------------------------- 1 | #include "anim_06017C38.inc.c" 2 | #include "anim_06017D88.inc.c" 3 | #include "anim_060187B0.inc.c" 4 | #include "anim_06018BA8.inc.c" 5 | #include "anim_06019854.inc.c" 6 | #include "anim_0601A014.inc.c" 7 | #include "anim_0601AAE4.inc.c" 8 | #include "anim_0601AF34.inc.c" 9 | #include "anim_0601B634.inc.c" 10 | #include "anim_0601C304.inc.c" 11 | -------------------------------------------------------------------------------- /levels/bob/level.yaml: -------------------------------------------------------------------------------- 1 | # Bob-Omb Battlefield 2 | short-name: bob 3 | full-name: Bob-Omb Battlefield 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [chain_chomp_gate, grate_door, seesaw_platform] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: water 10 | texture-bin: generic 11 | effects: false 12 | actor-bins: [group3, group14] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /lib/src/guScaleF.c: -------------------------------------------------------------------------------- 1 | #include "libultra_internal.h" 2 | 3 | void guScaleF(float mf[4][4], float x, float y, float z) { 4 | guMtxIdentF(mf); 5 | mf[0][0] = x; 6 | mf[1][1] = y; 7 | mf[2][2] = z; 8 | mf[3][3] = 1.0; 9 | } 10 | void guScale(Mtx *m, float x, float y, float z) { 11 | float mf[4][4]; 12 | guScaleF(mf, x, y, z); 13 | guMtxF2L(mf, m); 14 | } 15 | -------------------------------------------------------------------------------- /tools/.gitignore: -------------------------------------------------------------------------------- 1 | /aifc_decode 2 | /aiff_extract_codebook 3 | /armips 4 | /extract_data_for_mio 5 | /mio0 6 | /n64cksum 7 | /n64graphics 8 | /n64graphics_ci 9 | /patch_libultra_math 10 | /skyconv 11 | /tabledesign 12 | /textconv 13 | /vadpcm_enc 14 | !/ido5.3_compiler/lib/*.so 15 | !/ido5.3_compiler/usr/lib/*.so 16 | !/ido5.3_compiler/usr/lib/*.so.1 17 | !/ido5.3_compiler/**/*.o 18 | -------------------------------------------------------------------------------- /actors/toad/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0600FB58 2 | const struct Animation *const toad_seg6_anims_0600FB58[] = { 3 | &toad_seg6_anim_0600B66C, 4 | &toad_seg6_anim_0600CE78, 5 | &toad_seg6_anim_0600E414, 6 | &toad_seg6_anim_0600FB40, 7 | &toad_seg6_anim_060099F0, 8 | &toad_seg6_anim_0600A0D0, 9 | &toad_seg6_anim_06008F7C, 10 | &toad_seg6_anim_06009310, 11 | }; 12 | -------------------------------------------------------------------------------- /levels/wdw/water_level_diamond/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0005C0 2 | const GeoLayout wdw_geo_0005C0[] = { 3 | GEO_CULLING_RADIUS(200), 4 | GEO_OPEN_NODE(), 5 | GEO_SHADOW(SHADOW_SQUARE_SCALABLE, 0x96, 90), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, wdw_seg7_dl_070131B8), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /src/pc/audio/audio_api.h: -------------------------------------------------------------------------------- 1 | #ifndef AUDIO_API_H 2 | #define AUDIO_API_H 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | struct AudioAPI { 9 | bool (*init)(void); 10 | int (*buffered)(void); 11 | int (*get_desired_buffered)(void); 12 | void (*play)(const uint8_t *buf, size_t len); 13 | void (*shutdown)(void); 14 | }; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /actors/transparent_star/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x16000F6C 2 | const GeoLayout transparent_star_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100), 4 | GEO_OPEN_NODE(), 5 | GEO_SCALE(0x00, 16384), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, transparent_star_seg3_dl_0302C620), 8 | GEO_CLOSE_NODE(), 9 | GEO_CLOSE_NODE(), 10 | GEO_END(), 11 | }; 12 | -------------------------------------------------------------------------------- /include/PR/libaudio.h: -------------------------------------------------------------------------------- 1 | #ifndef _ULTRA64_LIBAUDIO_H_ 2 | #define _ULTRA64_LIBAUDIO_H_ 3 | 4 | #include "abi.h" 5 | 6 | typedef struct 7 | { 8 | u8 *offset; 9 | s32 len; 10 | } ALSeqData; 11 | 12 | typedef struct 13 | { 14 | s16 revision; 15 | s16 seqCount; 16 | ALSeqData seqArray[1]; 17 | } ALSeqFile; 18 | 19 | void alSeqFileNew(ALSeqFile *f, u8 *base); 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /levels/ddd/sub_door/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000478 2 | const GeoLayout ddd_geo_000478[] = { 3 | GEO_CULLING_RADIUS(10000), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ddd_seg7_dl_07009030), 6 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ddd_seg7_dl_07009120), 7 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ddd_seg7_dl_07009208), 8 | GEO_CLOSE_NODE(), 9 | GEO_END(), 10 | }; 11 | -------------------------------------------------------------------------------- /actors/klepto/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x05008CFC 2 | const struct Animation *const klepto_seg5_anims_05008CFC[] = { 3 | &klepto_seg5_anim_05005E44, 4 | &klepto_seg5_anim_05007574, 5 | &klepto_seg5_anim_050079B0, 6 | &klepto_seg5_anim_05007E34, 7 | &klepto_seg5_anim_050086C0, 8 | &klepto_seg5_anim_05008A18, 9 | &klepto_seg5_anim_05008CE4, 10 | NULL, 11 | NULL, 12 | }; 13 | -------------------------------------------------------------------------------- /levels/bowser_1/header.h: -------------------------------------------------------------------------------- 1 | #ifndef BOWSER_1_HEADER_H 2 | #define BOWSER_1_HEADER_H 3 | 4 | #include "types.h" 5 | 6 | // geo 7 | extern const GeoLayout bowser_1_geo_0000D0[]; 8 | 9 | // leveldata 10 | extern const Gfx bowser_1_seg7_dl_07002768[]; 11 | extern const Collision bowser_1_seg7_collision_level[]; 12 | 13 | // script 14 | extern const LevelScript level_bowser_1_entry[]; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /levels/castle_courtyard/level.yaml: -------------------------------------------------------------------------------- 1 | # Princess Peach's Castle (Castle Courtyard) 2 | short-name: castle_courtyard 3 | full-name: Princess Peach's Castle (Castle Courtyard) 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: water 10 | texture-bin: outside 11 | effects: false 12 | actor-bins: [group9] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/castle_grounds/level.yaml: -------------------------------------------------------------------------------- 1 | # Princess Peach's Castle (Castle Grounds) 2 | short-name: castle_grounds 3 | full-name: Princess Peach's Castle (Castle Grounds) 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 1 6 | objects: [] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: water 10 | texture-bin: outside 11 | effects: false 12 | actor-bins: [group10, group15] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /src/game/spawn_object.h: -------------------------------------------------------------------------------- 1 | #ifndef SPAWN_OBJECT_H 2 | #define SPAWN_OBJECT_H 3 | 4 | #include "types.h" 5 | 6 | void init_free_object_list(void); 7 | void clear_object_lists(struct ObjectNode *objLists); 8 | void unload_object(struct Object *obj); 9 | struct Object *create_object(const BehaviorScript *bhvScript); 10 | void mark_obj_for_deletion(struct Object *obj); 11 | 12 | #endif // SPAWN_OBJECT_H 13 | -------------------------------------------------------------------------------- /actors/group17_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group17.h" 9 | 10 | #include "mr_i_eyeball/geo.inc.c" 11 | #include "mr_i_iris/geo.inc.c" 12 | #include "swoop/geo.inc.c" 13 | #include "snufit/geo.inc.c" 14 | #include "dorrie/geo.inc.c" 15 | #include "scuttlebug/geo.inc.c" 16 | -------------------------------------------------------------------------------- /actors/group1_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group1.h" 9 | 10 | #include "yellow_sphere_small/geo.inc.c" 11 | #include "hoot/geo.inc.c" 12 | #include "yoshi_egg/geo.inc.c" 13 | #include "thwomp/geo.inc.c" 14 | #include "bullet_bill/geo.inc.c" 15 | #include "heave_ho/geo.inc.c" 16 | -------------------------------------------------------------------------------- /actors/water_mine/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0D0002F4 2 | const GeoLayout water_mine_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_DISPLAY_LIST(LAYER_OPAQUE, water_mine_seg6_dl_0600D3F8), 6 | GEO_BILLBOARD(), 7 | GEO_OPEN_NODE(), 8 | GEO_DISPLAY_LIST(LAYER_ALPHA, water_mine_seg6_dl_0600D268), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /levels/ssl/level.yaml: -------------------------------------------------------------------------------- 1 | # Shifting Sand Land 2 | short-name: ssl 3 | full-name: Shifting Sand Land 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 3 6 | objects: [eyerok_col, grindel, moving_pyramid_wall, pyramid_elevator, pyramid_top, spindel, tox_box] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: ssl 10 | texture-bin: generic 11 | effects: false 12 | actor-bins: [group5] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /actors/group12_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group12.h" 9 | 10 | #include "bowser_flame/geo.inc.c" 11 | #include "impact_ring/geo.inc.c" 12 | #include "yellow_sphere/geo.inc.c" 13 | #include "bowser/geo.inc.c" 14 | #include "bomb/geo.inc.c" 15 | #include "impact_smoke/geo.inc.c" 16 | -------------------------------------------------------------------------------- /actors/bubba/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0C000000 2 | const GeoLayout bubba_geo[] = { 3 | GEO_NODE_START(), 4 | GEO_OPEN_NODE(), 5 | GEO_SWITCH_CASE(2, geo_switch_anim_state), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bubba_seg5_dl_05004E80), 8 | GEO_DISPLAY_LIST(LAYER_OPAQUE, bubba_seg5_dl_05005978), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /actors/eyerok/anims/table.inc.c: -------------------------------------------------------------------------------- 1 | // 0x050116E4 2 | const struct Animation *const eyerok_seg5_anims_050116E4[] = { 3 | &eyerok_seg5_anim_0500D270, 4 | &eyerok_seg5_anim_0500DF50, 5 | &eyerok_seg5_anim_0500E1D8, 6 | &eyerok_seg5_anim_0500E99C, 7 | &eyerok_seg5_anim_0500F3D8, 8 | &eyerok_seg5_anim_0500FCCC, 9 | &eyerok_seg5_anim_050116CC, 10 | &eyerok_seg5_anim_0500F3F0, 11 | NULL, 12 | }; 13 | -------------------------------------------------------------------------------- /actors/group8.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "surface_terrains.h" 4 | #include "geo_commands.h" 5 | 6 | #include "make_const_nonconst.h" 7 | 8 | #include "springboard/model.inc.c" 9 | #include "springboard/collision.inc.c" 10 | UNUSED static const u64 binid_0 = 0; 11 | 12 | #include "capswitch/model.inc.c" 13 | #include "capswitch/collision.inc.c" 14 | UNUSED static const u64 binid_1 = 1; 15 | -------------------------------------------------------------------------------- /actors/star/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x16000EA0 2 | const GeoLayout star_geo[] = { 3 | GEO_SHADOW(SHADOW_CIRCLE_4_VERTS, 0x9B, 100), 4 | GEO_OPEN_NODE(), 5 | GEO_SCALE(0x00, 16384), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, star_seg3_dl_0302B870), 8 | GEO_DISPLAY_LIST(LAYER_ALPHA, star_seg3_dl_0302BA18), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /format.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | shopt -s globstar 3 | if (( $# > 0 )); then 4 | printf "formatting file(s) $*" 5 | echo 6 | clang-format -i -style=file "$@" 7 | echo done. 8 | exit 9 | fi 10 | echo formatting... 11 | clang-format -i -style=file src/**/*.c # src 12 | clang-format -i -style=file lib/src/*.c # libultra 13 | clang-format -i -style=file enhancements/*.inc.c # enhancements 14 | echo done. 15 | -------------------------------------------------------------------------------- /levels/ccm/areas/1/6/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E00042C 2 | const GeoLayout ccm_geo_00042C[] = { 3 | GEO_CULLING_RADIUS(800), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1000, 4000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ccm_seg7_dl_0700E708), 8 | GEO_DISPLAY_LIST(LAYER_ALPHA, ccm_seg7_dl_0700E970), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/17/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000990 2 | const GeoLayout ttm_geo_000990[] = { 3 | GEO_CULLING_RADIUS(780), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1780, 5500), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttm_seg7_dl_0700F270), 8 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700FA18), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/21/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000A40 2 | const GeoLayout ttm_geo_000A40[] = { 3 | GEO_CULLING_RADIUS(900), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-1900, 5000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_07011C78), 8 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttm_seg7_dl_07011D78), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /levels/ttm/level.yaml: -------------------------------------------------------------------------------- 1 | # Tall Tall Mountain 2 | short-name: ttm 3 | full-name: Tall Tall Mountain 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 4 6 | objects: [blue_smiley, moon_smiley, rolling_log, slide_exit_podium, star_cage, star_smiley, yellow_smiley] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: water 10 | texture-bin: mountain 11 | effects: false 12 | actor-bins: [group6] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /src/game/behaviors/water_mist.inc.c: -------------------------------------------------------------------------------- 1 | // water_mist.c.inc 2 | // TODO: there is confusion with the earlier mist file. Clarify? 3 | 4 | void bhv_water_mist_2_loop(void) { 5 | o->oPosY = find_water_level(o->oHomeX, o->oHomeZ) + 20.0f; 6 | o->oPosX = o->oHomeX + random_f32_around_zero(150.0f); 7 | o->oPosZ = o->oHomeZ + random_f32_around_zero(150.0f); 8 | o->oOpacity = random_float() * 50.0f + 200.0f; 9 | } 10 | -------------------------------------------------------------------------------- /tools/determine-endian-bitwidth.c: -------------------------------------------------------------------------------- 1 | #include "platform_info.h" 2 | 3 | #if IS_BIG_ENDIAN && IS_64_BIT 4 | #error msgbegin --endian big --bitwidth 64 msgend 5 | #elif IS_BIG_ENDIAN && !IS_64_BIT 6 | #error msgbegin --endian big --bitwidth 32 msgend 7 | #elif !IS_BIG_ENDIAN && IS_64_BIT 8 | #error msgbegin --endian little --bitwidth 64 msgend 9 | #else 10 | #error msgbegin --endian little --bitwidth 32 msgend 11 | #endif 12 | -------------------------------------------------------------------------------- /actors/group3.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "surface_terrains.h" 4 | #include "geo_commands.h" 5 | 6 | #include "make_const_nonconst.h" 7 | 8 | #include "king_bobomb/model.inc.c" 9 | #include "king_bobomb/anims/data.inc.c" 10 | #include "king_bobomb/anims/table.inc.c" 11 | UNUSED static const u64 binid_0 = 0; 12 | 13 | #include "water_bubble/model.inc.c" 14 | UNUSED static const u64 binid_1 = 1; 15 | -------------------------------------------------------------------------------- /levels/jrb/level.yaml: -------------------------------------------------------------------------------- 1 | # Jolly Roger Bay 2 | short-name: jrb 3 | full-name: Jolly Roger Bay 4 | texture-file: ["/texture.inc.c"] 5 | area-count: 2 6 | objects: [falling_pillar, falling_pillar_base, floating_platform, rock, sliding_box, unused_lid, wooden_ship] 7 | shared-path: [] 8 | # loaded files 9 | skybox-bin: clouds 10 | texture-bin: water 11 | effects: true 12 | actor-bins: [group4, group13] 13 | common-bin: [common0] 14 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/18/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E0009C0 2 | const GeoLayout ttm_geo_0009C0[] = { 3 | GEO_CULLING_RADIUS(1700), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2700, 5000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_07010978), 8 | GEO_DISPLAY_LIST(LAYER_ALPHA, ttm_seg7_dl_07010A68), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /src/game/behaviors/water_wave.inc.c: -------------------------------------------------------------------------------- 1 | // water_wave.c.inc 2 | // TODO: Rename to avoid confusion with water_splashes_and_waves 3 | 4 | void bhv_object_water_wave_init(void) { 5 | o->oPosY = find_water_level(o->oPosX, o->oPosZ); 6 | } 7 | 8 | void bhv_object_water_wave_loop(void) { 9 | s32 globalTimer = gGlobalTimer; 10 | if ((globalTimer % 16) == 0) 11 | o->activeFlags = ACTIVE_FLAG_DEACTIVATED; 12 | } 13 | -------------------------------------------------------------------------------- /actors/group9_geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "make_const_nonconst.h" 6 | 7 | #include "common1.h" 8 | #include "group9.h" 9 | 10 | #include "bookend/geo.inc.c" 11 | #include "book/geo.inc.c" 12 | #include "chair/geo.inc.c" 13 | #include "small_key/geo.inc.c" 14 | #include "mad_piano/geo.inc.c" 15 | #include "boo/geo.inc.c" 16 | #include "haunted_cage/geo.inc.c" 17 | -------------------------------------------------------------------------------- /include/libc/stdlib.h: -------------------------------------------------------------------------------- 1 | #ifndef STDLIB_H 2 | #define STDLIB_H 3 | 4 | #include 5 | 6 | #ifdef NO_LDIV 7 | typedef struct lldiv_t 8 | { 9 | long long quot; 10 | long long rem; 11 | } lldiv_t; 12 | 13 | typedef struct ldiv_t 14 | { 15 | long quot; 16 | long rem; 17 | } ldiv_t; 18 | 19 | lldiv_t lldiv(long long num, long long denom); 20 | ldiv_t ldiv(long num, long denom); 21 | #endif 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /levels/pss/geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "game/level_geo.h" 6 | #include "game/geo_misc.h" 7 | #include "game/camera.h" 8 | #include "game/moving_texture.h" 9 | #include "game/screen_transition.h" 10 | #include "game/paintings.h" 11 | 12 | #include "make_const_nonconst.h" 13 | 14 | #include "levels/pss/header.h" 15 | 16 | #include "levels/pss/areas/1/geo.inc.c" 17 | -------------------------------------------------------------------------------- /levels/sa/geo.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sm64.h" 3 | #include "geo_commands.h" 4 | 5 | #include "game/level_geo.h" 6 | #include "game/geo_misc.h" 7 | #include "game/camera.h" 8 | #include "game/moving_texture.h" 9 | #include "game/screen_transition.h" 10 | #include "game/paintings.h" 11 | 12 | #include "make_const_nonconst.h" 13 | 14 | #include "levels/sa/header.h" 15 | 16 | #include "levels/sa/areas/1/geo.inc.c" 17 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/3/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000748 2 | const GeoLayout ttm_geo_000748[] = { 3 | GEO_CULLING_RADIUS(1800), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2800, 10000), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700A8C0), 8 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ttm_seg7_dl_0700AB08), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | -------------------------------------------------------------------------------- /levels/ttm/areas/1/4/geo.inc.c: -------------------------------------------------------------------------------- 1 | // 0x0E000778 2 | const GeoLayout ttm_geo_000778[] = { 3 | GEO_CULLING_RADIUS(1700), 4 | GEO_OPEN_NODE(), 5 | GEO_RENDER_RANGE(-2700, 6500), 6 | GEO_OPEN_NODE(), 7 | GEO_DISPLAY_LIST(LAYER_OPAQUE, ttm_seg7_dl_0700AF90), 8 | GEO_DISPLAY_LIST(LAYER_TRANSPARENT, ttm_seg7_dl_0700B0D0), 9 | GEO_CLOSE_NODE(), 10 | GEO_CLOSE_NODE(), 11 | GEO_END(), 12 | }; 13 | --------------------------------------------------------------------------------