Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

sg.cpp File Reference

THE main program: ASC. More...

#include "global.h"
#include <stdio.h>
#include <stdlib.h>
#include <new>
#include <cstdlib>
#include <ctype.h>
#include <algorithm>
#include <memory>
#include <boost/regex.hpp>
#include "paradialog.h"
#include "vehicletype.h"
#include "buildingtype.h"
#include "ai/ai.h"
#include "misc.h"
#include "events.h"
#include "typen.h"
#include "spfst.h"
#include "loaders.h"
#include "dlg_box.h"
#include "controls.h"
#include "dialog.h"
#include "strtmesg.h"
#include "gamedlg.h"
#include "sg.h"
#include "gameoptions.h"
#include "loadimage.h"
#include "astar2.h"
#include "errors.h"
#include "dialogs/pwd_dlg.h"
#include "viewcalculation.h"
#include "replay.h"
#include "graphicset.h"
#include "loadbi3.h"
#include "itemrepository.h"
#include "music.h"
#include "messagedlg.h"
#include "statisticdialog.h"
#include "clipboard.h"
#include "guifunctions.h"
#include "iconrepository.h"
#include "dashboard.h"
#include "gamedialog.h"
#include "unitset.h"
#include "asc-mainscreen.h"
#include "dialogs/unitinfodialog.h"
#include "messaginghub.h"
#include "cannedmessages.h"
#include "memorycheck.cpp"
#include "networkinterface.h"
#include "resourcenet.h"
#include "mapimageexport.h"
#include "loadpcx.h"
#include "gameeventsystem.h"
#include "sdl/sound.h"
#include "soundList.h"
#include "turncontrol.h"
#include "networksupervisor.h"
#include "dialogs/newgame.h"
#include "dialogs/soundsettings.h"
#include "dialogs/alliancesetup.h"
#include "dialogs/unitcounting.h"
#include "dialogs/editgameoptions.h"
#include "dialogs/nextcampaignmap.h"
#include "dialogs/terraininfo.h"
#include "dialogs/editplayerdata.h"
#include "dialogs/locatefile.h"
#include "stdio-errorhandler.h"
#include "widgets/textrenderer.h"
#include "dialogs/productionanalysis.h"
#include "dialogs/fileselector.h"
#include "containerbase-functions.h"
#include "memory-measurement.h"
#include "dialogs/mailoptionseditor.h"
#include "clparser/asc.cpp"

Include dependency graph for sg.cpp:

Go to the source code of this file.

Defines

#define mmaintainence

Enumerations

enum  MapTypeLoaded { None, Map, Savegame, Mailfile }

Functions

tfieldgetSelectedField (void)
bool maintainencecheck (void)
void positionCursor (Player &player)
void viewcomp (Player &player)
void hookGuiToMap (GameMap *map)
bool loadGame (const ASCString &filename)
bool loadGame (bool mostRecent)
void saveGame (bool as)
void loadmap (const ASCString &name, bool campaign)
MapTypeLoaded loadStartupMap (const char *gameToLoad=NULL)
void startnextcampaignmap (int id)
void benchgame (bool withViewCalc)
void showSearchPath ()
void changePassword (GameMap *gamemap)
void showSDLInfo ()
void helpAbout ()
void execuseraction (tuseractions action)
bool continueAndStartMultiplayerGame (bool mostRecent=false)
void ammoCounter (const ContainerBase *c, map< int, int > &amount)
void showCargoSummary (tfield *fld)
void viewFont ()
void resourceAnalysis ()
void showUnitEndurance ()
void showMemoryFootprint ()
void viewMiningPower ()
void execuseraction2 (tuseractions action)
void execUserAction_ev (tuseractions action)
 takes care of event system switching between old and new functions
bool mainloopidle (PG_MessageObject *msgObj)
pfont load_font (const char *name)
void resetActions (GameMap &map)
void loaddata (int resolx, int resoly)
void diplomaticChange (GameMap *gm, int p1, int p2)
int gamethread (void *data)
void tributeTransfer (Player &player)
void deployMapPlayingHooks (GameMap *map)
int main (int argc, char *argv[])


Detailed Description

THE main program: ASC.

Definition in file sg.cpp.


Define Documentation

#define mmaintainence
 

Definition at line 170 of file sg.cpp.


Enumeration Type Documentation

enum MapTypeLoaded
 

Enumeration values:
None 
Map 
Savegame 
Mailfile 

Definition at line 337 of file sg.cpp.


Function Documentation

void ammoCounter const ContainerBase c,
map< int, int > &  amount
 

Definition at line 931 of file sg.cpp.

