X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world_logic_bricks.h;h=d6e9d11557fa08cf2a40ad50de2b05c4a32bfde1;hb=2e4531dfd7bd0d9a0776fda1a62653806d85eb3b;hp=6d1ea26cb4121707f9cfd0e30b0e204bfb91daef;hpb=26bde92c7084971f13352b37fd4d1ea528b45dcf;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world_logic_bricks.h b/world_logic_bricks.h index 6d1ea26..d6e9d11 100644 --- a/world_logic_bricks.h +++ b/world_logic_bricks.h @@ -5,6 +5,8 @@ #include "world.h" +#if 0 + typedef struct logic_packet logic_packet; struct logic_packet { @@ -497,68 +499,10 @@ VG_STATIC void logic_bricks_world_gen_allocate( world_instance *world ) } } +#endif -/* - * BVH implementation - * ---------------------------------------------------------------------------- - */ - -VG_STATIC void trigger_bh_expand_bound( void *user, boxf bound, u32 item_index ) -{ - world_instance *world = user; - struct trigger_zone *trigger = &world->triggers[ item_index ]; - - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){ 1.0f, 1.0f, 1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){ 1.0f, 1.0f,-1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){ 1.0f,-1.0f, 1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){ 1.0f,-1.0f,-1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){-1.0f, 1.0f, 1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){-1.0f, 1.0f,-1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){-1.0f,-1.0f, 1.0f} ); - m4x3_expand_aabb_point( trigger->transform, bound, (v3f){-1.0f,-1.0f,-1.0f} ); -} - -VG_STATIC float trigger_bh_centroid( void *user, u32 item_index, int axis ) -{ - world_instance *world = user; - struct trigger_zone *trigger = &world->triggers[ item_index ]; - - return trigger->transform[3][axis]; -} - -VG_STATIC void trigger_bh_swap( void *user, u32 ia, u32 ib ) -{ - world_instance *world = user; - struct trigger_zone *a = &world->triggers[ ia ], - *b = &world->triggers[ ib ], - temp; - - temp = *a; - *a = *b; - *b = temp; -} - -VG_STATIC void trigger_bh_debug( void *user, u32 item_index ) -{ - world_instance *world = user; - struct trigger_zone *zone = &world->triggers[ item_index ]; - - vg_line_boxf_transformed( zone->transform, (boxf){{-1.0f,-1.0f,-1.0f}, - { 1.0f, 1.0f, 1.0f}}, - 0xff00ff00 ); -} - -VG_STATIC bh_system bh_system_triggers = -{ - .expand_bound = trigger_bh_expand_bound, - .item_centroid = trigger_bh_centroid, - .item_closest = NULL, - .item_swap = trigger_bh_swap, - .item_debug = trigger_bh_debug, - .cast_ray = NULL -}; #endif /* WORLD_LOGIC_BRICKS_H */