mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-06-11 05:07:54 -04:00
Document LOS room detection functions
This commit is contained in:
@@ -571,7 +571,7 @@
|
||||
#define CHRHFLAG_TRIGGER_BUDDY_WARP 0x00004000
|
||||
#define CHRHFLAG_PERFECTACCURACY 0x00008000 // Duel opponents
|
||||
#define CHRHFLAG_DISGUISE_UNCOVERED 0x00010000
|
||||
#define CHRHFLAG_00020000 0x00020000
|
||||
#define CHRHFLAG_FINDROOMSFAST 0x00020000 // Can use if chr never goes out of bounds or in overlapping rooms
|
||||
#define CHRHFLAG_00040000 0x00040000 // Not used
|
||||
#define CHRHFLAG_DISGUISED 0x00080000
|
||||
#define CHRHFLAG_WARPONSCREEN 0x00100000 // Allow chr warp to occur onscreen
|
||||
@@ -3093,7 +3093,7 @@
|
||||
#define OBJFLAG3_GRABBABLE 0x00000002
|
||||
#define OBJFLAG3_DOOR_STICKY 0x00000004 // eg. Skedar Ruins
|
||||
#define OBJFLAG3_00000008 0x00000008 // Not used in scripts
|
||||
#define OBJFLAG3_00000010 0x00000010 // Used heaps
|
||||
#define OBJFLAG3_FINDROOMSFAST 0x00000010 // Can use if obj never goes out of bounds or in overlapping rooms
|
||||
#define OBJFLAG3_AUTOCUTSCENESOUNDS 0x00000020 // For doors and objs - play default open/close noises
|
||||
#define OBJFLAG3_RTRACKED_YELLOW 0x00000040
|
||||
#define OBJFLAG3_CANHARDFREE 0x00000080 // Can free prop while on screen (MP weapons only)
|
||||
|
||||
@@ -9,9 +9,9 @@ void chr_deregister(s32 chrnum);
|
||||
void chr_calculate_push_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms, bool arg3);
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3, bool arg4);
|
||||
bool chr_ascend(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 amount, bool writerooms);
|
||||
#else
|
||||
bool chr0f01f264(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 arg3);
|
||||
bool chr_ascend(struct chrdata *chr, struct coord *pos, RoomNum *rooms, f32 amount);
|
||||
#endif
|
||||
|
||||
bool chr0f01f378(struct model *model, struct coord *arg1, struct coord *arg2, f32 *mangroundptr);
|
||||
@@ -23,7 +23,7 @@ void chr_update_aim_properties(struct chrdata *chr);
|
||||
void chr_flinch_body(struct chrdata *chr);
|
||||
void chr_flinch_head(struct chrdata *chr, f32 arg1);
|
||||
f32 chr_get_flinch_amount(struct chrdata *chr);
|
||||
void chr0f021fa8(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
void chr_find_entered_rooms_at_pos(struct chrdata *chr, struct coord *pos, RoomNum *rooms);
|
||||
void chr0f0220ec(struct chrdata *chr, s32 lvupdate240, bool arg2);
|
||||
void chr0f022214(struct chrdata *chr, struct prop *child, bool fulltick);
|
||||
void chr_update_cloak(struct chrdata *chr);
|
||||
@@ -82,8 +82,8 @@ f32 chr_get_armor(struct chrdata *chr);
|
||||
void chr_init(struct prop *prop, u8 *ailist);
|
||||
struct prop *chr_allocate(struct model *model, struct coord *pos, RoomNum *rooms, f32 faceangle, u8 *ailist);
|
||||
void chr_clear_references(s32 propnum);
|
||||
void chr0f022084(struct chrdata *chr, RoomNum *room);
|
||||
void chr0f0220ac(struct chrdata *chr);
|
||||
void chr_find_entered_rooms(struct chrdata *chr, RoomNum *room);
|
||||
void chr_detect_rooms(struct chrdata *chr);
|
||||
void chr_cloak(struct chrdata *chr, bool arg1);
|
||||
void chr_uncloak(struct chrdata *chr, bool value);
|
||||
void chr_uncloak_temporarily(struct chrdata *chr);
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
#include "data.h"
|
||||
#include "types.h"
|
||||
|
||||
void mtx_load_random_rotation(Mtxf *mtx);
|
||||
void func0f0964b4(struct coord *arg0, Mtxf *mtx);
|
||||
void func0f0965e4(f32 *arg0, f32 *arg1, f32 arg2);
|
||||
void func0f096698(Mtxf *arg0, Mtxf *arg1, s32 count);
|
||||
void projectile_load_random_rotation(Mtxf *mtx);
|
||||
void projectile_load_random_speed_rotation(struct coord *speed, Mtxf *mtx);
|
||||
void projectile_update_fall(f32 *yincrement, f32 *speed, f32 lvupdate60);
|
||||
void projectile_update_matrix(Mtxf *arg0, Mtxf *arg1, s32 lvupdate240);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -55,11 +55,11 @@ void prop_register_room(struct prop *prop, RoomNum room);
|
||||
void prop_deregister_room(struct prop *prop, RoomNum room);
|
||||
void prop_deregister_rooms(struct prop *prop);
|
||||
void prop_register_rooms(struct prop *prop);
|
||||
void func0f065d1c(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5);
|
||||
void func0f065dd8(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms);
|
||||
void func0f065dfc(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms, RoomNum *morerooms, u32 arg5);
|
||||
void func0f065e74(struct coord *pos, RoomNum *rooms, struct coord *newpos, RoomNum *newrooms);
|
||||
void func0f065e98(struct coord *pos, RoomNum *rooms, struct coord *pos2, RoomNum *rooms2);
|
||||
void los_find_intersecting_rooms_properly(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting);
|
||||
void los_find_final_room_properly(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms);
|
||||
void los_find_intersecting_rooms_exhaustive(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting);
|
||||
void los_find_final_room_exhaustive(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms);
|
||||
void los_find_final_room_fast(struct coord *frompos, RoomNum *fromrooms, struct coord *topos, RoomNum *finalrooms);
|
||||
void room_get_props(RoomNum *room, s16 *propnums, s32 len);
|
||||
void props_defrag_room_props(void);
|
||||
void prop_get_bbox(struct prop *prop, f32 *radius, f32 *ymax, f32 *ymin);
|
||||
|
||||
@@ -9,8 +9,7 @@
|
||||
#define PORTALINTERSECTION_FRONTTOBEHIND 2
|
||||
|
||||
void portal_get_avg_vertex_pos(s32 portalnum, struct coord *avg);
|
||||
void portal00017dc4(RoomNum *rooms, RoomNum roomnum);
|
||||
s32 portal_calculate_intersection(s32 portalnum, struct coord *pos1, struct coord *pos2);
|
||||
void portal00018148(struct coord *pos, struct coord *pos2, RoomNum *rooms, RoomNum *arg3, RoomNum *arg4, s32 arg5);
|
||||
void portal_find_rooms(struct coord *frompos, struct coord *topos, RoomNum *fromrooms, RoomNum *finalrooms, RoomNum *intersecting, s32 maxintersecting);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user