StarTrekV3_Linux
Version3
|
#include <stdio.h>
#include <iostream>
#include <time.h>
#include <allegro5/allegro.h>
#include <allegro5/allegro_native_dialog.h>
#include <allegro5/allegro_image.h>
#include <allegro5/allegro_primitives.h>
#include <allegro5/allegro_audio.h>
#include <allegro5/allegro_acodec.h>
#include <map>
#include <vector>
#include "version.h"
#include "utils.h"
#include "FontManager.h"
#include "SoundManager.h"
#include "Paralax.h"
#include "Engine.h"
#include "Bullet.h"
#include "Animation.h"
#include "Universe.h"
#include "Enterprise.h"
#include "Romulan_BOP.h"
#include "Klingon_BC.h"
#include "Klingon_BOP.h"
#include "SpaceObject.h"
#include "Starbase.h"
#include "Federation_Ship.h"
#include "KeyMapper.h"
#include "Communication.h"
#include "Probe.h"
#include "Menu.h"
#include "SaveSlots.h"
Functions | |
void | get_desktop_resolution (int a_nAdapter, int *a_pWidth, int *a_pHeighth) |
Get the desktop resolution. More... | |
void | NewUniverse () |
This function creates a new universe. More... | |
void | NewSector (int a_nX, int a_nY) |
Clears the Engine, keeping the Enterprise and builds a new Playingfield from a sector in the universe. More... | |
void | CheckSectorBounds () |
Checks if the enterprise leaves this sector. More... | |
void | DoKeymap () |
Invoke a keymapping functionality so you can customize the controls. still a Rough implementation. More... | |
void | DoMenu () |
invoke menu ( not implemented yet ) More... | |
void | DoGame () |
The actual game loop. More... | |
void | DoIntro () |
Intro screen. More... | |
void | DoLoadScreen () |
screen for loading a game More... | |
void | DoSaveScreen () |
screen for saving a game More... | |
void | NewGame () |
start a new game More... | |
void | SaveGame () |
save current game More... | |
void | SetupLoadScreen () |
setup load screen More... | |
void | Quit () |
quit program More... | |
void | ReturnToGame () |
return to running game More... | |
void | SaveMapping () |
Save key mapping. More... | |
void | LoadMapping () |
Load key Mapping. More... | |
const string | currentDateTime () |
get the date and time More... | |
void | LoadGame (string a_strLoadName) |
bool | InitObjects () |
Initializes all Classes using resources for multiple instances. Sprite classes for example. More... | |
void | DeInitObjects () |
Some classes better be DeInited when using multiple resources. Allegro frees them anyway but Valgrind doesn't like it that way. More... | |
bool | Setup () |
Setup and initialize Allegro, the game Engine, Sprite Classes, Sound manager etc. More... | |
void | ShutDown () |
Shutdown and free, Engine, Paralax sprite Objects, allegro etc. More... | |
void | Render () |
Render the correct screen according to the gamestate. More... | |
void | GameCycle () |
Process a game cycle Calls the AI function of the game objects Invokes the next Communication message. More... | |
void | KeyDown (int a_nKey) |
KeyDown event handler. More... | |
void | KeyUp (int a_nKey) |
KeyUp event handler. More... | |
void | Mouse (ALLEGRO_MOUSE_EVENT *mouse_event) |
mouse event handler More... | |
void | MouseButtonDown (ALLEGRO_MOUSE_EVENT *mouse_event) |
MouseButtonDown event handler. More... | |
void | MouseButtonUp (ALLEGRO_MOUSE_EVENT *mouse_event) |
MouseButtonUp event handler. More... | |
void | Timer (ALLEGRO_TIMER_EVENT *timer_event) |
Timer event handler. More... | |
int | main (int argc, char **argv) |
Program entry. More... | |
Variables | |
char | g_szFileName [] = "MyGame.sav" |
bool | g_blGodMode = false |
ALLEGRO_PATH * | g_pSavePath = NULL |
General save path. More... | |
ALLEGRO_PATH * | g_pScreenshotPath = NULL |
Path for screenshots. More... | |
ALLEGRO_DISPLAY * | g_pDisplay = NULL |
The display for graphics... More... | |
ALLEGRO_EVENT_QUEUE * | g_pEventQueue = NULL |
The event queue. More... | |
bool | g_blQuit = false |
bool | g_blEscape = false |
double | g_nCyclesPerSecond = 60 |
game logic cycles per second More... | |
double | g_dLastTime |
last polled system time to calculate deltatime More... | |
int | g_nScreenMode = MODE_MAINSCREEN |
screenmode.. what screen should be visible [Main] [Engineering] [Navigation] etc More... | |
vector< int > | g_vGameState |
Gamestate stack [Menu] [Intro] [Game]. More... | |
int | g_nScreenWidth |
int | g_nScreenHeight |
ALLEGRO_TIMER * | g_pTimer =0 |
Universe * | g_pUniverse = NULL |
Pointer to universe Object. More... | |
TKeyMapper * | g_pKeyMapper = NULL |
Pointer to Keymapper. More... | |
TEngine * | g_pEngine = NULL |
Pointer to Game Engine. More... | |
Paralax * | g_pParalax = NULL |
Pointer Paralax system. More... | |
TEnterprise * | g_pEnterprise = NULL |
Pointer to The enterprise ( The player !) More... | |
Communication * | g_pCommunication = NULL |
Pointer to The Communication System. More... | |
TMenu * | g_pMenu = NULL |
Pointer to the menu system. More... | |
SlotManager * | g_pSlotManager = NULL |
Main source file, containing the game loop and setup and initialization functions. Also basic game rules like sector bounds checking and game state switching is implemented here.
void CheckSectorBounds | ( | ) |
Checks if the enterprise leaves this sector.
Checks if the Enterprise crossed the borders of a sector If so it stores the old sector in the universe and calls void NewSector(int a_nX, int a_nY)
const string currentDateTime | ( | ) |
get the date and time
void DeInitObjects | ( | ) |
Some classes better be DeInited when using multiple resources. Allegro frees them anyway but Valgrind doesn't like it that way.
void DoGame | ( | ) |
The actual game loop.
Move everything in the engine. Free all destroyed objects. Check the sector bounds Move the paralax Draw everything.
void DoIntro | ( | ) |
Intro screen.
Handle the Introduction screen, Not implemented yet.
void DoKeymap | ( | ) |
Invoke a keymapping functionality so you can customize the controls. still a Rough implementation.
void DoLoadScreen | ( | ) |
screen for loading a game
void DoMenu | ( | ) |
invoke menu ( not implemented yet )
Handle the Menu, Not implemented yet [New Game] [Load] [Save] [Help].
void DoSaveScreen | ( | ) |
screen for saving a game
void GameCycle | ( | ) |
Process a game cycle Calls the AI function of the game objects Invokes the next Communication message.
void get_desktop_resolution | ( | int | a_nAdapter, |
int * | a_pWidth, | ||
int * | a_pHeighth | ||
) |
Get the desktop resolution.
Gets the desktop resolution Currently not in use !
int | a_nAdapter Number of the screen adapter in use |
int | *a_pWidth OUT ScreenWidth |
int | *a_pHeighth OUT ScreenHeight |
bool InitObjects | ( | ) |
Initializes all Classes using resources for multiple instances. Sprite classes for example.
void KeyDown | ( | int | a_nKey | ) |
KeyDown event handler.
int | a_nKey The key code |
void KeyUp | ( | int | a_nKey | ) |
KeyUp event handler.
int | a_nKey The key code |
void LoadGame | ( | string | a_strLoadName | ) |
void LoadMapping | ( | ) |
Load key Mapping.
int main | ( | int | argc, |
char ** | argv | ||
) |
Program entry.
int | argc Number of program arguments ( not used yet) |
char | **argv Argument list ( not used yet) |
void Mouse | ( | ALLEGRO_MOUSE_EVENT * | mouse_event | ) |
mouse event handler
ALLEGRO_MOUSE_EVENT | * mouse_event |
void MouseButtonDown | ( | ALLEGRO_MOUSE_EVENT * | mouse_event | ) |
MouseButtonDown event handler.
ALLEGRO_MOUSE_EVENT | * mouse_event |
void MouseButtonUp | ( | ALLEGRO_MOUSE_EVENT * | mouse_event | ) |
MouseButtonUp event handler.
ALLEGRO_MOUSE_EVENT | * mouse_event |
void NewGame | ( | ) |
start a new game
void NewSector | ( | int | a_nX, |
int | a_nY | ||
) |
Clears the Engine, keeping the Enterprise and builds a new Playingfield from a sector in the universe.
When the Enterprise enters a new sector This function builds a new playing field from the sector you just entered.
int | a_nX X position of new sector |
int | a_nY Y position of new sector |
void NewUniverse | ( | ) |
This function creates a new universe.
Builds a new universe and sets Enterprise home position This creates a new game !
void Quit | ( | ) |
quit program
void Render | ( | ) |
Render the correct screen according to the gamestate.
void ReturnToGame | ( | ) |
return to running game
void SaveGame | ( | ) |
save current game
void SaveMapping | ( | ) |
Save key mapping.
bool Setup | ( | ) |
Setup and initialize Allegro, the game Engine, Sprite Classes, Sound manager etc.
void SetupLoadScreen | ( | ) |
setup load screen
void ShutDown | ( | ) |
Shutdown and free, Engine, Paralax sprite Objects, allegro etc.
void Timer | ( | ALLEGRO_TIMER_EVENT * | timer_event | ) |
Timer event handler.
ALLEGRO_TIMER_EVENT | * timer_event |
bool g_blEscape = false |
bool g_blGodMode = false |
bool g_blQuit = false |
double g_dLastTime |
last polled system time to calculate deltatime
double g_nCyclesPerSecond = 60 |
game logic cycles per second
int g_nScreenHeight |
int g_nScreenMode = MODE_MAINSCREEN |
screenmode.. what screen should be visible [Main] [Engineering] [Navigation] etc
int g_nScreenWidth |
Communication* g_pCommunication = NULL |
Pointer to The Communication System.
ALLEGRO_DISPLAY* g_pDisplay = NULL |
The display for graphics...
TEngine* g_pEngine = NULL |
Pointer to Game Engine.
TEnterprise* g_pEnterprise = NULL |
Pointer to The enterprise ( The player !)
ALLEGRO_EVENT_QUEUE* g_pEventQueue = NULL |
The event queue.
TKeyMapper* g_pKeyMapper = NULL |
Pointer to Keymapper.
TMenu* g_pMenu = NULL |
Pointer to the menu system.
ALLEGRO_PATH* g_pSavePath = NULL |
General save path.
ALLEGRO_PATH* g_pScreenshotPath = NULL |
Path for screenshots.
SlotManager* g_pSlotManager = NULL |
ALLEGRO_TIMER* g_pTimer =0 |
Universe* g_pUniverse = NULL |
Pointer to universe Object.
char g_szFileName[] = "MyGame.sav" |
vector<int> g_vGameState |
Gamestate stack [Menu] [Intro] [Game].