/* ** Command & Conquer Generals Zero Hour(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 . */ /*********************************************************************************************** *** 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 : Max2W3D * * * * $Archive:: /Commando/Code/Tools/max2w3d/gennamesdialog.h $* * * * Original Author:: Greg Hjelstrom * * * * $Author:: Greg_h $* * * * $Modtime:: 12/06/00 3:25p $* * * * $Revision:: 2 $* * * *---------------------------------------------------------------------------------------------* * Functions: * * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ #include #include "w3d_file.h" /********************************************************************************************** ** ** GenNamesDialogClass - Dialog box for the node naming parameters ** **********************************************************************************************/ class GenNamesDialogClass { public: GenNamesDialogClass(Interface * maxinterface); ~GenNamesDialogClass(); struct OptionsStruct { OptionsStruct(void) : OnlyAffectSelected(false), NameIndex(0), AssignCollisionBits(false) { memset(RootName,0,sizeof(RootName)); memset(PrefixName,0,sizeof(PrefixName)); memset(SuffixName,0,sizeof(SuffixName)); } // overall options bool AssignNames; bool AssignPrefix; bool AssignSuffix; bool AssignCollisionBits; bool OnlyAffectSelected; // name options char RootName[W3D_NAME_LEN]; char PrefixName[W3D_NAME_LEN]; char SuffixName[W3D_NAME_LEN]; int NameIndex; // collision bit options bool PhysicalCollision; bool ProjectileCollision; bool VisCollision; bool CameraCollision; bool VehicleCollision; }; bool Get_Options(OptionsStruct * options); bool Dialog_Proc(HWND hWnd,UINT message,WPARAM wParam,LPARAM); bool Ok_To_Exit(void); void Toggle_Collision_Bits_Assignment(void); void Toggle_Name_Assignment(void); private: enum { MIN_NAME_INDEX = 0, MAX_NAME_INDEX = 999, INITIAL_NAME_INDEX = 0, MAX_ROOT_NAME_LEN = 10, MAX_PREFIX_LEN = 3, MAX_SUFFIX_LEN = 3, }; HWND Hwnd; OptionsStruct * Options; Interface * MaxInterface; ISpinnerControl * NameIndexSpin; friend BOOL CALLBACK _gen_names_dialog_proc(HWND Hwnd,UINT message,WPARAM wParam,LPARAM lParam); };