DomsExtensionPack1
This DLL contains a couple of BBs for things one couldn't access
in Dev 2.1 with the standard BBs, BBs where i need to do some
bug fix or extension etc.
DomsCharacterController, CreateCharacterControllerInputArray,
SkinJoin, DragAndDrop,
Fullscreenmode, SetParameterValue_IfNameIsEqual,
GetUVCoords, GetCurrentAnimation, GetViewportRectancle, RoundFloatToInt,
Set2D_UVCoords, Set2D_Pickable, Set2D_Size, , SetHomogenousRect,
SetMaterialAlpha, SetUseHomogenousCoords.
DomsCharacterController is
a nearly complete rewrite of the Unlimited Controller.It started
by the need to able to loop primary, stopable animations. The
unlimited controller needs a meesage EVERY frame in order to keep
the animation going. Not so good controll over a network. Unfortunally
the parameter dialog of the unlimited controller is bound to the
GUID of the BB. So i couldn't reuse it and thus i am now using
arrays instead. Which finally a good thing, because one can load/save
them and compose them during run-time. Additionally one specifiy
the messages for turning left or right - moreover turning left
or right can be different for the case 'standing' and 'moving'.
By the way, turning is also loop-able. The BB is targetable
In order to setup up animations-configuration
arrays for the DomsCharacterController, a BB called CreateCharacterControllerInputArray
is availible. It creates two formated arrays, so the composer
just needs to add rows to them. Additional structers have been
added, so it's just a matter of choosing the values for the parameters.
I modified the SkinJoin slightly
in order to be able to use it with dynamic scripts which isn't
possible the the standard one, because the BB is only initialised
after using the parameter dialog.
DragAndDrop has been modified in order
to be targetable, trigger a bOut when it was dragged and writes
it's current position in pOut. I needed this for my UI-slider
behaviour. There's still a bug in this BB: when an axis is restricted
to 0 pixel movement, the BB doesn't work anymore. Hope Virtools
will fix this - didn't had the time to look for the source of
this bug.
The Fullscreenmode BB reads the fullscreen
setting from the registry and toggles fullscreen mode. Unfortunally
for the standalone player it's not very useful, unless you write
the values in the registry yourself. But at least it allows one
to switch the webplayer to fullscreen mode, if desired, according
to the user's settings.
The SetParameterValue_IfNameIsEqual
has a pOuts where one links a couple of local parameters. Each
pOut is a different dataType: string, float and int. The BB has
two pIns: Name (string) and value (string). So now the composer
can iterate through a string (i.e. from the web) where he has
something like "hitpoints=50". He then splits up the
string at '=' and provides the BB with the name and value. The
BB then iterates through all to the pOuts linked parameters and
sets the value if the parameter-name is equal to the one given
as pIn.
Unfortunally some of the other BBs i listed at the beginning
do something that can also be achieved through the provided standard
BBs like Set2D_Size, which can be modified by the BB Edit2DEntity
after changing it's settings. But this isn't something obvious,
as there a standalone BBs like Set2D_Material and Set2D_Parent.
These inconsitency in BB design leads to confusion and can create
the misbelieve that some BBs are missing when looking at the BB
category "Visuals/2D". So i was sometimes victim of
this confusing design and created unessesairy BBs.