References cwaffentypennum, ContainerBase::getAmmo(), ContainerBase::getAvailableResource(), ContainerBase::getCargo(), maxint, and weaponAmmo.

Referenced by showCargoSummary().

void benchgame bool  withViewCalc  ) 
 

Definition at line 446 of file sg.cpp.

References actmap, computeview(), infoMessage(), repaintMap, and ticker.

Referenced by execuseraction().

void changePassword GameMap gamemap  ) 
 

Definition at line 499 of file sg.cpp.

References enterpassword(), Player::getHumanPlayerNum(), infoMessage(), and viewtextquery().

Referenced by execuseraction2().

bool continueAndStartMultiplayerGame bool  mostRecent = false  ) 
 

Definition at line 919 of file sg.cpp.

References actmap, continuenetworkgame(), displaymap(), and hookGuiToMap().

Referenced by execuseraction2().

void deployMapPlayingHooks GameMap map  ) 
 

Definition at line 1629 of file sg.cpp.

References initReplayLogging(), GameMap::sigPlayerTurnBegins, and tributeTransfer().

Referenced by main().

void diplomaticChange GameMap gm,
int  p1,
int  p2
 

Definition at line 1472 of file sg.cpp.

References computeview(), mapChanged, and repaintMap.

Referenced by gamethread().

void execuseraction tuseractions  action  ) 
 

Definition at line 605 of file sg.cpp.

References Research::activetechnology, actmap, GameMap::actplayer, Player::ai, benchgame(), bi3preferences(), Research::cancel(), cgp_disableUnitTransfer, choice_dlg(), clipboardFileExtension, computeview(), Research::developedTechnologies, displaymap(), displaymessage(), displaymessage2(), tdialogbox::done(), editjournal(), GameMap::getCursor(), GameMap::getField(), GameMap::getgameparameter(), SoundSystem::getInstance(), getnextfilenumname(), PG_Application::GetScreen(), getSelectedField(), giveunitaway(), help(), helpAbout(), infoMessage(), tviewanytext::init(), CGameOptions::Instance(), logtoreplayinfo(), mainScreenWidget, maintainencecheck(), mouseparams, Technology::name, Vehicle::networkid, newmessage(), GameMap::player, Vehicle::prepareForCleanRemove(), releasetimeslice(), repaintDisplay, Player::research, rpl_cancelResearch, rpl_cutFromGame, BaseAI::run(), tviewanytext::run(), savegame(), selectFile(), selectPlayList(), settributepayments(), showGameParameters(), ASC_MainScreenWidget::showMovementRange(), showPlayerTime(), showSDLInfo(), ASC_MainScreenWidget::showWeaponRange(), statisticDialog(), strrr(), tmousesettings::taste, technologyRepository, MainScreenWidget::toggleMapLayer(), ua_aibench, ua_benchgamewov, ua_benchgamewv, ua_bi3preferences, ua_cancelResearch, ua_changeresourceview, ua_computerturn, ua_editjournal, ua_exportUnitToFile, ua_GameParameterInfo, ua_giveunitaway, ua_help, ua_howtocontinuepbem, ua_howtostartpbem, ua_newmessage, ua_repaint, ua_repainthard, ua_SDLinfo, ua_selectPlayList, ua_settribute, ua_setupnetwork, ua_showCargoLayer, ua_showPlayerSpeed, ua_showResearchStatus, ua_statisticdialog, ua_togglesound, ua_toggleunitshading, ua_UnitSetInfo, ua_viewaboutmessage, ua_viewjournal, ua_viewlayerhelp, ua_viewqueuedmessages, ua_viewreceivedmessages, ua_viewsentmessages, ua_viewunitmovementrange, ua_viewunitweaponrange, ua_visibilityInfo, ua_writescreentopcx, GameMap::unsentmessage, viewjournal(), viewmessages(), viewUnitSetinfo(), writepcx(), and tnstream::writing.

Referenced by execUserAction_ev().

void execuseraction2 tuseractions  action  ) 
 

Definition at line 1174 of file sg.cpp.

