projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
challenge effects
[carveJwlIkooP6JGAAIwe30JlM.git]
/
ent_objective.c
diff --git
a/ent_objective.c
b/ent_objective.c
index 330e60fcb97524075020360909c37be6a1dcf848..68a3dd015f69882562201beadc2111940adeb19d 100644
(file)
--- a/
ent_objective.c
+++ b/
ent_objective.c
@@
-8,11
+8,12
@@
VG_STATIC void ent_objective_pass( world_instance *world,
ent_objective *objective ){
if( objective->id_next ){
VG_STATIC void ent_objective_pass( world_instance *world,
ent_objective *objective ){
if( objective->id_next ){
- world
->
challenge_timer += objective->filter;
+ world
_static.
challenge_timer += objective->filter;
u32 index = mdl_entity_id_id( objective->id_next );
ent_objective *next = mdl_arritm( &world->ent_objective, index );
u32 index = mdl_entity_id_id( objective->id_next );
ent_objective *next = mdl_arritm( &world->ent_objective, index );
- world->challenge_target = next;
+ world_static.challenge_target = next;
+ objective->flags |= k_ent_objective_passed;
if( next->filter & k_ent_objective_filter_passthrough )
ent_objective_pass( world, next );
if( next->filter & k_ent_objective_filter_passthrough )
ent_objective_pass( world, next );
@@
-21,8
+22,8
@@
VG_STATIC void ent_objective_pass( world_instance *world,
}
else {
vg_success( "NYU Film school graduate SUCKAH\n" );
}
else {
vg_success( "NYU Film school graduate SUCKAH\n" );
- world
->
challenge_target = NULL;
- world
->
challenge_timer = 0.0f;
+ world
_static.
challenge_target = NULL;
+ world
_static.
challenge_timer = 0.0f;
if( objective->id_win ){
ent_call call;
if( objective->id_win ){
ent_call call;
@@
-72,29
+73,21
@@
VG_STATIC void ent_objective_call( world_instance *world, ent_call *call ){
ent_objective *objective = mdl_arritm( &world->ent_objective, index );
if( call->function == 0 ){
ent_objective *objective = mdl_arritm( &world->ent_objective, index );
if( call->function == 0 ){
- if( objective->flags & k_ent_objective_hidden ) return;
+ if( objective->flags & (k_ent_objective_hidden|
+ k_ent_objective_passed)) return;
- if( world
->
challenge_target ){
- if( (world
->
challenge_target == objective) &&
+ if( world
_static.
challenge_target ){
+ if( (world
_static.
challenge_target == objective) &&
ent_objective_check_filter( objective )){
ent_objective_pass( world, objective );
}
else {
vg_error( "womp womp\n" );
ent_objective_check_filter( objective )){
ent_objective_pass( world, objective );
}
else {
vg_error( "womp womp\n" );
- world
->
challenge_target = NULL;
- world
->
challenge_timer = 0.0f;
+ world
_static.
challenge_target = NULL;
+ world
_static.
challenge_timer = 0.0f;
}
}
}
}
}
}
-#if 0
- else if( call->function == 1 ){
- if( objective->flags & k_ent_objective_hidden ) return;
-
- vg_info( "begin the challenge\n" );
- world->challenge_timer = 0.0f;
- ent_objective_pass( world, objective );
- }
-#endif
else if( call->function == 2 ){
objective->flags &= ~k_ent_objective_hidden;
else if( call->function == 2 ){
objective->flags &= ~k_ent_objective_hidden;