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