References actmap, GameMap::actplayer, ASC_MainScreenWidget::ButtonPanel, ContainerBase::cargoWeight(), changePassword(), choice_dlg(), IconRepository::clear(), computeview(), continueAndStartMultiplayerGame(), displaymap(), editEmailOptions(), editGameOptions(), editPlayerData(), MessagingHubBase::Error, MessagingHubBase::FatalError, fieldVisibility(), fieldvisiblenow(), GameDialog::gameDialog(), GameMap::getCurrentPlayer(), GameMap::getCursor(), GameMap::getField(), MainScreenWidget::getMapDisplay(), ContainerBase::getOwner(), getPGApplication(), getSelectedField(), MessagingHubBase::InfoMessage, infoMessage(), loadGame(), locateFile(), mainScreenWidget, ASC_MainScreenWidget::MapControl, GameTime::move(), networksupervisor(), newreminder(), ASC_MainScreenWidget::OverviewMap, PEACE_SV, GameMap::player, repaintMap, researchinfo(), resourceAnalysis(), ASC_PG_Dialog::RunModal(), GotoPosition::RunModal(), saveGame(), selectgraphicset(), setupalliances(), PG_Widget::Show(), showCargoSummary(), showMemoryFootprint(), showSearchPath(), showUnitEndurance(), showUnitSummary(), soundSettings(), ASC_MainScreenWidget::spawnPanel(), startMultiplayerGame(), Player::supervisor, GameMap::time, ASCString::toString(), GameTime::turn(), Vehicle::typ, ua_cargosummary, ua_changepassword, ua_clearImageCache, ua_continuenetworkgame, ua_continuerecentnetworkgame, ua_createReminder, ua_decrease_zoom, ua_editPlayerData, ua_emailOptions, ua_exitgame, ua_gamepreferences, ua_GameStatus, ua_getMemoryFootprint, ua_gotoPosition, ua_increase_zoom, ua_loadgame, ua_loadrecentgame, ua_locatefile, ua_mainmenu, ua_networksupervisor, ua_newGame, ua_reloadDlgTheme, ua_researchinfo, ua_resourceAnalysis, ua_savegame, ua_selectgraphicset, ua_setupalliances, ua_showMiningPower, ua_showsearchdirs, ua_showTechAdapter, ua_showUnitEndurance, ua_soundDialog, ua_testMessages, ua_unitproductionanalysis, ua_unitsummary, ua_unitweightinfo, ua_vehicleinfo, ua_viewButtonPanel, ua_viewfont, ua_viewMapControlPanel, ua_viewOverviewMapPanel, ua_viewPipeNet, ua_viewterraininfo, ua_viewUnitInfoPanel, ua_viewWindPanel, ua_weathercast, ua_writemaptopcx, ASC_MainScreenWidget::UnitInfo, unitInfoDialog(), unitProductionAnalysis(), updateFieldInfo, viewChanged, viewFont(), viewMiningPower(), viewterraininfo(), visible_all, MessagingHubBase::Warning, weathercast(), Vehicle::weight(), Vehicletype::weight, ASC_MainScreenWidget::WindInfo, and writemaptopcx().

Referenced by execUserAction_ev().

void execUserAction_ev tuseractions  action  ) 
 

takes care of event system switching between old and new functions

Definition at line 1357 of file sg.cpp.

References execuseraction(), and execuseraction2().

Referenced by ASC_MainScreenWidget::eventKeyDown(), Menu::execAction(), GuiFunctions::UnitInfo::execute(), showMovementRange(), showTerrainInfo(), showUnitInfo(), showUnitWeight(), and showWeaponRange().

int gamethread void *  data  ) 
 

we are performing this the first time here while the startup logo is still active

Definition at line 1482 of file sg.cpp.

References actmap, GameMap::actplayer, agmp, GameMap::Campaign::avail, GameMap::campaign, choice_dlg(), GameMap::continueplaying, dataLoaderTicker, diplomaticChange(), displayLogMessage(), errorMessage(), GameThreadParams::exitMainloop, fatalError(), GameThreadParams::filename, GameDialog::gameDialog(), tfileerror::getFileName(), ASCmsgException::getMessage(), getPGApplication(), tvirtualscreenbuf::init(), loaddata(), loadpalette(), loadStartupMap(), Mailfile, mainScreenWidget, moveparams, tmoveparams::movestatus, next_turn(), None, GameMap::player, repaintDisplay, repaintMap, GameMap::replayinfo, resetActions(), tgraphmodeparameters::resolutionx, tgraphmodeparameters::resolutiony, DiplomaticStateVector::shareViewChanged, PG_Widget::Show(), GameMap::sigMapDeletion, GameMap::sigPlayerUserInteractionBegins, startMusic(), startnextcampaignmap(), updateFieldInfo, viewtext2(), virtualscreenbuf, GameMap::xsize, and GameMap::ysize.

Referenced by initializeEventHandling(), and main().

tfield* getSelectedField void   ) 
 

Definition at line 164 of file sg.cpp.

References actmap, GameMap::getCursor(), and GameMap::getField().

Referenced by execuseraction(), and execuseraction2().

