Acting as a 'medium' between Mailinglist and Watermelon, since he seems to have problems with email acoounts.
 
Filenames are self-explainatory.
 
Troman
New hit/projectile Readme:

Purposes:
1.Change the sure strike/sure miss projectile to 'real' ones
2.Added a 'collision' for projectiles
3.Target Prediction

Changes:

1. Projectiles changes:(files affected:projectiles.c projectiles.h)

1.1 Added global projNaybor list array.

1.2 Added global #define(s) for projNaybor, 1/2 range of droid to reduce 
unnecessary naybor checks.

1.3 Added functions projGetNaybors function(merely a clone of droidGetNaybors 
from droid.c)
        to get a naybor list.
        
1.4 Changed proj_InFlightDirectFunc,proj_InFlightIndirectFunc to check all 
naybors for possible impact
        Extended projectile 'lifespan' for different types of weapons:(to 
ensure a projectile is not simply disappeared 
        after it misses the intended target like old system)
        
        MGs 1.2x
        Cannon 1.5x
        Missile 1.5x
        
1.4.1 Added a hit radius bonus to all weapons except LAS_SAT 
        to compensate the inability of hitting moving targets(or maybe the hit 
radius of units are too small)
        They are applied to TARGET_RADIUS check not WEAPON_RADIUS/SPLASH
        
        Mgs 2 = sqrt(2) times
        Cannon 3 = sqrt(3) times
        Missile 4 = 2 times
        AAGun 16 = 4 times
        
1.4.2 A missed projectile never deals damage in old hit system,now a projectile 
which missed its intended target can still
          deal damage to other objects that collide with it.(Artillery should 
be more powerful now)
          
1.4.3 Get rid of the 'sure strike' stuff in wz.
          Now theoretically your units can 'dodge' any non-homing projectiles 
with proper micro,unlike another 'mainstream' RTS games.
        
1.5 Changed establishTargetRadius function to droid type,body size based.
        Smaller units are a bit more hard to hit now while big units are easier 
to hit now

        DROID   type                    bodysize        hitRadius
        LIGHT   DROID_WEAPON    LIGHT           TILES/8 = 16
        MEDIUM  DROID_WEAPON    MEDIUM          TILES/8 + body_size * 16 = 32
        HEAVY   DROID_WEAPON    HEAVY           TILES/8 + body_size * 16 = 48
        S.HEAVY DROID_WEAPON    S.HEAVY         TILES/8 + body_size * 16 = 64
        CYBORG  DROID_CYBORG    N/A                     TILES/8 = 16
        
2.Combat Game Mechanics changes(files affected:combat.c)

2.1: Changed missed random offset to accuracy based from distance based(more 
accurate when 'miss' with weapon with high acc)

2.2: Target Prediction
     Simple Target Prediction to increase the accuracy of 'hit' shots.
     
     predictX = cos([target move direction]) * [target velocity] * [actual 
distance] / [weapon velocity]; 
     predictY = sin([target move direction]) * [target velocity] * [actual 
distance] / [weapon velocity];
Multi-Turret Readme:

Purpose:
Add multiple turret support.

Changes:
1 DROID,DROID_TEMPLATE struct changes(files affected:droid.c droiddef.h)

1.1 Changed TurretRotation,TurretPitch variable in those structures to array:
TurretRotation[DROID_MAXWEAPS],TurretPitch[DROID_MAXWEAPS] respectively

global #define DROID_MAXWEAPS changed from 1 to 3

2 Action related functions changes(files affected:action.c ai.c action.h)

2.1  Changed ActionAlignTurret to align all turrets instead of the one in 
asWeaps[0]

2.2 Changed ActionUpdateDroid to update all weapons info instead of the one in 
asWeaps[0]

2.1 Changed ActionInRange,ActionInMine,ActionVisibleTarget to int from BOOL now 
it returns a bitfield containing the weaponInRange info
result 1 = no weapon in range/reserved 3 = (1 + (1 << (weaponslot + 1))) = 
first slot is available etc etc

3 Design interface changes(files affected:design.c)

3.1 Added 2 buttons for 2nd,3rd weapon(can add as many as DROID_MAXWEAPS but 
there was no room for the 4th 5th buttons etc)

3.2 Number of turrets is based on BODY size currently:
        1 for SIZE_LIGHT
        2 for SIZE_MEIDUM
        3 for SIZE_HEAVY and SIZE_SUPERHEAVY
        
3.3 Changed validCheck a bit to accept multiple asWeaps and made it loop 
through all weapons to match the weapon nStat(id)

3.4 VTOL untouched because its attackRun will be screwed up if I add more 
weapons to them

4 Game load/save changes(files affected:game.c)

4.1 Added a game save version V99 to store/convert from old saves to new format 
because of TurretRotation/TurretPitch array change
    Old save should be compatible with this change,but you cannot use converted 
save games with old version of wz anymore.
    
5 Render/Display component changes(files affected:display.c component.c 
component.h)

5.1 Added the ability to set matrix/loop through all weapons to render them on 
a single droid in displayComponentObj.

5.2 Added the ability to use connectors positions other than 0(main turret) 
1(VTOL) from a pie file to set display position for weapons.

5.3 TurretRotation/TurretPitch info conversion:from 2 variable to 2 array to 
cope with the DROID struct changes

6 AssignWeapons/Templates txt data files change:

6.1 AssignWeapons now accept 2 more weapon fields:

        Old
        [name of template],[weapon name],[player num]
        New:
        [name of template],[weapon1 name],[weapon2 name],[weapon3 name],[player 
num]
        
        note:use NULL or whatever is not a weapon name for template with only 1 
or 2 weapons.
        
6.2  Templates now gives some template designs 2 or 3 weapons to test AI's 
multi-turret droid usage.

7 Game mechanic changes(files affected droid.c)

7.1 CalcDroidBaseSpeed now takes a body's engineoutput(it was wrongly commented 
as 'a power generator's output' by someone...)
        if (Totalweight > engineOutput)
        {
                //do nothing
        }
        else
        {
                baseSpeed *= 1.5f;
        }
        
        note:this doesnt work as intended because the data is weird,late game 
bodies have 'super heavy' propulsion(e.g:tiger's track > its total 
engineout...) and poor engine output
             compare to early ones(mantis is a bug yes it's a big bug... 29000 
engineoutput better than vengeance i think...)
_______________________________________________
Warzone-dev mailing list
Warzone-dev@gna.org
https://mail.gna.org/listinfo/warzone-dev

Reply via email to