projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bugs/map edits
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world.h
diff --git
a/world.h
b/world.h
index 4352b6e6031bd38f608b24061591e93e81ad72e1..b1fc80d9b3a1db4bc5ba46fd358c7c1146c7a041 100644
(file)
--- a/
world.h
+++ b/
world.h
@@
-806,24
+806,40
@@
VG_STATIC void world_update( world_instance *world, v3f pos )
random_ticks ++;
}
random_ticks ++;
}
+ float radius = 25.0f;
+ boxf trigger_proximity;
+ v3_add( pos, (v3f){ radius, radius, radius }, trigger_proximity[1] );
+ v3_sub( pos, (v3f){ radius, radius, radius }, trigger_proximity[0] );
+
+ bh_iter it;
+ bh_iter_init( 0, &it );
+ int idx;
+
int in_trigger = 0;
int in_trigger = 0;
- for( int i=0; i<world->trigger_count; i++ )
+
+ while( bh_next( world->trigger_bh, &it, trigger_proximity, &idx ) )
{
{
- struct trigger_zone *zone = &world->triggers[i];
+ struct trigger_zone *zone = &world->triggers[i
dx
];
-
for( int j=0; j<random_ticks; j++
)
+
if( zone->classtype == k_classtype_particle_box
)
{
{
- logic_packet packet;
- packet.location = zone->target_logic_brick;
- packet.function = 0;
+ vg_line_boxf_transformed( zone->transform, (boxf){{-1.0f,-1.0f,-1.0f},
+ { 1.0f, 1.0f, 1.0f}},
+ 0xff00c0ff );
+ for( int j=0; j<random_ticks; j++ )
+ {
+ logic_packet packet;
+ packet.location = zone->target_logic_brick;
+ packet.function = 0;
- packet.type = k_mdl_128bit_datatype_vec3;
- packet.data._v4f[0] = vg_randf()*2.0f-1.0f;
- packet.data._v4f[1] = vg_randf()*2.0f-1.0f;
- packet.data._v4f[2] = vg_randf()*2.0f-1.0f;
- m4x3_mulv( zone->transform, packet.data._v4f, packet.data._v4f );
+
packet.type = k_mdl_128bit_datatype_vec3;
+
packet.data._v4f[0] = vg_randf()*2.0f-1.0f;
+
packet.data._v4f[1] = vg_randf()*2.0f-1.0f;
+
packet.data._v4f[2] = vg_randf()*2.0f-1.0f;
+
m4x3_mulv( zone->transform, packet.data._v4f, packet.data._v4f );
- logic_bricks_send_packet( world, &packet );
+ logic_bricks_send_packet( world, &packet );
+ }
continue;
}
continue;
}
@@
-847,11
+863,17
@@
VG_STATIC void world_update( world_instance *world, v3f pos )
logic_bricks_send_packet( world, &packet );
}
logic_bricks_send_packet( world, &packet );
}
+
+ vg_line_boxf_transformed( zone->transform, (boxf){{-1.0f,-1.0f,-1.0f},
+ { 1.0f, 1.0f, 1.0f}},
+ 0xff00ff00 );
+ }
+ else
+ {
+ vg_line_boxf_transformed( zone->transform, (boxf){{-1.0f,-1.0f,-1.0f},
+ { 1.0f, 1.0f, 1.0f}},
+ 0xff0000ff );
}
}
-
- vg_line_boxf_transformed( zone->transform, (boxf){{-1.0f,-1.0f,-1.0f},
- { 1.0f, 1.0f, 1.0f}},
- 0xff00ff00 );
}
if( k_debug_light_indices )
}
if( k_debug_light_indices )
@@
-878,7
+900,7
@@
VG_STATIC void world_update( world_instance *world, v3f pos )
sfd_update();
if( debug_logic_bricks )
sfd_update();
if( debug_logic_bricks )
- logic_bricks_debug( world );
+ logic_bricks_debug( world
, pos
);
/* process soundscape transactions */
audio_lock();
/* process soundscape transactions */
audio_lock();