void helpAbout  ) 
 

Definition at line 589 of file sg.cpp.

References getVersionAndCompilation(), readtextmessage(), ASC_PG_Dialog::RunModal(), and PG_Widget::Show().

Referenced by execuseraction().

void hookGuiToMap GameMap map  ) 
 

Definition at line 211 of file sg.cpp.

References checkforreplay(), checkJournal(), checkUsedASCVersions(), GameMap::getGuiHooked(), GameMap::guiHooked(), positionCursor(), repaintMap, researchCheck(), GameMap::sigPlayerTurnHasEnded, GameMap::sigPlayerUserInteractionBegins, updateFieldInfo, viewcomp(), viewOwnReplay(), and viewunreadmessages().

Referenced by continueAndStartMultiplayerGame(), loadGame(), loadmap(), loadStartupMap(), StartMultiplayerGame::start(), and startnextcampaignmap().

pfont load_font const char *  name  ) 
 

Definition at line 1385 of file sg.cpp.

References loadfont(), and tnstream::reading.

void loaddata int  resolx,
int  resoly
 

Definition at line 1399 of file sg.cpp.

References activefontsettings, Schriften::arial8, dataLoaderTicker, displayLogMessage(), Schriften::guicolfont, Schriften::guifont, hookReplayToSystem(), SoundList::init(), Schriften::large, load_font(), loadAllData(), loadmessages(), loadpalette(), loadUnitSets(), tfontsettings::markfont, Schriften::monogui, GuiFunctions::primaryGuiIcons, registerDataLoader(), registerGuiFunctions(), schriften, shrinkfont(), Schriften::smallarial, and Schriften::smallsystem.

bool loadGame bool  mostRecent  ) 
 

Definition at line 262 of file sg.cpp.

References actmap, tfindfile::FileInfo::date, displaymap(), GameMap::getCurrentPlayer(), GameMap::getCursor(), getDefaultMapDisplay(), tfindfile::getnextname(), loadGame(), moveparams, tmoveparams::movestatus, tfindfile::FileInfo::name, positionCursor(), s1, savegameextension, selectFile(), and updateFieldInfo.

bool loadGame const ASCString filename  ) 
 

Definition at line 234 of file sg.cpp.

References actmap, GameMap::actplayer, tnstream::appending, computeview(), displaymessage2(), hookGuiToMap(), GameMap::levelfinished, tsavegameloaders::loadGameFromFile(), mapLoadingExceptionChecker(), GameMap::replayinfo, and tnstream::writing.

Referenced by execuseraction2(), loadGame(), and loadStartupMap().

void loadmap const ASCString name,
bool  campaign
 

Definition at line 325 of file sg.cpp.

References actmap, GameMap::Campaign::avail, GameMap::campaign, computeview(), hookGuiToMap(), tmaploaders::loadmap(), and mapLoadingExceptionChecker().

Referenced by loadStartupMap(), and GameMap::ReplayInfo::read().

MapTypeLoaded loadStartupMap const char *  gameToLoad = NULL  ) 
 

Definition at line 339 of file sg.cpp.

References actmap, computeview(), continuenetworkgame(), displayLogMessage(), displaymessage(), fatalError(), ASCmsgException::getMessage(), tfindfile::getnextname(), hookGuiToMap(), CGameOptions::Instance(), loadGame(), loadmap(), Mailfile, Map, mapextension, None, patimat(), Savegame, savegameextension, tournamentextension, validateemlfile(), validatemapfile(), and validatesavfile().

Referenced by gamethread().

int main int  argc,
char *  argv[]
 

Definition at line 1642 of file sg.cpp.

References assert, checkDataVersion(), cursorMoved, deployMapPlayingHooks(), displayLogMessage(), displaymessage(), exit_asc(), fatalError(), GameThreadParams::filename, fullscreen, gamethread(), tfileerror::getFileName(), getstartupmessage(), initFileIO(), initializeEventHandling(), ASC_PG_App::InitScreen(), CGameOptions::Instance(), mainloopidle(), tspfldloaders::mapLoaded, SoundSystem::setEffectVolume(), ASC_PG_App::setIcon(), SoundSystem::setMusicVolume(), setWindowCaption(), PG_Application::sigAppIdle, updateFieldInfo, and writegameoptions().

bool mainloopidle PG_MessageObject msgObj  ) 
 

Definition at line 1366 of file sg.cpp.

References actmap, checkevents(), checkforvictory(), checktimedevents(), PG_Application::GetApp(), and getDefaultMapDisplay().

Referenced by main().

bool maintainencecheck void   ) 
 

