forked from Ports/goldeneye-pc-port
114 lines
5.4 KiB
C
114 lines
5.4 KiB
C
#ifndef _CHROBJHANDLER_H_
|
|
#define _CHROBJHANDLER_H_
|
|
|
|
#include <ultra64.h>
|
|
#include <bondconstants.h>
|
|
#include <bondtypes.h>
|
|
#include <snd.h>
|
|
|
|
extern f32 F_80030B14;
|
|
extern f32 F_80030B18;
|
|
extern f32 F_80030B1C;
|
|
extern f32 F_80030B20;
|
|
extern f32 F_80030B24;
|
|
extern f32 g_SoloAmmoMultiplier;
|
|
|
|
extern s32 alarm_timer;
|
|
extern s32 *ptr_alarm_sfx;
|
|
extern f32 toxic_gas_sound_timer;
|
|
extern s32 activate_gas_sound_timer;
|
|
extern coord3d D_80030AD0;
|
|
extern s32 D_80030ADC;
|
|
extern f32 D_80030AE0;
|
|
extern ALSoundState *ptr_gas_sound;
|
|
extern s32 clock_drawn_flag;
|
|
extern s32 clock_enable;
|
|
extern f32 clock_time;
|
|
extern s32 D_80030AF4;
|
|
extern s32 D_80030AF8;
|
|
extern s32 D_80030AFC;
|
|
extern ObjectRecord *g_LevelLoadPropSwitch;
|
|
extern ObjectRecord *g_LevelLoadPropLockDoor;
|
|
extern ObjectRecord *g_LevelLoadPropSafeItem;
|
|
extern s32 D_80030B0C;
|
|
extern s32 bodypartshot;
|
|
extern f32 F_80030B14;
|
|
extern f32 F_80030B18;
|
|
extern f32 F_80030B1C;
|
|
extern f32 F_80030B20;
|
|
extern f32 F_80030B24;
|
|
extern f32 g_SoloAmmoMultiplier;
|
|
|
|
/**
|
|
* @param arg0: Prop for tank
|
|
* @param arg1: maybe flags
|
|
*/
|
|
void sub_GAME_7F04F218(struct PropRecord *arg0, s32 arg1);
|
|
|
|
void objFreePermanently(struct ObjectRecord *obj, bool freeprop);
|
|
|
|
void chrobjApplySpeed(f32 *openPosition, f32 maxFrac, f32 *speedPtr, f32 accel, f32 decel, f32 maxSpeed);
|
|
void chrobjCallsApplySpeed(f32 *openPosition, f32 maxFrac, f32 *speedPtr, f32 accel, f32 decel, f32 maxSpeed);
|
|
Gfx *sub_GAME_7F049B58(Gfx *arg0);
|
|
void set_color_shading_from_tile(PropRecord *, rgba_u8 *);
|
|
void propobjSetDropped(PropRecord *, s32);
|
|
void sub_GAME_7F053A10(ALSoundState *, coord3d *);
|
|
void alarmActivate(void);
|
|
void sub_GAME_7F052574(PropRecord *, s32);
|
|
s32 sub_GAME_7F052604(PropRecord *);
|
|
s32 sub_GAME_7F0539E4(coord3d *pos); //getVolume?
|
|
ObjectRecord *create_new_item_instance_of_model(PROP propid, s32 arg1);
|
|
void maybe_detonate_object(ObjectRecord *arg0, f32 arg1, coord3d *arg2, ITEM_IDS item, s32 arg4);
|
|
void chrobjMaybeDetonateObjectIfFlags(ObjectRecord *arg0, f32 arg1, coord3d *arg2, ITEM_IDS item, s32 arg4);
|
|
void sub_GAME_7F03FDA8(PropRecord *);
|
|
void sub_GAME_7F03FE14(PropRecord *);
|
|
void chrobjCollisionRelated(ObjectRecord *);
|
|
void sub_GAME_7F040754(ObjectRecord *, coord3d *, Mtxf *, StandTile *);
|
|
s32 sub_GAME_7F041074(coord3d *arg0, coord3d *arg1, coord3d *arg2, f32 arg3);
|
|
void sub_GAME_7F04F244(PropRecord *arg0, struct rect4f **arg1, s32 *arg2, f32 *arg3, f32 *arg4);
|
|
void doorActivate(DoorRecord *door, DOORSTATE State);
|
|
s32 sub_GAME_7F055A70(PropRecord *arg0, DoorRecord *arg1);
|
|
void sub_GAME_7F055B78(PropRecord *arg0, DoorRecord *arg1);
|
|
Gfx *chrobjRenderProp(PropRecord *arg0, Gfx *arg1, s32 arg2);
|
|
|
|
f32 chrobjFogVisRangeRelated(PropRecord *prop, f32 size);
|
|
s32 sub_GAME_7F054A64(PropRecord *prop, bbox2d *bbox);
|
|
|
|
// note: rgba to rgb
|
|
void sub_GAME_7F040384(rgba_s32 *arg0, s32 arg1, rgba_f32 *arg2);
|
|
void trigger_remote_mine_detonation(void);
|
|
|
|
void sub_GAME_7F04C044(PropRecord *prop);
|
|
void sub_GAME_7F040CF0(PropRecord *);
|
|
bool alarmIsActive();
|
|
void init_trigger_toxic_gas_effect(coord3d *source);
|
|
void chrSetWeaponFlag4(ChrRecord *chr, GUNHAND hand);
|
|
void sub_GAME_7F053B10(DoorRecord *door);
|
|
void doorActivatePortal(DoorRecord *door);
|
|
void sub_GAME_7F052B00(DoorRecord *door);
|
|
s32 sub_GAME_7F0539B8(f32 vol);
|
|
void monitorSetImageByNum(MonitorRecord *mon, s32 monAnimID);
|
|
void propweaponSetDual(WeaponObjRecord *leftweapon, WeaponObjRecord *rightweapon);
|
|
f32 countdownTimerGetValue(void);
|
|
bool countdownTimerIsRunning(void);
|
|
void countdownTimerSetRunning(bool enable);
|
|
void countdownTimerSetValue(f32 time);
|
|
void countdownTimerSetVisible(int clocklockbits, bool unset);
|
|
void sub_GAME_7F04088C(ObjectRecord *baseobj, PadRecord *pad, Mtxf *matrix, StandTile *stan, PadRecord *pad2);
|
|
bool sub_GAME_7F051E1C(WeaponObjRecord *wep, ChrRecord *chr);
|
|
INV_ITEM_TYPE collect_or_interact_object(PropRecord *prop, bool showstring);
|
|
INV_ITEM_TYPE propobjInteract(PropRecord *prop);
|
|
s32 do_something_if_object_destroyed(ObjectRecord *obj);
|
|
void doorActivateWrapper(PropRecord *prop);
|
|
bool objIsHealthy(ObjectRecord *self);
|
|
ObjectRecord *weaponFindThrown(s32 ID);
|
|
bool check_if_toxic_gas_activated();
|
|
PropRecord *chrTryEquipHat(ChrRecord *self, s32 index, s32 flags);
|
|
void sub_GAME_7F04C044(PropRecord *prop);
|
|
void sub_GAME_7F043650(struct WeaponObjRecord *arg0);
|
|
s32 sub_GAME_7F0446B8(struct rect4f *arg0, s32 arg1, struct rect4f *arg2, s32 arg3);
|
|
s32 chrobjTestPointPolygonCollision(struct coord3d *arg0, f32 arg1, struct rect4f *arg2, s32 arg3);
|
|
void sub_GAME_7F04DEFC(PropRecord *arg0, f32 arg1, struct coord3d *arg2, s32 arg3, s32 owner);
|
|
struct modeldata_unk_pos * sub_GAME_7F040078(ObjectRecord *arg0);
|
|
#endif
|