Update of /cvsroot/vegastrike/vegastrike/src/cmd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21492/src/cmd Modified Files: basecomputer.cpp briefing.cpp enhancement_generic.h images.h mount.cpp unit.cpp unit_armorshield.h unit_damage.cpp unit_functions_generic.cpp unit_generic.cpp unit_generic.h unit_physics.cpp unit_util.h unit_util_generic.cpp unit_xml.cpp unit_xml.h Log Message: removed unnecessary/impractical shorts, changed armor facings, altered shield6 to be shield8, tweaked warp values. Index: basecomputer.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/basecomputer.cpp,v retrieving revision 1.64 retrieving revision 1.65 diff -C2 -r1.64 -r1.65 *** basecomputer.cpp 25 Apr 2004 10:20:39 -0000 1.64 --- basecomputer.cpp 26 Apr 2004 02:24:48 -0000 1.65 *************** *** 3729,3744 **** switch (playerUnit->shield.number) { case 2: ! shieldsum+=playerUnit->shield.fb[2]*RSconverter; ! shieldsum+=playerUnit->shield.fb[3]*RSconverter; break; case 4: ! shieldsum+=playerUnit->shield.fbrl.frontmax*RSconverter; ! shieldsum+=playerUnit->shield.fbrl.backmax*RSconverter; ! shieldsum+=playerUnit->shield.fbrl.leftmax*RSconverter; ! shieldsum+=playerUnit->shield.fbrl.rightmax*RSconverter; break; ! case 6: ! shieldsum+=2*playerUnit->shield.fbrltb.fbmax*RSconverter; ! shieldsum+=4*playerUnit->shield.fbrltb.rltbmax*RSconverter; break; default: --- 3729,3750 ---- switch (playerUnit->shield.number) { case 2: ! shieldsum+=playerUnit->shield.shield2fb.frontmax*RSconverter; ! shieldsum+=playerUnit->shield.shield2fb.frontmax*RSconverter; break; case 4: ! shieldsum+=playerUnit->shield.shield4fbrl.frontmax*RSconverter; ! shieldsum+=playerUnit->shield.shield4fbrl.backmax*RSconverter; ! shieldsum+=playerUnit->shield.shield4fbrl.leftmax*RSconverter; ! shieldsum+=playerUnit->shield.shield4fbrl.rightmax*RSconverter; break; ! case 8: ! shieldsum+=playerUnit->shield.shield8.frontlefttopmax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.backlefttopmax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.frontrighttopmax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.backrighttopmax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.frontleftbottommax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.backleftbottommax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.frontrightbottommax*RSconverter; ! shieldsum+=playerUnit->shield.shield8.backrightbottommax*RSconverter; break; default: *************** *** 3818,3822 **** text+="#n#"+prefix+statcolor+"Armor damage resistance:#-c"; } ! if(mode&&playerUnit->armor.front!=blankUnit->armor.front){ switch(replacement_mode){ case 0: // Replacement or new Module --- 3824,3828 ---- text+="#n#"+prefix+statcolor+"Armor damage resistance:#-c"; } ! if(mode&&playerUnit->armor.frontlefttop!=blankUnit->armor.frontlefttop){ switch(replacement_mode){ case 0: // Replacement or new Module *************** *** 3834,3842 **** } } ! if(!mode||playerUnit->armor.front!=blankUnit->armor.front){ ! PRETTY_ADDU(statcolor+" fore - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.front-1):playerUnit->armor.front*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" aft - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.back-1):playerUnit->armor.back*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" port - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.left-1):playerUnit->armor.left*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" starboard - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.right-1):playerUnit->armor.right*VSDM,0,"MJ"); } if(!mode){ --- 3840,3852 ---- } } ! if(!mode||playerUnit->armor.frontrighttop!=blankUnit->armor.frontrighttop){ ! PRETTY_ADDU(statcolor+" Fore-starboard-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.frontrighttop-1):playerUnit->armor.frontrighttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-starboard-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.backrighttop-1):playerUnit->armor.backrighttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Fore-port-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.frontlefttop-1):playerUnit->armor.frontlefttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-port-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.backrighttop-1):playerUnit->armor.backrighttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Fore-starboard-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.frontrighttop-1):playerUnit->armor.frontrightbottom*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-starboard-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.backrighttop-1):playerUnit->armor.backrightbottom*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Fore-port-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.frontlefttop-1):playerUnit->armor.frontleftbottom*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-port-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->armor.backrighttop-1):playerUnit->armor.backrightbottom*VSDM,0,"MJ"); } if(!mode){ *************** *** 3868,3872 **** text+="#n#"+prefix+statcolor+"Shield protection rating:#-c"; } else { ! if(playerUnit->shield.fb[2]!=blankUnit->shield.fb[2]||playerUnit->shield.fbrl.frontmax!=blankUnit->shield.fbrl.frontmax||playerUnit->shield.fbrltb.fbmax!=blankUnit->shield.fbrltb.fbmax){ switch(replacement_mode){ case 0: // Replacement or new Module --- 3878,3882 ---- text+="#n#"+prefix+statcolor+"Shield protection rating:#-c"; } else { ! if(playerUnit->shield.shield2fb.frontmax!=blankUnit->shield.shield2fb.frontmax||playerUnit->shield.shield4fbrl.frontmax!=blankUnit->shield.shield4fbrl.frontmax||playerUnit->shield.shield8.frontrightbottommax!=blankUnit->shield.shield8.frontrightbottommax){ switch(replacement_mode){ case 0: // Replacement or new Module *************** *** 3888,3908 **** switch (playerUnit->shield.number) { case 2: ! if(!mode||playerUnit->shield.fb[2]!=blankUnit->shield.fb[2]){ ! PRETTY_ADDU(statcolor+" fore - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fb[2]-1)):playerUnit->shield.fb[2]*VSDM,0, "MJ"); ! PRETTY_ADDU(statcolor+" aft - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fb[3]-1)):playerUnit->shield.fb[3]*VSDM,0, "MJ"); } break; case 4: ! if(!mode||playerUnit->shield.fbrl.frontmax!=blankUnit->shield.fbrl.frontmax){ ! PRETTY_ADDU(statcolor+" fore - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fbrl.frontmax-1)):playerUnit->shield.fbrl.frontmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" aft - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fbrl.backmax-1)):playerUnit->shield.fbrl.backmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" port - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fbrl.leftmax-1)):playerUnit->shield.fbrl.leftmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" starboard - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fbrl.rightmax-1)):playerUnit->shield.fbrl.rightmax*VSDM,0,"MJ"); } break; ! case 6: ! if(!mode||playerUnit->shield.fbrltb.fbmax!=blankUnit->shield.fbrltb.fbmax){ ! PRETTY_ADDU(statcolor+" fore and aft - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fbrltb.fbmax-1)):playerUnit->shield.fbrltb.fbmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" port, starboard, top, bottom - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.fbrltb.rltbmax-1)):playerUnit->shield.fbrltb.rltbmax*VSDM,0,"MJ"); } break; --- 3898,3924 ---- switch (playerUnit->shield.number) { case 2: ! if(!mode||playerUnit->shield.shield2fb.frontmax!=blankUnit->shield.shield2fb.frontmax){ ! PRETTY_ADDU(statcolor+" fore - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.shield2fb.backmax-1)):playerUnit->shield.shield2fb.frontmax*VSDM,0, "MJ"); ! PRETTY_ADDU(statcolor+" aft - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.shield2fb.backmax-1)):playerUnit->shield.shield2fb.backmax*VSDM,0, "MJ"); } break; case 4: ! if(!mode||playerUnit->shield.shield4fbrl.frontmax!=blankUnit->shield.shield4fbrl.frontmax){ ! PRETTY_ADDU(statcolor+" fore - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.shield4fbrl.frontmax-1)):playerUnit->shield.shield4fbrl.frontmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" aft - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.shield4fbrl.backmax-1)):playerUnit->shield.shield4fbrl.backmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" port - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.shield4fbrl.leftmax-1)):playerUnit->shield.shield4fbrl.leftmax*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" starboard - #-c",(mode&&replacement_mode==2)?(100.0*(playerUnit->shield.shield4fbrl.rightmax-1)):playerUnit->shield.shield4fbrl.rightmax*VSDM,0,"MJ"); } break; ! case 8: ! if(!mode||playerUnit->shield.shield8.frontrightbottommax!=blankUnit->shield.shield8.frontrightbottommax){ ! PRETTY_ADDU(statcolor+" Fore-starboard-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.frontrighttop-1):playerUnit->shield.shield8.frontrighttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-starboard-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.backrighttop-1):playerUnit->shield.shield8.backrighttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Fore-port-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.frontlefttop-1):playerUnit->shield.shield8.frontlefttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-port-high - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.backrighttop-1):playerUnit->shield.shield8.backrighttop*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Fore-starboard-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.frontrighttop-1):playerUnit->shield.shield8.frontrightbottom*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-starboard-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.backrighttop-1):playerUnit->shield.shield8.backrightbottom*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Fore-port-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.frontlefttop-1):playerUnit->shield.shield8.frontleftbottom*VSDM,0,"MJ"); ! PRETTY_ADDU(statcolor+" Aft-port-low - #-c",(mode&&replacement_mode==2)?100.0*(playerUnit->shield.shield8.backrighttop-1):playerUnit->shield.shield8.backrightbottom*VSDM,0,"MJ"); } break; Index: briefing.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/briefing.cpp,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** briefing.cpp 1 Sep 2003 11:13:55 -0000 1.24 --- briefing.cpp 26 Apr 2004 02:24:49 -0000 1.25 *************** *** 85,89 **** MultMatrix (camfinal,cam,final); for (unsigned int i=0;i<meshdata.size();i++) { ! short scloak = short (cloak*32767); if ((scloak&0x1)==0) { scloak+=1; --- 85,89 ---- MultMatrix (camfinal,cam,final); for (unsigned int i=0;i<meshdata.size();i++) { ! int scloak = int (cloak*((-1)>1)); //FIXME short fix? if ((scloak&0x1)==0) { scloak+=1; Index: enhancement_generic.h =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/enhancement_generic.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** enhancement_generic.h 1 Apr 2003 23:10:11 -0000 1.3 --- enhancement_generic.h 26 Apr 2004 02:24:49 -0000 1.4 *************** *** 24,28 **** memcpy (tempdata,&this->shield,sizeof(this->shield)); shield.number=2;//don't want them getting our boosted shields! ! shield.fb[0]=shield.fb[1]=shield.fb[2]=shield.fb[3]=0; smaller->Upgrade (this,0,0,true,true,percent); memcpy (&this->shield,tempdata,sizeof(this->shield)); --- 24,28 ---- memcpy (tempdata,&this->shield,sizeof(this->shield)); shield.number=2;//don't want them getting our boosted shields! ! shield.shield2fb.front=shield.shield2fb.back=shield.shield2fb.frontmax=shield.shield2fb.backmax=0; smaller->Upgrade (this,0,0,true,true,percent); memcpy (&this->shield,tempdata,sizeof(this->shield)); Index: images.h =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/images.h,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -r1.38 -r1.39 *** images.h 1 Mar 2004 06:48:44 -0000 1.38 --- images.h 26 Apr 2004 02:24:49 -0000 1.39 *************** *** 106,110 **** float *cockpit_damage; //0 is radar, 1 to MAXVDU is vdus and >MAXVDU is gauges ///how likely to fool missiles ! short ecm; ///holds the info for the repair bot type. 0 is no bot; unsigned char repair_droid; --- 106,110 ---- float *cockpit_damage; //0 is radar, 1 to MAXVDU is vdus and >MAXVDU is gauges ///how likely to fool missiles ! int ecm; //short fix ///holds the info for the repair bot type. 0 is no bot; unsigned char repair_droid; *************** *** 112,116 **** float cloakenergy; ///how fast this starship decloaks/close...if negative, decloaking ! short cloakrate; ///If this unit cloaks like glass or like fading bool cloakglass; --- 112,116 ---- float cloakenergy; ///how fast this starship decloaks/close...if negative, decloaking ! int cloakrate; //short fix ///If this unit cloaks like glass or like fading bool cloakglass; Index: mount.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/mount.cpp,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** mount.cpp 9 Feb 2004 02:23:15 -0000 1.30 --- mount.cpp 26 Apr 2004 02:24:49 -0000 1.31 *************** *** 52,56 **** } } ! Mount::Mount(const string& filename, short am,short vol, float xyscale, float zscale){ static weapon_info wi(weapon_info::BEAM); size = weapon_info::NOWEAP; --- 52,56 ---- } } ! Mount::Mount(const string& filename, int am, int vol, float xyscale, float zscale){ //short fix static weapon_info wi(weapon_info::BEAM); size = weapon_info::NOWEAP; *************** *** 97,104 **** void Mount::SwapMounts(Mount * other) { ! short thisvol = volume; ! short othervol = other->volume; //short othersize = other->size; ! short thissize = size; Mount mnt = *this; this->size=thissize; --- 97,104 ---- void Mount::SwapMounts(Mount * other) { ! int thisvol = volume; //short fix ! int othervol = other->volume; //short fix //short othersize = other->size; ! int thissize = size; Mount mnt = *this; this->size=thissize; *************** *** 116,121 **** } void Mount::ReplaceMounts (const Mount * other) { ! short thisvol = volume; ! short thissize = size; Quaternion q =this->GetMountOrientation(); Vector v = this->GetMountLocation(); --- 116,121 ---- } void Mount::ReplaceMounts (const Mount * other) { ! int thisvol = volume; //short fix ! int thissize = size; //short fix Quaternion q =this->GetMountOrientation(); Vector v = this->GetMountLocation(); Index: unit.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit.cpp,v retrieving revision 1.244 retrieving revision 1.245 diff -C2 -r1.244 -r1.245 *** unit.cpp 25 Apr 2004 09:51:05 -0000 1.244 --- unit.cpp 26 Apr 2004 02:24:49 -0000 1.245 *************** *** 262,266 **** } extern bool flickerDamage (Unit * un, float hullpercent); ! extern short cloakVal (short cloak, short cloakmin, short cloakrate, bool cloakglass); template <class UnitType> void GameUnit<UnitType>::DrawNow (const Matrix &mato, float lod) { --- 262,266 ---- } extern bool flickerDamage (Unit * un, float hullpercent); ! extern int cloakVal (int cloakint, int cloakminint, int cloakrateint, bool cloakglass); //short fix? template <class UnitType> void GameUnit<UnitType>::DrawNow (const Matrix &mato, float lod) { *************** *** 275,279 **** VectorAndPositionToMatrix(mat,p,q,r,pos); } ! short cloak=this->cloaking; if (this->cloaking>this->cloakmin) { cloak = cloakVal (cloak,this->cloakmin,this->image->cloakrate, this->image->cloakglass); --- 275,280 ---- VectorAndPositionToMatrix(mat,p,q,r,pos); } ! ! int cloak=this->cloaking; if (this->cloaking>this->cloakmin) { cloak = cloakVal (cloak,this->cloakmin,this->image->cloakrate, this->image->cloakglass); *************** *** 352,358 **** AUDAdjustSound (sound.engine,cumulative_transformation.position,GetVelocity()); #endif ! short cloak=this->cloaking; if (this->cloaking>this->cloakmin) { ! cloak = (short)(this->cloaking-interpolation_blend_factor*this->image->cloakrate*SIMULATION_ATOM); cloak = cloakVal ( cloak,this->cloakmin,this->image->cloakrate,this->image->cloakglass); } --- 353,359 ---- AUDAdjustSound (sound.engine,cumulative_transformation.position,GetVelocity()); #endif ! int cloak=this->cloaking; if (this->cloaking>this->cloakmin) { ! cloak = (int)(this->cloaking-interpolation_blend_factor*this->image->cloakrate*SIMULATION_ATOM); cloak = cloakVal ( cloak,this->cloakmin,this->image->cloakrate,this->image->cloakglass); } Index: unit_armorshield.h =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_armorshield.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** unit_armorshield.h 4 Nov 2003 09:07:01 -0000 1.2 --- unit_armorshield.h 26 Apr 2004 02:24:49 -0000 1.3 *************** *** 4,10 **** ///Armor values: how much damage armor can withhold before internal damage accrues struct Armor { ! unsigned short front, back, right, left; ! Armor( ) : front(0), back(0), right(0), left(0) { } }; --- 4,10 ---- ///Armor values: how much damage armor can withhold before internal damage accrues struct Armor { ! unsigned int frontlefttop, backlefttop, frontrighttop, backrighttop, frontleftbottom, backleftbottom, frontrightbottom, backrightbottom; ! Armor( ) : frontlefttop(0), backlefttop(0), frontrighttop(0), backrighttop(0), frontleftbottom(0), backleftbottom(0), frontrightbottom(0), backrightbottom(0) { } }; *************** *** 13,32 **** ///How much the shield recharges per second float recharge; ! ///A union containing the different shield values and max values depending on number union { ///if shield is 2 big, 2 floats make this shield up, and 2 floats for max {front,back,frontmax,backmax} ! float fb[4]; ///If the shield if 4 big, 4 floats make the shield up, and 4 keep track of max recharge value struct { ! unsigned short front, back, right, left; ! unsigned short frontmax, backmax, rightmax, leftmax; ! }fbrl; ! ///If the shield is 6 sided, 6 floats make it up, 2 indicating the max value of various sides, and 6 being the actual vals struct { ! unsigned short v[6]; ! unsigned short fbmax,rltbmax; ! }fbrltb; }; ///the number of shields in the current shielding struct signed char number; --- 13,38 ---- ///How much the shield recharges per second float recharge; ! ! //A union containing the different shield values and max values depending on number union { ///if shield is 2 big, 2 floats make this shield up, and 2 floats for max {front,back,frontmax,backmax} ! struct { ! float front, back; ! float frontmax, backmax; ! }shield2fb; ! ///If the shield if 4 big, 4 floats make the shield up, and 4 keep track of max recharge value struct { ! float front, back, right, left; ! float frontmax, backmax, rightmax, leftmax; ! }shield4fbrl; ! ///If the shield is 8 sided, 16 floats make it up struct { ! float frontlefttop, backlefttop, frontrighttop, backrighttop, frontleftbottom, backleftbottom, frontrightbottom, backrightbottom; ! float frontlefttopmax, backlefttopmax, frontrighttopmax, backrighttopmax, frontleftbottommax, backleftbottommax, frontrightbottommax, backrightbottommax; ! }shield8; }; + ///the number of shields in the current shielding struct signed char number; Index: unit_damage.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_damage.cpp,v retrieving revision 1.135 retrieving revision 1.136 diff -C2 -r1.135 -r1.136 *** unit_damage.cpp 25 Apr 2004 09:51:05 -0000 1.135 --- unit_damage.cpp 26 Apr 2004 02:24:49 -0000 1.136 *************** *** 25,29 **** //#define DESTRUCTDEBUG #include "base.h" ! extern unsigned short apply_float_to_short (float tmp); extern std::vector <Mesh *> MakeMesh(unsigned int mysize); --- 25,29 ---- //#define DESTRUCTDEBUG #include "base.h" ! extern unsigned int apply_float_to_unsigned_int (float tmp); //Short fix extern std::vector <Mesh *> MakeMesh(unsigned int mysize); Index: unit_functions_generic.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_functions_generic.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** unit_functions_generic.cpp 29 Aug 2003 05:06:35 -0000 1.8 --- unit_functions_generic.cpp 26 Apr 2004 02:24:50 -0000 1.9 *************** *** 14,20 **** double interpolation_blend_factor; ! short cloakVal (short cloak, short cloakmin, short cloakrate, bool cloakglass) { if (cloak<0&&cloakrate<0) { ! cloak=(unsigned short)32768;//intended warning should be -32768 :-) leave it be } if ((cloak&0x1)&&!cloakglass) { --- 14,20 ---- double interpolation_blend_factor; ! int cloakVal (int cloak, int cloakmin, int cloakrate, bool cloakglass) { // Short fix ? if (cloak<0&&cloakrate<0) { ! cloak=1<<31;//intended warning should be max neg :-) leave it be } if ((cloak&0x1)&&!cloakglass) { Index: unit_generic.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_generic.cpp,v retrieving revision 1.240 retrieving revision 1.241 diff -C2 -r1.240 -r1.241 *** unit_generic.cpp 26 Apr 2004 00:18:57 -0000 1.240 --- unit_generic.cpp 26 Apr 2004 02:24:50 -0000 1.241 *************** *** 277,287 **** } float capship_size=500; ! unsigned short apply_float_to_short (float tmp) { ! static unsigned int seed = 2531011; seed +=214013; ! seed %=65536; ! unsigned short ans = (unsigned short) tmp; tmp -=ans;//now we have decimal; ! if (seed<(unsigned int)(65536*tmp)) ans +=1; [...1090 lines suppressed...] ! case 8: ! return string("\" frontrighttop=\"")+tostring(un->shield.shield8.frontrighttop)+string("\" backrighttop=\"")+tostring(un->shield.shield8.backrighttop)+string("\" frontlefttop=\"")+tostring(un->shield.shield8.frontlefttop)+string("\" backlefttop=\"")+tostring(un->shield.shield8.backlefttop)+string("\" frontrightbottom=\"")+tostring(un->shield.shield8.frontrightbottom)+string("\" backrightbottom=\"")+tostring(un->shield.shield8.backrightbottom)+string("\" frontleftbottom=\"")+tostring(un->shield.shield8.frontleftbottom)+string("\" backleftbottom=\"")+tostring(un->shield.shield8.backleftbottom); case 4: default: ! return tostring(un->shield.shield4fbrl.frontmax)+string("\" back=\"")+tostring(un->shield.shield4fbrl.backmax)+string("\" left=\"")+tostring(un->shield.shield4fbrl.leftmax)+string("\" right=\"")+tostring(un->shield.shield4fbrl.rightmax); } return string(""); *************** *** 6023,6027 **** if (rand01()<workunit) { int whichmount = rand()%GetNumMounts(); ! mounts[whichmount].size |=(1>>(rand()%(8*sizeof(short)))); } if (rand01()<workunit) { --- 6126,6130 ---- if (rand01()<workunit) { int whichmount = rand()%GetNumMounts(); ! mounts[whichmount].size |=(1>>(rand()%(8*sizeof(int)))); } if (rand01()<workunit) { Index: unit_generic.h =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_generic.h,v retrieving revision 1.101 retrieving revision 1.102 diff -C2 -r1.101 -r1.102 *** unit_generic.h 26 Apr 2004 00:18:57 -0000 1.101 --- unit_generic.h 26 Apr 2004 02:24:50 -0000 1.102 *************** *** 119,126 **** ///the size that this mount can hold. May be any bitwise combination of weapon_info::MOUNT_SIZE ! short size; ///-1 is infinite ! short ammo; ! short volume;//-1 is infinite ///The data behind this weapon. May be accordingly damaged as time goes on enum MOUNTSTATUS{REQUESTED,ACCEPTED,PROCESSED,UNFIRED,FIRED} processed; --- 119,126 ---- ///the size that this mount can hold. May be any bitwise combination of weapon_info::MOUNT_SIZE ! int size; //short fix ///-1 is infinite ! int ammo; //short ! int volume;//-1 is infinite //short fix ///The data behind this weapon. May be accordingly damaged as time goes on enum MOUNTSTATUS{REQUESTED,ACCEPTED,PROCESSED,UNFIRED,FIRED} processed; *************** *** 132,136 **** float time_to_lock; Mount(); ! Mount(const std::string& name, short int ammo, short int volume, float xyscale=0, float zscale=0); void Activate (bool Missile) { --- 132,136 ---- float time_to_lock; Mount(); ! Mount(const std::string& name, int ammo, int volume, float xyscale=0, float zscale=0); //short fix void Activate (bool Missile) { *************** *** 510,515 **** struct UnitJump { float warpDriveRating; ! short energy; ! short insysenergy; signed char drive; unsigned char delay; --- 510,515 ---- struct UnitJump { float warpDriveRating; ! float energy; //short fix ! float insysenergy; //short fix signed char drive; unsigned char delay; *************** *** 606,610 **** ///fuel of this unit float fuel; ! unsigned short afterburnenergy; ///-1 means it is off. -2 means it doesn't exist. otherwise it's engaged to destination (positive number) ///Moment of intertia of this unit --- 606,610 ---- ///fuel of this unit float fuel; ! float afterburnenergy; //short fix ///-1 means it is off. -2 means it doesn't exist. otherwise it's engaged to destination (positive number) ///Moment of intertia of this unit *************** *** 637,643 **** public: ///-1 is not available... ranges between 0 32767 for "how invisible" unit currently is (32768... -32768) being visible) ! short cloaking; ///the minimum cloaking value... ! short cloakmin; ///How big is this unit float radial_size; --- 637,643 ---- public: ///-1 is not available... ranges between 0 32767 for "how invisible" unit currently is (32768... -32768) being visible) ! int cloaking; //short fix ///the minimum cloaking value... ! int cloakmin; //short fix ///How big is this unit float radial_size; *************** *** 669,674 **** inline bool Killed() const {return killed;} ///returns the current ammt of armor left ! unsigned short AfterburnData() const{ return afterburnenergy;} ! void SetAfterBurn( unsigned short aft) { afterburnenergy = aft;} float FuelData() const; void SetFuel( float f) { fuel = f;} --- 669,674 ---- inline bool Killed() const {return killed;} ///returns the current ammt of armor left ! unsigned float AfterburnData() const{ return afterburnenergy;} //short fix ! void SetAfterBurn( float aft) { afterburnenergy = aft;} //short fix float FuelData() const; void SetFuel( float f) { fuel = f;} *************** *** 681,685 **** float EnergyData() const; float WarpEnergyData() const; ! short GetWarpEnergy() {return warpenergy;} ///Should we resolve forces on this unit (is it free to fly or in orbit) bool resolveforces; --- 681,685 ---- float EnergyData() const; float WarpEnergyData() const; ! float GetWarpEnergy() {return warpenergy;} //short fix ///Should we resolve forces on this unit (is it free to fly or in orbit) bool resolveforces; *************** *** 733,742 **** void ApplyDamage (const Vector & pnt, const Vector & normal, float amt, Unit * affectedSubUnit, const GFXColor &, Unit *ownerDoNotDereference, float phasedamage=0 ); ///Deals remaining damage to the hull at point and applies lighting effects ! float DealDamageToHullReturnArmor (const Vector &pnt, float Damage, unsigned short * &targ); virtual void ArmorDamageSound( const Vector &pnt) {}; virtual void HullDamageSound( const Vector &pnt) {}; float DealDamageToHull (const Vector &pnt, float Damage) { ! unsigned short * nullvar = NULL; return this->DealDamageToHullReturnArmor( pnt, Damage, nullvar); } --- 733,742 ---- void ApplyDamage (const Vector & pnt, const Vector & normal, float amt, Unit * affectedSubUnit, const GFXColor &, Unit *ownerDoNotDereference, float phasedamage=0 ); ///Deals remaining damage to the hull at point and applies lighting effects ! float DealDamageToHullReturnArmor (const Vector &pnt, float Damage, unsigned int * &targ);//short fix virtual void ArmorDamageSound( const Vector &pnt) {}; virtual void HullDamageSound( const Vector &pnt) {}; float DealDamageToHull (const Vector &pnt, float Damage) { ! unsigned int * nullvar = NULL; //short fix return this->DealDamageToHullReturnArmor( pnt, Damage, nullvar); } *************** *** 864,870 **** float energy; ///maximum energy ! unsigned short maxwarpenergy; ///current energy ! unsigned short warpenergy; ///applies damage from the given pnt to the shield, and returns % damage applied and applies lighitn virtual float DealDamageToShield (const Vector & pnt, float &Damage); --- 864,870 ---- float energy; ///maximum energy ! float maxwarpenergy; //short fix ///current energy ! float warpenergy; // short fix ///applies damage from the given pnt to the shield, and returns % damage applied and applies lighitn virtual float DealDamageToShield (const Vector & pnt, float &Damage); *************** *** 887,891 **** ///returns percentage of course deviation for contraband searches. .5 causes error and 1 causes them to get mad float FShieldData() const; float RShieldData() const; float LShieldData() const; float BShieldData() const; ! void ArmorData(unsigned short armor[4])const; ///Gets the current status of the hull float GetHull() const{return hull;} --- 887,891 ---- ///returns percentage of course deviation for contraband searches. .5 causes error and 1 causes them to get mad float FShieldData() const; float RShieldData() const; float LShieldData() const; float BShieldData() const; ! void ArmorData(unsigned int armor[8])const; //short fix ///Gets the current status of the hull float GetHull() const{return hull;} Index: unit_physics.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_physics.cpp,v retrieving revision 1.139 retrieving revision 1.140 diff -C2 -r1.139 -r1.140 *** unit_physics.cpp 25 Apr 2004 09:51:05 -0000 1.139 --- unit_physics.cpp 26 Apr 2004 02:24:50 -0000 1.140 *************** *** 58,62 **** //FIXME 062201 ! extern unsigned short apply_float_to_short (float tmp); // float max_speed; // float max_ab_speed; --- 58,62 ---- //FIXME 062201 ! extern unsigned int apply_float_to_unsigned_int (float tmp); //short fix // float max_speed; // float max_ab_speed; Index: unit_util.h =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_util.h,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** unit_util.h 30 Mar 2003 07:27:07 -0000 1.24 --- unit_util.h 26 Apr 2004 02:24:50 -0000 1.25 *************** *** 42,47 **** bool JumpTo (Unit * unit, string system); int isPlayerStarship (Unit * un); ! void setECM (Unit * un, short NewECM); ! short getECM (Unit * un); void setSpeed (Unit * un, float speed); Unit *owner (Unit *un); --- 42,47 ---- bool JumpTo (Unit * unit, string system); int isPlayerStarship (Unit * un); ! void setECM (Unit * un, int NewECM); //short fix ! int getECM (Unit * un); //short fix void setSpeed (Unit * un, float speed); Unit *owner (Unit *un); Index: unit_util_generic.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_util_generic.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** unit_util_generic.cpp 17 Sep 2003 05:23:57 -0000 1.17 --- unit_util_generic.cpp 26 Apr 2004 02:24:50 -0000 1.18 *************** *** 274,283 **** return my_unit->GetComputerData().max_ab_speed(); } ! void setECM (Unit * my_unit, short NewECM) { if (!my_unit) return; my_unit->GetImageInformation().ecm = NewECM; } ! short getECM (Unit * my_unit) { if (!my_unit) return 0; --- 274,283 ---- return my_unit->GetComputerData().max_ab_speed(); } ! void setECM (Unit * my_unit, int NewECM) { //short fix if (!my_unit) return; my_unit->GetImageInformation().ecm = NewECM; } ! int getECM (Unit * my_unit) { //short fix if (!my_unit) return 0; Index: unit_xml.cpp =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_xml.cpp,v retrieving revision 1.186 retrieving revision 1.187 diff -C2 -r1.186 -r1.187 *** unit_xml.cpp 18 Mar 2004 08:58:46 -0000 1.186 --- unit_xml.cpp 26 Apr 2004 02:24:50 -0000 1.187 *************** *** 150,153 **** --- 150,161 ---- LEFT, RIGHT, + FRONTRIGHTTOP, + BACKRIGHTTOP, + FRONTLEFTTOP, + BACKLEFTTOP, + FRONTRIGHTBOTTOM, + BACKRIGHTBOTTOM, + FRONTLEFTBOTTOM, + BACKLEFTBOTTOM, TOP, BOTTOM, *************** *** 300,304 **** }; ! const EnumMap::Pair attribute_names[112] = { EnumMap::Pair ("UNKNOWN", UNKNOWN), EnumMap::Pair ("missing",MISSING), --- 308,312 ---- }; ! const EnumMap::Pair attribute_names[120] = { EnumMap::Pair ("UNKNOWN", UNKNOWN), EnumMap::Pair ("missing",MISSING), *************** *** 323,327 **** EnumMap::Pair ("forward",FORWARD), EnumMap::Pair ("retro", RETRO), ! EnumMap::Pair ("front", FRONT), EnumMap::Pair ("back", BACK), EnumMap::Pair ("left", LEFT), --- 331,343 ---- EnumMap::Pair ("forward",FORWARD), EnumMap::Pair ("retro", RETRO), ! EnumMap::Pair ("frontrighttop", FRONTRIGHTTOP), ! EnumMap::Pair ("backrighttop", BACKRIGHTTOP), ! EnumMap::Pair ("frontlefttop", FRONTLEFTTOP), ! EnumMap::Pair ("backlefttop", BACKLEFTTOP), ! EnumMap::Pair ("frontrightbottom", FRONTRIGHTBOTTOM), ! EnumMap::Pair ("backrightbottom", BACKRIGHTBOTTOM), ! EnumMap::Pair ("frontleftbottom", FRONTLEFTBOTTOM), ! EnumMap::Pair ("backleftbottom", BACKLEFTBOTTOM), ! EnumMap::Pair ("front", FRONT), EnumMap::Pair ("back", BACK), EnumMap::Pair ("left", LEFT), *************** *** 417,421 **** const EnumMap element_map(element_names, 38); ! const EnumMap attribute_map(attribute_names, 112); } std::string delayucharStarHandler (const XMLType &input,void *mythis) { --- 433,437 ---- const EnumMap element_map(element_names, 38); ! const EnumMap attribute_map(attribute_names, 120); } std::string delayucharStarHandler (const XMLType &input,void *mythis) { *************** *** 484,488 **** } ! Mount * createMount(const std::string& name, short int ammo, short int volume, float xyscale, float zscale) { return new Mount (name.c_str(), ammo,volume,xyscale, zscale); --- 500,504 ---- } ! Mount * createMount(const std::string& name, int ammo, int volume, float xyscale, float zscale) //short fix { return new Mount (name.c_str(), ammo,volume,xyscale, zscale); *************** *** 495,499 **** extern int parseMountSizes (const char * str); ! static short CLAMP_SHORT(float x) {return (short)(((x)>65536)?65536:((x)<0?0:(x)));} void Unit::beginElement(const string &name, const AttributeList &attributes) { --- 511,515 ---- extern int parseMountSizes (const char * str); ! static unsigned int CLAMP_UINT(float x) {return (unsigned int)(((x)>4294967295)?4294967295:((x)<0?0:(x)));} //short fix void Unit::beginElement(const string &name, const AttributeList &attributes) { *************** *** 503,507 **** Cargo carg; float act_speed=0; ! short volume=-1; string filename; QVector P; --- 519,523 ---- Cargo carg; float act_speed=0; ! int volume=-1; //short fix string filename; QVector P; *************** *** 513,520 **** float zscale=-1; bool tempbool; float fbrltb[6]; AttributeList::const_iterator iter; float halocolor[4]; ! short ammo=-1; int mntsiz=weapon_info::NOWEAP; string light_type; --- 529,537 ---- float zscale=-1; bool tempbool; + unsigned int dirfrac=0; float fbrltb[6]; AttributeList::const_iterator iter; float halocolor[4]; ! int ammo=-1; //short fix int mntsiz=weapon_info::NOWEAP; string light_type; *************** *** 1091,1095 **** case JUMPENERGY: //serialization covered in LoadXML ! jump.energy = CLAMP_SHORT(parse_float((*iter).value)); if (!foundinsysenergy) jump.insysenergy=jump.energy*insys_jump_cost; --- 1108,1112 ---- case JUMPENERGY: //serialization covered in LoadXML ! jump.energy = parse_float((*iter).value); //short fix if (!foundinsysenergy) jump.insysenergy=jump.energy*insys_jump_cost; *************** *** 1097,1101 **** case INSYSENERGY: //serialization covered in LoadXML ! jump.insysenergy = CLAMP_SHORT(parse_float((*iter).value)); foundinsysenergy=true; break; --- 1114,1118 ---- case INSYSENERGY: //serialization covered in LoadXML ! jump.insysenergy = parse_float((*iter).value); //short fix foundinsysenergy=true; break; *************** *** 1104,1108 **** break; case DAMAGE: ! jump.damage=CLAMP_SHORT (parse_float((*iter).value)); break; case DELAY: --- 1121,1125 ---- break; case DAMAGE: ! jump.damage=parse_float((*iter).value); //short fix break; case DELAY: *************** *** 1116,1120 **** case FUEL: //serialization covered in LoadXML ! jump.energy = -CLAMP_SHORT (parse_float((*iter).value)); break; case WORMHOLE: --- 1133,1137 ---- case FUEL: //serialization covered in LoadXML ! jump.energy = -parse_float((*iter).value); //short fix break; case WORMHOLE: *************** *** 1217,1224 **** assert (xml->unitlevel==2); xml->unitlevel++; ! image->cloakrate=(short int)(.2*32767); cloakmin=1; image->cloakenergy=0; ! cloaking = (short) 32768;//lowest negative number for(iter = attributes.begin(); iter!=attributes.end(); iter++) { switch(attribute_map.lookup((*iter).name)) { --- 1234,1241 ---- assert (xml->unitlevel==2); xml->unitlevel++; ! image->cloakrate=(int)(.2*(2147483647)); //short fix cloakmin=1; image->cloakenergy=0; ! cloaking = (1)<<31;//lowest negative number //short fix for(iter = attributes.begin(); iter!=attributes.end(); iter++) { switch(attribute_map.lookup((*iter).name)) { *************** *** 1226,1234 **** //serialization covered in LoadXML if (parse_bool((*iter).value)) ! cloaking=(short)-1; break; case CLOAKMIN: //serialization covered in LoadXML ! cloakmin = (short int)(32767*parse_float ((*iter).value)); break; case CLOAKGLASS: --- 1243,1251 ---- //serialization covered in LoadXML if (parse_bool((*iter).value)) ! cloaking=-1; //short fix break; case CLOAKMIN: //serialization covered in LoadXML ! cloakmin = (int)(((-1)>1)*parse_float ((*iter).value)); //short fix break; case CLOAKGLASS: *************** *** 1238,1242 **** case CLOAKRATE: //serialization covered in LoadXML ! image->cloakrate = (short int)(32767*parse_float ((*iter).value)); break; case CLOAKENERGY: --- 1255,1259 ---- case CLOAKRATE: //serialization covered in LoadXML ! image->cloakrate = (int)((2147483647)*parse_float ((*iter).value)); //short fix break; case CLOAKENERGY: *************** *** 1258,1277 **** for(iter = attributes.begin(); iter!=attributes.end(); iter++) { switch(attribute_map.lookup((*iter).name)) { ! case FRONT: //serialization covered in LoadXML ! armor.front = CLAMP_SHORT(parse_float((*iter).value)); ! break; ! case BACK: //serialization covered in LoadXML ! armor.back= CLAMP_SHORT(parse_float((*iter).value)); ! break; ! case LEFT: //serialization covered in LoadXML ! armor.left= CLAMP_SHORT(parse_float((*iter).value)); ! break; ! case RIGHT: //serialization covered in LoadXML ! armor.right= CLAMP_SHORT(parse_float((*iter).value)); ! break; } } --- 1275,1339 ---- for(iter = attributes.begin(); iter!=attributes.end(); iter++) { switch(attribute_map.lookup((*iter).name)) { ! case FRONT: ! dirfrac=(CLAMP_UINT(parse_float((*iter).value)))/4; ! armor.frontrighttop+=dirfrac; ! armor.frontlefttop+=dirfrac; ! armor.frontrightbottom+=dirfrac; ! armor.frontleftbottom+=dirfrac; ! break; ! case BACK: ! dirfrac=(CLAMP_UINT(parse_float((*iter).value)))/4; ! armor.backrighttop+=dirfrac; ! armor.backlefttop+=dirfrac; ! armor.backrightbottom+=dirfrac; ! armor.backleftbottom+=dirfrac; ! break; ! case RIGHT: ! dirfrac=(CLAMP_UINT(parse_float((*iter).value)))/4; ! armor.frontrighttop+=dirfrac; ! armor.backrighttop+=dirfrac; ! armor.frontrightbottom+=dirfrac; ! armor.backrightbottom+=dirfrac; ! break; ! case LEFT: ! dirfrac=(CLAMP_UINT(parse_float((*iter).value)))/4; ! armor.backlefttop+=dirfrac; ! armor.frontlefttop+=dirfrac; ! armor.backleftbottom+=dirfrac; ! armor.frontleftbottom+=dirfrac; ! break; ! ! case FRONTRIGHTTOP: //serialization covered in LoadXML ! armor.frontrighttop=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case BACKRIGHTTOP: //serialization covered in LoadXML ! armor.backrighttop=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case FRONTLEFTTOP: //serialization covered in LoadXML ! armor.frontlefttop=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case BACKLEFTTOP: //serialization covered in LoadXML ! armor.backlefttop=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case FRONTRIGHTBOTTOM: ! //serialization covered in LoadXML ! armor.frontrightbottom=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case BACKRIGHTBOTTOM: ! //serialization covered in LoadXML ! armor.backrightbottom=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case FRONTLEFTBOTTOM: ! //serialization covered in LoadXML ! armor.frontleftbottom=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; ! case BACKLEFTBOTTOM: ! //serialization covered in LoadXML ! armor.backleftbottom=CLAMP_UINT(parse_float((*iter).value)); //short fix ! break; } } *************** *** 1325,1353 **** } } - if (fbrltb[0]>65535||fbrltb[1]>65535) - shield.number=2; switch (shield.number) { case 2: ! shield.fb[2]=shield.fb[0]=fbrltb[0]; ! shield.fb[3]=shield.fb[1]=fbrltb[1]; break; ! case 6: ! shield.fbrltb.v[0]=CLAMP_SHORT(fbrltb[0]); ! shield.fbrltb.v[1]=CLAMP_SHORT(fbrltb[1]); ! shield.fbrltb.v[2]=CLAMP_SHORT(fbrltb[2]); ! shield.fbrltb.v[3]=CLAMP_SHORT(fbrltb[3]); ! shield.fbrltb.v[4]=CLAMP_SHORT(fbrltb[4]); ! shield.fbrltb.v[5]=CLAMP_SHORT(fbrltb[5]); ! shield.fbrltb.fbmax= CLAMP_SHORT((fbrltb[0]+fbrltb[1])*.5); ! shield.fbrltb.rltbmax= CLAMP_SHORT((fbrltb[2]+fbrltb[3]+fbrltb[4]+fbrltb[5])*.25); break; case 4: default: ! shield.fbrl.frontmax = shield.fbrl.front = CLAMP_SHORT(fbrltb[0]); ! shield.fbrl.backmax = shield.fbrl.back = CLAMP_SHORT(fbrltb[1]); ! shield.fbrl.rightmax = shield.fbrl.right = CLAMP_SHORT(fbrltb[2]); ! shield.fbrl.leftmax = shield.fbrl.left = CLAMP_SHORT(fbrltb[3]); } --- 1387,1413 ---- } } switch (shield.number) { case 2: ! shield.shield2fb.frontmax=shield.shield2fb.front=fbrltb[0]; //short fix ! shield.shield2fb.backmax=shield.shield2fb.back=fbrltb[1]; //short fix break; ! case 8: //short fix ! shield.shield8.frontrighttop=CLAMP_UINT(.25*fbrltb[0]+.25*fbrltb[2]); //short fix ! shield.shield8.backrighttop=CLAMP_UINT(.25*fbrltb[1]+.25*fbrltb[2]); //short fix ! shield.shield8.frontlefttop=CLAMP_UINT(.25*fbrltb[0]+.25*fbrltb[3]); //short fix ! shield.shield8.backlefttop=CLAMP_UINT(.25*fbrltb[1]+.25*fbrltb[3]); //short fix ! shield.shield8.frontrightbottom=CLAMP_UINT(.25*fbrltb[0]+.25*fbrltb[2]); //short fix ! shield.shield8.backrightbottom=CLAMP_UINT(.25*fbrltb[1]+.25*fbrltb[2]); //short fix ! shield.shield8.frontleftbottom=CLAMP_UINT(.25*fbrltb[0]+.25*fbrltb[3]); //short fix ! shield.shield8.backleftbottom=CLAMP_UINT(.25*fbrltb[1]+.25*fbrltb[3]); //short fix break; case 4: default: ! shield.shield4fbrl.frontmax = shield.shield4fbrl.front =(fbrltb[0]); //short fix ! shield.shield4fbrl.backmax = shield.shield4fbrl.back =(fbrltb[1]); //short fix ! shield.shield4fbrl.rightmax = shield.shield4fbrl.right =(fbrltb[2]); //short fix ! shield.shield4fbrl.leftmax = shield.shield4fbrl.left =fbrltb[3]; //short fix } *************** *** 1532,1536 **** break; case WARPENERGY: ! maxwarpenergy=CLAMP_SHORT(parse_float ((*iter).value)); break; case LIMIT: --- 1592,1596 ---- break; case WARPENERGY: ! maxwarpenergy=(parse_float ((*iter).value)); //short fix break; case LIMIT: *************** *** 1691,1695 **** case ECM: ! image->ecm = (short int)(32767*parse_float ((*iter).value)); image->ecm = image->ecm>0?-image->ecm:image->ecm; break; --- 1751,1755 ---- case ECM: ! image->ecm = (int)(((-1)>1)*parse_float ((*iter).value)); //short fix image->ecm = image->ecm>0?-image->ecm:image->ecm; break; *************** *** 1712,1716 **** switch(attribute_map.lookup((*iter).name)) { case AFTERBURNENERGY: ! afterburnenergy =CLAMP_SHORT(parse_float((*iter).value)); break; default: --- 1772,1776 ---- switch(attribute_map.lookup((*iter).name)) { case AFTERBURNENERGY: ! afterburnenergy =(parse_float((*iter).value)); //short fix break; default: *************** *** 1808,1813 **** image->unitwriter->AddElement("missing",lessNeg1Handler,XMLType(&jump.drive)); image->unitwriter->AddElement("warpDriveRating",floatStarHandler,XMLType(&jump.warpDriveRating)); ! image->unitwriter->AddElement("jumpenergy",shortStarHandler,XMLType(&jump.energy)); ! image->unitwriter->AddElement("insysenergy",shortStarHandler,XMLType(&jump.insysenergy)); image->unitwriter->AddElement("delay",delayucharStarHandler,XMLType(&jump.delay)); image->unitwriter->AddElement("damage",ucharStarHandler,XMLType(&jump.damage)); --- 1868,1873 ---- image->unitwriter->AddElement("missing",lessNeg1Handler,XMLType(&jump.drive)); image->unitwriter->AddElement("warpDriveRating",floatStarHandler,XMLType(&jump.warpDriveRating)); ! image->unitwriter->AddElement("jumpenergy",floatStarHandler,XMLType(&jump.energy)); //short fix ! image->unitwriter->AddElement("insysenergy",floatStarHandler,XMLType(&jump.insysenergy)); //short fix image->unitwriter->AddElement("delay",delayucharStarHandler,XMLType(&jump.delay)); image->unitwriter->AddElement("damage",ucharStarHandler,XMLType(&jump.damage)); *************** *** 1831,1841 **** } image->unitwriter->AddElement("RepairDroid",ucharStarHandler,XMLType(&image->repair_droid)); ! image->unitwriter->AddElement("ECM",shortToFloatHandler,XMLType(&image->ecm)); { image->unitwriter->AddTag ("Cloak"); image->unitwriter->AddElement("missing",cloakHandler,XMLType(&cloaking)); ! image->unitwriter->AddElement("cloakmin",shortToFloatHandler,XMLType(&cloakmin)); image->unitwriter->AddElement("cloakglass",ucharStarHandler,XMLType(&image->cloakglass)); ! image->unitwriter->AddElement("cloakrate",shortToFloatHandler,XMLType(&image->cloakrate)); image->unitwriter->AddElement("cloakenergy",floatStarHandler,XMLType(&image->cloakenergy)); image->unitwriter->EndTag ("Cloak"); --- 1891,1901 ---- } image->unitwriter->AddElement("RepairDroid",ucharStarHandler,XMLType(&image->repair_droid)); ! image->unitwriter->AddElement("ECM",intToFloatHandler,XMLType(&image->ecm)); //short fix { image->unitwriter->AddTag ("Cloak"); image->unitwriter->AddElement("missing",cloakHandler,XMLType(&cloaking)); ! image->unitwriter->AddElement("cloakmin",intToFloatHandler,XMLType(&cloakmin)); //short fix image->unitwriter->AddElement("cloakglass",ucharStarHandler,XMLType(&image->cloakglass)); ! image->unitwriter->AddElement("cloakrate",intToFloatHandler,XMLType(&image->cloakrate));//short fix image->unitwriter->AddElement("cloakenergy",floatStarHandler,XMLType(&image->cloakenergy)); image->unitwriter->EndTag ("Cloak"); *************** *** 1843,1850 **** { image->unitwriter->AddTag ("Armor"); ! image->unitwriter->AddElement("front",ushortStarHandler,XMLType(&armor.front)); ! image->unitwriter->AddElement("back",ushortStarHandler,XMLType(&armor.back)); ! image->unitwriter->AddElement("left",ushortStarHandler,XMLType(&armor.left)); ! image->unitwriter->AddElement("right",ushortStarHandler,XMLType(&armor.right)); image->unitwriter->EndTag ("Armor"); } --- 1903,1914 ---- { image->unitwriter->AddTag ("Armor"); ! image->unitwriter->AddElement("frontrighttop",uintStarHandler,XMLType(&armor.frontrighttop));//short fix ! image->unitwriter->AddElement("backrighttop",uintStarHandler,XMLType(&armor.backrighttop)); //short fix ! image->unitwriter->AddElement("frontlefttop",uintStarHandler,XMLType(&armor.frontlefttop)); //short fix ! image->unitwriter->AddElement("backlefttop",uintStarHandler,XMLType(&armor.backlefttop)); //short fix ! image->unitwriter->AddElement("frontrightbottom",uintStarHandler,XMLType(&armor.frontrightbottom));//short fix ! image->unitwriter->AddElement("backrightbottom",uintStarHandler,XMLType(&armor.backrightbottom)); //short fix ! image->unitwriter->AddElement("frontleftbottom",uintStarHandler,XMLType(&armor.frontleftbottom)); //short fix ! image->unitwriter->AddElement("backleftbottom",uintStarHandler,XMLType(&armor.backleftbottom)); //short fix image->unitwriter->EndTag ("Armor"); } *************** *** 1868,1876 **** { image->unitwriter->AddTag ("Energy"); ! image->unitwriter->AddElement("afterburnenergy",ushortStarHandler,XMLType(&afterburnenergy)); image->unitwriter->AddTag ("Reactor"); image->unitwriter->AddElement ("recharge",floatStarHandler, XMLType (&recharge) ); image->unitwriter->AddElement ("limit",floatStarHandler, XMLType (&maxenergy) ); ! image->unitwriter->AddElement("warpenergy",ushortStarHandler, XMLType (&maxwarpenergy) ); image->unitwriter->EndTag ("Reactor"); --- 1932,1940 ---- { image->unitwriter->AddTag ("Energy"); ! image->unitwriter->AddElement("afterburnenergy",floatStarHandler,XMLType(&afterburnenergy)); //short fix image->unitwriter->AddTag ("Reactor"); image->unitwriter->AddElement ("recharge",floatStarHandler, XMLType (&recharge) ); image->unitwriter->AddElement ("limit",floatStarHandler, XMLType (&maxenergy) ); ! image->unitwriter->AddElement("warpenergy",floatStarHandler, XMLType (&maxwarpenergy) ); //short fix image->unitwriter->EndTag ("Reactor"); Index: unit_xml.h =================================================================== RCS file: /cvsroot/vegastrike/vegastrike/src/cmd/unit_xml.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** unit_xml.h 3 Oct 2003 08:35:12 -0000 1.6 --- unit_xml.h 26 Apr 2004 02:24:50 -0000 1.7 *************** *** 9,13 **** void pushMesh( Unit::XML * xml, const char *filename, const float scale,int faction,class Flightgroup * fg, int startframe/*-1 is random frame*/, double texturestarttime); ! Mount * createMount( const std::string& name, short int ammo, short int volume, float xyscale=0, float zscale=0); Sprite * createSprite(const char *file); --- 9,13 ---- void pushMesh( Unit::XML * xml, const char *filename, const float scale,int faction,class Flightgroup * fg, int startframe/*-1 is random frame*/, double texturestarttime); ! Mount * createMount( const std::string& name, int ammo, int volume, float xyscale=0, float zscale=0); //short fix Sprite * createSprite(const char *file); |