Definition at line 172 of file sg.cpp.

References actmap, GameMap::campaign, Player::exist(), Player::human, GameMap::network, GameMap::player, and Player::stat.

Referenced by execuseraction().

void positionCursor Player player  ) 
 

Definition at line 201 of file sg.cpp.

References getDefaultMapDisplay(), and Player::getParentMap().

Referenced by hookGuiToMap(), and loadGame().

void resetActions GameMap map  ) 
 

Definition at line 1392 of file sg.cpp.

References moveparams, pendingVehicleActions, PendingVehicleActions::reset(), and tmoveparams::reset().

Referenced by gamethread().

void resourceAnalysis  ) 
 

Definition at line 1064 of file sg.cpp.

References actmap, GameMap::actplayer, GameMap::bi_resource, Player::buildingList, Resources::energy, Resources::fuel, GameMap::isResourceGlobal(), Resources::material, maxint, GameMap::player, Resources::resource(), ASC_PG_Dialog::RunModal(), PG_Widget::Show(), Resources::toString(), MapCoordinate::toString(), ASCString::toString(), MapCoordinate::x, and MapCoordinate::y.

Referenced by execuseraction2().

void saveGame bool  as  ) 
 

Definition at line 296 of file sg.cpp.

References actmap, GameMap::actplayer, GameMap::preferredFileNames, s1, GameMap::PreferredFilenames::savegame, savegame(), savegameextension, and selectFile().

Referenced by execuseraction2().

void showCargoSummary tfield fld  ) 
 

Definition at line 946 of file sg.cpp.

References actmap, ammoCounter(), cwaffentypen, cwaffentypennum, GameMap::getCurrentPlayer(), infoMessage(), Resources::name(), ASC_PG_Dialog::RunModal(), PG_Widget::Show(), showUnitCargoSummary(), ASCString::toString(), tfield::vehicle, and weaponAmmo.

Referenced by execuseraction2().

void showMemoryFootprint  ) 
 

Definition at line 1120 of file sg.cpp.

References actmap, MemoryMeasurement::getResult(), MemoryMeasurement::measure(), MemoryMeasurement::measureIcons(), MemoryMeasurement::measureTypes(), ASC_PG_Dialog::RunModal(), and PG_Widget::Show().

Referenced by execuseraction2().

void showSDLInfo  ) 
 

Definition at line 516 of file sg.cpp.

References PG_Application::GetScreen(), ASC_PG_Dialog::RunModal(), PG_Widget::Show(), and ASCString::toString().

Referenced by execuseraction().

void showSearchPath  ) 
 

Definition at line 468 of file sg.cpp.

References getConfigFileName(), getSearchPath(), getSearchPathNum(), listContainer(), ASC_PG_Dialog::RunModal(), and PG_Widget::Show().

Referenced by execuseraction2().

void showUnitEndurance  ) 
 

Definition at line 1086 of file sg.cpp.

References ASCString::format(), UnitHooveringLogic::getEndurance(), MoveMalusType::heavy_aircraft, MoveMalusType::helicopter, MoveMalusType::light_aircraft, MoveMalusType::medium_aircraft, Vehicletype::movemalustyp, ASC_PG_Dialog::RunModal(), PG_Widget::Show(), ASCString::toString(), vehicleComp(), and vehicleTypeRepository.

Referenced by execuseraction2().

void startnextcampaignmap int  id  ) 
 

Definition at line 432 of file sg.cpp.

References actmap, computeview(), hookGuiToMap(), nextCampaignMap(), and repaintMap.

Referenced by gamethread().

void tributeTransfer Player player  ) 
 

Definition at line 1622 of file sg.cpp.

References Player::getPosition(), logtoreplayinfo(), rpl_transferTribute, and transfer_all_outstanding_tribute().

Referenced by deployMapPlayingHooks().

void viewcomp Player player  ) 
 

Definition at line 206 of file sg.cpp.

References computeview(), and Player::getParentMap().

Referenced by hookGuiToMap().

void viewFont  ) 
 

Definition at line 1056 of file sg.cpp.

References ASC_PG_Dialog::RunModal(), and PG_Widget::Show().

Referenced by execuseraction2().

void viewMiningPower  ) 
 

Definition at line 1133 of file sg.cpp.

References actmap, GameMap::getCurrentPlayer(), MiningStation::getPlus(), ContainerBaseType::MiningStation, ASC_PG_Dialog::RunModal(), PG_Widget::Show(), and ASCString::toString().

Referenced by execuseraction2().


Generated on Tue Jun 24 02:08:23 2008 for Advanced Strategic Command by  doxygen 1.4.2