Changelog
Contents
Past Entries:
Version 0.2 Alpha changes:
-Menus are now cleaned up a bit more.
-You can now save and load your game. The save .nfo files can be found in your C:\ directory. There should be 2 of them, one for player data and a second for the destroyed planet names array. Right now the array is writing each element individually in the save function till I can get the for statement to work correctly.
-the 'Oders' typo has been fixed ;P
-please note that laser banks 4 - 8 and turrets 4 - 8 will be given garbage values as I have not set them up in the player creation function yet.
-the weirdness in the Station menu has been fixed. (if you chose to buy a ship, once done it would send you to the weapons menu.).
-all menus (or almost all) have been conformed to the new layout at the top of each menu is a cout << endl; and a system("CLS"); at the end of each non-battle menu to clear the command window.
-I have now added in some more planets. In total there are now 28 planets instead of 9.
-No new ships or weapons.
-Planets now have access to more planetary defenses and can now obtain a random tech level.
-Pillage and salvage functions have been rewritten for easier access to resources.
-Fixed the issue with enemy ships not being able to attack you. They can now do both laser and missile damage. This was due to an old reinitialization of some setup variables that were not needed and were left in by mistake.
Version 0.3a Change Log:
Planet bombing:
-Bomb weight has now been implemented. While bombing weight will now be calculated via formula to produce a collateral damage value.
-You can now bomb multiple times in a row AFTER the defenses have been destroyed. Maximum is 8 times and if the planet's population reaches 0 it should break the while loop. Have not tested that particular part.
-Planet Pillaging has been fixed. The resource random was set to 1,1000 instead of 100.
-During the bombing runs all text will be run on Sleep(2000) timers.
Main Game:
-At the start of the game, you will now be asked to input your name.
-Story has now been implemented.
-All text runs on timers, how long depends on the text amount.
-Decided to leave the Save/Load functions in. See more info on the change to cloning in the Station section.
-Have changed the encounter formula again, you will encounter fewer ships in this version.
Talirath/Tech Merchant:
-Added in both the Talirath and Tech merchant, you will be able to encounter them while traveling to stations.
-Tech merchant ship battle is still a little weird, trying to get the correct effect with it.
-If your ship is NOT a tech level 4 ship (i have added 1 tech 4 ship just for testing this function) you will not be able to use the TM right now. Later on I will change this so that there are different TM level ships.
-Once you choose to upgrade the Artimis Theta (the previously mentioned t4 ship) you will be able to distribute and damage and range points yourself to any weapons you have equipped.
-At this time Tech Merc and Talirath DO NOT have their custom ships.
-Talirath will only fight you if your pirate rank is 1 and higher.
Player:
-Ranking system now implemented after gaining 5 rank points (by destroying planets and ships) your rank will increase, this can be done up to 9 times.Ranks:PrivatePrivate First Class
Sub-Lieutenant
Lieutenant
Lieutenant Commander
Commander
Captain
Commodore
Admiral
Station:
-Clone SystemThis has now been implemented. You can buy a single use clone or buy a multi use clone. When you buy the multi use, you will be asked for the number of uses. This is then multiplied by the price of a single use clone. How they work is when your ship is destroyed, your consciousness is transported tot he nearest station and put into a clone. During this process your game is saved.
-New WeaponsI have added 26 new Laser Weapons.
-New ShipsI have added in 5 new ships in the Destroyer class.
2011 (version 0.5a from here on)
April
Monday, 25:
-Fixed error in Rifter ship description. Stated only one laser hardpoint when the Rifter has three.
-Changed the Raven's description a small bit for better clarification and also changed hardpoint listings to better conform with previously created convention (ex: two(2) or five(5)).
-Changed some of the Rupture's description and fixed a typo.
-Fixed grammatical errors in Henji's description as well as changed it a little.
-Changed resource Gold to Xarn.
-Changed the description for the Isicus cruiser slightly.
-Changed the Malin's description to better follow the hardpoint convention.
-Made changes to the Rathic's description for better flow and proper grammar.
-Changes made to Gelshing, Loginus, and Vanisher ship descriptions.
-Granz ship description and design has been modifiedMax hardpoints changed from 12 to 15
Laser hardpoints changed from 5 to 6
Ruby cost -30
Missile hardpoints changed from 7 to 6
Added 3 rail gun hardpoints
Draconic cost +120
Diamond cost +20
-Junas description altered.
-Ursa description changed and the design has also been changedAdded 2 heavy weapons hardpoints
Shield points +50
Tech level changed from 5 to 6
Ruby cost +170
Draconic cost +250
Diamond cost +300
Xarn cost +1450
-Lios description altered slightly and some design changesLaser hardpoints changed from 8 to 6
Missile hardpoints changed from 6 to 4
Xarn cost +200
Added 4 Railgun hardpoints
Diamond cost +40
Thursday, 28:
-Changed Reaper description, fixed an error where it was given no bomb holds instead of 2, and modified the ships stats/costAdded 1 heavy weapon hardpoint
Hull points +50
Xarn cost +1100
Diamond cost +100
Draconic cost +250
-Changed description for the Velor
-Changed the description for the Vespa and changed some costs and ship statsMovement initiative changed from 12 to 24
Added 3500 uranium cost
-Changed the Yenshu's description and some of its design attributesLaser hardpoints changed from 1 to 2
Added 2 railgun hardpoints
Added 460 uranium cost
Xarn cost +2500
May
Monday, 23:
-Changed Xeno and Zxeth descriptions
-Changed description and attributes for the Menos command shipShields increased from 480 to 1100
Armor decreased from 3600 to 2500
Plutonium cost changed from 2000 to 2400
Hull increased from 250 to 950
Laser hardpoints changed from 2 to 4
Missile hardpoints changed from 1 to 5
Added 2 heavy weapons hard points
Added 4 railgun hardpoints
Bomb holds changed from 1 to 2
Xarn cost changed from 40000 to 75000
Ruby cost changed from 450 to 1200
Draconic cost changed from 1900 to 1300
Diamond cost changed from 320 to 800
Uranium cost changed from 1850 to 2300
-Changed Rupture to Rapture
-Changed description and attributes for WhispMissile hardpoints changed from 4 to 2
Added 5 railgun hardpoints
Plutonium cost changed from 400 to 550
Bomb holds changed from 3 to 2
Diamond cost changed from 560 to 600
Uranium cost changed from 200 to 600
Tuesday, 24:
-Changed description for Kelos
-Changed design and description of NirvanaMissile hardpoints changed from 4 to 6
-Changed design and description for JestuLaser hardpoints increased from 2 to 5
Added 5 railgun hardpoints
Plutonium cost changed from 4100 to 7800
Added 3 heavy weapons hardpoints
Xarn cost changed from 55000 to 57000
Uranium cost changed from 3600 to 5600
-Changed design and description for OrionMissile hardpoints changed from 8 to 6
Added 5 railgun hardpoints
Plutonium cost changed from 7800 to 10500
Added 5 heavy weapon hardpoints
Diamond cost changed from 860 to 1200
Uranium cost changed from 6950 to 9800
-Changed description for Sleipnir
-Changed description and design for AsgardLaser hardpoints changed from 8 to 12
Added 5 railgun hardpoints
Diamond cost changed from 8700 to 14500
Added 10 heavy weapons hardpoints
-Changed description and design of the RangarokLaser hardpoints changed from 8 to 6
Missile hardpoings changed from 8 to 6
Diamond cost changed from 12400 to 16000
Added 6 railgun hardpoints
Added 6 heavy weapons hardpoints
-Changed description for the Absolution
-Changed design and description for Black EternityLaser hardpoints changed from 8 to 5
Missile hardpoints changed from 8 to 5
Diamond cost changed from 6700 to 8600
Added 2 railgun hardpoints
Added 16 heavy weapons hardpoints
-Changed description and specs of Kazahth MothershipLaser hardpoints changed from 8 to 10
Added 14 railgun hardpoints
Plutonium cost changed from 19800 to 28420
Added 13 heavy weapon hardpoints
Bomb hold changed from 3 to 6
Diamond cost changed from 29500 to 68000
Uranium cost changed from 15600 to 24000
-Changed description and design for ValhallaMissile hardpoints changed from 8 to 6
Bomb holds changed from 3 to 10
-Changed description and design for the EinherjarShields changed from 15600 to 12000
Armor changed from 9750 to 4500
Diamond cost changed from 5500 to 7800
Hull changed from 8500 to 35000
Laser hardpoints changed from 8 to 0
Missile hardpoints changed from 8 to 14
Added 6 heavy weapon hardpoints
Bomb holds changed from 3 to 2
Movement initiative changed from 13 to 10
Xarn cost changed from 105000 to 101000
Ruby cost changed from 6980 to 4950
Draconic cost changed from 6780 to 16000
-Changed description and stats of Shadow WraithShields changed from 23600 to 48000
Laser hardpoints changed from 8 to 6
Diamond cost changed from 6800 to 7500
Missile hardpoints changed from 8 to 10
Added 2 heavy weapons hardpoints
Ruby cost changed from 16000 to 23000
-Ship Database Completed
Thursday, 26:
Player:
-Removed pRankPosition variable; unneeded
-Replaced destroyed planets array initialization with For Loop; removed 240 lines of code
-Added Platinum resource to Player
-Renamed several variables to conform to naming convention
-Replaced ship initialization with more compact and optimized system
-Player can now choose between one of five frigates as their starting ship along with the armaments they wish to employ
Monday, 30:
Player:
-Added pCShip and pCWeap functions for player starter ship creation
-Added comments to rest of functions currently present in header file
Ship:
-Added comments to present variables and also separated out like variables for cleaner look
ItemSystem:
-Added getSName, getSShield, getSArmor, getSHull ship data retrieval functions
-Fixed typo in Osprey’s name
-Fixed three major problems with shipDB matrixmost ship entries missing ship class element
bomb holds element was in the wrong place for most of the ships up to cruiser class
some ship entries did not have heavy weapons nor railgun hardpoint elements added
-Changed description for the Sleipnir
July
Wednesday, 13
New Classes:
-Added a new class; Game. This class will handle any wide scope game related functions such as saving and loading and data encryption/decryption. There may be other functions moved to here later on.
-Created a new class called menuProc (menu Processing) which will handle all of the menu option inputs. It will process the player choices and call the related functions. This is done in an attempt to move ALL player related choices out of the ‘main’ game execution file and reduce the choices throughout the rest of the project files and consolidate it all into one class eventually.
-Added Story class to this build. It only has one function at the moment for the opening story.
File Renames:
-Previously called game.cpp file has been renamed to main.cpp. Started the basic coding here including class references and starting function calls for creating the game start menu and calling the story. Renamed in lieu of Game class, would have had a name conflict with that classes implementation file (game.cpp).
Player:
-Removed Loading and Saving, Decrypting and Encrypting functions from Player.h. These functions relate more to game data then just the player class. They have been moved to the Game class.
Game:
-Added code for save function and data encryption and decryption. Function will create save folder structure if it does not exist then create the .nfo file. This does not include destroyed planet data at this time. Loading function not yet coded.
ItemSystem:
-Finished coding Ship database and removed old code for ship settings. Replaced 2,425 lines of code with 43 lines of code.
Tuesday, 19
Player:
-Removed data encryption, decryption, and save, load functions from the player class.
-Added setting functions for the player name, rank, ship name, ship class, ship technology level, and current/max armor, shield, and hull points.
Game:
-Added the code for the data decryption and encryption to the implementation file. Currently only the attributes listed in the “Player setting functions change log entry” are being used in these functions. Later on weapon and planet names will be added to these functions.
-Fixed a few types and comments in the implementation file.
ItemSystem:
-Began laser weapon entry into laserDB matrix.
-Changed the description for both the Ion-Particle Blaster and 50mm Suspended Coil Laser Cannon.
-Renamed ‘Ion-Partical Blaster’ to Ion-Particle Blaster.
-Altered the description and name for 50mm Omega Cannon Proto-Type, now called 50mm Omega Cannon Prototype.
-Description changed for 50mm High-Output Ion Cannon, 25mm Lightron Blaster, 50mm Compressed Lightron Blaster, 50mm Lightron Blaster, 100mm Suspended-coil Lightron Blaster, and 150mm Proto-Type Lightron Blaster.
-Renamed 150mm Proto-Type Lightron Blaster to 150mm Prototype Lightron Blaster and changed its attributes slightlyMaximum Optimal Target Distance changed from 7 to 12
Saturday, 23
ItemSystem:
-Made changes to the descriptions of the following laser weapons150mm Prototype Lightron Blaster
150mm Lightron Heavy Cannon
50mm Pyre Plasma Cannon
175mm Lightron Supercannon
175mm Lightron Blaster
250mm Lightron Medium Blaster
25mm Pyre Laser
-Changed attributes of the 50mm Pyre Plasma CannonMin Damage lowered from 90 to 65
Max Damage lowered from 105 to 80
-Changed the description for the 50mm Pyre Megalaser, it was also renamed from Mega-laser to Megalaser.
-Changed the description for the 100mm Pyre Laser and 100mm Pyre Plasma Cannon.
-Changed attributes of the 100mm Pyre Megalaser, name was also changed from Mega-laser to MegalaserUranium cost increased from 0 to 130
-Changed description and attributes of the 175mm Pyre Photon LaserMin Damage increased from 190 to 210
Max Damage increased from 230 to 240
Plutonium cost increased from 0 to 50
-Changed the description for the 200mm Pyre Megacannon, name changed from Mega-cannon to Megacannon.
-Changed description of the 300mm Lightron Ultra Plasma Cannon and the 300mm Pyre High-output Megacannon, which was renamed from 300mm Pyre High output Mega-cannon.
-Changed description for the Fleet Buster, Grand Hilzarat, and Grand Design.
August
Thursday, 4
ItemSystem:
-Changed the description for the following missilesCalamity Light Standard Missile
Ravager Light Missile
AP Light Missile
Cruise Missile
Warhawk Advanced Light Missile
Bloodhawk Light Missile
Serpent Light Missile
Angelus Light Missile
Spine Light Missile
Dreadlock Light Missile
Mole Light Missile
-Changed the description and attributes of the Warpigeon Light MissileMin Damage increased from 75 to 90
Max Damage increased from 95 to 120
Added 120 plutonium cost
Wednesday, 10
ItemSystem:
-Changed the descriptions for the following missilesBloodhawk Standard Missile
Angelus Standard Missile
Warpigeon Standard Missile
Spine Standard Missile
Mole Standard Missile
Ravager Standard Missile
Calamity Standard Missile
Serpent Standard Missile
Dredlock Standard Missile
AP Standard Missile
-Changed attributes of the Calamity Standard MissileMinimum damage changed from 40 to 50
Maximum damage changed from 90 to 120
Draconic cost changed from 80 to 110
Maximum target distance changed from 16 to 18
Xarn cost changed from 15000 to 22000
Ruby cost changed from 70 to 120
Diamond cost changed from 110 to 160
-Changed attributes of the Serpent Standard MissileMinimum damage changed from 48 to 50
Maximum damage changed from 72 to 76
Draconic cost changed from 70 to 230
Maximum Target Distance changed form 72 to 76
Xarn cost changed from 15000 to 17000
Ruby cost changed from 95 to 140
Diamond cost changed from 120 to 200
-Changed the attributes of the AP Standard MissileMinimum damage changed from 78 to 85
Maximum damage changed from 102 to 115
Draconic cost changed from 350 to 420
Maximum target distance changed from 12 to 10
Xarn cost changed from 19500 to 20000
Ruby cost changed from 120 to 130
Diamond cost changed from 95 to 100
-Changed the attributes of the Warpigeon Standard MissileMinimum damage changed from 100 to 110
Maximum damage changed from 126 to 130
Draconic cost changed from 120 to 400
Maximum target distance changed from 4 to 10
Xarn cost changed from 19500 to 23000
Ruby cost changed from 120 to 180
Diamond cost changed from 95 to 120
Saturday, 13
ItemSystem:
-Changed the description for the following missilesWarhawk Standard Missile
Serpent Medium Missile
Dredlock Medium Missile
Mole Medium Missile
AP Medium Missile
Ravager Medium Missile
Bloodhawk Medium Missile
Spine Medium Missile
Warpigeon Medium Missile
Calamity Medium Missile
Bloodhawk Heavy Missile
Angelus Heavy Missile
Spine Heavy Missile
AP Heavy Missile
-Added new weapon Hellstorm MissileMinimum damage set to 140
Maximum damage set to 260
Lithium cost set to 850
Maximum range set to 15
Technology level set to 8
Xarn cost set to 38000
Ruby cost set to 450
Diamond cost set to 500
Draconic cost set to 780
-Changed attributes for the Serpent Medium MissileMinimum damage changed from 54 to 80
Maximum damage changed from 86 to 105
Draconic cost changed from 50 to 400
Maximum range changed from 24 to 22
Xarn cost change from 16000 to 19000
Ruby cost changed from 100 to 130
Diamond cost changed from 34 to 350
-Changed the attributes of the Mole Medium MissileMinimum damage changed from 48 to 54
Maximum damage changed from 98 to 110
Uranium cost changed from 0 to 10
Maximum range changed from 26 to 28
Xarn cost changed from 14000 to 18000
Ruby cost changed from 120 to 230
Diamond cost changed from 48 to 360
Draconic cost changed from 180 to 390
-Changed attributes for the AP Medium MissileMinimum damage changed from 115 to 125
Maximum damage changed from 130 to 140
Lithium cost changed from 160 to 240
Maximum range change from 12 to 7
Xarn cost changed from 19000 to 21000
Ruby cost changed from 150 to 200
Diamond cost changed from 120 to 320
Draconic cost changed from 240 to 300
-Changed the attributes for the Ravager Medium MissileMinimum damage changed from 95 to 100
Maximum damage changed from 118 to 200
Uranium cost changed from 0 to 50
Maximum range changed from 18 to 16
Xarn cost changed from 17600 to 19000
Ruby cost changed from 140 to 190
Diamond cost changed from 110 to 200
Draconic cost changed from 130 to 260
Lithium cost changed from 180 to 215
-Changed the attributes of the Bloodhawk Medium Missile:Minimum damage changed from 52 to 75
Maximum damage changed from 84 to 130
Uranium cost changed from 0 to 60
Maximum range changed from 35 to 20
Xarn cost changed from 18000 to 23000
Ruby cost changed from 110 to 280
Diamond cost changed from 85 to 420
Draconic cost changed from 75 to 500
Lithium cost changed from 210 to 420
-Changed the attributes for the Spine Medium Missile:Minimum damage changed from 115 to 125
Maximum damage changed from 128 to 160
Uranium cost changed from 0 to 140
Maximum range changed from 18 to 8
Xarn cost changed from 21000 to 25000
Ruby cost changed from 170 to 220
Diamond cost changed from 160 to 390
Draconic cost changed from 290 to 520
Lithium cost changed from 85 to 160
-Changed the attributes of the WarPigeon Medium MissileMinimum damage changed from 135 to 160
Maximum damage changed from 150 to 185
Uranium cost changed from 0 to 650
Maximum range changed from 8 to 9
Technology level changed from 5 to 6
Xarn cost changed from 25000 to 32000
Ruby cost changed from 240 to 450
Diamond cost changed from 210 to 680
Draconic cost changed from 230 to 720
Lithium cost changed from 530 to 580
-Changed the attributes of the Calamity Medium MissileMinimum damage changed from 40 to 55
Maximum damage changed from 85 to 100
Uranium cost changed from 0 to 120
Maximum range changed from 12 to 10
Xarn cost changed from 12000 to 15000
Ruby cost changed from 120 to 180
Diamond cost changed from 90 to 160
Draconic cost changed from 120 to 210
Lithium cost changed from 180 to 200
-Changed the attributes of the Bloodhawk Heavy MissileMinimum damage changed from 150 to 220
Maximum damage changed from 230 to 290
Plutonium cost changed from 0 to 152
Maximum range changed from 15 to 10
Technology level changed from 5 to 7
Xarn cost changed from 26000 to 36000
Ruby cost changed from 190 to 350
Diamond cost changed from 200 to 680
Draconic cost changed from 150 to 850
Lithium cost changed from 280 to 650
Uranium cost changed from 240 to 400
-Changed the attributes of the Angelus Heavy MissileMinimum damage changed from 96 to 120
Maximum damage changed from 120 to 160
Plutonium cost changed from 0 to 120
Maximum range changed from 45 to 30
Technology level changed from 5 to 6
Xarn cost changed from 23000 to 25000
Ruby cost changed from 130 to 260
Diamond cost changed from 170 to 450
Draconic cost changed from 125 to 600
Lithium cost changed from 220 to 230
Uranium cost changed from 170 to 155
-Changed the attributes of the Spine Heavy MissileMinimum damage changed from 115 to 130
Maximum damage changed from 148 to 180
Uranium cost changed from 210 to 280
Maximum range changed from 15 to 10
Ruby cost changed from 160 to 180
Diamond cost changed from 210 to 260
Draconic cost changed from 250 to 500
Lithium cost changed from 300 to 320
-Changed the attributes for the AP Heavy MissileMinimum damage changed from 125 to 140
Maximum damaged changed from 167 to 186
Uranium cost changed from 280 to 310
Maximum range changed from 8 to 6
Technology level changed from 5 to 6
Xarn cost changed from 28500 to 30000
Ruby cost changed from 240 to 280
Diamond cost changed from 270 to 300
Draconic cost changed from 340 to 370
Lithium cost changed from 320 to 340
-Changed the attributes of the Dredlock Medium MissileMinimum damage changed from 62 to 90
Maximum damage changed from 80 to 130
Lithium cost changed from 210 to 460
Maximum range changed from 50 to 22
Xarn cost changed from 23500 to 32000
Ruby cost changed from 110 to 150
Diamond cost changed from 140 to 200
Draconic cost changed from 80 to 180
September
Wednesday, 28
ItemSystem:
-Changed the description for the following missilesWarhawk Medium
Serpent Heavy
Ragnarok
Dredlock Heavy
Mole Heavy
Warhawk Heavy
Warpigeon Heavy
Ravager Heavy
Calamity Heavy
Bloodhawk Ultra Heavy
Angelus Ultra Heavy
Spine Ultra Heavy
Dredlock Ultra Heavy
Warhawk Ultra Heavy
Serpent Ultra Heavy
Mole Ultra Heavy
AP Ultra Heavy
Ravager Ultra Heavy
Calamity Ultra Heavy
Bloodhawk Titan
Serpent Titan
Angelus Titan
Spine Titan
Dredlock Titan
Mole Titan
AP Titan
Ravager Titan
Warpigeon Titan
Warhawk Titan
Calamity Titan
Super Nova
Hell’s Teeth
-Changed the attributes of the following missilesWarhawk Medium
Serpent Heavy
Ragnarok
Dredlock Heavy
Mole Heavy
Warhawk Heavy
Warpigeon Heavy
Ravager Heavy
Calamity Heavy
Bloodhawk Ultra Heavy
Angelus Ultra Heavy
Spine Ultra Heavy
Dredlock Ultra Heavy
Warhawk Ultra Heavy
Serpent Ultra Heavy
Mole Ultra Heavy
AP Ultra Heavy
Ravager Ultra Heavy
Calamity Ultra Heavy
Bloodhawk Titan
Serpent Titan
Angelus Titan
Spine Titan
Dredlock Titan
Mole Titan
AP Titan
Ravager Titan
Warpigeon Titan
Warhawk Titan
Calamity Titan
Super Nova
Hell’s Teeth
-Compelted database for missile weapons; removed 4500 lines of code, replaced with 74 lines.
October
Wednesday, 19
ItemSystem:
-Changed the description and attributes of the following weaponsDestructor Bomb
Neopryte Bomb
Apocalypse Bomb
Light Gettysburg Bomb
Nako Advanced Bomb
Planet Cracker
Medium Nano Bomb
Medium Neopryte Bomb
Medium Gettysburg Bomb
Medium Nako Advanced Bomb
Heavy Nano Bomb
Heavy Neopryte Bomb
Heavy Gettysburg Bomb
Ultra Heavy Nano bomb
Ultra Heavy Neopryte Bomb
Ultra Heavy Gettysburg Bomb
Heavy Nako Advanced Bomb
Ultra Heavy Black Hole Bomb
Ultra Heavy Planet Cracker
Maximum Nako Advanced Bomb
Gravity Bomb
Hell’s Teeth
Lillith’s Wish
Adam’s Anger
-Replaced 1279 lines of code with 27
-Added one (1) bomb hold to Rifter design to accommodate starter ship choice.
-Added several new ‘Get’ functions for laser weapon informationgetWLName
getWLAMin
getWLDROMax
getWLAMax
getWLAOMin
getWLAOMax
getWLDRMin
getWLDRMax
getWLDROMin
Player:
-Added check to starter ship selection so that if the chosen value is out of bounds the code will default to 1.
-Added player starter laser weapon selection, including above check and IS function calls. The following weapons have been added to the start selection listLow-Tech Phaser Array
Ion-Particle Blaster
Lightron Blaster
50mm Suspended Coil Laser Cannon
50mm Omega Cannon Prototype
50mm High-Output Ion Blaster
Sunday, 23
ItemSystem:
-Changed the Osprey design, added one (1) missile turret to this ship to accommodate the starter ship choice.
-Added the following functions for player starter ship choicesgetWMName
getWMDRLow
getWBWeight
getWMDRHigh
getWMAMax
getWBName
getWBDRLow
getWBDRHigh
Player:
-Added the following functions as part of the player starter ship systempCMWeap
pCBWeap
-The following bombs and missiles have been added to the player startship armament processDestructor Bomb
Neopryte Bomb
Serpent Lite Missile
Lite Gettysburg Bomb
Nako Advanced Bomb
Calamity Lite Standard Missile
Ravager Lite Missile
Cruise Missile
Warhawk Advanced Lite Missile
Bloodhawk Lite Missile
-Added the player takeDamage function. This function has a tiered if/then/else statement system t catch any damage overflow from the different health areas; shields, armor, hull. Old system calculated damage then sent that value off to another function. This one does all of the application in house, but the damage calculations will be done from battleProc (battle processing).
Monday, 24
Player:
-Removed private variable pSTLevel as the Ship struct already contains a variable for the ship tech level.
Planet:
-Setup the Planet Class and added the following things to itFunctions:Planet (constructor)Variables:
pNamepEKS*
pPop –popultion
Hostile:
-Added the following functionshostile(string hRace, string hRank, Ship hShip, int hXarn, int hRubies, int hDia, int hDrac, int hLith, int hUra, int hPlut, int hPlat, int hNWaste) (constructor 1), hostileStory(string hName, string hRace, string hRank, Ship hShip, int hXarn, int hRubies, int hDia, int hDrac, int hLith, int hUra, int hPlut, int hPlat, int hNWaste) (constructor 2)
-Added the following variableshName
hRace
hNWaste
hRank
hShip
hXarn
hRubies
hDia
hDrac
hLith
hUra
hPlut
hPlat
BattleProc:
-Setup the BattleProc class and added the following functionsdamageCalc
endBattle
*Click here for the explanation of this variable. It was too long to include in the changelog.
December
Tuesday, 06
Planet:
-Split the class into two separate entitiesPlanet Processing will handle all global planet processes, such as placing a destroyed planet into the destroyed planets array. Planet will be a pointer based class that will function a lot like the hostile class except that planets will be stored in an array upon deletion during an event. This array will be updated each “turn” depending on various conditions if the player colonized said planet.
-Added several new variables to the planet class, all having to do with the planets habitability*pGrav -gravity
pRad -yearly radiation
pBDivers –planetary biological diversity
pOxy –atmosphere oxygen levels
pNit –atmosphere nitrogen levels
pCarb –atmosphere carbon levels
pHel –atmosphere helium levels
pALevel –strength of atmosphere and planetary coverage
pLMass –available landmass
pWMass –percentage of planetary space that is ocean
Each of these variables can be affected by certain factors, such as population growth, industrialization, or pollution. Teraforming will move these values closer to 62nd century earth’s conditions.
-Added second Defense attribute to the class for shield based defense systems.
PlanetProc:
-Added the following functionsisDest –is the planet destroyed
isOwned –is the planet already owned by the player
setPOwned –set planet as player owned
fPlanets –search for planets within scan range (currently static at 50 LY)
pPlanets –print out list of found planets
setDest –set planet as destroyed
-Added the following variablessPlanets –array for scanned planets*
oPlanets –array for player owned planets
*Click here for further explanation
MenuProc:
-Added navigation menus 1 and 2. Nav menu two will work with above fPlanets/pPlanets functions to print out found planets for the player to travel to. Similar system to be setup for stations.
Main:
-Added game class and planet processing references.
-Created start game menu operations and started on the game loop.
Game:
-Added new function sGame (start game) to the class.
Friday, 23
Player.cpp:
-Added all ‘get’ functions into the player implementation filegetAcc
getDia
getSTLevel
getDrac
getEADist
getXarn
getLith
getNucWas
getPWStatus
getPlat
getPlut
getRubies
getSArmor
getSHull
getSMArmor
getSMHull
getSMShield
getSShield
getUra
getName
getRank
getSClass
getSName
Saturday, 24
Player.h:
-Added several new functionsgetFKills
getDKills
getTKills
getCKills
getBCKills
getBKills
getCSKills
getMKills
-Added several new variables for Player ranking system*pFKills
pDKills
pTKills
pCKills
pBCKills
pBkills
pCSKills
pMKills
Player.cpp:
-Added above functions to the Player implementation file.
*Click here for more information on ranking requirements and here for more information on the Combat Experience System (CES).
Sunday, 25
Player.h:
-Modified the ranking system. Rank requirements for combat experience have now been changed to a CB level system where each battle gives exp. After a certain amount of exp your combat level will increase. At certain levels, in combination of previous requirements, you will be given an option at Alliance space stations to receive a promotion. You must go to an Alliance station in order to get this promotion once the requirements are met.
-Added the following variablespCBELevel
pCBExp
tNCBLevel
Player.cpp:
-Fixed some function definitions that had incorrect connections to the Player class.
-Added the rest of the rank system functions and set functions for player variables\setName
setRank
pCBLUp
setSArmor
setSHull
setSMArmor
setSMHull
setSShield
setSMShield
setSName
setSSTLevel
cLUp
-Added functions for player combat level gaining, noted above. Levels are calculated via the following equation*To Next Level = (Current Level • 1250) • 1000 • 1000 • Current Level / (2 / ((1000 • (Current Level • 1250)) / 2))
2012
February
Monday, 13
Player
-Moved several menus out of the player creation process and placed them into menuProc where they should be incorporated.
-Changed all function calls related to the itemSystem information ‘gets’ for starter ship initialization due to changes to the class.
-Added menuProc reference for menu creation.
-Split up takeDamage function into base parts; takeSDamage, takeADamage, and takeHDamage, in order to make applying damage from special types much easier, effective, and efficient with the least code necessary.
menuProc
-Added several new functions for player creation menuspCMenu1
pCMenu2
pCMenu4
pCMenu3
-Added generic invalid menu option catch.
itemSystem
-Reworked the weapons databases so that they could all be placed into a single matrix. Styled more after SQL table with non-applicable entries nulled.
-Added two new attributes to each weaponWeapon Type
Weapon Damage Type
-Added functions to obtain weapon and damage typegetWType
getWDType
-Removed many functions that were duplicating information ‘gets’. Instead of each weapon type having a ‘get’ function there is now only one set of them for the entire table. Weapons that do not have a specific attribute will not be able to use a ‘get’ function if they do not have that specific attribute.
-Removed Optimum Range Damage attributes from all weapons and ship struct. Optimum range damage will be applied to a multiplier at random between 1.5% and 2.5% more damage in order to simplify damage calculations due to special damage types.
Weapons
-Added new variables to each weapon structtLevel //technology level
wType //weapon type
damageTypes
-Added in some damage type descriptions to await further implementationPiercing1
Piercing2
Massaccel
Piercing3
Napalm1
Napalm2
Napalm3
Destructor
Nanite1
Nanite2
Nanite3
Doomsday1
Doomsday2
Stealth
Frigonly
Null
Emp1
Emp2
Emp3
Virus1
Virus2
Virus3
Tuesday, 14
Hostile
-Added new functions and related code in the .cpp filesetName
setRank
getSTLevel
setSArmor
setSHull
setSMArmor
setSMHull
setSShield
setSMShield
setSName
setSSTLevel
getSArmor
getSHull
getSMArmor
getSMHull
getSMShield
getSShield
getName
getRank
getSClass
getSName
-Renamed hostileStory to Hostile. Other constructors renamed to Hostile to reflect the class name change (from l.c. h to capital h). Also added in a blank constructor for definitions of hostile ship instances for multiple ship battles.
-Removed initialization code from Hostile constructors, it will now take place in battleProc.
battleProc
-Added the following functions and/or related code for those marked with a *; ** means partial codebattleLoop()**
hDCalc()
endBattle()**
pDCalc()
hInit()**
pInit()
initHR1()**
initHR2()
initHR3()
initHR4()
-Added pointer definitions to the .cpp file so that I could initialize hostile ship pointers within separate functions to facilitate cleaner looking code.
-Enemy ship creation system based on player rank
menuProc
-Added two missing functions for the navigation menusnMenu1
\nMenu2
itemSystem
-Added in functions to search and return ship technology level, hard points, and classgetSBHolds()
getSMTurrets()
getSClass()
getSLBanks()
getSRails()
getSHWBays()
getSWHPoints()
getSTLevel()
Main
-Moved game loop out of main and into menuProc (to be completed at a later date).
-Removed many class references and class pointers since pointer initialization now happens in battleProg
Wednesday, 15
Hostile
-Fixed a small typo within the class and in child classes for Talirath and Tech Merchant.
-Added in all code for most of the functions detailed in yesterday’s update.
-Changed getSTLevel from string to int to reflect change of the attribute in the ship structure.
itemSystem
-Added in the following functions, but have not implemented the code yetgetSWHP
getSLB
getSPC
getSMT
getSBH
getSRM
getSHWB
getSDesc
getSMInit
getSXC
getSRC
getSDC
getSDiC
getSUC
Player
-Changed getSTLevel from string to int to reflect change of the attribute in the ship structure.
Thursday, 16
dataSystem
-Renamed itemSystem to dataSystem. This change was undertaken because I wanted to store all static data in this class and not just item and ship information.
-Added the following new data array(s) to this classplanetNames
ranks
pDD
raceNames
-Added code for yesterday’s implemented functions.
planetProc
-Removed the following data array(s)planetNames
pDD
Player
-Removed the following array(s)ranks
Game
-Removed the following array(s)raceNames
Saturday, 18
battleProc
-Continued working on hostile initialization. Scrapped previous idea in favor of going to an object array after all ships have been initialized.
-Created two new arrays to hold both player wingmen shims and hostile ships during battle.
Hostile
-Edited both constructors to better fit both data sources and removed variables that were not going to be used at the present.
-Added all code to said constructors.
dataSystem
-Added getRace function.
Ship
-Changed some ship variable names and added a variable for movement initiative.
Thursday, 23
battleProc
-Continued work on hostile initialization. Included code to randomly pick and setup a laser hard point for the ship.
-Fixed several issues within the ship and weapon database matrices that would have caused major issues during compile.
Weapon
-Along with ship struct, I will be changing this into a class that will contain all ship related functions. Each ship will be instantiated as its own object and so can be placed into an array which leads to cleaner and short initialization code.
Ship
-Along with weapon struct, I will be changing this into a class that will contain all ship related functions. Each ship will be instantiated as its own object and so can be placed into an array which leads to cleaner and short initialization code.
Hostile
-Added the following functionsinitHardpoints
getLHP
setBH1
setLBA
setMT1
-Modified constructors a bit to better reflect their purposes and to fix some issues. Started on weapon initialization but stopped when I decided to go with the class route.
Monday, 27
Player
-Removed any and all ship/weapon related functions and code from the class.
Hostile
-Removed any and all ship/weapon related functions from the class.
Ship
-Began the process of changing this struct into a class. Consolidated all ship code from both Player and Hostile and are in process of rewriting it for the new class.
Weapon
-Began the process of changing this struct into a class. Consolidated any code related to this class into it and have begun rewriting it for use within this class.
March
Thursday, 1
Weapon
-Completed changing structs to classes. Decided to go with an Inheritance structure where each type of weapon is a child class of Weapon. The Weapon class has any and all variables and functions related to two or more specific weapon types. The classes that are childed to Weapon can access all of these while being able to contain their own specialized, one-off variables and functions. All coding for these functions has been completed as well. Included some commented functions that will be used in later versions.
-Added or changed old functions to the following functionsWeaponsetWDRange
setWAcc
getWDType
setWName
setWDtype
setWTLevel
setWType
setWASpeed- commented
getWDRLow
getWDRHigh
getWDROLow
getWDROHigh
getWALow
getWAHigh
getWAOLow
getWAOHigh
getWTLevel
getWTpye
getWASpeed- commented
getWName
BombsetWeight
getWeight
DefensesetSPoints
getSPoints
takeDamage
HeavysetDInt
getDIntLow
getDIntOHigh
getDIntHigh
getDIntOLow
-Added or changed old variables to the following variablesWeaponwAcc- weapon accuracy
wDRange- weapon damage range
wType- weapon type
wDType- weapon damage type
wName- weapon name
wTLevel- weapon technology level
BombbWeight- bomb weightDefensedSP- defense structural pointsHeavyhDInt- heavy weapons damage intensity range
Ship
-Completed changing this struct to a class and finished all coding for the related functions. Did not change many variables or add many functions that were not already in use by other classes.
-Changed weapon hard point definitions to arrays to remove seven lines of extra code per each weapon type (5 weapon types, times seven lines; total code removed 35 lines and replaced them with 5 lines) and added code to HPInit function to use weapon hard point values taken from itemsystem database to initialize only an equal number of the eight elements in each array, again to remove coding lines (this change removed 250 lines of code and replaced them with 24).
April
Tuesday, 10
damageType
-New class, this class will be responsible for both applying special events and giving extra damage based on weapon damage types.
-Added the following functionsdTPiercing1
dTPiercing2
dTMAccel
dTPiercing3
dTNapalm1
dTNapalm2
dTNapalm3
dTDestructor
dTNanite1
dTNanite2
dTNanite3
dTDDay1
dTDDay2
dTStealth
dTFOnly
dTEMP1
dTEMP2
dTEMP3
dTVirus1
dTVirus2
dTVirus3
dTVirus4
Player
-Removed the following functions, they have been moved to ship classisDestroyed()
isDisabled()
getSStatus()
battleProc
-Began adding in damage modification code. This has to do with damage types and what they will do to the ship when applied. Most will add extra, special, non-affiliated damage by taking it out of which ever health they effect beforehand. Other, more specialized, effects will also be applied here.
-Added new functionpDModifier() //modify player damage if special damage type present
Ship
-Added some new functionsisDestroyed() //If ship destroyed?
isDisabled() //Is ship disabled?
getSStatus() //Are shields up or down?
Project-Wide
-Changed damage variable from integer to float. Will be changing health types to floats later on as well.
Thursday, 12
Ship
-Added following functionstoggleSStat
toggleShields
disableShield
disableShip
-Added following variablesDTimer
Weapon
-Added following functionstoggleWeapon
isWDisabled
-Added following variableswStatus
wDTimer
-Changed all child classes so that they used public inheritance to this class
Saturday, 14
Player
-Changed takeDamage functions to floats from ints.
-Added the following variablesdamage
damage2
damageType
-edited the code for the EMP functions for more logical code flows.
battleProc
-Started recode of damage modification function for more logical code flow and to take into account the variety of damage types in order to keep the size of the function down.
-Add the following vairablesdamage
damage2
damage3
Sunday, 15
Hostile
-Added the following functionshSetup
-Removed all functions having to do with weapon and ship setup to those respective classes
battleProc
-Added the following functionshTSetup
hTInit
-Did a lot of work on several functionsinitHR1- this function now just calls specific setup functions from the respective classes along with passing the pertinent code value so those classes can do the hard work. Removed all “set” code from this function into other functions in the correct classes.battleLoop- Removed any variable declarations and put them in the header file and started writing the shell for the b. loop.battleProc- I was able to remove 90% of the variable initializations from the contructor due to changes in initHR1.
-Added the following variableshTNumber
bEnd
hostiles
pGOver
pWin
Player
-Added the following functionsgameOver
getCELvl
Ship
-Added the following functionsSetup
-Moved weapon arrays to public scope so other classes can access them and the functions therein
Weapon
-Added the following function to LaserwSetup
Monday, 17
battleProc
-Added several new variablesturrets
iTurrets
iBombs
bombs
-Changed the battleLoop function to include two new bool overrides, ship and planet. This is to facilitate if the battle is a ship to ship battle or a ship to planet battle.
-Modified the hDCalc function to actually compute the damage for hostile team, it had been doing player. Setup for loop to find only the target to apply damage to as well as pass the name through to damageType if special damage has to be applied.
-Finished coding the initHR1 function. It now contains all of the code to setup all possible hostile team ships except for newer weapon mounts (rail and heavy).
-Moved the findTarget call in both pDCalc and hDCalc to the top of the function
-Fixed some left over ‘d’ variables from the change of ‘d’ to damage2 in both pDCalc and hDCalc
Player
-Fixed some left over ‘d’ variables from the takeDamage functions from the change from ‘d’ to damage2.
Ship
-Renamed the getLHardpoints function to getLHP
-Added the following functionsgetMTP
getBH
-Fixed typo in the implementation declaration of isDestroyed
-Added the following variablesdata
sXC
sPC
sRC
sDiC
sDC
sLC
sUC
-Added in/edited code for sSetup function
Weapon
-Removed the following functionssetWDRange
setWAcc
setWASpeed- commented
setWName
setWDtype
setWTLevel
setWType
-Merged all of the above functions into wSetup function
-Moved wSetup function from Laser class into Weapon class
-Added the following variable to the classdata
-Changed the Bomb class setWeight function so that it will instead call the Weight search dataSystem function then set the weight
Wednesday, 18
menuProc
-Added the following functions and all related codepBStatus
hBStatusA
hBStatusB
-Moved int i global define from implementation file to header file as a private variable
Ship
-Added the following function and related codegetSDTimer
Thursday, 19
Project Wide
-Changed all references to menuProc to msgProc to reflect the class rename
Player
-Added the following functionspAttack
-Added the following variablessCode
wCode
-Altered the player creation functions to make use of the new ship functions added in earlier in the week. This also reduced the code linage total by a large amount. Each of the four functions had 45+ lines of code replaced by two. I also removed the menu check and other iosystem related code and moved it to msgProc. Those functions now return the player’s chosen value with the check happening on that side instead of player. This also helped reduce the number of lines used.
msgProc (formerly menuProc)
-Renamed the class to better reflect the purpose of the class.
-Nearly all of the menu functions have been changed at this point to the new method where each menu is self-contained in this class. All menu item picking and value checking happens here then the chosen value is returned to the calling function for further use.
-Added the following functiongetMsg
-Added the following variablespChoice
battleProc
-Added the following functionpRetreat
-Modified endBattle function to take a bool called escaped to check if player won by defeating the enemies or by running, the later triggers a no-rewards end battle screen.
-Added the following variablespContinue
pAttacked
hDCounter
escaped
pNTarget
-Worked a great deal on the battle loop today. Most of it has now been fleshed out for the ship battles. Planet battling is still at 0% completion. Ship battles broken into two classes, single ship battles and team battles. Currently since player team is not used it is singular to player vs. hostile team. This will change once wing men are implemented. There is still a lot of work to do on various constraints, setting up the weapons firing selections, and whatnot.
Hostile
-Added the following functionsgetRace
getDispo
-Changed the constructors to take advantage of the new ship initialization method; replaced a total of 68 code lines with 20 lines total (including function declarations).
-Uncommented get resource functions.
Ship
-Added hostile bool to ship setup function so that resource setting for hostile ships could be randomized while player resource values would not.
Main
-Added class reference for msgProc
June
Tuesday, 12
MsgProc
-Renamed mSSMenu# to mSMMenu#
-Added station market menu 1
Wednesday, 13
MsgProc
-Added station market menu 2
Station
-Added station menu loop
-Added boolean variable sLeave
-Added function sMMenu
Thursday, 14
MsgProc
-Added ship classification menu
-Added variablesdLastValue
mCode2
-Added market classification menu
-Fixed issue that could have leaf to a menu choice bug in weapons market menu
-Renamed mSSMenu functions to mSMMenu to reflect header name change
-Removed cInvalid function declaration and code; no longer needed
-Added MsgDB array that will contain heavily used messages to cut down on use of code
-Added mRMessage function and code to access the MsgDB array to get messages
Station
-Added sMMenu function code
-Began work on code for menu loop
Tuesday, 19
Station
-Added cCode2 for passing ship classification
-Added sWMLoop, sSMLoop, and sMMLoop functions
-Added the following boolean variablessWMenu
sSMenu
sMDMenu
Wednesday, 20
MsgProc
-Added functions mSMMenu8 and 9
-Removed all passed class references in function calls in favor of hard coding refs into implementation file for cleanliness
Station
-Added functions sMPurchase and sMBuy
-Renamed cCode2 and iCode2 to cCode and iCode respectively
-Removed all passed class references in function calls in favor of hard coding refs into implementation file for cleanliness
-Started coding sMPurchase and sMWLoop
-Fixed issue that would have caused menu loops to re-loop on same menu choices because player would not be asked to re-enter a menu choice
DataSystem
-Removed all xCode2 = xCode -1; statements from data grab functions. Replaced with a [xCode-1] array return to cut down on excess code; removed 45 lines of code.
-Added class element to weapons database to simplify market process
-Added getWClass and doesCMatch functions
-Altered weapon get functions to reflect new matrix element
-Found problem with get weapon codes where Xarn cost was not being returned, fixed it by adding in the function to do so and altered the remaining functions for correctly returning array elements to function call
Thursday, 21
MsgProc
-Added boolean variable mContinue
-Worked on laser weapon menu loop
Station
-Added getClass function
-Added variable cCode2
Friday, 22
Station
-Removed getClass, forgot this was already implemented in dataSystem
DataSystem
-Added getWDesc function
Thursday, 28
MsgProc
-Added iType2 for specific item delineation
-Worked on item information screen
Station
-Added iType2 for specific item delineation
DataSystem
-Started the process of adding data basting to all data gets to reduce code that should not be used in other classes
-Added the following variables for data castingdata
data2
August
Friday, 17
Player
-Added resource set functions for each resource for related functions and code for those functions.
Station
-Started working on the sMPurchase function, added resource checks for weapons; if the checks are true required resources will be removed.
Monday, 20
DataSystem
-Converted rest of get function into int returns with data casting happening internally. Some functions remain string returns but only for those data that are string variables. Total of 46 functions changed.
MsgProc
-Finished coding weapon section of item information page included resource checks.
-Added bool variable valid for valid input check on player buying weapon. This part explicitly requires valid input, no defaulting, because it can drastically affect the players game due to removed resources.
-Added new message to the message database for non-defaulting invalid menu choice.
Ship
-Removed any data casting code. Hostile resource costs also uncasted. Removed a total of 89 lines of code.
Station
-Removed any and all in-class variable function passes, they are not needed since these functions can already access the variable.
-Completed the first half of the weapon purchase function including resource removal from player. The next section will have to do with player station storage/installing bought item.
Weapon
-Removed any code previously required for casting. Removed 56 lines of code.
Thursday, 23
DataSystem
-Fixed a mistake I made earlier this month when I changed the getWClass function to an int. Changed it back to a string function and removed the data conversion code.
-Began adding weapon classes to the weaponDB matrix.
MsgProc
-Added two new messages to msgDB array.
-Modified most functions in this class. Original naming convention was m for message then the name of the calling class as a capital and then the rest of the function name (IE: mGSMenu for menu game start menu). I have changed this so that the lower case letter is the letter for the calling class instead of ‘m’ (IE: gSMenu fort game start menu).
-Renamed gSMenu to gTMenu.
-Added new function sISIMenu for item installation or storage choices.
Station
-Added new function sISItem for processing item installation and storage checks.
Player
-Added three new variables dealing with station storage space*pCSSSpace (currently used storage space)
pMSSSpace (max usable storage space)
pSSSlots (number of station storage slots)
-Added a vector to store items in the players station inventory for later use.
*Click here for more information on the storage system.
Note: Here after changes will be cataloged by class instead of date.
October
Message Proc
-Stated adding in cargo compartment buy menu (10/4).
-Finished the sBISMenu function code (10/5).
-Finished sISItem function code (10/9).
-Added a few things to the sBISMenu function to fix a bug that would have presented itself later on (10/9).
-Finished buy inventory space/slots menu functions (10/14).
Player
-Moved inventory stuff over to station where it belongs. Will also be adding it to ship later on (10/1).
-Modified all of the set functions for resources. Added an operation parameter to tell if the value should be added, subtracted, or just a simple set (10/14).
Ship
-Added new function iWeapon to install weapons if player so chooses to, no code yet (10/1).
-Changed iWeapon from void to Boolean to handle the issue of there being no open weapon hardpoints to install a weapon to (10/21).
-Added code for the iWeapon function (10/21).
Station
-Created some storage related functions for storing items and adding space. Constructor now initializes the sInv vector (10/1).
-Moved all storage variables from Player to Station (10/1).
-Split the class into to smaller classes, like what I did with planet. Station descriptive elements kept in station. Menu calls and other things that operate on the station class have been moved to stationProc (10/4).
-Moved the sInv vector, sCSSpace, sMSSpace, sISlots, bDASlot, bDASpace variables to this class from stationProc (10/4).
-Moved functions getISItem, addISpace, addISlot, getISize to this class from stationProc (10/4).
-Changed second constructor into a function for setting up cStations vector (10/4).
-Moved sSItem, sBISpace, and sBISlot back to stationProc due to a better fit with that class (10/5).
-Added getCSSpace and getMSSpace functions (10/9).
-Added an int parameter to getISItem in order to get a specific inventory vector element (10/9).
-Removed getSISlot function, could not remember what it was for and was made obsolete by another function (10/23).
-Added code for the addISpace, addISlot, and getISItem functions (10/23)
Station Processing
-Added getStation function to obtain specific station instances from vector (10/4).
-Added cStations vector to store created stations for use later on (10/4).
-Modified the following functions to account for recent changes: sMenu, sMLoop, sWMLoop, sSMLoop, sMMLoop, sRepair, bClone, useClone, sShop, sBar, sBOffice, sEAEOffice, and sMPurchase (10/4).
-Fixed typo in function sEAEOffice, should have been sEAFOffice where ‘F’ is Field (10/4).
-Moved sSItem, sBISpace, and sBISlot back to this class since they operate on values contained in the Station class (10/5).
-Finished out the code for sBISlot (10/5).
-Added some required reference passes to various functions and modified function calls in certain classes to use those reference passes (10/5).
-Added Station and msgProc reference passes to sSItem (10/9).
-Changed some lines in sSItem to call the functions added today to Station (10/9).
-Finished the buy inventory space and slot functions (10/14).
-Removed any reference passes for msgProc. MsgProc does not store any information needed elsewhere so no passes of instances required (10/14).
-Added bDone bool variable for use with a function (10/23).
-Changed sSItem a bit by adding a while loop and removing the condition statement from the for loop (10/23).
Weapon
-Added iWeapon functions and code to all of the weapon classes (10/23).
December
DataSystem
-Added station names array (12/26).
-Changed mission time limit to days instead of miliseconds and update ‘The Wolf’ mission (12/28).
MsgProc
-Removed stationProc reference from the class, it was not needed and highlighted a serious issue with another function of this class (12/28).
-Added six new messages to the msgDB (12/28).
-Modified sBISPMenu to not need the stationProc reference and also in response to changes to the sBISpace function in stationProc (12/28).
Player
-Added pMissions vector for tracking what missions the player is on and other mission related stats (12/28).
-Added addMission, removeMission, updateMission, getMission, and getAMissions functions for mission handling for the player class (12/28).
-Removed remnant inventory code from the player class that I missed earlier (12/28).
StationProc
-Added createStation function (12/26).
-Began coding sRepair function (12/16).
-Added csPos int for tracking station position in vector for updating the vector element after player leaves station (12/26).
-Added sDepart function (12/26).
-Modified the sMenu function a little bit for more logical processing (12/26).
-Added code for sDepart function (12/28).
-Added stat reference to sMenu call in createStation (12/28).
-Fixed some issues with sMenu (12/28).
-Changed several areas where messages were printed into mRMessage calls (12/28).
-Fixed a major problem with sBISpace. It did not have any execution path for when the player chose to buy or not buy inventory slots if there was not enough space. Added those and changed the way the entire function executes (12/28).
-Added modifications to sSItem to account for changes to sBISpace, much of the function had to be changed (12/28).
2013
January
DataSystem
-Added the following functions: GetMName, getMDesc, getMType, getMDur, getMDiff, getMSector, getMSystem, getMCBEReq, getMSCReq, getMMWReq, getMTName, getMTSClass, getBounty, getMXR, getMRR, getMDiR, getMDR, getMLR, getMPlR, getMUR, getMPR, getMNWR, getMEXPR, getMIR (1/1).
-Added new fields to missionDB matrix, formerly known as missions array. Added an exp and item reward field. Changed numbered fields with “Null” in them to -1, only text fields will use Null (1/1).
-Added code for the list of functions above (1/1).
Mission
-Added new class called Mission to store mission data. Will be used in instancing with pMissions vector to store each mission individually. Only basic class information at the moment but will be fleshed out later on (12/28).
-Added the following functions: getRewards, getBMInfo, getCMInfo, GetMName, getMDesc, getMType, getMDur, getMDiff, getMSector, getMSystem, getMCBEReq, getMSCReq, getMMWReq, getMTName, getMTSClass, getBounty, getMXR, getMRR, getMDiR, getMDR, getMLR, getMPlR, getMUR, getMPR, getMNWR, getMEXPR, getMIR (1/1).
-Added code for all of the functions listed above (1/1).
MsgProc
-Added mInfo function and the code required to obtain mission information through a pointer (1/1).
Player
-Added setCEXP function and code for it (1/1).
-Added completeMission function and some of the code for it (1/1).
February
BattleProc
-Began rewriting the battle loop. Changing focus from two battle styles, single and team, into only team (2/8).
-Added battleParticipants vector to store whom will be fighting and the attack order (2/8).
-Added several new variables to the class to handle the battleParticipants process (2/8).
-Added new class bParticipants to load the vector for storing name and ship movement initiative for determining the attack order (2/9).
-Added several new variables for storage of the bParticipants class for bubble sorting of vector (2/9).
-Added menu switch to player section of ship battle loop (2/11).
-Added bFSolutions to handle different attack modes during battle (2/11).
-Did some more work on bFSolutions by starting to add in the rest of the function and directing how the battle progresses from this function (2/16).
-Added new bools for dealing with weapon selection and damage type detection (2/16).
-Made some changed to fSolutions to take into account recent changes (2/27).
-Added a member variable, wtype, to track and pass weapon types (2/28).
Damage
-DamageType renamed to damage to better fit what the class will be used for (2/8).
-Added two new functions bPAttack and bHAttack to deal with player and hostile damage (2/16).
-Added setupWQueue to setup the weapon order for attacking (2/27).
-Added cleanWQueue to clear the weapon vector before use (2/27).
-Added several new member variables for dealing with damage: vDamage, mDamage, fDamage, tSDamage, sDamage (2/28).
-Added dLow and dHigh member variables for tracking weapon damage ranges (2/28).
-Added nSDamage, nADamage, and nHDamage for nanite damage calculation (2/28).
-Added wdtype to track the type of weapon damage being applied (2/28).
-Added sDNTurns and sDNANTurns to track turns left to apply napalm and nanite secondary damage (2/28).
-Added function processWQueue to cycle through the weaponQueue and pull out weapon information (2/28).
-Added processSDamage and processSecDamage to deal with secondary damages and special damages (2/28).
-Added getSDNTurns and getSDNANTurns functions to find out if any turns for these turn-based secondary damage types are present (2/28).
-Started to code bPAttack (2/28).
-Added code for all new functions mentioned above (2/28).
DataSystem
-Removed periods from end of weapon and ship descriptions for cleaner output (2/5).
-Fixed problem with data not being correctly obtained from this class. Some functions were not properly connected to the data they were supposed to be returning (2/5).
Debug
-Created new class for debugging, will become logging class in future versions of the game. This one is to be used for current development feature debugging purposes (2/4).
Hard Point
-Added these new classes to accomplish weapon spreads as well as to better approximate how hardpoints work. Hard Point is the super class while the others are sub classes for each weapon type (2/11).
-Added new constructor to hardPoint super class in order to set weapon type and slot number on creation to limit amount of code used (2/13).
Hostile
-Added new function to tell if hostile entity was actually hostile; needed for battle loop, it can be overridden (2/9).
MsgProc
-Fixed a bug that would have caused a crash within sMMenu3 by not catching invalid input. I also altered this function to actually work as it was supposed to; it was missing some things and had faulty code (2/5).
-Added new message for choosing a target to attack (2/9).
-Added new functions sWSSelection,sLWSelection, sMWSelection, sRWSelection, sHWSelection, sCWSpread, and sOWSpread. All are related to functions required by weapon spread system (2/13).
-Added new member variables totalWeapons, laser, missile, rail, heavy, and type for dealing with weapon selection (2/16).
-Added new functions bCSpread, bCWSystem, and bCWeapon (2/16).
-Changed bool valid to bValid and mContinue to bContinue (2/27).
-Added a new menu for weapon selection during battle; sCWSystems (2/27).
-Added two new messages to messageDB (2/28).
Player
-Modified pAttack for new focus on how battles are conducted from the battleProc class (2/16).
Ship
-Changed weapon hardpoint arrays into vectors using new hardpoint classes (2/11).
-Added weapon spread vectors for determining how to fire equipped weapons (2/11).
-Renames ship/shield disabled bools to conform to bool naming conventions and fixed references to them in code (2/11).
-Added bContinue bool for use later on in weapon spread creation (2/11).
-Added new hardpoint and weapon spread counters for weapon spread creation (2/11).
-Added two new classes, cWSpread and getWSpreads for dealing with weapon spread creation and execution (2/11).
-Added new variables for dealing with weapon spreads as well as player choices (2/13).
-Added five more weapon spread vectors and a temporary vector to store spreads created by the player until they can be moved to the selected weapon spread (2/13).
-Finished coding sWSpread function (2/13).
-Added several new functions: setCWSpread, setCWeapon, setCWSystem, getCWeapon, getCWSystem, getLWeapons, getMWeapons, getRWeapons, getHWeapons (2/16).
-Added a few new member variables to deal with battle weapon selection; sCWeapon, sCWSystem (2/16).
-Removed get/setCWeapon and get/setcWSystem. These were no longer needed as a different function was put into place for both solutions (2/27).
-Added getSSize to obtain size of spread vector. Also added getWVSize to get the size of the weapon vector (2/27).
-Added two new vectors to hold weapon data for full attack, weapon systems and single weapon attacks (2/27).
-Added placeholder as a means to hold hardPoint classes to return to other classes when needed (2/27).
-Added clearWVector to clear the sWVector before use (2/27).
-Added several new functions to return weapon types for specific slots on each hard point vector (2/28).
Weapon
-Added new functions to each sub-class that would allow for pointers to each specific weapon to be created for use in the menu system (2/13).
April
Note: 4/30 changes encompass changes made between 4/15 and 4/30 that were not recorded on the day those changes occurred.
Project-Wide
-Went through and removed any and all using namespace std from header files and replaced them with direct using statements for whatever was needed. I also went through and replaced the hostile/player.h includes with entity.h (4/10).
BattleProc
-Made a few small changes to the battle loop code dealing with the attack order (4/10).
-Finished changing all of the cpp code to reflect that hTeam is now a vector and not an array (4/10).
-Removed a few variable passes from functions that were not needed as the vriable was already defined in the header (4/30).
-Added new member variable rkCode to store rank codes (4/30).
-Added several other member variables dealing with response system and battle loop: bFight, hResponse, hDestroyed (4/30).
-Did major work on the initHR1 function to get it working with the changes to Hostile (4/30).
-Started work on initHR2, which prompted the work in the data system that was completed (4/30).
-Made changes to code calling functions from damage to actually be correct due to the changes made therein (4/30).
-Started work on the hail and response system where you can hail and interact with combatants; not to be confused with the tech merchant system (4/30).
-Major work done on the battle loop. Many new if statements and edits to existing ones made as I realized that many checks were missing and some of the logic was faulty or did not actually end the battle when it needed to be. Also had to make changes due to the response system considerations (4/30).
Battle Entity
-This class was created out of the bAttacker and bTarget classes in damage. Instead of having two they are now created through instancing this class. The class was also distilled to a very compact object with only the constructor and a function to delete the entity pointer when it was done being used (4/30).
Damage
-Added two new classes to the header to store attack and hostile ship objects. This was done because of other changes that now allow for fairly simple access of the attack and defender ships without having to differentiate between the different entity types. See Entity class changes for more info (4/10).
-Started changing how the class executes. Starts out by initializing the bAttacker and bTarget classes, then moves into dmgProcessing where each function is call in succession, consider it a linear non-looping execution path (4/10).
-Changed the hostile and player team calls to bTarget or bAttacker as the function required, this way no identification must be made in this class only when they are passed from battleProc (4/10).
-Started working on recoding other areas as necessary to account for changes (4/10).
-Added other weapon types to the weapon queue processing code (4/10).
-Made changes required due to moving the bAttacker and bTarget classes out of this one. Nearly all functions had some edits due to this (4/30).
-Removed the huge blocks of code used for EMP damage and instead made much smaller amounts of code in the processSDamage function where they should have been in the first place (4/30).
-Added the rest of the damage bonus and turn defines (4/30).
DataSystem
-Major changed to the cosmetic structure of the ship and weapon databases. Partitioned them off by ship class as well as added ID range to the comment for easier determination for randoms or other related operations (4/30).
-Changed the ship class requirement elements for all ships and weapons to what they should have been. They had been all set to frigate until now as I had not gotten around to doing this (4/30).
-Removed the following arrays: planet disposition, rank, race. This have been made into enums for easier use with switches (4/30).
-Added three new functions to get the enums based on passed int and return the related enumeration (4/30).
-Fixed several weapon and ship arrays that were missing the ship class requirement element (4/30).
Entity
-Created new class called Entity that will encapsulate any entity related class within the game. Moved most of the code from Hostile and Player into this class and then made them sub-classes of this one (4/10).
-Changed all of the variable names to fit with the new class both in the header and the implementation code (4/10).
-Ship reference now called Ship. Ambiguous name means that it can be accessed from any code pertaining to an entity class without having to detect if it is a player ship, hostile ship, or something else allowing for very efficient code (4/10).
-Removed takeDamage from battleProc and moved it here. Changed code so that damage filters through if/then/else statements based on value comparisons to health interfaces of the ship (4/30).
-Changed takeS/A/HDamage to applyS/A/HDamage which just passes the damage value to the proper set function in Ship (4/30).
Hostile
-Most of the code has been ripped out and replaced only with what is absolutely required for this class. The other code was moved to Entity (4/10).
-Removed second constructor and merged it with the hSetup function (4/30).
-Heavily modified the hSetup function to obtain enums from data system for various information as well as placeholders for name generate based on race of crew (4/30).
MsgProc
-Made changes here to account for the making of the entity class (4/10).
-Modified the battle menu because I forgot to add the move ship option (4/30).
Player
-Same as Hostile class. Most of the code has been ripped out save for what is required for the player class (4/10).
Ship
-Added the code for the other weapon damage type getting functions in the ship class. Laser was the only one done prior to today (10/4).
-Removed second constructor and merged it with the first (10/30).
-Modified shield/armor/hull set functions to act like other such functions in Entity. They now take a value and the operation to be carried out (4/30).
-Changed all functions and member variables having to do with shield/armor/hull to float types (4/30).
-Added some extra comments for certain private member variable declarations (4/30).
June
Damage
-Started recoding processSDamage. It needs recoding for several reasons. First because piercing damage can only apply to one or two levels of health interface; the bonus cannot affect what it should not. The only way to accomplish this is to do the damage processing from within damage. procSDamage now will do direct damage in most cases. This leads to the second reason. Some changes made this month require damage processing to be done from this class and others require other interactions with ship (6/4).
-Added all three levels of piercing to processSDamage; they were missing for some reason (6/4).
-Changed the way several sections of processSDamage execute. Since turn based damage is now stored in Ship, turns and damage for those turns must be sent there for storage. I have changed these sections to reflect that need (6/4).
-Added new function, processDamage. This will take the place of takeDamage from entity which has been removed (6/4).
-Removed many references to sDamage and mDamage, these are no longer used in the determination of damage and are used solely for storing special and modified damage for required calculations in processSDamage (6/4).
-Changed how damage is setup in processWQueue. Instead of adding it directly to vDamage and then passing that to processSDamage, the randomized damage is set first to sDamage, which is added to vDamage. No damage is now passed to processSDamage as it was not needed in the first place (6/4).
-Added two new functions called getTDamage and processTDamage. Their purpose is to scan the cDamage vector in Ship for any non-zero turn-based damage and then apply the damage for that turn and decrement the turns left of that specific turn-based damage (6/18).
-Removed the code for napalm and nanite turn-based damage and replaced it with proper code for the current system. The code now sets up a new cDamage vector element instead of applying damage (6/18).
-Fixed up the processDamage code, it was hard code from entity and not formatted properly for the damage class nor how it accesses the entity classes. It now properly reflects how the damage class interacts with entity (6/18).
-Removed the last vestiges of the old turn-based damage handling, there were still some remnant code fragments here and there within the damage class (6/18).
-Repurposed tDamage variable and created tDType variable to make handling if statements for turn-based damage calculation much easier and less complicated (6/18).
-Created short circuit in damage processing if the target ship has been reduced to zero hull points (6/18).
-Began fixing bit-wise and operators back to logical and operators in processSDamage (6/28).
-Added a line of code to remove sDamage from vDamage in piercing damage processing so we did not apply the same damage twice (6/29).
-Changed how mDamage is added to sDamage. Now it just uses mDamage instead of recalculating the extra damage (6/29).
Database
-Added this class for future work in August. This class will deal with all of the interaction with the databases as needed including retrieving data and writing data to the databases (7/1).
Data System
-Added a new function named getPNames that will send the pNames array and the size of the array to Game (6/28).
-Removed shipDB, weaponDB, missionDB, and pNames array from the class. This information is now stored in an external database and will be loaded from there; no need for hard code anymore (7/1).
-While adding data into databases I found several areas where there were missing fields or incorrect values. I have fixed appx. 25 items in the ship and weapon database that would have caused bugs, crashes, and other issues (7/1).
-Ship armor, shields, hull, and weapon damage are now represented in the database as floats (7/1).
Entity
-takeDamage has been removed from Entity. It will now be dealt with by Damage (6/4).
Game
-Added several new functions to deal with planet generation: getPNames, generatePlanets, and calcPop (6/28).
-Added gPlanets vector to hold generated planets (6/28).
-Added the following variables and vector: pNRand, pERand, pSRand, pSRRand, pDRand, popRand1-3, pPMax, pPStore, sName, nCode, pNStorage, bUPName, and bPPGen (6/28).
-Added in the code to randomly generate planets and tested it separately from the rest of the code (good thing to, bugs everywhere!) (6/29).
-Moved function calls to set planet data to the end of the generatePlanets function and removed it from the other places it was used. It doesn’t need to be used after each specific section has been done; just at the end (7/1).
Message Processing
-Removed messaged from this class. The information is now stored in an external database and is no longer needed inside of the code (7/1).
Planet
-Added new variables for use later on: pM[ResourceType], pRFProduction, pRFConsumption, pRFSupply, pRWProduction, pRWConsumption, and pRWSupply (6/28).
-Changed pPop to a long long int and added pMPop (6/29).
-Changed any instances of pPop to a long long int and also added in the code for setting, getting, and in the constructor for pMPop. Changed the set functions to the same solution I am using everywhere else (6/29).
Random
-Added new function to this class to process and return a random float (6/28).
Ship
-Added many some new functions to deal with turn based damage: addTDamage and removeTDamage. There were quite a few others but I removed them since I went in a different direction later on, on this work day (6/4).
-Added a new vector to store tDamage objects for turn based damage (6/4).
-Added a new function called checkTDamage to check the vector for any 0-turn elements. If any are found a second new function, removeTDamage, is called to delete that element from the vector (6/18).
Turn Damage
-Added this class to deal with turn based damage issue I was facing. It will be used to create objects to store the number of turns to apply extra damage when a weapon with a type of damage that is turn based is used (6/4).
-Added the new class classification system to this class. It is simple a comment block with the name of the class, its purpose, how it works, when it was created, the current version, and a mini, in-code change log. Will be adding this to every class and implementation file as time goes on (6/4).
-Changed protected keyword to private since I went a different way with the class than I had originally intended (6/28).
October
Project Wide
-Edited all calls to mRMessage and change them so that they are printed out in a cout so take into account for the new code for the function (10/30).
Battle Processing
-Changed bFSolutions function. It will only deal with the player actions now, several new functions will be added to deal with the automation of the attack style process for non-player entities (10/9).
-Fixed a major issue with how rewards are processed. Before the player class was not being updated after the battle was over so the rewards would not be permanent. Changed the endBattle function so that it takes two player objects, one being the main player reference and the other being the player’s data stored in the pTeam vector. The vector player object is now saved into the main player reference at the end of the function (10/9).
-Started working on the AI for NPCs in the battle loop and added the disable timer decrement function into the if statements for disabled ships (10/9).
-Renamed pRetreat to bRetreat and also added in the function, did not realize it was not coded. Retreat is based on several value ranges between 1 and 100 and will, in later versions, also be based on certain types of ECM and warp disruption/improvement modules (10/9).
-Fixed some incorrect if statement calls to the player class. It was calling on the main player reference instead of the player object in the pTeam vector as well as incorrect callings to the vector which were still setup to work with the pTeam array that I had missed changing (10/9).
-Added the variable bRChance for storing the randomized retreat value (10/9).
-Added include and reference for map class (10/10).
-Added function call for battle map setup (10/10).
-Added several new variables: pTChoice, hTChoice, bIsPTFighitng, and bIsHTFighting for tracking team leader targets and if a specific team is in battle to determine targets and actions for AI (10/11).
-Edited the bFSolutions function a bit since NPCs will be getting their own function for this purpose (10/11).
-Added in some TODOs for dealing with AI and what will be needed in the future (10/11).
-Added in ship destroyed checks for player wingmen and hostile ships to the battle loop if statements (10/11).
-Changed the way that wingmen will be taken care of. Wingmen are now part of a player class vector based on an entity subclass called wingmen. Will be recoding large swaths of the battle processing class tomorrow to accommodate this change (10/11).
-Began the process of renaming all hTeam and pTeam references to mHostile and mPlayer as well as figuring out how to adapt the current code for the most recent changes (10/12).
-Removed an extra ‘allies’ variable set that was not needed (10/12).
-Completely rewrote most of the battle loop for changes made in previous days (10/14).
-Rewrote the endBattle function for the same reasons as above (10/14).
-Removed the mHostile passes to initHR# functions because they are not needed (10/14).
-Rewrote the bAPArticipants function to account for the changes (10/14).
-Many parts of the bFSolutions had to be rewritten because of the changed (10/14).
-Removed some of the comments at the beginning of the cpp file due to ideas having been completed (10/19).
-Changed a few function calls for changes made in other classes due to the changes being made to this class (10/19).
-Added a TODO to end of bInit to remind myself to add in the other five rank initializations (10/19).
-Many changed have been made to the initHR# functions. First I recoded them to account for the recent changes to this class. Then I went about fixing some problems I found with how they sectioned out weapons between the first and second functions. I then added the code for the third and fourth functions as well (10/19).
-Fixed a problem that would have caused serious bugs in the bFSolutions function where if a wingman was selected as the target it would have been possible to send the code out of bounds of the eWingmen vector causing crashes or incorrect targets being supplied (10/19).
Damage
-Started adding in distance checks for weapons for damage modification (10/11).
-Added variable mDistance to hold calculated distance between the attacker and target for use in determining positive and negative damage bonuses (10/11).
-Added in the rest of the range processing for damage on added weapons (still need to do rail guns and heavy weapons) (10/11).
-Added a TODO reminding myself that bonus damage from optimum distance attacks needs to be randomized in the future, right now you will do double damage. In future updates this will be between 1.5% and 2.5% (10/11).
-Added bomb collateral damage calculations (10/11).
-Fixed some lingering bitwise ands that I had missed in previous updates in the processSDamage function (10/11).
-Fixed another issue in the processSDamage where some damages were being turned into doubles instead of floats (10/11).
-Added another variable, dBCollateral, for storing the amount of extra damage caused by the weight of the bomb (10/11).
Database
-Added several functions for dealing with opening, querying, and retrieving data from the database: openDB, tableTAccess, createStatement, getResults, returnResults (10/2).
-Added SQLite3 variables to hold the database and SQL statement (10/2).
-Added vectors to store database query results (10/2).
-Finished off coding basic framework for connecting to the database, selecting the table, querying the table, getting the result set information, and then returning those results. Still a lot of work to do in fleshing out the rest of the functions for each struct (10/3).
-Started coding the functions for getting data from the database and then returning it. Found some problems with mission function, it was missing several items causing the returned data to be incorrect (10/5).
-Tested the process in the SC Testbed project and found that there were some major issues. Due to testing I made some changes to the way the function to query the database executes, must check for a valid row queried first; got the code working properly (10/5).
-Started work for creating and determining how to partition off and connect the save database with the main database as a means of determining what unique information has been used. This may be done through physical connections between the two databases or through the code itself through querying the two databases and searching for in-common data (more resource intensive but more likely to work properly) (10/6).
-Fixed a change I made when testing something that I forgot to revert; added a second ‘missions’ vector to the returnMResults function to make sure no conflicts would occur (10/19).
-Added the function and code to return queried messages from the database class (10/19).
Data Placeholder
-Created the data placeholder file which will contain data structs for the various types of data that will be pulled from the database so that the data can be stored in their native types in the vectors until needed (10/2).
-Added several structs: ship, weapon, mission, message, planetName, planetData, empires, corporations, ranks, diplomacy, race (10/3).
Data System
-Added vectors to store data retrieved from the Database class while this one searches through the data for other classes and returns the necessary information (10/3).
-Renamed most of the vectors for data storage so they would be different from the structs they were representing. Found out during the test of the code that the names caused compile errors (10/6).
-Added a new string variable to hold converted data (10/6).
-Continued recoding the data grabbing functions in this class so that information can be obtained through the new database method. Also worked on adding in some basic validity and value checking so that -1’s, nulls, and zeros in specific fields of the database will be returned as, essentially, “not available” messages (10/6).
-Started considering what changes project-wide will be required due to the change in the database method (10/6).
-Added the rest of the database calls for the different types of data currently stored there and will continue to add more as other types of data are created and stored within the main SC database (10/6).
-Added the in-file change log into the header for this class (10/9).
-Removed calls to rData from all data retrieval functions to keep code repeat down. This will need to be called before the other data query functions are called so that the vector can be setup for the particular item in question (10/9).
-Added the code to query the database for messages to the rData function (10/19).
-Removed all of the xCode parameters from the ‘get’ functions as they are no longer needed (10/19).
-Added the function to return the text of a queries message to the requesting class (10/19).
-Added two new functions to return the race and rank values from the database (10/28).
Entity
-Moved getNOWingmen function and wingmen vector, now called eWingmen, to this class so that all child classes can have access to it (10/12).
-Changed the messageProcessing reference from msg to mp to fit in with the naming convention used in all other files (10/30).
Hard Point
-Removed iCode passes from hard point constructors since these will no longer be needed due to changes in the Ship class (10/28).
-Edited the code for the hard point constructors to take into account the above changes to the header files (10/28).
Hostile
-Edited the constructor slightly for the new database functions (10/28).
-Changed hSetup to use the new data acquisition methods and removed the switches that were being used; removed over 60 lines of code in total and replaced with five lines (10/28).
Map
-Added the map class and began work on re-creating the 3-point cord system used in v0.4a (10/10).
-Added the quadratic distance formula for calculating the distance between two points in space based on XYZ coordinates (10/10).
-Added function to set the cords for starting positions in battle. The first entity in the pTeam and hTeam vectors is the anchor point while the remaining entities are placed randomly within a ±1 to ±5 random range on each coordinate (10/10).
-Fixed a compile problem caused by circular referencing between this class and the entity class (10/11).
-Changed setPOS function to take Player and Hostile parameters instead of pTeam and hTeam vectors (10/12).
-Changed any references of pTeam and hTeam to their correct references (10/12).
Message Processing
-Added bCSpread function, it was apparently not added (10/10).
-Changed the pBStatus and hBStatus functions to take class references instead of vectors (10/19).
-Major changes to the two functions above have taken place. All of the inter-defined variables have been stripped out and redefined within the class structure and changes have been made so that the main player/hostile class can be accessed separately of the wingmen class of each entity. It is a much more code-intensive method but I have found no way around it as of yet (10/19).
-I have recoded mRMessage so that it will now call rData from dataSystem and then call and return the result of getMsg from dataSystem. All function calls to this function remain the same (10/19).
-Removed variable types from bHStatus, left some of them in by mistake (10/21).
-Added a new function for the movement system menu options (10/21).
-Added a TODO to remind myself to add a bomb weapon spread menu function (10/28).
Player
-Added a new vector called Wingmen to store wingman objects for battle processing. This is being done to deal with a particular hurdle that would have required a lot of code to account for otherwise (10/11).
-Added a new function to get the size of the pWingmen vector so iteration can be undertaken in other classes and not exceed the bounds of the vector (10/11).
-Moved the pWingmen vector out of this class and into Entity so that all subclasses can use it (10/12).
-Edited the pCShip function slightly for the new database functions (10/28).
-Removed parameter from iWeapon calls in pCxWeap functions and removed the setWeight call from the bomb function as it is no longer needed (iWeapon now sets the weight) (10/28).
Ship
-Added new function to decrement the disabled timer and reverse shield/ship disabled flags (10/9).
-Added new variables and functions to get and set XYZ position on the battle map (10/10).
-Copied SC v0.4 movement system over to v0.5 and made the many necessary changes to make it work with this version of the game (10/21).
-Added several new variables to deal with the movement system added today as well as editing some of the mRMessage calls so that they work properly with the new message retrieval system. Will be making changes to the rest of those function calls later this month (10/21).
-Added extra checks into the initHPoints function to display a message if there are no open hard points for a particular weapon group (10/28).
-Added an AI version of initHPoints that uses the functionality of the previous version of the function without the messages (10/28).
-Changed the way initShip executes. Now that we have a new method for getting data the old data access function calls had to be removed and a call to rData had to be added (10/28).
-Changed iWeapon function a bit. Added calls to wSetup to take place in order to get data loaded for the iWeapon function in the weapon classes. I also added rail guns and heavy weapons to the function, they were missing (10/28).
Weapon
-Added a new function called initWeapon to initialize the weapon name to “Not Initialized” for used in later weapon installation processes (10/28).
-Changed wSetup function so that it calls rData with the passed wCode. This sets up the data for retrieval in the iWeapon function (10/28).
-All iWeapon functions changed to reflect the new data acquisition method (10/28).
-I found some strange problems in the implementation file. Some functions were repeated or not placed in the correct areas. Offending blocks of code were either removed or moved to the correct areas (10/28).
-Added the functions for several classes that were missing them, such as the getWeapon function in Rail and Heavy as well as some get functions in Heavy (10/28).
-Removed setWeight from the bomb class as iWeapon now sets that variable (10/28).
Wingman
-Created this new class to deal with wingman entities; this way wingmen can be initialized from the station when they are hired, the Player can modify their load outs, and they are not as costly because all of the unnecessary Player variables and functions are not included saving memory space. Some new issues are presented but they are going to be less code intensive as things were previously and less convoluted (10/11).
-Added the constructor for this class to the cpp file (10/19).
-Added a new function, wSetup, to initialize the variables of the class and associated member class(es) (10/19).