This feature is replaced by new animationBones. Check 'instruction_on_new_animationBone.txt' for more info.
The mechanism is preserved however to support old remodels using this technique. It's not advised for 
building new models.

Because addon models animated in this method doesn't receive shadow nor official camouflage overlay.
It's also harder to setup in modder's perpective than binding to some new bones in gun geometry.









===========================================================================================================
Addon model support is injected to generic model assembly routine thus isolated from ownModelLoader's main 
feature 'Change My Tank Only'. As long as ownModelLoader is installed, this feature can be used directly. 
You don't need to specifically build a ownModel.xml profile for your work.

But animation for theses addon models are only for tanks controlled by user. Models controlled 
by other player still receive addon model but will be static.
This is because:
1. A rotated model will apparently differ from actual hitbox, causing difficulty in hitting them. Especially 
   since some mini-turrets are weakpoints.
2. Performance. Each animated mini-turret requires its own controller callback and executed at each sim frame. 
   Spaming too many of them might cause hit to performance.
3. Some feature use player's current view direction to slew the model which is impossible to obtain for other players.
------------------------------------------------------------------------------------------------------------

When cutting parts out of original model to form a new addon model, it's advised NOT to actually remove the 
geometry from hull or turret but use ANM texture alpha testing. Because these addon model doesn't generate 
silhouette which will cause difficulty when aiming from behind bush. And model surface nullified by alpha 
testing will still generate silhouette, circumventing the problem.

------------------------------------------------------------------------------------------------------------
Currently 11 optional hardpoints are hardcoded into the mod:
for turret visual file exclusively:
	HP_acc_0, HP_acc_E0, HP_acc_E1
for turret and/or hull visual file:
	HP_acc_T0 to HP_acc_T7. 
	Note that turret and hull visual are in the same namespace. If a hardpoint is already defined in hull
	visual, it can't be used again in turret visual.
If one or some of the hardpoints are found in corresponding visual file, ownModel will look for addon models 
of the same name under %modelBaseDirectory%/normal/lod0/. To be specific:
HP_acc_0 	is bound to normal/lod0/acc_0.model
HP_acc_E0 	is bound to normal/lod0/acc_E0.model
HP_acc_E1 	is bound to normal/lod0/acc_E1.model
HP_acc_T0	is bound to normal/lod0/acc_T0.model
HP_acc_T1	is bound to normal/lod0/acc_T1.model
...	
HP_acc_T7	is bound to normal/lod0/acc_T7.model


------------------------------------------------------------------------------------------------------------
HP_acc_0
This is the rotator hardpoint. With this modder can build auto-rotation node or a random rotation node.
First 3 rows are transform matrix and 4th row indicate position.
But in this mod the transform matrix contain other information:
V1	0	INTERVAL
0	V2	0
0	0	V3
P1	P2	P3
Coordinate (P1,P2,P3) defines the location of the hardpoint as well as pivot of the rotation
If 'INTERVAL'=0 then this node use auto-rotation:
	Vector (V1,V2,V3) defines rotation axis and speed. 
	For example (V1=2,V2=0,V3=0) will rotate horizontally with a speed of 2 seconds per circle
If 'INTERVAL'>0 then this node use random search rotation:
	'INTERVAL' defines how long until the next search animation starts
	Once the animation is triggered, it will take 'INTERVAL/2' seconds to turn to a random direction, 
	then stay idle until the next animation is triggered.
	Vector (V1,V2,V3) is not used in this case. RandomSearch always use horizontal plane for the rotation. 
	It's hardcoded because I can't think of a reason why anyone would want a random rotation animation on 
	a different plane. But for the sake of future compatibility it's advised to set it to (1,0,0)



------------------------------------------------------------------------------------------------------------
HP_acc_E0 and HP_acc_E1
These are elevator hardpoints. They are driven by the same animation controller that controls gun model, so 
any model attached to these hardpoints will elevate with the gun but centered on their own respective hardpoint.
It's intended to animate parts that is sync with gun elevation mechanism but on a different axis, like spotlight.
It's a standard BigWorld transform matrix with position info.
But because of the nature of elevation animation, orientation and scaling are ignored. Only position info is retained
for attaching the addon model.


------------------------------------------------------------------------------------------------------------
HP_acc_T0 to HP_acc_T7
These are auxiliary turret hardpoints. Up to eight mini turrets are supported. 
Can be placed inside hull visual or turret visual. But the total number should not exceed 8 and their names must be 
unique. If a hardpoint is already used in hull visual, it can't be used again in turret visual.
If HP_gunJoint is found inside acc_T*.visual, it is assumed that a gun model called acc_G*.model is to be attached 
at this gun hardpoint.
Miniturrets are generally controled by player cursor (during live game session) but will be overwritten by main
turret aiming direction during game replay.

However thses gun models are not skinned models at this time so don't bother with skinned shader or skinned animation.
The transform matrix of HP_acc_T* provides coordinate and orientation of mini-turret hardpoints. It can also contain 
yaw limit and rotation speed if necessary:

*If your mini-turret doesn't need yaw limit then HP_acc_T* will be an ordinary matrix providing orientation ,scale and position

*If you need to limit yaw or customize speed then use the following format:
1	leftBound	rightBound
0	1		rotationSpeed
0	0		1
P1	P2		P3

*Coordinate (P1,P2,P3) defines the location of the hardpoint as well as pivot of the rotation.
*[leftBound, rightBound] defines boundary for valid yaw range. Forward is 0. Angle to the left is negative value 
 measured in degrees. Angle to the right is positive value.
*Rotation speed is accepted only when row2column2 is 1 (to differ from orientation matrix that are not aligned to default)
*Rotation speed is measured in degrees per second. If set to 0, miniturret will use the same speed as main turret.

For example a left-front turret has firing arc from left 50 to right 10 degrees, and the same speed as main turret:
1	-50	10
0	1	0
0	0	1
P1	P2	P3

