385 lines
28 KiB
C
385 lines
28 KiB
C
/*
|
|
** Command & Conquer Generals(tm)
|
|
** Copyright 2025 Electronic Arts Inc.
|
|
**
|
|
** This program is free software: you can redistribute it and/or modify
|
|
** it under the terms of the GNU General Public License as published by
|
|
** the Free Software Foundation, either version 3 of the License, or
|
|
** (at your option) any later version.
|
|
**
|
|
** This program is distributed in the hope that it will be useful,
|
|
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
** GNU General Public License for more details.
|
|
**
|
|
** You should have received a copy of the GNU General Public License
|
|
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
// //
|
|
// (c) 2001-2003 Electronic Arts Inc. //
|
|
// //
|
|
////////////////////////////////////////////////////////////////////////////////
|
|
|
|
// FILE: GUICallbacks.h ///////////////////////////////////////////////////////////////////////////
|
|
// Created: Colin Day, June 2001
|
|
// Desc: GUI Callbacks header
|
|
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
#pragma once
|
|
|
|
#ifndef __GUICALLBACKS_H_
|
|
#define __GUICALLBACKS_H_
|
|
|
|
// INCLUDES ///////////////////////////////////////////////////////////////////////////////////////
|
|
#include "GameClient/GameWindow.h"
|
|
|
|
// EXTERNALS //////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//=================================================================================================
|
|
// Shell Menus //
|
|
//=================================================================================================
|
|
|
|
// Main Menu --------------------------------------------------------------------------------------
|
|
extern void MainMenuInit( WindowLayout *layout, void *userData );
|
|
extern void MainMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void MainMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType MainMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType MainMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Single Player Menu -----------------------------------------------------------------------------
|
|
extern void SinglePlayerMenuInit( WindowLayout *layout, void *userData );
|
|
extern void SinglePlayerMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void SinglePlayerMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType SinglePlayerMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType SinglePlayerMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Options Menu -----------------------------------------------------------------------------------
|
|
extern void OptionsMenuInit( WindowLayout *layout, void *userData );
|
|
extern void OptionsMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void OptionsMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType OptionsMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType OptionsMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Map Select Menu --------------------------------------------------------------------------------
|
|
extern void MapSelectMenuInit( WindowLayout *layout, void *userData );
|
|
extern void MapSelectMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void MapSelectMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType MapSelectMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType MapSelectMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Replay Menu --------------------------------------------------------------------------------
|
|
extern void ReplayMenuInit( WindowLayout *layout, void *userData );
|
|
extern void ReplayMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void ReplayMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType ReplayMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType ReplayMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Credits Menu --------------------------------------------------------------------------------
|
|
extern void CreditsMenuInit( WindowLayout *layout, void *userData );
|
|
extern void CreditsMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void CreditsMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType CreditsMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType CreditsMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
|
|
// Score Screen --------------------------------------------------------------------------------
|
|
extern void ScoreScreenInit( WindowLayout *layout, void *userData );
|
|
extern void ScoreScreenUpdate( WindowLayout *layout, void *userData );
|
|
extern void ScoreScreenShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType ScoreScreenSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType ScoreScreenInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Save/Load Menu ----------------------------------------------------------------------------------
|
|
extern void SaveLoadMenuInit( WindowLayout *layout, void *userData );
|
|
extern void SaveLoadMenuFullScreenInit( WindowLayout *layout, void *userData );
|
|
extern void SaveLoadMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void SaveLoadMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType SaveLoadMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType SaveLoadMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Popup Communicator ------------------------------------------------------------------------------
|
|
extern void PopupCommunicatorInit( WindowLayout *layout, void *userData );
|
|
extern void PopupCommunicatorUpdate( WindowLayout *layout, void *userData );
|
|
extern void PopupCommunicatorShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType PopupCommunicatorSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType PopupCommunicatorInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// SkirmishGameOptionsMenu
|
|
extern void SkirmishGameOptionsMenuInit( WindowLayout *layout, void *userData );
|
|
extern void SkirmishGameOptionsMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void SkirmishGameOptionsMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType SkirmishGameOptionsMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType SkirmishGameOptionsMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// SkirmishMapSelectMenu
|
|
extern void SkirmishMapSelectMenuInit( WindowLayout *layout, void *userData );
|
|
extern void SkirmishMapSelectMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void SkirmishMapSelectMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType SkirmishMapSelectMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType SkirmishMapSelectMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Keyboard Options Menu ---------------------------------------------------------------------------
|
|
extern void KeyboardOptionsMenuInit( WindowLayout *layout, void *userData );
|
|
extern void KeyboardOptionsMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void KeyboardOptionsMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType KeyboardOptionsMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType KeyboardOptionsMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Lan Lobby Menu ----------------------------------------------------------------------------------
|
|
extern void LanLobbyMenuInit( WindowLayout *layout, void *userData );
|
|
extern void LanLobbyMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void LanLobbyMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType LanLobbyMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType LanLobbyMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Lan Game Options Menu ---------------------------------------------------------------------------
|
|
extern void LanGameOptionsMenuInit( WindowLayout *layout, void *userData );
|
|
extern void LanGameOptionsMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void LanGameOptionsMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType LanGameOptionsMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType LanGameOptionsMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Lan Map Select Menu -----------------------------------------------------------------------------
|
|
extern void LanMapSelectMenuInit( WindowLayout *layout, void *userData );
|
|
extern void LanMapSelectMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void LanMapSelectMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType LanMapSelectMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType LanMapSelectMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Lan Map Select Menu -----------------------------------------------------------------------------
|
|
extern void GameInfoWindowInit( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType GameInfoWindowSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// (Patch) Download Menu ----------------------------------------------------------------------------------
|
|
extern void DownloadMenuInit( WindowLayout *layout, void *userData );
|
|
extern void DownloadMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void DownloadMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType DownloadMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType DownloadMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Popup host Game Internet -----------------------------------------------------------------------------------
|
|
extern void DifficultySelectInit( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType DifficultySelectSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType DifficultySelectInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
|
|
//=================================================================================================
|
|
// WOL UI //
|
|
//=================================================================================================
|
|
// WOL Ladder Screen ---------------------------------------------------------------------------------
|
|
extern void WOLLadderScreenInit( WindowLayout *layout, void *userData );
|
|
extern void WOLLadderScreenUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLLadderScreenShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLLadderScreenSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLLadderScreenInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Login Menu ---------------------------------------------------------------------------------
|
|
extern void WOLLoginMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLLoginMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLLoginMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLLoginMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLLoginMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Locale Select Popup ---------------------------------------------------------------------------------
|
|
extern void WOLLocaleSelectInit( WindowLayout *layout, void *userData );
|
|
extern void WOLLocaleSelectUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLLocaleSelectShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLLocaleSelectSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLLocaleSelectInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Message Window ------------------------------------------------------------------------------
|
|
extern void WOLMessageWindowInit( WindowLayout *layout, void *userData );
|
|
extern void WOLMessageWindowUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLMessageWindowShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLMessageWindowSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLMessageWindowInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Quick Match Menu ----------------------------------------------------------------------------
|
|
extern void WOLQuickMatchMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLQuickMatchMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLQuickMatchMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLQuickMatchMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLQuickMatchMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Welcome Menu --------------------------------------------------------------------------------
|
|
extern void WOLWelcomeMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLWelcomeMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLWelcomeMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLWelcomeMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLWelcomeMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Welcome Menu --------------------------------------------------------------------------------
|
|
extern void WOLStatusMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLStatusMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLStatusMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLStatusMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLStatusMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Quickmatch Score Screen --------------------------------------------------------------------------------
|
|
extern void WOLQMScoreScreenInit( WindowLayout *layout, void *userData );
|
|
extern void WOLQMScoreScreenUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLQMScoreScreenShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLQMScoreScreenSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLQMScoreScreenInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Lobby Menu ---------------------------------------------------------------------------------
|
|
extern void WOLLobbyMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLLobbyMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLLobbyMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLLobbyMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLLobbyMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Game Setup Menu ---------------------------------------------------------------------------------
|
|
extern void WOLGameSetupMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLGameSetupMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLGameSetupMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLGameSetupMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLGameSetupMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Custom Score Screen --------------------------------------------------------------------------------
|
|
extern void WOLCustomScoreScreenInit( WindowLayout *layout, void *userData );
|
|
extern void WOLCustomScoreScreenUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLCustomScoreScreenShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLCustomScoreScreenSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLCustomScoreScreenInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Map Select Overlay ---------------------------------------------------------------------------------
|
|
extern void WOLMapSelectMenuInit( WindowLayout *layout, void *userData );
|
|
extern void WOLMapSelectMenuUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLMapSelectMenuShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLMapSelectMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLMapSelectMenuInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Buddy Overlay ---------------------------------------------------------------------------------
|
|
extern void WOLBuddyOverlayInit( WindowLayout *layout, void *userData );
|
|
extern void WOLBuddyOverlayUpdate( WindowLayout *layout, void *userData );
|
|
extern void WOLBuddyOverlayShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLBuddyOverlaySystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType WOLBuddyOverlayInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// WOL Buddy Overlay Right Click menu callbacks --------------------------------------------------------------
|
|
extern void WOLBuddyOverlayRCMenuInit( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType WOLBuddyOverlayRCMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// GameSpy Player Info Overlay ---------------------------------------------------------------------------------
|
|
extern void GameSpyPlayerInfoOverlayInit( WindowLayout *layout, void *userData );
|
|
extern void GameSpyPlayerInfoOverlayUpdate( WindowLayout *layout, void *userData );
|
|
extern void GameSpyPlayerInfoOverlayShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType GameSpyPlayerInfoOverlaySystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType GameSpyPlayerInfoOverlayInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Popup host Game Internet -----------------------------------------------------------------------------------
|
|
extern void PopupHostGameInit( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType PopupHostGameSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType PopupHostGameInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Popup InGame Message Box -----------------------------------------------------------------------------------
|
|
extern void InGamePopupMessageInit( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType InGamePopupMessageSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType InGamePopupMessageInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Popup join Game Internet -----------------------------------------------------------------------------------
|
|
extern void PopupJoinGameInit( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType PopupJoinGameSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType PopupJoinGameInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Network Direct ConnectWindow ---------------------------------------------------------------------------------
|
|
extern void NetworkDirectConnectInit( WindowLayout *layout, void *userData );
|
|
extern void NetworkDirectConnectUpdate( WindowLayout *layout, void *userData );
|
|
extern void NetworkDirectConnectShutdown( WindowLayout *layout, void *userData );
|
|
extern WindowMsgHandledType NetworkDirectConnectSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType NetworkDirectConnectInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
//=================================================================================================
|
|
// IME UI //
|
|
//=================================================================================================
|
|
|
|
// IME Candidate Window
|
|
extern WindowMsgHandledType IMECandidateWindowSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType IMECandidateWindowInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern void IMECandidateMainDraw( GameWindow *window, WinInstanceData *instData );
|
|
extern void IMECandidateTextAreaDraw( GameWindow *window, WinInstanceData *instData );
|
|
|
|
|
|
//=================================================================================================
|
|
// In Game UI //
|
|
//=================================================================================================
|
|
|
|
// Control Bar ------------------------------------------------------------------------------------
|
|
extern WindowMsgHandledType ControlBarSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType ControlBarObserverSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType ControlBarInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType LeftHUDInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern void ToggleControlBar( Bool immediate = TRUE );
|
|
extern void HideControlBar( Bool immediate = TRUE );
|
|
extern void ShowControlBar( Bool immediate = TRUE );
|
|
|
|
|
|
// Replay Controls --------------------------------------------------------------------------------
|
|
extern WindowMsgHandledType ReplayControlSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType ReplayControlInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
|
|
// InGame Chat Controls --------------------------------------------------------------------------------
|
|
extern WindowMsgHandledType InGameChatSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType InGameChatInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
enum InGameChatType
|
|
{
|
|
INGAME_CHAT_ALLIES,
|
|
INGAME_CHAT_EVERYONE,
|
|
INGAME_CHAT_PLAYERS
|
|
};
|
|
extern void ToggleInGameChat( Bool immediate = TRUE );
|
|
extern void HideInGameChat( Bool immediate = TRUE );
|
|
extern void ShowInGameChat( Bool immediate = TRUE );
|
|
void ResetInGameChat( void );
|
|
void SetInGameChatType( InGameChatType chatType );
|
|
Bool IsInGameChatActive();
|
|
|
|
|
|
// Diplomacy Controls --------------------------------------------------------------------------------
|
|
WindowMsgHandledType DiplomacySystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
WindowMsgHandledType DiplomacyInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
void ToggleDiplomacy( Bool immediate = TRUE );
|
|
void HideDiplomacy( Bool immediate = TRUE );
|
|
void ResetDiplomacy( void );
|
|
|
|
// Generals Exp Points --------------------------------------------------------------------------------
|
|
WindowMsgHandledType GeneralsExpPointsSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
WindowMsgHandledType GeneralsExpPointsInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
|
|
// IdleWorker Controls --------------------------------------------------------------------------------
|
|
WindowMsgHandledType IdleWorkerSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Disconnect Menu --------------------------------------------------------------------------------
|
|
extern void ShowDisconnectWindow( void );
|
|
extern void HideDisconnectWindow( void );
|
|
extern WindowMsgHandledType DisconnectControlSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType DisconnectControlInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Establish Connections Window -------------------------------------------------------------------
|
|
extern void ShowEstablishConnectionsWindow( void );
|
|
extern void HideEstablishConnectionsWindow( void );
|
|
extern WindowMsgHandledType EstablishConnectionsControlSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType EstablishConnectionsControlInput( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// The in game quit menu --------------------------------------------------------------------------
|
|
extern void destroyQuitMenu();
|
|
extern void ToggleQuitMenu( void );
|
|
extern void HideQuitMenu( void );
|
|
extern WindowMsgHandledType QuitMenuSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Message of the Day -----------------------------------------------------------------------------
|
|
extern WindowMsgHandledType MOTDSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
// Message Box --------------------------------------------------------------------------------
|
|
extern WindowMsgHandledType MessageBoxSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
extern WindowMsgHandledType QuitMessageBoxSystem( GameWindow *window, UnsignedInt msg, WindowMsgData mData1, WindowMsgData mData2 );
|
|
|
|
|
|
#endif // __GUICALLBACKS_H_
|
|
|