FinalSun.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. /*
  2. FinalSun/FinalAlert 2 Mission Editor
  3. Copyright (C) 1999-2024 Electronic Arts, Inc.
  4. Authored by Matthias Wagner
  5. This program is free software: you can redistribute it and/or modify
  6. it under the terms of the GNU General Public License as published by
  7. the Free Software Foundation, either version 3 of the License, or
  8. (at your option) any later version.
  9. This program is distributed in the hope that it will be useful,
  10. but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. GNU General Public License for more details.
  13. You should have received a copy of the GNU General Public License
  14. along with this program. If not, see <https://www.gnu.org/licenses/>.
  15. */
  16. //
  17. // Main header file
  18. //
  19. #if !defined(AFX_TIBERIANSUNMISSIONEDITOR_H__9F773422_63BB_11D3_99E0_C30F10710B17__INCLUDED_)
  20. #define AFX_TIBERIANSUNMISSIONEDITOR_H__9F773422_63BB_11D3_99E0_C30F10710B17__INCLUDED_
  21. #if _MSC_VER > 1000
  22. #pragma once
  23. #endif // _MSC_VER > 1000
  24. #ifndef __AFXWIN_H__
  25. #error include 'stdafx.h' before including this file for PCH
  26. #endif
  27. #include "resource.h" // main symbols
  28. #include "ddeml.h"
  29. #include "loading.h"
  30. struct OPTIONS{
  31. CString TSExe;
  32. CString LanguageName;
  33. CString prev_maps[4];
  34. bool bPreferLocalTheaterFiles = true;
  35. BOOL bFlat;
  36. BOOL bEasy;
  37. BOOL bMarbleMadness;
  38. BOOL bSupportMarbleMadness;
  39. BOOL bShowCells;
  40. BOOL bDoNotLoadBuildingGraphics;
  41. BOOL bDoNotLoadInfantryGraphics;
  42. BOOL bDoNotLoadAircraftGraphics;
  43. BOOL bDoNotLoadTreeGraphics;
  44. BOOL bDoNotLoadSnowGraphics;
  45. BOOL bDoNotLoadTemperateGraphics;
  46. BOOL bDoNotLoadVehicleGraphics;
  47. BOOL bDoNotLoadBMPs;
  48. BOOL bDoNotLoadOverlayGraphics;
  49. BOOL bDisableAutoShore;
  50. BOOL bDisableAutoLat;
  51. BOOL bNoSounds;
  52. BOOL bDisableSlopeCorrection;
  53. float fMiniMapScale = 2.0f;
  54. float fLoadScreenDelayInSeconds = 3.5f;
  55. bool bShowStats = false;
  56. bool bHighResUI = true;
  57. bool bVSync = false;
  58. std::vector<float> viewScaleSteps = { 0.75f, 0.5f, 0.25f };
  59. bool viewScaleUseSteps = true;
  60. float viewScaleSpeed = 15.0f;
  61. bool useDefaultMouseCursor = false;
  62. public:
  63. BOOL bSearchLikeTS;
  64. };
  65. /////////////////////////////////////////////////////////////////////////////
  66. // CFinalSunApp:
  67. // Look at FinalSun.cpp for the implementation of this class
  68. //
  69. class CFinalSunApp : public CWinApp
  70. {
  71. public:
  72. DWORD pidInst;
  73. OPTIONS m_Options;
  74. CLoading* m_loading;
  75. CFinalSunApp();
  76. const std::string& getLogFileName() const
  77. {
  78. return m_u8LogFileName;
  79. }
  80. // Überladungen
  81. // Vom Klassenassistenten generierte Überladungen virtueller Funktionen
  82. //{{AFX_VIRTUAL(CFinalSunApp)
  83. public:
  84. virtual BOOL InitInstance();
  85. virtual int Run();
  86. virtual BOOL ProcessMessageFilter(int code, LPMSG lpMsg);
  87. virtual LRESULT ProcessWndProcException(CException* e, const MSG* pMsg);
  88. virtual BOOL PreTranslateMessage(MSG* pMsg);
  89. virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
  90. virtual BOOL OnIdle(LONG lCount);
  91. //}}AFX_VIRTUAL
  92. // Implementierung
  93. //{{AFX_MSG(CFinalSunApp)
  94. //}}AFX_MSG
  95. DECLARE_MESSAGE_MAP()
  96. public:
  97. UINT m_cf;
  98. HACCEL m_hAccel;
  99. void ParseCommandLine();
  100. void ShowTipAtStartup(void);
  101. void ShowTipOfTheDay(void);
  102. private:
  103. std::string m_u8LogFileName;
  104. };
  105. /////////////////////////////////////////////////////////////////////////////
  106. //{{AFX_INSERT_LOCATION}}
  107. // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein.
  108. #endif // !defined(AFX_TIBERIANSUNMISSIONEDITOR_H__9F773422_63BB_11D3_99E0_C30F10710B17__INCLUDED_)