Fixed bugs with trigger

dev
Shariq Shah 6 years ago
parent ac16c151a3
commit 99b2abe0ec
  1. 15
      assets/entities/trigger.symtres
  2. 2
      src/common/version.h
  3. 4
      src/game/entity.h
  4. 7
      src/game/trigger.c
  5. 5
      todo.txt

@ -0,0 +1,15 @@
Entity
{
type : 9
scale : 1.000 1.000 1.000
rotation : 0.000 0.000 0.000 1.000
trigger_mask : 1
trigger_event : -1
active : true
position : 0.000 0.000 0.000
bouding_box_min : -0.500 -0.500 -0.500
trigger_type : 0
name : Trigger
bouding_box_max : 0.500 0.500 0.500
}

@ -4,7 +4,7 @@
/* Auto generated version file. DO NOT MODIFY */
#define SYMMETRY_VERSION_MAJOR 0
#define SYMMETRY_VERSION_MINOR 1
#define SYMMETRY_VERSION_REVISION 328
#define SYMMETRY_VERSION_REVISION 329
#define SYMMETRY_VERSION_BRANCH "dev"
#endif

@ -82,8 +82,8 @@ enum Entity_Ray_Mask
enum Trigger_Mask
{
TRIGM_PLAYER = 0,
TRIGM_ENEMY = 1 << 0,
TRIGM_PLAYER = 1 << 0,
TRIGM_ENEMY = 1 << 1,
TRIGM_ALL = TRIGM_PLAYER | TRIGM_ENEMY
};

@ -62,6 +62,7 @@ void trigger_update_physics(struct Trigger* trigger, struct Scene* scene, float
{
fire_event = true;
trigger->triggered = true;
trigger->count++;
scene_trigger_remove(scene, trigger);
}
break;
@ -76,6 +77,7 @@ void trigger_update_physics(struct Trigger* trigger, struct Scene* scene, float
else
{
trigger->triggered = true;
trigger->count++;
fire_event = true;
}
}
@ -83,10 +85,15 @@ void trigger_update_physics(struct Trigger* trigger, struct Scene* scene, float
case TRIG_CONTINUOUS:
{
trigger->triggered = true;
trigger->count++;
fire_event = true;
}
break;
}
if(fire_event)
log_message("event triggered!");
if(fire_event && trigger->trigger_event != -1)
{
struct Event_Manager* event_manager = game_state_get()->event_manager;

@ -1,5 +1,5 @@
Todo:
- Implement Triggers
- Fix crash where if entity selected in editor is deleted in game mode and then returning to editor mode causes a crash
- Implement flag for ignoring collisions with certain entities
- Implement separate property window for player related variables that can be shown in the editor similar to renderer settings etc
- Implement game gui either with a separate nuklear context or as part of existing context
@ -402,4 +402,5 @@ Done:
* Fix Turret losing target at diagonals
* Add turret properties to property inspector
* Add another ambient sound_source entity as child to enemy entity
* Add all sound source properties to propery inspector
* Add all sound source properties to propery inspector
* Implement Triggers
Loading…
Cancel
Save