home *** CD-ROM | disk | FTP | other *** search
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- // Page member and ID init
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- func void PageInit()
- {
- // ToolBar
- Object_Intro_InitMembers ();
- TitleBar_init_members();
- ToolBar_init_members();
- Object_Menu_Principal_InitMembers();
- Page_SinglePlayer_InitMembers();
- Race_InitMembers();
- Page_Manager_InitMembers();
- Page_Team_Roaster_InitMembers();
- Page_Tactic_InitMembers();
- Page_Season_Calendar_InitMembers();
- Page_Classification_InitMembers();
- Page_Transfert_InitMembers();
- Page_MultiPlayer_InitMembers();
- PageAdmin_InitMembers();
-
- oPageList[PAGE_INTRO].pnew = Object_Intro_Constructor;
- oPageList[PAGE_INTRO].pdelete = Object_Intro_Destructor;
- oPageList[PAGE_INTRO].iEscapeMode = G_iEscape_SkipIntro;
-
- oPageList[PAGE_ADMIN].pnew = PageAdmin_Constructor;
- oPageList[PAGE_ADMIN].pdelete = PageAdmin_Destructor;
- oPageList[PAGE_ADMIN].iEscapeMode = G_iEscape_Login;
-
- oPageList[PAGE_INRACE].pnew = Race_Constructor;
- oPageList[PAGE_INRACE].pdelete = Race_Destructor;
- oPageList[PAGE_INRACE].iEscapeMode = G_iEscape_Management;
- //oPageList[PAGE_INRACE].ploaddata = Page_Race_LoadData;
-
- oPageList[PAGE_SINGLE].pnew = Page_SinglePlayer_Constructor;
- oPageList[PAGE_SINGLE].pdelete = Page_SinglePlayer_Destructor;
- oPageList[PAGE_SINGLE].iEscapeMode = G_iEscape_Exit;
-
- oPageList[PAGE_TEAM_ROASTER].pnew = Page_Team_Roaster_Constructor;
- oPageList[PAGE_TEAM_ROASTER].pdelete = Page_Team_Roaster_Destructor;
- oPageList[PAGE_TEAM_ROASTER].iEscapeMode = G_iEscape_Login;
-
- oPageList[PAGE_TACTICS].pnew = Page_Tactic_Constructor;
- oPageList[PAGE_TACTICS].pdelete = Page_Tactic_Destructor;
- oPageList[PAGE_TACTICS].iEscapeMode = G_iEscape_Login;
- oPageList[PAGE_TACTICS].psavedata = Page_Team_Tactic_SaveData;
-
- oPageList[PAGE_SEASON_CALENDAR].pnew = Page_Season_Calendar_Constructor;
- oPageList[PAGE_SEASON_CALENDAR].pdelete = Page_Season_Calendar_Destructor;
- oPageList[PAGE_SEASON_CALENDAR].iEscapeMode = G_iEscape_Login;
-
-
- oPageList[PAGE_SEASON_CLASSIFICATION].pnew = Page_Classification_Constructor;
- oPageList[PAGE_SEASON_CLASSIFICATION].pdelete = Page_Classification_Destructor;
- oPageList[PAGE_SEASON_CLASSIFICATION].iEscapeMode = G_iEscape_Login;
-
- //oPageList[PAGE_NET_CLIENT].pnew = NetClient_Constructor;
- //oPageList[PAGE_NET_CLIENT].pdelete = NetClient_Destructor;
-
- oPageList[PAGE_MANAGER_PROFILE].pnew = Page_Manager_Constructor;
- oPageList[PAGE_MANAGER_PROFILE].pdelete = Page_Manager_Destructor;
- oPageList[PAGE_MANAGER_PROFILE].iEscapeMode = G_iEscape_Login;
-
- oPageList[PAGE_TRANSFERT].pnew = Page_Transfert_Constructor;
- oPageList[PAGE_TRANSFERT].pdelete = Page_Transfert_Destructor;
- oPageList[PAGE_TRANSFERT].iEscapeMode = G_iEscape_Login;
-
- oPageList[PAGE_MULTI].pnew = Page_MultiPlayer_Constructor;
- oPageList[PAGE_MULTI].pdelete = Page_MultiPlayer_Destructor;
- oPageList[PAGE_MULTI].iEscapeMode = G_iEscape_Exit;
- }
-
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- //
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- func void DialogInit()
- {
- // init for each dialog box
- Panel_Team_Cyclist_Info_InitMembers();
- Dialog_Medical_InitMembers();
- Dialog_Team_Tactic_WatchRacerList_InitMembers();
- Dialog_Loading_Data_InitMembers();
- Message_Box_InitMembers();
- Dialog_Configuration_InitMembers();
- Dialog_Stage_Infos_InitMembers();
- Dialog_Transfert_InitMembers();
- Dialbox_Login_InitMembers ();
- Dialog_Game_Param_InitMembers();
- Dialog_Credit_InitMembers();
-
- // set constructors / destructors
- oDialogList[DIALOG_INFO_CYCLISTS].pnew = Panel_Team_Cyclist_Info_Constructor;
- oDialogList[DIALOG_INFO_CYCLISTS].pdelete = Panel_Team_Cyclist_Info_Destructor;
-
- oDialogList[DIALOG_STAGE_INFOS].pnew = Dialog_Stage_Infos_Constructor;
- oDialogList[DIALOG_STAGE_INFOS].pdelete = Dialog_Stage_Infos_Destructor;
-
- oDialogList[DIALOG_TRANSFERT].pnew = Dialog_Transfert_Constructor;
- oDialogList[DIALOG_TRANSFERT].pdelete = Dialog_Transfert_Destructor;
-
- oDialogList[DIALOG_MEDICAL].pnew = Dialog_Medical_Constructor;
- oDialogList[DIALOG_MEDICAL].pdelete = Dialog_Medical_Destructor;
-
- oDialogList[DIALOG_TEAM_TACTIC_SURVEY].pnew = Dialog_Team_Tactic_WatchRacerList_Constructor;
- oDialogList[DIALOG_TEAM_TACTIC_SURVEY].pdelete = Dialog_Team_Tactic_WatchRacerList_Destructor;
-
- oDialogList[DIALOG_LOADING_DATA].pnew = Dialog_Loading_Data_Constructor;
- oDialogList[DIALOG_LOADING_DATA].pdelete = Dialog_Loading_Data_Destructor;
-
- oDialogList[DIALOG_MESSAGEBOX].pnew = Message_Box_Constructor;
- oDialogList[DIALOG_MESSAGEBOX].pdelete = Message_Box_Destructor;
-
-
- oDialogList[DIALOG_CONFIG].pnew = Dialog_Configuration_Constructor;
- oDialogList[DIALOG_CONFIG].pdelete = Dialog_Configuration_Destructor;
-
- oDialogList[DIALOG_LOGIN].pnew = Dialbox_Login_Constructor;
- oDialogList[DIALOG_LOGIN].pdelete = Dialbox_Login_Destructor;
-
- oDialogList[DIALOG_GAME_PARAM].pnew = Dialog_Game_Param_Constructor;
- oDialogList[DIALOG_GAME_PARAM].pdelete = Dialog_Game_Param_Destructor;
-
- oDialogList[DIALOG_CREDITS].pnew = Dialog_Credit_Constructor;
- oDialogList[DIALOG_CREDITS].pdelete = Dialog_Credit_Destructor;
- }
-
-
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- //Manager Event func
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- func i32x manager (i32x _iComponentID, i32x _iEventID)
- {
- if (_iComponentID == -1)
- {
- if(_iEventID == GUI_COMPONENT_KEYDOWN )
- {
- if (GetLastKey() == VK_Escape)
- {
- if (oManager.iWindowDialogID!=ID_NOT_CREATED) // destroy dialog
- {
- // debug : special demo
- if(G_iDemoVersion)
- {
- ExitNow();
- }
-
- Manager_DestroyDialog();
- return 1;
- }
- else if(oManager.iPageID != ID_NOT_CREATED) // Exit mode
- {
- if (oPageList[oManager.iPageID].iEscapeMode == G_iEscape_Management)
- {
- // debug : special demo
- if(G_iDemoVersion)
- {
- ExitNow();
- }
-
- // Recursive call to load page news
- LowLevelLoadPage(PAGE_ADMIN);
-
- return 1;
- }
- else if (oPageList[oManager.iPageID].iEscapeMode == G_iEscape_SkipIntro)
- {
- // debug : special demo
- //special looprun
- if((G_iDemoVersion)||(G_iLoopRunVersion))
- {
- // stop video
- CallDestructor(oPageList[oManager.iPageID].pdelete);
- oManager.iWindowID = ID_NOT_CREATED;
-
- LogueOffline(1,0);
- }
- else
- {
- if (g_oGameConfig.m_iInternet==0)
- {
- LoadPage(PAGE_SINGLE);
- }
- else
- {
- // ** internet **
- LoadPage(PAGE_MULTI);
- }
- }
- return 1;
- }
- }
- }
-
- // debug : special demo
- if(G_iDebugVersion)
- {
- if (GetLastKey() == VK_F1) // Active or unactive the console
- {
- if(oManager.iConsoleID == -1)
- {
- InitConsole();
- oManager.iConsoleID = InitObject("Console",oConsole.oFunc.pcreate, oConsole.oFunc.pevent);
- SetComponentPosition(oManager.iConsoleID,300,250);
- }
- else
- {
- DeleteComponent(oManager.iConsoleID);
- oManager.iConsoleID = -1;
- }
- }
- }// debug : special demo
- }
- }
-
- if (_iEventID==GUI_DESTROY_ME)
- {
- if (_iComponentID==oManager.iWindowDialogID)
- {
- Manager_DestroyDialog();
- }
- }
- // *************************************
- // Special loop
- //mao debug crash with roll mouse !!!
- if((G_iLoopRunVersion)&&(_iComponentID == oManager.iWindowID)&&(_iEventID == PAGE_ADMIN))
- {
- print("###################################### LOAD REQUEST BY PAGE : ");
- println(itoa(_iComponentID));
-
- Manager_LoadPage(_iEventID);
- }
-
- // **************************************
- if(_iComponentID == oManager.iMenu_PrincipalID)
- {
- Manager_LoadPage(_iEventID);
- }
-
- if(oManager.iPageID == PAGE_INTRO)
- {
- if(_iComponentID == oManager.iWindowID)
- {
- Manager_LoadPage(_iEventID);
- }
- }
-
- if(_iEventID == GUI_QUIT_GAME)
- {
- if(oManager.iPageID != ID_NOT_CREATED) // Exit mode
- {
-
- if (oPageList[oManager.iPageID].iEscapeMode == G_iEscape_Exit)
- {
- // stop podium sequence
- CreateMessageBox(GetLocalizedFromKey(1554),g_iTypeOkCancelDialog,QuitGame_MessageBoxCallback); // Confirm quit game
-
- return 0;
- }
- else if (oPageList[oManager.iPageID].iEscapeMode == G_iEscape_Management)
- {
- // debug : special demo
- if(G_iDemoVersion)
- {
- ExitNow();
- }
-
- // Recursive call to load page news
- LowLevelLoadPage(PAGE_ADMIN);
-
- return 1;
- }
- else if (oPageList[oManager.iPageID].iEscapeMode == G_iEscape_Login)
- {
- // debug : special demo
- if(G_iDemoVersion)
- {
- ExitNow();
- }
-
- // disconnect from menu server to allow new login
- if (g_oMenuServer.m_oServer)
- NetClient_Disconnect(g_oMenuServer.m_oServer);
-
- // disconnect from gateway to allow new login
- if (g_oLobby.m_oServer)
- NetClient_Disconnect(g_oLobby.m_oServer);
-
- // escape from internet
- g_oGameConfig.m_iInternet=0;
-
- return 1;
- }
- }
- }
-
- return 1;
- }
-
-
- // Quit game dialog box call back method
- //----------------------------------------------------------------------------------------------------------------//
- func void QuitGame_MessageBoxCallback(i32x _iResult)
- {
- if(_iResult == g_iTypeOkDialog)
- {
- if(oManager.iWindowID != ID_NOT_CREATED)
- {
- CallDestructor(oPageList[oManager.iPageID].pdelete);
- oManager.iWindowID = ID_NOT_CREATED;
- }
-
- // Destroy join on local DB
- vDestroyLocalDatabaseJoins();
-
- // delete lobby joins
- DestroyGatewayJoins();
-
- // destroy local lobby
- if (g_oGameConfig.m_iInternet == 0)
- {
- fnGameServer_Destroy();
- }
-
- // debug : special demo
- if(G_iDemoVersion)
- {
- ExitNow();
- }
-
- //Save local database
- SaveLocalDatabase();
-
- if (g_oMenuServer.m_oServer)
- NetClient_Disconnect(g_oMenuServer.m_oServer);
-
-
-
- DestroyWaves();
- Exit();
- }
- }
-
- // vInitMenuBackground
- // Create menu background in manager object
- //----------------------------------------------------------------------------------------------------------------//
- func void vInitMenuBackground()
- {
- if(oManager.m_cBackground == ID_NOT_CREATED)
- {
- // Init page background
- oManager.m_cBackground = InitContainer(tBackground);
- SetContainerSize(oManager.m_cBackground,800,600); // Fill all screen with background
- }
-
- if(oManager.m_cTopLeftBorder == ID_NOT_CREATED)
- {
- // Left border
- oManager.m_cTopLeftBorder = InitContainer(t_panel_bordertopleft);
- }
- if(oManager.m_cTopLeftCenter == ID_NOT_CREATED)
- {
- // Left border
- oManager.m_cTopLeftCenter = InitContainer(t_panel_bordertopleft);
- SetContainerSprite(oManager.m_cTopLeftCenter,1,0);
- SetContainerScaleY(oManager.m_cTopLeftCenter,489.0/125.0);
- SetComponentPositionY(oManager.m_cTopLeftCenter,3);
- }
- if(oManager.m_cBottomLeftBorder == ID_NOT_CREATED)
- {
- oManager.m_cBottomLeftBorder = InitContainer(t_panel_borderbottomleft);
- SetComponentPosition(oManager.m_cBottomLeftBorder,0,492);
- }
- if(oManager.m_cTitleBar == ID_NOT_CREATED)
- {
- oManager.m_cTitleBar = InitObject("Title Bar",oTitleBar.ofunc.pcreate,oTitleBar.ofunc.pevent);
- SetComponentPosition(oManager.m_cTitleBar,oManager.iWindowPositionX,0);
- Set_Title_Bar_Text(g_szNull);
- }
- if(oManager.iToolBar == ID_NOT_CREATED)
- {
- oManager.iToolBar = InitObject("Tool Bar",oToolBar.ofunc.pcreate,oToolBar.ofunc.pevent);
- SetComponentPosition(oManager.iToolBar,0,574);
- }
- }
-
- // vDeleteMenuBackground
- // Delete background component inside manager
- //----------------------------------------------------------------------------------------------------------------//
- func void vDeleteMenuBackground()
- {
- if(oManager.m_cBackground != ID_NOT_CREATED)
- {
- DeleteComponent(oManager.m_cBackground);
- oManager.m_cBackground = ID_NOT_CREATED;
- }
- if(oManager.m_cTopLeftBorder != ID_NOT_CREATED)
- {
- DeleteComponent(oManager.m_cTopLeftBorder);
- oManager.m_cTopLeftBorder = ID_NOT_CREATED;
- }
- if(oManager.m_cTopLeftCenter != ID_NOT_CREATED)
- {
- DeleteComponent(oManager.m_cTopLeftCenter);
- oManager.m_cTopLeftCenter = ID_NOT_CREATED;
- }
- if(oManager.m_cBottomLeftBorder != ID_NOT_CREATED)
- {
- DeleteComponent(oManager.m_cBottomLeftBorder);
- oManager.m_cBottomLeftBorder = ID_NOT_CREATED;
- }
- if(oManager.m_cTitleBar != ID_NOT_CREATED)
- {
- DeleteComponent(oManager.m_cTitleBar);
- oManager.m_cTitleBar = ID_NOT_CREATED;
- oTitleBar.m_pthis = g_poNullComponent;
- }
- if(oManager.iToolBar != ID_NOT_CREATED)
- {
- DeleteComponent(oManager.iToolBar);
- oManager.iToolBar = ID_NOT_CREATED;
- oToolBar.m_pthis = g_poNullComponent;
- }
- }
-
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- //Menu Engine Create func
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- func void InitGui ()
- {
- var i32x i;
- // init NULL string
- g_szNull = "";
-
- SetObjectSize(800,600);
-
- oManager.iMenu_PrincipalID=ID_NOT_CREATED;
- // oManager.iStartID=ID_NOT_CREATED;
-
- // Init all pages
- PageInit();
- // init for all dialogs
- DialogInit();
-
- oManager.pThis = GetParserComponent();
-
- // Init Menu Background
- oManager.m_cBackground = ID_NOT_CREATED;
- oManager.m_cTopLeftBorder = ID_NOT_CREATED;
- oManager.m_cTopLeftCenter = ID_NOT_CREATED;
- oManager.m_cBottomLeftBorder = ID_NOT_CREATED;
- oManager.m_cTitleBar = ID_NOT_CREATED;
- oManager.iToolBar = ID_NOT_CREATED;
-
- // Init page
- oManager.iWindowID = CallConstructor(oPageList[oManager.iPageID].pnew);
- if(oManager.iPageID != PAGE_INTRO)
- SetComponentPosition(oManager.iWindowID, oManager.iWindowPositionX, oManager.iWindowPositionY);
-
- //Create Tool Bar
- //var i32x id;
- //oManager.iToolBar=InitObject("Tool Bar",oToolBar.ofunc.pcreate,oToolBar.ofunc.pevent);
- //SetComponentPosition(oManager.iToolBar,130,570);
- //Set_Tool_Bar_Text(g_szNull);
-
- // oManager.iMenu_PrincipalID = InitObject(oMenu_Principal.szName, oMenu_Principal.oFunc.pcreate, oMenu_Principal.oFunc.pevent);
- // SetComponentPosition(oManager.iMenu_PrincipalID, 0, 100);
- }
-
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- //Menu Engine Init
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
-
- func void SetLanguage(i32x _iLanguage)
- {
- var szx szColumnName;
- g_oUser.m_iLanguage = _iLanguage;
- // Update global join
- szColumnName = "gene_sz_";
-
- if(_iLanguage==LANGUAGE_ENGLISH)
- szColumnName = strcat(szColumnName,"english");
- if(_iLanguage==LANGUAGE_FRENCH)
- szColumnName = strcat(szColumnName,"french");
- if(_iLanguage==LANGUAGE_DUTCH)
- szColumnName = strcat(szColumnName,"dutch");
- if(_iLanguage==LANGUAGE_SPANISH)
- szColumnName = strcat(szColumnName,"spanish");
- if(_iLanguage==LANGUAGE_ITALIAN)
- szColumnName = strcat(szColumnName,"italian");
- if(_iLanguage==LANGUAGE_GERMAN)
- szColumnName = strcat(szColumnName,"german");
-
- // Destroy old join
- if(g_oLocalJoins.m_iGameMenuString>0)
- Join_Destructor(g_oLocalJoins.m_iGameMenuString);
- if(g_oLocalJoins.m_iLocalizedString>0)
- Join_Destructor(g_oLocalJoins.m_iLocalizedString);
- if(g_oLocalJoins.m_iFormattedString>0)
- Join_Destructor(g_oLocalJoins.m_iFormattedString);
-
- // Reinit local join
- g_oLocalJoins.m_iGameMenuString = Join_Constructor(DATABASE_LOCAL,strcat("STA_game_menu.game_strID_text.STA_localized_string.",szColumnName));
- g_oLocalJoins.m_iLocalizedString = Join_Constructor(DATABASE_LOCAL,strcat("STA_localized_string.",szColumnName));
- g_oLocalJoins.m_iFormattedString = Join_Constructor(DATABASE_LOCAL,strcat("STA_formated_string.",szColumnName));
- }
-
- func i32x GetLanguage()
- {
- return g_oUser.m_iLanguage;
- }
-
- func i32x Is3DDeviceInitProblem()
- {
- var FILE logfile;
- var FILEBUF filebuf;
- var szx szLine;
- var i32x i;
-
- logfile=fopen("device.log",3,1); // Read text mode
-
- if(logfile)
- {
- filebuf = CreateFileBuf(1024);
- i = freadline(logfile,filebuf);
- if(i==0)
- {
- szLine = GetStringFromBuf(filebuf);
- if(!strcmp(szLine,"3D Device initialization Ok."))
- {
- i = 0;
- }
- else
- {
- i = 1;
- }
- }
- DeleteFileBuf(filebuf);
- fclose(logfile);
- }
-
- // return
- return i;
- }
-
- func void init ()
- {
- G_szVersion = "v1.00.004";
- print("version:");println(G_szVersion);
-
- // Default language
- SetLanguage(0);
-
- // Buffers init
- SetSpriteBuffer(8192*2);
- SetTextureBuffer(256);
- SetMaterialBuffer(256);
-
- // Save each device into "device.log"
- LogDevice3D();
-
- // Load last saved language
- LoadLanguage();
-
- // Detect 3D device init problem
- if(!Is3DDeviceInitProblem())
- {
- // Load last saved video mode
- LoadVideoMode();
- }
- else
- {
- // 3D device init problem :
- print("Reset video config.\n");
- ResetVideoModeConfig();
- }
-
-
- // Load last saved audio settings
- LoadAudio();
-
- // Color Set Init
- Init_Color_Set(0);
-
- // Texture loading
- Init_Textures();
-
-
- // MenuServer settings
- g_oMenuServer.m_szIP = "127.0.0.1";
- g_oMenuServer.m_iPort = 1111;
- g_oInRaceServer.m_szResolServerPass = g_szNull;
-
- // default gateway
- g_oLobby.m_szIP = "127.0.0.1";
- g_szInternetConfig = "";
-
- // inrace server
- g_oInRaceServer.m_iCanStartRace = 0;
-
- // Make manager init here
- oManager.iNotifyTransfert = false;
- oManager.szName = "Manager";
- oManager.oFunc.pcreate = main;
- oManager.oFunc.pevent = manager;
-
- // Default window position
- oManager.iWindowPositionX = 143;
- oManager.iWindowPositionY = 39;
- oManager.iWindowDialogID = ID_NOT_CREATED;
-
- // Init query
- vInitQueries();
-
- // Display the first page (intro)
- oManager.iPageID = PAGE_INTRO;
- oManager.iConsoleID = -1; //Console Not Displayed
-
- // Create local DB join
- vCreateLocalDatabaseJoins();
-
- g_oUser.m_szLogin = "Cyanide";
- g_oUser.m_szPass = "BeCorrosive";
- }
-
- func void InitInternet(szx szIP, i32x iPort, i32x iServer, szx szPseudo, szx szConfig)
- {
- g_oGameConfig.m_iInternet = 1;
- g_oGameConfig.m_iInternetServer = iServer;
- g_oMenuServer.m_iPort = iPort;
- g_oUser.m_szLogin = szPseudo;
- g_oUser.m_szGatewayAuthorization = szPseudo;
- g_szInternetConfig = szConfig;
-
- //g_oLobby.m_iUserPort = iPort1;
- //g_oLobby.m_iGamePort = iPort2;
-
-
- if (g_oGameConfig.m_iInternetServer)
- {
- // create dummy lobby
- fnGameServer_Create();
- }
- else
- {
- g_oMenuServer.m_szIP = szIP;
- }
- }
-
- func void InitNoInternet()
- {
- g_oGameConfig.m_iInternet = 0;
-
- // create local lobby
- fnGameServer_Create();
-
- // lobby database
- Database_Open(QUERY_GAME_SERVERS, "Database/Games.cdb");
- CreateGatewayJoins();
- g_oGatewayJoins.szIP = Join_Constructor(QUERY_GAME_SERVERS, "Games.szIP");
- g_oGatewayJoins.iPort = Join_Constructor(QUERY_GAME_SERVERS, "Games.iPort");
- }
-
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- // Local Database joins
- //----------------------------------------------------------------------------------------------------------------//
- //----------------------------------------------------------------------------------------------------------------//
- func void vCreateLocalDatabaseJoins()
- {
- var i32x iLanguage;
- var szx szColumnName;
-
- // Create global join
- iLanguage = GetLanguage();
- szColumnName = "gene_sz_";
-
- if(iLanguage==LANGUAGE_ENGLISH)
- szColumnName = strcat(szColumnName,"english");
- if(iLanguage==LANGUAGE_FRENCH)
- szColumnName = strcat(szColumnName,"french");
- if(iLanguage==LANGUAGE_DUTCH)
- szColumnName = strcat(szColumnName,"dutch");
- if(iLanguage==LANGUAGE_SPANISH)
- szColumnName = strcat(szColumnName,"spanish");
- if(iLanguage==LANGUAGE_ITALIAN)
- szColumnName = strcat(szColumnName,"italian");
- if(iLanguage==LANGUAGE_GERMAN)
- szColumnName = strcat(szColumnName,"german");
-
- // Destroy old join
- if(g_oLocalJoins.m_iGameMenuString>0)
- Join_Destructor(g_oLocalJoins.m_iGameMenuString);
- if(g_oLocalJoins.m_iLocalizedString>0)
- Join_Destructor(g_oLocalJoins.m_iLocalizedString);
- if(g_oLocalJoins.m_iFormattedString>0)
- Join_Destructor(g_oLocalJoins.m_iFormattedString);
-
- g_oLocalJoins.m_iUser_szName = Join_Constructor(DATABASE_LOCAL,"DYN_config.user_sz_name");
-
- g_oLocalJoins.m_iGameMenuString = Join_Constructor(DATABASE_LOCAL,strcat("STA_game_menu.game_strID_text.STA_localized_string.",szColumnName));
- g_oLocalJoins.m_iLocalizedString = Join_Constructor(DATABASE_LOCAL,strcat("STA_localized_string.",szColumnName));
- g_oLocalJoins.m_iFormattedString = Join_Constructor(DATABASE_LOCAL,strcat("STA_formated_string.",szColumnName));
-
- // gateway join
- g_oLocalJoins.m_iGateway_iId = Join_Constructor(DATABASE_LOCAL,"GAM_gateway.IDgateway");
- g_oLocalJoins.m_iGateway_szIp = Join_Constructor(DATABASE_LOCAL,"GAM_gateway.gene_sz_ip");
- g_oLocalJoins.m_iGateway_iValid = Join_Constructor(DATABASE_LOCAL,"GAM_gateway.gene_b_valid");
-
- // Single player Slot join
- g_oLocalJoins.m_iSSlot_iId = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.IDslot_single");
- g_oLocalJoins.m_iSSlot_iDate = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.gene_i_date");
- g_oLocalJoins.m_iSSlot_iGameMode = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.game_i_mode");
- g_oLocalJoins.m_iSSlot_iStageId = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.fkIDstage");
- g_oLocalJoins.m_iSSlot_szDatabase = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.gene_sz_database");
- g_oLocalJoins.m_iSSlot_bFirstLaunch = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.gene_b_firstlaunch");
- g_oLocalJoins.m_iSSlot_bGameOver = Join_Constructor(DATABASE_LOCAL,"GAM_slot_single.gene_b_gameover");
-
- // Multiplayer Slot join
- g_oLocalJoins.m_iMSlot_iId = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.IDslot_multi");
- g_oLocalJoins.m_iMSlot_iDate = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.gene_i_date");
- g_oLocalJoins.m_iMSlot_iGameMode = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.game_i_mode");
- g_oLocalJoins.m_iMSlot_iStageId = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.fkIDstage");
- g_oLocalJoins.m_iMSlot_szDatabase = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.gene_sz_database");
- g_oLocalJoins.m_iMSlot_bFirstLaunch = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.gene_b_firstlaunch");
- g_oLocalJoins.m_iMSlot_szName = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.gene_sz_name");
- g_oLocalJoins.m_iMSlot_szPass = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.gene_sz_password");
- g_oLocalJoins.m_iMSlot_bGameOver = Join_Constructor(DATABASE_LOCAL,"GAM_slot_multi.gene_b_gameover");
-
- // Stage join
- g_oLocalJoins.m_iStage_iId = Join_Constructor(DATABASE_LOCAL,"STA_stage.IDstage");
- g_oLocalJoins.m_iStage_szRelief = Join_Constructor(DATABASE_LOCAL,"STA_stage.gene_sz_relief");
- g_oLocalJoins.m_iStage_iType = Join_Constructor(DATABASE_LOCAL,"STA_stage.gene_i_time_trial");
- g_oLocalJoins.m_iStage_iNameId = Join_Constructor(DATABASE_LOCAL,"STA_stage.gene_strID_stage_name");
- g_oLocalJoins.m_iStage_iRaceId = Join_Constructor(DATABASE_LOCAL,"STA_stage.fkIDrace");
- g_oLocalJoins.m_iStage_iRaceNameId = Join_Constructor(DATABASE_LOCAL,"STA_stage.fkIDrace.STA_race.gene_strID_race_name");
- g_oLocalJoins.m_iStage_fLength = Join_Constructor(DATABASE_LOCAL,"STA_stage.gene_f_distance");
- g_oLocalJoins.m_iStage_iDay = Join_Constructor(DATABASE_LOCAL,"STA_stage.gene_i_day");
- g_oLocalJoins.m_iStage_iNumber = Join_Constructor(DATABASE_LOCAL,"STA_stage.gene_i_stage_number");
-
- // Race join
- g_oLocalJoins.m_iRace_iId = Join_Constructor(DATABASE_LOCAL,"STA_race.IDrace");
- g_oLocalJoins.m_iRace_iNameId = Join_Constructor(DATABASE_LOCAL,"STA_race.gene_strID_race_name");
- g_oLocalJoins.m_iRace_iStageNumber = Join_Constructor(DATABASE_LOCAL,"STA_race.gene_i_number_stages");
- g_oLocalJoins.m_iRace_iDay = Join_Constructor(DATABASE_LOCAL,"STA_race.gene_i_date");
- g_oLocalJoins.m_iRace_iCountryId = Join_Constructor(DATABASE_LOCAL,"STA_race.fkIDcountry");
- g_oLocalJoins.m_iRace_iUciClassStrId= Join_Constructor(DATABASE_LOCAL,"STA_race.fkIDUCI_class.STA_UCI_class.gene_strID_UCI_class");
-
- // Country join
- g_oLocalJoins.m_iCountry_iTgaId = Join_Constructor(DATABASE_LOCAL,"STA_country.gene_tgaID_flag");
- // Tga join
- g_oLocalJoins.m_iTga_szDirectory = Join_Constructor(DATABASE_LOCAL,"STA_TGA.fkIDdirectory.STA_directory.game_sz_directory");
- g_oLocalJoins.m_iTga_szName = Join_Constructor(DATABASE_LOCAL,"STA_TGA.gene_sz_TGA");
- }
-
- func void vDestroyLocalDatabaseJoins()
- {
- // Tga join
- if(g_oLocalJoins.m_iTga_szDirectory>0)
- {
- Join_Destructor(g_oLocalJoins.m_iTga_szDirectory);
- g_oLocalJoins.m_iTga_szDirectory = 0;
- }
- if(g_oLocalJoins.m_iTga_szName>0)
- {
- Join_Destructor(g_oLocalJoins.m_iTga_szName);
- g_oLocalJoins.m_iTga_szName = 0;
- }
- // Localized string join
- if(g_oLocalJoins.m_iGameMenuString>0)
- {
- Join_Destructor(g_oLocalJoins.m_iGameMenuString);
- g_oLocalJoins.m_iGameMenuString = 0;
- }
- if(g_oLocalJoins.m_iLocalizedString>0)
- {
- Join_Destructor(g_oLocalJoins.m_iLocalizedString);
- g_oLocalJoins.m_iLocalizedString = 0;
- }
- if(g_oLocalJoins.m_iFormattedString>0)
- {
- Join_Destructor(g_oLocalJoins.m_iFormattedString);
- g_oLocalJoins.m_iFormattedString = 0;
- }
-
- if(g_oLocalJoins.m_iUser_szName>0)
- {
- Join_Destructor(g_oLocalJoins.m_iUser_szName);
- g_oLocalJoins.m_iUser_szName = 0;
- }
-
- // gateway join
- if(g_oLocalJoins.m_iGateway_iId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iGateway_iId);
- g_oLocalJoins.m_iGateway_iId = 0;
- }
- if(g_oLocalJoins.m_iGateway_szIp>0)
- {
- Join_Destructor(g_oLocalJoins.m_iGateway_szIp);
- g_oLocalJoins.m_iGateway_szIp = 0;
- }
- if(g_oLocalJoins.m_iGateway_iValid>0)
- {
- Join_Destructor(g_oLocalJoins.m_iGateway_iValid);
- g_oLocalJoins.m_iGateway_iValid = 0;
- }
-
- // Single player slot
- if(g_oLocalJoins.m_iSSlot_iId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_iId);
- g_oLocalJoins.m_iSSlot_iId = 0;
- }
- if(g_oLocalJoins.m_iSSlot_iDate>0)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_iDate);
- g_oLocalJoins.m_iSSlot_iDate = 0;
- }
- if(g_oLocalJoins.m_iSSlot_iGameMode>0)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_iGameMode);
- g_oLocalJoins.m_iSSlot_iGameMode = 0;
- }
- if(g_oLocalJoins.m_iSSlot_iStageId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_iStageId);
- g_oLocalJoins.m_iSSlot_iStageId = 0;
- }
- if(g_oLocalJoins.m_iSSlot_szDatabase>0)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_szDatabase);
- g_oLocalJoins.m_iSSlot_szDatabase = 0;
- }
- if(g_oLocalJoins.m_iSSlot_bFirstLaunch>0)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_bFirstLaunch);
- g_oLocalJoins.m_iSSlot_bFirstLaunch = 0;
- }
- if(g_oLocalJoins.m_iSSlot_bGameOver)
- {
- Join_Destructor(g_oLocalJoins.m_iSSlot_bGameOver);
- g_oLocalJoins.m_iSSlot_bGameOver = 0;
- }
-
- // Multiplayer slot
- if(g_oLocalJoins.m_iMSlot_iId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_iId);
- g_oLocalJoins.m_iMSlot_iId = 0;
- }
- if(g_oLocalJoins.m_iMSlot_iDate>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_iDate);
- g_oLocalJoins.m_iMSlot_iDate = 0;
- }
- if(g_oLocalJoins.m_iMSlot_iGameMode>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_iGameMode);
- g_oLocalJoins.m_iMSlot_iGameMode = 0;
- }
- if(g_oLocalJoins.m_iMSlot_iStageId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_iStageId);
- g_oLocalJoins.m_iMSlot_iStageId = 0;
- }
- if(g_oLocalJoins.m_iMSlot_szDatabase>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_szDatabase);
- g_oLocalJoins.m_iMSlot_szDatabase = 0;
- }
- if(g_oLocalJoins.m_iMSlot_bFirstLaunch>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_bFirstLaunch);
- g_oLocalJoins.m_iMSlot_bFirstLaunch = 0;
- }
- if(g_oLocalJoins.m_iMSlot_szName>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_szName);
- g_oLocalJoins.m_iMSlot_szName = 0;
- }
- if(g_oLocalJoins.m_iMSlot_szPass>0)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_szPass);
- g_oLocalJoins.m_iMSlot_szPass = 0;
- }
- if(g_oLocalJoins.m_iMSlot_bGameOver)
- {
- Join_Destructor(g_oLocalJoins.m_iMSlot_bGameOver);
- g_oLocalJoins.m_iMSlot_bGameOver = 0;
- }
-
- // Stage join
- if(g_oLocalJoins.m_iStage_szRelief>0)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_szRelief);
- g_oLocalJoins.m_iStage_szRelief = 0;
- }
- if(g_oLocalJoins.m_iStage_iId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iId);
- g_oLocalJoins.m_iStage_iId = 0;
- }
- if(g_oLocalJoins.m_iStage_iType>0)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iType);
- g_oLocalJoins.m_iStage_iType = 0;
- }
- if (g_oLocalJoins.m_iStage_iNameId)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iNameId);
- g_oLocalJoins.m_iStage_iNameId = 0;
- }
- if (g_oLocalJoins.m_iStage_iRaceId)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iRaceId);
- g_oLocalJoins.m_iStage_iRaceId = 0;
- }
- if (g_oLocalJoins.m_iStage_iRaceNameId)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iRaceNameId);
- g_oLocalJoins.m_iStage_iRaceNameId = 0;
- }
- if (g_oLocalJoins.m_iStage_fLength)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_fLength);
- g_oLocalJoins.m_iStage_fLength = 0;
- }
- if (g_oLocalJoins.m_iStage_iDay)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iDay);
- g_oLocalJoins.m_iStage_iDay = 0;
- }
- if (g_oLocalJoins.m_iStage_iNumber)
- {
- Join_Destructor(g_oLocalJoins.m_iStage_iNumber);
- g_oLocalJoins.m_iStage_iNumber = 0;
- }
- // Country join
- if (g_oLocalJoins.m_iCountry_iTgaId)
- {
- Join_Destructor(g_oLocalJoins.m_iCountry_iTgaId);
- g_oLocalJoins.m_iCountry_iTgaId = 0;
- }
-
- // Race join
- if(g_oLocalJoins.m_iRace_iId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iRace_iId);
- g_oLocalJoins.m_iRace_iId = 0;
- }
- if(g_oLocalJoins.m_iRace_iNameId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iRace_iNameId);
- g_oLocalJoins.m_iRace_iNameId = 0;
- }
- if(g_oLocalJoins.m_iRace_iStageNumber>0)
- {
- Join_Destructor(g_oLocalJoins.m_iRace_iStageNumber);
- g_oLocalJoins.m_iRace_iStageNumber = 0;
- }
- if(g_oLocalJoins.m_iRace_iDay>0)
- {
- Join_Destructor(g_oLocalJoins.m_iRace_iDay);
- g_oLocalJoins.m_iRace_iDay = 0;
- }
- if(g_oLocalJoins.m_iRace_iCountryId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iRace_iCountryId);
- g_oLocalJoins.m_iRace_iCountryId = 0;
- }
- if(g_oLocalJoins.m_iRace_iUciClassStrId>0)
- {
- Join_Destructor(g_oLocalJoins.m_iRace_iUciClassStrId);
- g_oLocalJoins.m_iRace_iUciClassStrId = 0;
- }
- }
-