Hello everyone and welcome to the progress update for Space Crusade for October of 2012. I want to start off by stating that I have changed the changelog format slightly to facilitate easier adaptation to these updates. Previously I had to go through each day of work and examine what was done for a specific section before being able to write about what had been accomplished.
Well no more, it was too inefficient and way too tedious so I have decided to expand each area of the game worked on to replace the by-date styled change log. Entries will not have a date marker in them so you can tell when it was done on but it will now be broken down by class instead of day.
With that in mind let's discuss what I did and did not get done. Right off the bat I want to mention I missed my due date for the corporations wiki page. I had not forgotten about it I just could not find the time to work on it. I have a break coming up in December for the last two weeks of it and the first of January. This gives me some good amount of time to work on projects and I will try and fit it into there somewhere amid the flurry of other activity that will be going on then.
Secondly I mention in the Dev VLog about more work to be done; did not get around to it.
So on to what I actually did do:
I moved the inventory variables and class members over to Station where they actually belong and will also be adding them to the Ship class as well. Because of this ships will now also have cargo holds that you can store things in, from weapons to ammo, to spoils from battles. Each ship will have a different amount of space available inline with their physical characteristics (frigates will have the least amount of space, for example, while titans will have the most except for specialized ships and some motherships).
I also decided to do a bit of consolidation and lateral programming. Since there are times where we might want to add, remove, or set the player's resources to a specific value I decided that instead of making three versions for each I will just pass an operation string to those functions that tells the program what it is supposed to do. For example if you buy an item the resource cost will be sent to each of the set functions along with the minus flag. This will tell the program to subtract the passed value from your resources.
For the Station class several changes and additions were made. First, as mentioned above, I have moved the inventory stuff into the station class. I also added functions to add space and storage slots to your station inventory, for a price.
The other big change I made was to split the Station class similarly to what I did with Planet. There is now a Station class and a Station Processing class where menus and other types of operations similar to those are carried out. Station is solely for initializing each individual station now so that it can be added to the created stations vector in StationProc.
A lot of moving occurred within this class. I moved the inventory variables from and back to this class over the course of October. I do not mention moving them back in the change log though but I did. I also added two new functions to get the current and max storage space for the player's station inventory for a particular station.
I did, however, move a few functions over to StationProc that work better there due to what they are to be used for and I also fixed a constructor for the Station class so that it would setup the vector to store station objects. I added an int parameter to getISItem function so that it would be easier to get the item information and I also removed getSISlot due to forgetting what it was for and because the code was depreciated by another function.
Station Processing Class
Added a getStation function so that we can obtain station information from the vector and added said cStations vector to the class. Next I modified the sMenu, sLoop, sWMLoop, sSMLoop, sMMLoop, sRepair, bClone, useClone,sShop, sBar, sBOffice, sEAFOffice, and sMPurchase functions.
Finished the code for the sBISLot function, which allows you to buy inventory slots. This function was one of three moved from Station back to StationProc since they operate on Station variables. Added required reference passes and modified functions to that end. I also removed any references to Message Processing since it has no stored values and does not need to be instanced. The space buying function was also completed.
Added the boolean variable bDone for use with several functions where a while loop was required. Changed sSItem by changing the for loop originally used into a while loop for better control.
Changed iWeapon from a void type to a boolean type so that if no free hard points are found in a Weapon class function then it returns a false. I also added the code for that iWeapon function.
Message Proc Class
Finished the menus for the inventory slots and space buying menus and fixed a few things there in that would have caused bugs later on. In addition finished the sBISMenu and sISItem functions.
Added iWeapon function and code to each weapon sub-class.
Developer's VLog Edition II
Well that is all for this progress report, I will be updating the change log either later on today or sometime tomorrow. Thanks for following the project.