BigTruck's Fan Page

BOD Scripting

Objects and entities

Using Entities in LED
Load levelname.mp

start OpenGL mode (very important! - Thanks to Duke for the info

from right-click menu of OpenGL window, import objs.dol (\BoD\Maps\Levelname\objs.dol) (Barb_M1 is a good starting set, but you will need to delete included objs from map once loaded)


open BODs window - highlight Entity/Object from list


goto MENU Tools/Add Entity


click in map to add (looks like small o)


View/Properties to edit

or use OpenGL mode to move/rotate


objs.dol format (from a post at RebelAct by BirdMadBoy)

Adding Entities by hand
Create objs.py script
objs.py format



using cut/paste from Game scripts


check in \BoD\Maps\Levelname\objs.py for objects that you want to use (find text in files works well)


cut n paste the info into your objs.py script


change position coordinates (x,y,z,angle)
(units in mm, ie. 1 unit in LED = 1000 in script; -1000 = 1 meter UP)

			o=Bladex.CreateEntity("Brazier1","Brasero1",26500,-3850,10828.9,Reference.ObjType("Brasero1"))
			o.Scale=1.000000
			o.Orientation=0.707107,0.707107,0.000000,0.000000
			o.FiresIntensity=[ 1 ]
			o.Lights=[ (20.000000,0.11000,(198,104,0)) ]



change line to create unique names for each group
ie. Brazier1 in the first line has to be unique for all Brasero1 type objects (?)


check the original objs.py for import code -
import ItemTypes, etc. and include the relevant ones in your objs.py
ie. Bladex and Reference are used in Brazier1 above



get positions from playing in DEBUG mode


turning on DEBUG mode in Reference.py


change line to PYTHON_DEBUG = 1


in game press [ t key ] to show info on screen

see debug output in Appendix



orientation of objects (rotation around vertical axis)

suitable for wall torches (antorchaenpared) and other upright objects (?)

based on LED screen, top = North ( angle = angle taken from debug_mode info )

N = 0.5, 0.5, -0.5, 0.5 ( angle = 0.0 )

NE = 0.655, 0.655, -0.265, 0.265 ( angle = 5.25 )

E = 0.707, 0.707, 0.0, 0.0 ( angle = 4.5 )

SE = 0.655, 0.655, 0.265, -0.265 ( angle = 3.75 )

S = 0.5, 0.5, 0.5, -0.5 ( angle = 3.0 )

SW = 0.265, 0.265, 0.655, -0.655 ( angle = 2.25 )

W = 0.0, 0.0, -0.707, 0.707 ( angle = 1.5 )

NW = 0.265, 0.256, -0.655, 0.655 ( angle = 0.75 )



height adjustments for objects

from debug info, +700 (?) approx = floor