Jump to content

XML:ONLV: Difference between revisions

1,368 bytes added ,  28 August 2013
some untested BSL code to manage object groups, my only worry is that some simultaneous hiding/unhinding will make objects 'flash' for a moment
m (visible GunkQuad limit is 8192, problem could be managed with env_show)
(some untested BSL code to manage object groups, my only worry is that some simultaneous hiding/unhinding will make objects 'flash' for a moment)
Line 362: Line 362:
* grids in front of ventilation shafts (a little door object could be an alternative)
* grids in front of ventilation shafts (a little door object could be an alternative)
** at the moment this can't be done because characters can't sneak under the top edge of the opening (the characters collision spheres are too big)
** at the moment this can't be done because characters can't sneak under the top edge of the opening (the characters collision spheres are too big)
* managing object groups with trigger volumes (save multiple objects in one dae file)
https://dl.dropboxusercontent.com/u/139715/OniGalore/TV_triggered_env_show.png
func hide_all_object_groups
{
# env_show id [1|0]
env_show 0 0
env_show 1 0
env_show 2 0
# ...
env_show 24 0
}
func show_object_group (int colA, int colB, int colC, int colD, int colE, int colF, int colG, int colH)
{
env_show (colA, 1)
env_show (colB, 1)
env_show (colC, 1)
env_show (colD, 1)
env_show (colE, 1)
env_show (colF, 1)
env_show (colG, 1)
env_show (colH, 1)
# if user uses 0 he must place it as first argument
# missing arguments like in "show_object_group (20, 21, 6, 19, , , , )
# are taken to be 0, so we must take care of unwanted zeros
if (colG eq 0) and (colH eq 0)
{
# hide 0 collection
env_show (0, 0)
}
}
func TV_0_enter
{
hide_all_object_groups
# show object group of entered TV and of neighboring TVs
# (center, north, north east, east, east south, south, south west, west, west north)
# there's a limit of 8 arguments per function
show_object_group 0 1 2 3 4 5 6 7
show_object_group 8
}
func TV_6_enter
{
hide_all_object_groups
show_object_group 6 7 0 5 18 19 20 21
show_object_group 22
}
func TV_20_enter
{
hide_all_object_groups
show_object_group 20 21 6 19
}




Line 642: Line 703:
Why do AI run against the trees? The vegetation isn't on the BNV so no red grids were created.
Why do AI run against the trees? The vegetation isn't on the BNV so no red grids were created.


Add simple geometries like ''_marker_impassable fences'' near the BNV to fix the problem.
Add simple geometries like ''_marker_impassable fences'' or danger quads near the BNV to fix the problem.




8,452

edits