mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2025-10-30 08:01:01 +00:00
121 lines
5.5 KiB
C
121 lines
5.5 KiB
C
#ifndef SMLUA_COLLISION_UTILS_H
|
|
#define SMLUA_COLLISION_UTILS_H
|
|
|
|
struct RayIntersectionInfo {
|
|
struct Surface* surface;
|
|
Vec3f hitPos;
|
|
};
|
|
|
|
struct GlobalObjectCollisionData {
|
|
Collision* bbh_seg7_collision_coffin;
|
|
Collision* bbh_seg7_collision_haunted_bookshelf;
|
|
Collision* bbh_seg7_collision_merry_go_round;
|
|
Collision* bbh_seg7_collision_mesh_elevator;
|
|
Collision* bbh_seg7_collision_staircase_step;
|
|
Collision* bbh_seg7_collision_tilt_floor_platform;
|
|
Collision* bitdw_seg7_collision_moving_pyramid;
|
|
Collision* bitfs_seg7_collision_inverted_pyramid;
|
|
Collision* bitfs_seg7_collision_sinking_cage_platform;
|
|
Collision* bitfs_seg7_collision_sinking_platform;
|
|
Collision* bitfs_seg7_collision_squishable_platform;
|
|
Collision* blue_coin_switch_seg8_collision_08000E98;
|
|
Collision* bob_seg7_collision_chain_chomp_gate;
|
|
Collision* bowser_2_seg7_collision_tilting_platform;
|
|
Collision* breakable_box_seg8_collision_08012D70;
|
|
Collision* cannon_lid_seg8_collision_08004950;
|
|
Collision* capswitch_collision_050033D0;
|
|
Collision* capswitch_collision_05003448;
|
|
Collision* castle_grounds_seg7_collision_cannon_grill;
|
|
Collision* castle_grounds_seg7_collision_moat_grills;
|
|
Collision* checkerboard_platform_seg8_collision_0800D710;
|
|
Collision* ddd_seg7_collision_bowser_sub_door;
|
|
Collision* ddd_seg7_collision_submarine;
|
|
Collision* door_seg3_collision_0301CE78;
|
|
Collision* dorrie_seg6_collision_0600F644;
|
|
Collision* dorrie_seg6_collision_0600FBB8;
|
|
Collision* exclamation_box_outline_seg8_collision_08025F78;
|
|
Collision* hmc_seg7_collision_controllable_platform;
|
|
Collision* hmc_seg7_collision_controllable_platform_sub;
|
|
Collision* hmc_seg7_collision_elevator;
|
|
Collision* inside_castle_seg7_collision_floor_trap;
|
|
Collision* inside_castle_seg7_collision_star_door;
|
|
Collision* inside_castle_seg7_collision_water_level_pillar;
|
|
Collision* jrb_seg7_collision_floating_box;
|
|
Collision* jrb_seg7_collision_floating_platform;
|
|
Collision* jrb_seg7_collision_in_sunken_ship;
|
|
Collision* jrb_seg7_collision_in_sunken_ship_2;
|
|
Collision* jrb_seg7_collision_in_sunken_ship_3;
|
|
Collision* jrb_seg7_collision_pillar_base;
|
|
Collision* jrb_seg7_collision_rock_solid;
|
|
Collision* lll_hexagonal_mesh_seg3_collision_0301CECC;
|
|
Collision* lll_seg7_collision_drawbridge;
|
|
Collision* lll_seg7_collision_falling_wall;
|
|
Collision* lll_seg7_collision_floating_block;
|
|
Collision* lll_seg7_collision_hexagonal_platform;
|
|
Collision* lll_seg7_collision_inverted_pyramid;
|
|
Collision* lll_seg7_collision_octagonal_moving_platform;
|
|
Collision* lll_seg7_collision_pitoune;
|
|
Collision* lll_seg7_collision_puzzle_piece;
|
|
Collision* lll_seg7_collision_rotating_fire_bars;
|
|
Collision* lll_seg7_collision_rotating_platform;
|
|
Collision* lll_seg7_collision_sinking_pyramids;
|
|
Collision* lll_seg7_collision_slow_tilting_platform;
|
|
Collision* lll_seg7_collision_wood_piece;
|
|
Collision* metal_box_seg8_collision_08024C28;
|
|
Collision* penguin_seg5_collision_05008B88;
|
|
Collision* poundable_pole_collision_06002490;
|
|
Collision* purple_switch_seg8_collision_0800C7A8;
|
|
Collision* rr_seg7_collision_donut_platform;
|
|
Collision* rr_seg7_collision_elevator_platform;
|
|
Collision* rr_seg7_collision_pendulum;
|
|
Collision* rr_seg7_collision_rotating_platform_with_fire;
|
|
Collision* sl_seg7_collision_pound_explodes;
|
|
Collision* sl_seg7_collision_sliding_snow_mound;
|
|
Collision* springboard_collision_05001A28;
|
|
Collision* ssl_seg7_collision_0702808C;
|
|
Collision* ssl_seg7_collision_grindel;
|
|
Collision* ssl_seg7_collision_pyramid_elevator;
|
|
Collision* ssl_seg7_collision_pyramid_top;
|
|
Collision* ssl_seg7_collision_spindel;
|
|
Collision* ssl_seg7_collision_tox_box;
|
|
Collision* thi_seg7_collision_top_trap;
|
|
Collision* thwomp_seg5_collision_0500B7D0;
|
|
Collision* thwomp_seg5_collision_0500B92C;
|
|
Collision* ttc_seg7_collision_clock_main_rotation;
|
|
Collision* ttc_seg7_collision_clock_pendulum;
|
|
Collision* ttc_seg7_collision_clock_platform;
|
|
Collision* ttc_seg7_collision_rotating_clock_platform2;
|
|
Collision* ttc_seg7_collision_sliding_surface;
|
|
Collision* ttm_seg7_collision_pitoune_2;
|
|
Collision* ttm_seg7_collision_podium_warp;
|
|
Collision* ttm_seg7_collision_ukiki_cage;
|
|
Collision* unknown_seg8_collision_080262F8;
|
|
Collision* warp_pipe_seg3_collision_03009AC8;
|
|
Collision* wdw_seg7_collision_arrow_lift;
|
|
Collision* wdw_seg7_collision_express_elevator_platform;
|
|
Collision* wdw_seg7_collision_rect_floating_platform;
|
|
Collision* wdw_seg7_collision_square_floating_platform;
|
|
Collision* wf_seg7_collision_breakable_wall;
|
|
Collision* wf_seg7_collision_breakable_wall_2;
|
|
Collision* wf_seg7_collision_bullet_bill_cannon;
|
|
Collision* wf_seg7_collision_clocklike_rotation;
|
|
Collision* wf_seg7_collision_kickable_board;
|
|
Collision* wf_seg7_collision_large_bomp;
|
|
Collision* wf_seg7_collision_platform;
|
|
Collision* wf_seg7_collision_sliding_brick_platform;
|
|
Collision* wf_seg7_collision_small_bomp;
|
|
Collision* wf_seg7_collision_tower;
|
|
Collision* wf_seg7_collision_tower_door;
|
|
Collision* whomp_seg6_collision_06020A0C;
|
|
Collision* wooden_signpost_seg3_collision_0302DD80;
|
|
};
|
|
|
|
extern struct GlobalObjectCollisionData gGlobalObjectCollisionData;
|
|
|
|
struct RayIntersectionInfo* collision_find_surface_on_ray(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f32 dirZ);
|
|
|
|
struct Surface* get_water_surface_pseudo_floor(void);
|
|
|
|
Collision* smlua_collision_util_get(const char* name);
|
|
|
|
#endif
|