sm64pc/src/engine/behavior_script.h

30 lines
1.2 KiB
C
Raw Permalink Normal View History

2019-08-25 04:46:40 +00:00
#ifndef _BEHAVIOR_SCRIPT_H_
#define _BEHAVIOR_SCRIPT_H_
2020-04-03 18:57:26 +00:00
#define BHV_PROC_CONTINUE 0
#define BHV_PROC_BREAK 1
2019-08-25 04:46:40 +00:00
2020-04-03 18:57:26 +00:00
#define cur_obj_get_int(offset) gCurrentObject->OBJECT_FIELD_S32(offset)
#define cur_obj_get_float(offset) gCurrentObject->OBJECT_FIELD_F32(offset)
2019-08-25 04:46:40 +00:00
2020-04-03 18:57:26 +00:00
#define cur_obj_add_float(offset, value) gCurrentObject->OBJECT_FIELD_F32(offset) += (f32)(value)
#define cur_obj_set_float(offset, value) gCurrentObject->OBJECT_FIELD_F32(offset) = (f32)(value)
#define cur_obj_add_int(offset, value) gCurrentObject->OBJECT_FIELD_S32(offset) += (s32)(value)
#define cur_obj_set_int(offset, value) gCurrentObject->OBJECT_FIELD_S32(offset) = (s32)(value)
#define cur_obj_or_int(offset, value) gCurrentObject->OBJECT_FIELD_S32(offset) |= (s32)(value)
#define cur_obj_and_int(offset, value) gCurrentObject->OBJECT_FIELD_S32(offset) &= (s32)(value)
#define cur_obj_set_vptr(offset, value) gCurrentObject->OBJECT_FIELD_VPTR(offset) = (void *)(value)
2019-08-25 04:46:40 +00:00
2020-04-03 18:57:26 +00:00
#define obj_and_int(object, offset, value) object->OBJECT_FIELD_S32(offset) &= (s32)(value)
2019-08-25 04:46:40 +00:00
2020-04-03 18:57:26 +00:00
u16 random_u16(void);
float random_float(void);
s32 random_sign(void);
2019-08-25 04:46:40 +00:00
2020-04-03 18:57:26 +00:00
void obj_update_gfx_pos_and_angle(struct Object *);
void stub_behavior_script_2(void);
2019-08-25 04:46:40 +00:00
2020-04-03 18:57:26 +00:00
void cur_obj_update(void);
2019-08-25 04:46:40 +00:00
#endif /* _BEHAVIOR_SCRIPT_H_ */