This repository has been archived on 2025-02-27. You can view files and clone it, but cannot push or open issues or pull requests.
CnC_Renegade/Code/Commando/dlghelpscreen.cpp

243 lines
7 KiB
C++

/*
** Command & Conquer Renegade(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 O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
***********************************************************************************************
* *
* Project Name : Combat *
* *
* $Archive:: /Commando/Code/Commando/dlghelpscreen.cpp $*
* *
* Author:: Byon Garrabrant *
* *
* $Modtime:: 12/14/01 4:07p $*
* *
* $Revision:: 8 $*
* *
*---------------------------------------------------------------------------------------------*
* Functions: *
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
#include "dlghelpscreen.h"
#if 0
#include "dialogresource.h"
#include "tabctrl.h"
#include "dlgevaobjectivestab.h"
#include "dlgevamaptab.h"
#include "dlgevadatatab.h"
#include "dlgevacharacterstab.h"
#include "dlgevaweaponstab.h"
#include "dlgevavehiclestab.h"
#include "dlgevabuildingstab.h"
#include "cnetwork.h"
#include "gamemode.h"
#include "wolgmode.h"
#include "dialogmgr.h"
#include "gametype.h"
#endif
#include "menubackdrop.h"
#include "gameinitmgr.h"
#include "input.h"
////////////////////////////////////////////////////////////////
//
// HelpScreenDialogClass
//
////////////////////////////////////////////////////////////////
HelpScreenDialogClass::HelpScreenDialogClass (void) :
MenuDialogClass ( IDD_HELP_SCREEN )
{
return ;
}
////////////////////////////////////////////////////////////////
//
// ~HelpScreenDialogClass
//
////////////////////////////////////////////////////////////////
HelpScreenDialogClass::~HelpScreenDialogClass (void)
{
return ;
}
////////////////////////////////////////////////////////////////
//
// On_Init_Dialog
//
////////////////////////////////////////////////////////////////
void
HelpScreenDialogClass::On_Init_Dialog (void)
{
MenuDialogClass::On_Init_Dialog ();
int key_table[][2] = {
{ IDC_HELP_KEY_FORWARD, INPUT_FUNCTION_MOVE_FORWARD },
{ IDC_HELP_KEY_BACKWARD, INPUT_FUNCTION_MOVE_BACKWARD },
{ IDC_HELP_KEY_LEFT, INPUT_FUNCTION_MOVE_LEFT },
{ IDC_HELP_KEY_RIGHT, INPUT_FUNCTION_MOVE_RIGHT },
{ IDC_HELP_KEY_RETURN, INPUT_FUNCTION_MENU_TOGGLE },
{ IDC_HELP_KEY_WALK, INPUT_FUNCTION_WALK_MODE },
{ IDC_HELP_KEY_CROUCH, INPUT_FUNCTION_CROUCH },
{ IDC_HELP_KEY_JUMP, INPUT_FUNCTION_JUMP },
{ IDC_HELP_KEY_OBJECTIVES, INPUT_FUNCTION_EVA_MISSION_OBJECTIVES_TOGGLE },
{ IDC_HELP_KEY_NEXT_WEAPON, INPUT_FUNCTION_NEXT_WEAPON },
{ IDC_HELP_KEY_ACTION, INPUT_FUNCTION_ACTION },
{ IDC_HELP_KEY_CYCLE_POGS, INPUT_FUNCTION_CYCLE_POG },
{ IDC_HELP_KEY_WEAPON1, INPUT_FUNCTION_SELECT_WEAPON_1 },
{ IDC_HELP_KEY_WEAPON2, INPUT_FUNCTION_SELECT_WEAPON_2 },
{ IDC_HELP_KEY_WEAPON3, INPUT_FUNCTION_SELECT_WEAPON_3 },
{ IDC_HELP_KEY_WEAPON4, INPUT_FUNCTION_SELECT_WEAPON_4 },
{ IDC_HELP_KEY_WEAPON5, INPUT_FUNCTION_SELECT_WEAPON_5 },
};
#define KEY_TABLE_SIZE (sizeof(key_table)/sizeof(key_table[0]))
for ( int i = 0; i < KEY_TABLE_SIZE; i++ ) {
int key = Input::Get_Primary_Key_For_Function( key_table[i][1] );
WideStringClass wstr(0,true);
Input::Get_Translated_Key_Name( key, wstr );
Set_Dlg_Item_Text( key_table[i][0], wstr );
}
return ;
}
////////////////////////////////////////////////////////////////
//
// On_Command
//
////////////////////////////////////////////////////////////////
void
HelpScreenDialogClass::On_Command (int ctrl_id, int message_id, DWORD param)
{
switch (ctrl_id)
{
case IDOK:
case IDCANCEL:
GameInitMgrClass::Continue_Game ();
break;
}
//
// Allow the base class to process the message (if necessary)
//
MenuDialogClass::On_Command (ctrl_id, message_id, param);
return ;
}
////////////////////////////////////////////////////////////////
//
// Display
//
////////////////////////////////////////////////////////////////
void
HelpScreenDialogClass::Display (void)
{
START_DIALOG (HelpScreenDialogClass);
return ;
}
////////////////////////////////////////////////////////////////
//
// On_Menu_Activate
//
////////////////////////////////////////////////////////////////
void
HelpScreenDialogClass::On_Menu_Activate (bool onoff)
{
if (onoff) {
//
// Replace the backdrop
//
MenuBackDropClass * new_backdrop = new MenuBackDropClass;
new_backdrop->Set_Model( "IF_HELPLOAD" );
new_backdrop->Set_Animation( "IF_HELPLOAD.IF_HELPLOAD" );
OldBackdrop = Replace_BackDrop( new_backdrop );
} else {
//
// Restore the old backdrop
//
if (OldBackdrop != NULL) {
OldBackdrop = Replace_BackDrop (OldBackdrop);
if (OldBackdrop != NULL) {
delete OldBackdrop;
OldBackdrop = NULL;
}
}
}
return ;
}
////////////////////////////////////////////////////////////////
//
// On_Destroy
//
////////////////////////////////////////////////////////////////
void
HelpScreenDialogClass::On_Destroy (void)
{
//
// Restore the old backdrop
//
if (OldBackdrop != NULL) {
OldBackdrop = Replace_BackDrop (OldBackdrop);
if (OldBackdrop != NULL) {
delete OldBackdrop;
OldBackdrop = NULL;
}
}
return ;
}
////////////////////////////////////////////////////////////////
//
// On_Key_Down
//
////////////////////////////////////////////////////////////////
bool
HelpScreenDialogClass::On_Key_Down (uint32 key_id, uint32 key_data)
{
bool retval = false;
switch (key_id)
{
case VK_RETURN:
case VK_F1:
GameInitMgrClass::Continue_Game ();
break;
default:
retval = MenuDialogClass::On_Key_Down (key_id, key_data);
break;
}
return retval;
}