Quote: "Dark Invaders example covers this but not well enough for what I'm trying to do"
You are right, this is not necessarily a good example when programming in C/C++.
I would put all the properties of the weapon into one structure.
Quote: "I'm trying to code in a 2D 3rd Person M16 rifle that rapidly fires or 3 round burst on button press."
I don't know what you mean by 2D 3rd person. I only know side scroller, vertical scroller, top down and isometric scroller in 2D.
But actually the perspective doesn't matter.
To make it more modular, you should create a structure for the bullets and one for the weapon to be fired.
The bullets structure could contain
{
Sprite,
direction of movement,
Speed,
Damage,
fraction by whom it was fired
}
The weapons structure could contain
{
Image,
Name and description (important for the shop?),
Cooldown (time between two shots),
Damage per bullet,
Firing speed,
Firing mode (0 = single shot, 1 = auto fire until key is released, n = number of shots fired with each key press).
}
Some of the values have to be copied from the weapon structure to the bullet structure.
Such as Damage, Speed, and Faction (Player or Enemy).
Quote: "How to I create a weapons store? I got some ideas but asking for a basic scope as I have built game weapons before but its my 1st time doing it end to end including a weapons store."
To do this, you can further expand the weapon structure with e.g.
{
costs,
condition,
size,
weight,
Knowledge required,
ect.
}
You can then manage the available weapons in an array (std::vector) or in a linked list (std::list). Of course you can also manage them in a key map (std::map).
Quote: "Last how can I create a save game system in DarkGDK? This is my 1st time having to do it."
Here you can also work with structures. All player data position, equipment, money, player condition could be inside.
Another structure could then contain current level data. Not found equipment, destroyed landscape elements depending on how complex your level is built.
Quote: "how do I create a health bar in DarkGDK? I have done a basic health bar but I haven't done it end to end."
That depends on your requirements.
The easiest way is to load a coloured plane (preferably white) as a sprite.
and set the initial size and position via dbSetSpriteSize dbSetSpritePosition.
and then adjust the size and colour (dbSetSpriteDiffuse) to your current state.
Quote: "Anyone know good software for Old 2D style cutscenes (No animation just Old School 90's early 2000's screenshot)?"
Sorry, but I really can't do anything with that. You can take a screenshot simply by pressing the 'Print' key.
Or with the snipping tool provided by Windows ([Win]+[Shift]+[S] or enter it in the windows search).
But I'm afraid that's not what you're looking for.
I apologise for not including sample code. My DarkGDK is a bit rusty.
But if it becomes absolutely necessary I can certainly dig out one or the other.