├── AnnoPythonAPITool.sln ├── AnnoPythonAPITool ├── AnnoPythonAPITool.aps ├── AnnoPythonAPITool.cpp ├── AnnoPythonAPITool.h ├── AnnoPythonAPITool.rc ├── AnnoPythonAPITool.vcxproj ├── AnnoPythonAPITool.vcxproj.filters ├── AnnoPythonAPITool.vcxproj.user ├── AnnoPythonAPIToolDlg.cpp ├── AnnoPythonAPIToolDlg.h ├── ItemList.txt ├── framework.h ├── pch.cpp ├── pch.h ├── res │ ├── AnnoPythonAPITool.ico │ └── AnnoPythonAPITool.rc2 ├── resource.h ├── script.lua └── targetver.h ├── AnnoPythonInject ├── AnnoPythonInject.vcxproj ├── AnnoPythonInject.vcxproj.filters ├── AnnoPythonInject.vcxproj.user ├── dllmain.cpp ├── framework.h ├── pch.cpp └── pch.h ├── DUMP ├── Dump_TextSource.txt ├── Dump_TextSource2.txt ├── IDA_Strings.txt ├── textsourcelist.json └── x64dbg_Strings.txt └── README.md /AnnoPythonAPITool.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 17 4 | VisualStudioVersion = 17.4.33205.214 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AnnoPythonAPITool", "AnnoPythonAPITool\AnnoPythonAPITool.vcxproj", "{D0ECE678-C9BE-4DF7-9C50-B45D986AC171}" 7 | EndProject 8 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AnnoPythonInject", "AnnoPythonInject\AnnoPythonInject.vcxproj", "{0CB490DA-22CF-45C5-98CD-5F94393BCA8D}" 9 | EndProject 10 | Global 11 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 12 | Debug|x64 = Debug|x64 13 | Debug|x86 = Debug|x86 14 | Release|x64 = Release|x64 15 | Release|x86 = Release|x86 16 | EndGlobalSection 17 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 18 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Debug|x64.ActiveCfg = Debug|x64 19 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Debug|x64.Build.0 = Debug|x64 20 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Debug|x86.ActiveCfg = Debug|Win32 21 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Debug|x86.Build.0 = Debug|Win32 22 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Release|x64.ActiveCfg = Release|x64 23 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Release|x64.Build.0 = Release|x64 24 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Release|x86.ActiveCfg = Release|Win32 25 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171}.Release|x86.Build.0 = Release|Win32 26 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Debug|x64.ActiveCfg = Debug|x64 27 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Debug|x64.Build.0 = Debug|x64 28 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Debug|x86.ActiveCfg = Debug|Win32 29 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Debug|x86.Build.0 = Debug|Win32 30 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Release|x64.ActiveCfg = Release|x64 31 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Release|x64.Build.0 = Release|x64 32 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Release|x86.ActiveCfg = Release|Win32 33 | {0CB490DA-22CF-45C5-98CD-5F94393BCA8D}.Release|x86.Build.0 = Release|Win32 34 | EndGlobalSection 35 | GlobalSection(SolutionProperties) = preSolution 36 | HideSolutionNode = FALSE 37 | EndGlobalSection 38 | GlobalSection(ExtensibilityGlobals) = postSolution 39 | SolutionGuid = {333EAD99-1590-49D0-B7F4-11E26AF254FD} 40 | EndGlobalSection 41 | EndGlobal 42 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisAnd1998/Anno1800PythonAPI/ff0adaa6f05160210e66686dc77ef902418347c7/AnnoPythonAPITool/AnnoPythonAPITool.aps -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.cpp: -------------------------------------------------------------------------------- 1 | 2 | // AnnoPythonAPITool.cpp : Defines the class behaviors for the application. 3 | // 4 | 5 | #include "pch.h" 6 | #include "framework.h" 7 | #include "AnnoPythonAPITool.h" 8 | #include "AnnoPythonAPIToolDlg.h" 9 | 10 | #ifdef _DEBUG 11 | #define new DEBUG_NEW 12 | #endif 13 | 14 | 15 | // CAnnoPythonAPIToolApp 16 | 17 | BEGIN_MESSAGE_MAP(CAnnoPythonAPIToolApp, CWinApp) 18 | ON_COMMAND(ID_HELP, &CWinApp::OnHelp) 19 | END_MESSAGE_MAP() 20 | 21 | 22 | // CAnnoPythonAPIToolApp construction 23 | 24 | CAnnoPythonAPIToolApp::CAnnoPythonAPIToolApp() 25 | { 26 | // support Restart Manager 27 | m_dwRestartManagerSupportFlags = AFX_RESTART_MANAGER_SUPPORT_RESTART; 28 | 29 | // TODO: add construction code here, 30 | // Place all significant initialization in InitInstance 31 | } 32 | 33 | 34 | // The one and only CAnnoPythonAPIToolApp object 35 | 36 | CAnnoPythonAPIToolApp theApp; 37 | 38 | 39 | // CAnnoPythonAPIToolApp initialization 40 | 41 | BOOL CAnnoPythonAPIToolApp::InitInstance() 42 | { 43 | // TODO: call AfxInitRichEdit2() to initialize richedit2 library.\n" // InitCommonControlsEx() is required on Windows XP if an application 44 | // manifest specifies use of ComCtl32.dll version 6 or later to enable 45 | // visual styles. Otherwise, any window creation will fail. 46 | INITCOMMONCONTROLSEX InitCtrls; 47 | InitCtrls.dwSize = sizeof(InitCtrls); 48 | // Set this to include all the common control classes you want to use 49 | // in your application. 50 | InitCtrls.dwICC = ICC_WIN95_CLASSES; 51 | InitCommonControlsEx(&InitCtrls); 52 | 53 | CWinApp::InitInstance(); 54 | 55 | 56 | AfxEnableControlContainer(); 57 | 58 | // Create the shell manager, in case the dialog contains 59 | // any shell tree view or shell list view controls. 60 | CShellManager *pShellManager = new CShellManager; 61 | 62 | // Activate "Windows Native" visual manager for enabling themes in MFC controls 63 | CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows)); 64 | 65 | // Standard initialization 66 | // If you are not using these features and wish to reduce the size 67 | // of your final executable, you should remove from the following 68 | // the specific initialization routines you do not need 69 | // Change the registry key under which our settings are stored 70 | // TODO: You should modify this string to be something appropriate 71 | // such as the name of your company or organization 72 | SetRegistryKey(_T("Local AppWizard-Generated Applications")); 73 | 74 | CAnnoPythonAPIToolDlg dlg; 75 | m_pMainWnd = &dlg; 76 | INT_PTR nResponse = dlg.DoModal(); 77 | if (nResponse == IDOK) 78 | { 79 | // TODO: Place code here to handle when the dialog is 80 | // dismissed with OK 81 | } 82 | else if (nResponse == IDCANCEL) 83 | { 84 | // TODO: Place code here to handle when the dialog is 85 | // dismissed with Cancel 86 | } 87 | else if (nResponse == -1) 88 | { 89 | TRACE(traceAppMsg, 0, "Warning: dialog creation failed, so application is terminating unexpectedly.\n"); 90 | TRACE(traceAppMsg, 0, "Warning: if you are using MFC controls on the dialog, you cannot #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS.\n"); 91 | } 92 | 93 | // Delete the shell manager created above. 94 | if (pShellManager != nullptr) 95 | { 96 | delete pShellManager; 97 | } 98 | 99 | #if !defined(_AFXDLL) && !defined(_AFX_NO_MFC_CONTROLS_IN_DIALOGS) 100 | ControlBarCleanUp(); 101 | #endif 102 | 103 | // Since the dialog has been closed, return FALSE so that we exit the 104 | // application, rather than start the application's message pump. 105 | return FALSE; 106 | } 107 | 108 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.h: -------------------------------------------------------------------------------- 1 | 2 | // AnnoPythonAPITool.h : main header file for the PROJECT_NAME application 3 | // 4 | 5 | #pragma once 6 | 7 | #ifndef __AFXWIN_H__ 8 | #error "include 'pch.h' before including this file for PCH" 9 | #endif 10 | 11 | #include "resource.h" // main symbols 12 | 13 | 14 | // CAnnoPythonAPIToolApp: 15 | // See AnnoPythonAPITool.cpp for the implementation of this class 16 | // 17 | 18 | class CAnnoPythonAPIToolApp : public CWinApp 19 | { 20 | public: 21 | CAnnoPythonAPIToolApp(); 22 | 23 | // Overrides 24 | public: 25 | virtual BOOL InitInstance(); 26 | 27 | // Implementation 28 | 29 | DECLARE_MESSAGE_MAP() 30 | }; 31 | 32 | extern CAnnoPythonAPIToolApp theApp; 33 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisAnd1998/Anno1800PythonAPI/ff0adaa6f05160210e66686dc77ef902418347c7/AnnoPythonAPITool/AnnoPythonAPITool.rc -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 17.0 23 | {D0ECE678-C9BE-4DF7-9C50-B45D986AC171} 24 | MFCProj 25 | AnnoPythonAPITool 26 | 10.0 27 | 28 | 29 | 30 | Application 31 | true 32 | v143 33 | Unicode 34 | Dynamic 35 | 36 | 37 | Application 38 | false 39 | v143 40 | true 41 | Unicode 42 | Dynamic 43 | 44 | 45 | Application 46 | true 47 | v143 48 | Unicode 49 | Dynamic 50 | 51 | 52 | Application 53 | false 54 | v143 55 | true 56 | Unicode 57 | Dynamic 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | true 79 | 80 | 81 | true 82 | 83 | 84 | false 85 | 86 | 87 | false 88 | 89 | 90 | 91 | Use 92 | Level3 93 | true 94 | _WINDOWS;_DEBUG;%(PreprocessorDefinitions) 95 | pch.h 96 | 97 | 98 | Windows 99 | false 100 | 101 | 102 | false 103 | true 104 | _DEBUG;%(PreprocessorDefinitions) 105 | 106 | 107 | 0x0409 108 | _DEBUG;%(PreprocessorDefinitions) 109 | $(IntDir);%(AdditionalIncludeDirectories) 110 | 111 | 112 | 113 | 114 | Use 115 | Level3 116 | true 117 | WIN32;_WINDOWS;_DEBUG;%(PreprocessorDefinitions) 118 | pch.h 119 | 120 | 121 | Windows 122 | 123 | 124 | false 125 | true 126 | _DEBUG;%(PreprocessorDefinitions) 127 | 128 | 129 | 0x0409 130 | _DEBUG;%(PreprocessorDefinitions) 131 | $(IntDir);%(AdditionalIncludeDirectories) 132 | 133 | 134 | 135 | 136 | Use 137 | Level3 138 | true 139 | true 140 | true 141 | WIN32;_WINDOWS;NDEBUG;%(PreprocessorDefinitions) 142 | pch.h 143 | 144 | 145 | Windows 146 | true 147 | true 148 | 149 | 150 | false 151 | true 152 | NDEBUG;%(PreprocessorDefinitions) 153 | 154 | 155 | 0x0409 156 | NDEBUG;%(PreprocessorDefinitions) 157 | $(IntDir);%(AdditionalIncludeDirectories) 158 | 159 | 160 | 161 | 162 | Use 163 | Level3 164 | true 165 | true 166 | true 167 | _WINDOWS;NDEBUG;%(PreprocessorDefinitions) 168 | pch.h 169 | 170 | 171 | Windows 172 | true 173 | true 174 | false 175 | 176 | 177 | false 178 | true 179 | NDEBUG;%(PreprocessorDefinitions) 180 | 181 | 182 | 0x0409 183 | NDEBUG;%(PreprocessorDefinitions) 184 | $(IntDir);%(AdditionalIncludeDirectories) 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | Create 200 | Create 201 | Create 202 | Create 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | Header Files 26 | 27 | 28 | Header Files 29 | 30 | 31 | Header Files 32 | 33 | 34 | Header Files 35 | 36 | 37 | 38 | 39 | Source Files 40 | 41 | 42 | Source Files 43 | 44 | 45 | Source Files 46 | 47 | 48 | 49 | 50 | Resource Files 51 | 52 | 53 | 54 | 55 | Resource Files 56 | 57 | 58 | 59 | 60 | Resource Files 61 | 62 | 63 | 64 | 65 | Resource Files 66 | 67 | 68 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPITool.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | AnnoPythonAPITool.rc 5 | 6 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPIToolDlg.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include "framework.h" 3 | #include "AnnoPythonAPITool.h" 4 | #include "AnnoPythonAPIToolDlg.h" 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #define GetCurrentDir _getcwd 11 | 12 | DWORD pid = 0; 13 | HANDLE hProcess; 14 | std::string dllName; 15 | size_t sz; 16 | 17 | //Used to hide code from listbox 18 | CString wpnl = L" \n"; 19 | 20 | HHOOK hHook = NULL; 21 | 22 | bool Annoinitialized = FALSE; 23 | 24 | bool LuaMode = TRUE; 25 | bool PythonMode = FALSE; 26 | 27 | CWnd* gobtn; 28 | CWnd* statuslabel; 29 | CWnd* customvaluebox; 30 | CWnd* qtyvaluebox; 31 | CWnd* commandbox; 32 | 33 | int slotNumber = 0; 34 | 35 | bool f8down = FALSE; 36 | 37 | LRESULT CALLBACK MyLowLevelKeyBoardProc(int nCode, WPARAM wParam, LPARAM lParam) 38 | { 39 | if (nCode >= HC_ACTION) 40 | { 41 | KBDLLHOOKSTRUCT* pkbhs = reinterpret_cast (lParam); 42 | if (pkbhs->vkCode == VK_F8) 43 | { 44 | HWND hWnd = AfxGetApp()->m_pMainWnd->m_hWnd; 45 | 46 | LONG lStyles = GetWindowLong(hWnd, GWL_STYLE); 47 | 48 | if (f8down == FALSE) 49 | { 50 | f8down = TRUE; 51 | } 52 | else 53 | { 54 | if (lStyles & WS_MINIMIZE) 55 | { 56 | ShowWindow(hWnd, SW_NORMAL); 57 | SetForegroundWindow(hWnd); 58 | } 59 | else 60 | { 61 | ShowWindow(hWnd, SW_MINIMIZE); 62 | } 63 | 64 | f8down = FALSE; 65 | } 66 | } 67 | } 68 | 69 | return CallNextHookEx(hHook, nCode, wParam, lParam); 70 | } 71 | 72 | DWORD findProcessID() 73 | { 74 | HANDLE hProcessSnap; 75 | HANDLE hProcess; 76 | PROCESSENTRY32 pe32; 77 | DWORD dwPriorityClass; 78 | 79 | hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); 80 | pe32.dwSize = sizeof(PROCESSENTRY32); 81 | if (!Process32First(hProcessSnap, &pe32)) 82 | { 83 | CloseHandle(hProcessSnap); 84 | return (FALSE); 85 | } 86 | 87 | do { 88 | if (!wcscmp(pe32.szExeFile, L"Anno1800.exe")) 89 | { 90 | return pe32.th32ProcessID; 91 | } 92 | } while (Process32Next(hProcessSnap, &pe32)); 93 | return 0; 94 | } 95 | 96 | HMODULE GetRemoteModuleHandle(DWORD lpProcessId, LPCSTR lpModule) 97 | { 98 | HMODULE hResult = NULL; 99 | HANDLE hSnapshot; 100 | MODULEENTRY32 me32; 101 | 102 | hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, lpProcessId); 103 | if (hSnapshot != INVALID_HANDLE_VALUE) 104 | { 105 | me32.dwSize = sizeof(MODULEENTRY32); 106 | if (Module32First(hSnapshot, &me32)) 107 | { 108 | do { 109 | std::wstring wide(me32.szModule); 110 | std::string str(wide.begin(), wide.end()); 111 | 112 | if (!_stricmp(str.c_str(), lpModule)) 113 | { 114 | hResult = me32.hModule; 115 | break; 116 | } 117 | } while (Module32Next(hSnapshot, &me32)); 118 | } 119 | 120 | CloseHandle(hSnapshot); 121 | } 122 | 123 | return hResult; 124 | } 125 | 126 | std::string curDir(std::string file) 127 | { 128 | char buffer[MAX_PATH]; 129 | GetCurrentDir(buffer, sizeof(buffer)); 130 | std::string::size_type pos = std::string(buffer).find_last_of("\\/") - 1; 131 | return std::string(buffer) + "\\" + file; 132 | } 133 | 134 | // CAboutDlg dialog used for App About 135 | 136 | class CAboutDlg : public CDialogEx 137 | { 138 | public: CAboutDlg(); 139 | 140 | // Dialog Data 141 | 142 | #ifdef AFX_DESIGN_TIME 143 | enum 144 | { 145 | IDD = IDD_ABOUTBOX 146 | }; 147 | 148 | #endif 149 | 150 | protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 151 | 152 | // Implementation 153 | protected: DECLARE_MESSAGE_MAP() 154 | }; 155 | 156 | CAboutDlg::CAboutDlg() : CDialogEx(IDD_ABOUTBOX) {} 157 | 158 | void CAboutDlg::DoDataExchange(CDataExchange* pDX) 159 | { 160 | CDialogEx::DoDataExchange(pDX); 161 | } 162 | 163 | BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) 164 | END_MESSAGE_MAP() 165 | 166 | // CAnnoPythonAPIToolDlg dialog 167 | 168 | CAnnoPythonAPIToolDlg::CAnnoPythonAPIToolDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_ANNOPYTHONAPITOOL_DIALOG, pParent) 169 | { 170 | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 171 | } 172 | 173 | void CAnnoPythonAPIToolDlg::DoDataExchange(CDataExchange* pDX) 174 | { 175 | CDialogEx::DoDataExchange(pDX); 176 | DDX_Control(pDX, IDC_LIST2, ListBox1); 177 | DDX_Control(pDX, IDC_COMBO1, ComboBox1); 178 | DDX_Control(pDX, IDC_CHECK1, CheckBox1); 179 | DDX_Control(pDX, IDC_RADIO2, luamodeoption); 180 | DDX_Control(pDX, IDC_RADIO1, pythonmodeoption); 181 | DDX_Control(pDX, IDC_CHECK2, CheckBox2); 182 | DDX_Control(pDX, IDC_CHECK3, CheckBox3); 183 | DDX_Control(pDX, IDC_CHECK4, CheckBox4); 184 | } 185 | 186 | BEGIN_MESSAGE_MAP(CAnnoPythonAPIToolDlg, CDialogEx) 187 | ON_WM_SYSCOMMAND() 188 | ON_WM_PAINT() 189 | ON_WM_QUERYDRAGICON() 190 | ON_BN_CLICKED(IDC_BUTTON1, &CAnnoPythonAPIToolDlg::OnBnClickedButton1) 191 | ON_LBN_SELCHANGE(IDC_LIST2, &CAnnoPythonAPIToolDlg::OnLbnSelchangeList2) 192 | ON_BN_CLICKED(IDC_BUTTON3, &CAnnoPythonAPIToolDlg::OnBnClickedButton3) 193 | ON_BN_CLICKED(IDC_BUTTON4, &CAnnoPythonAPIToolDlg::OnBnClickedButton4) 194 | ON_BN_CLICKED(IDC_BUTTON5, &CAnnoPythonAPIToolDlg::OnBnClickedButton5) 195 | ON_BN_CLICKED(IDC_BUTTON6, &CAnnoPythonAPIToolDlg::OnBnClickedButton6) 196 | ON_BN_CLICKED(IDC_BUTTON7, &CAnnoPythonAPIToolDlg::OnBnClickedButton7) 197 | ON_BN_CLICKED(IDC_BUTTON8, &CAnnoPythonAPIToolDlg::OnBnClickedButton8) 198 | ON_CBN_SELCHANGE(IDC_COMBO1, &CAnnoPythonAPIToolDlg::OnCbnSelchangeCombo1) 199 | ON_BN_CLICKED(IDC_BUTTON9, &CAnnoPythonAPIToolDlg::OnBnClickedButton9) 200 | ON_EN_CHANGE(IDC_EDIT2, &CAnnoPythonAPIToolDlg::OnEnChangeEdit2) 201 | ON_BN_CLICKED(IDC_BUTTON10, &CAnnoPythonAPIToolDlg::OnBnClickedButton10) 202 | ON_BN_CLICKED(IDC_BUTTON11, &CAnnoPythonAPIToolDlg::OnBnClickedButton11) 203 | ON_BN_CLICKED(IDC_BUTTON13, &CAnnoPythonAPIToolDlg::OnBnClickedButton13) 204 | ON_BN_CLICKED(IDC_BUTTON12, &CAnnoPythonAPIToolDlg::OnBnClickedButton12) 205 | ON_BN_CLICKED(IDC_RADIO2, &CAnnoPythonAPIToolDlg::OnBnClickedRadio2) 206 | ON_BN_CLICKED(IDC_RADIO1, &CAnnoPythonAPIToolDlg::OnBnClickedRadio1) 207 | ON_BN_CLICKED(IDC_BUTTON14, &CAnnoPythonAPIToolDlg::OnBnClickedButton14) 208 | ON_BN_CLICKED(IDC_CHECK3, &CAnnoPythonAPIToolDlg::OnBnClickedCheck3) 209 | ON_BN_CLICKED(IDC_CHECK2, &CAnnoPythonAPIToolDlg::OnBnClickedCheck2) 210 | ON_BN_CLICKED(IDC_CHECK4, &CAnnoPythonAPIToolDlg::OnBnClickedCheck4) 211 | END_MESSAGE_MAP() 212 | 213 | // CAnnoPythonAPIToolDlg message handlers 214 | void annoInit() 215 | { 216 | pid = findProcessID(); 217 | hProcess = OpenProcess(PROCESS_ALL_ACCESS, TRUE, pid); 218 | } 219 | 220 | BOOL CAnnoPythonAPIToolDlg::OnInitDialog() 221 | { 222 | CDialogEx::OnInitDialog(); 223 | 224 | // Add "About..." menu item to system menu. 225 | 226 | // IDM_ABOUTBOX must be in the system command range. 227 | ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); 228 | ASSERT(IDM_ABOUTBOX < 0xF000); 229 | 230 | CMenu* pSysMenu = GetSystemMenu(FALSE); 231 | if (pSysMenu != nullptr) 232 | { 233 | BOOL bNameValid; 234 | CString strAboutMenu; 235 | bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); 236 | ASSERT(bNameValid); 237 | if (!strAboutMenu.IsEmpty()) 238 | { 239 | pSysMenu->AppendMenu(MF_SEPARATOR); 240 | pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); 241 | } 242 | } 243 | 244 | // Set the icon for this dialog. The framework does this automatically 245 | // when the application's main window is not a dialog 246 | SetIcon(m_hIcon, TRUE); // Set big icon 247 | SetIcon(m_hIcon, FALSE); // Set small icon 248 | 249 | // TODO: Add extra initialization here 250 | 251 | hHook = SetWindowsHookEx(WH_KEYBOARD_LL, MyLowLevelKeyBoardProc, NULL, 0); 252 | 253 | //ts = TextSources.TextSourceRoots 254 | dllName = curDir("AnnoPythonInject.dll"); 255 | sz = strlen(dllName.c_str()); 256 | 257 | gobtn = GetDlgItem(IDC_BUTTON1); 258 | //statuslabel = GetDlgItem(IDC_STATIC); 259 | customvaluebox = GetDlgItem(IDC_EDIT2); 260 | commandbox = GetDlgItem(IDC_EDIT3); 261 | 262 | customvaluebox->SetWindowTextW(L"190547"); 263 | 264 | qtyvaluebox = GetDlgItem(IDC_EDIT4); 265 | qtyvaluebox->SetWindowTextW(L"10000"); 266 | 267 | 268 | luamodeoption.SetCheck(1); 269 | //gobtn->EnableWindow(FALSE); 270 | //statuslabel->SetWindowTextW(L"Anno 1800 NOT initialized."); 271 | //Annoinitialized = FALSE; 272 | 273 | CWnd* cheatbtn = GetDlgItem(IDC_BUTTON3); 274 | cheatbtn->SendMessage(BM_CLICK, NULL, NULL); 275 | 276 | //ComboBox1.AddString(_T("Diamond") + wpnl + _T("+") + _T("190547")); 277 | //ComboBox1.AddString(_T("A Bottle of Champagne") + wpnl + _T("+") + _T("192213")); 278 | 279 | std::ifstream myfile("ItemList.txt"); 280 | if (myfile.is_open()) 281 | { 282 | while (myfile.good()) 283 | { 284 | std::string line; 285 | getline(myfile, line); 286 | CStringW wideStr(line.c_str()); 287 | 288 | CString sToken = _T(""); 289 | int i = 0; 290 | CString GUID; 291 | bool guidset = false; 292 | while (AfxExtractSubString(sToken, wideStr, i, '@')) 293 | { 294 | if (guidset == false) 295 | { 296 | GUID = sToken; 297 | guidset = true; 298 | } 299 | else 300 | { 301 | ComboBox1.AddString(sToken + wpnl + "@" + GUID); 302 | guidset = false; 303 | } 304 | 305 | i++; 306 | } 307 | } 308 | 309 | myfile.close(); 310 | } 311 | 312 | return TRUE; // return TRUE unless you set the focus to a control 313 | } 314 | 315 | void CAnnoPythonAPIToolDlg::OnSysCommand(UINT nID, LPARAM lParam) 316 | { 317 | if ((nID & 0xFFF0) == IDM_ABOUTBOX) 318 | { 319 | CAboutDlg dlgAbout; 320 | dlgAbout.DoModal(); 321 | } 322 | else 323 | { 324 | CDialogEx::OnSysCommand(nID, lParam); 325 | } 326 | } 327 | 328 | // If you add a minimize button to your dialog, you will need the code below 329 | // to draw the icon. For MFC applications using the document/view model, 330 | // this is automatically done for you by the framework. 331 | 332 | void CAnnoPythonAPIToolDlg::OnPaint() 333 | { 334 | if (IsIconic()) 335 | { 336 | CPaintDC dc(this); // device context for painting 337 | 338 | SendMessage(WM_ICONERASEBKGND, reinterpret_cast (dc.GetSafeHdc()), 0); 339 | 340 | // Center icon in client rectangle 341 | int cxIcon = GetSystemMetrics(SM_CXICON); 342 | int cyIcon = GetSystemMetrics(SM_CYICON); 343 | CRect rect; 344 | GetClientRect(&rect); 345 | int x = (rect.Width() - cxIcon + 1) / 2; 346 | int y = (rect.Height() - cyIcon + 1) / 2; 347 | 348 | // Draw the icon 349 | dc.DrawIcon(x, y, m_hIcon); 350 | } 351 | else 352 | { 353 | CDialogEx::OnPaint(); 354 | } 355 | } 356 | 357 | // The system calls this function to obtain the cursor to display while the user drags 358 | // the minimized window. 359 | HCURSOR CAnnoPythonAPIToolDlg::OnQueryDragIcon() 360 | { 361 | return static_cast (m_hIcon); 362 | } 363 | 364 | void runCommand(std::string cmd) 365 | { 366 | if (FindWindowA("Anno 1800", "Anno 1800") != NULL) 367 | { 368 | annoInit(); 369 | 370 | if (cmd.find("{GUID}") != std::string::npos) 371 | { 372 | CString sWindowText; 373 | customvaluebox->GetWindowText(sWindowText); 374 | std::string cval = CW2A(sWindowText.GetString()); 375 | 376 | cmd.replace(cmd.find("{GUID}"), sizeof("{GUID}") - 1, cval); 377 | } 378 | 379 | if (cmd.find("{QTY}") != std::string::npos) 380 | { 381 | CString sWindowText; 382 | qtyvaluebox->GetWindowText(sWindowText); 383 | std::string cval = CW2A(sWindowText.GetString()); 384 | 385 | cmd.replace(cmd.find("{QTY}"), sizeof("{QTY}") - 1, cval); 386 | } 387 | 388 | //if (cmd.find("{SLT}") != std::string::npos) 389 | //{ 390 | // std::string cval = std::to_string(slotNumber); 391 | //MessageBoxA(NULL, (LPCSTR)cval.c_str(), "", MB_OK); 392 | // cmd.replace(cmd.find("{SLT}"), sizeof("{SLT}") - 1, cval.c_str()); 393 | //} 394 | 395 | 396 | 397 | if (LuaMode == TRUE) { 398 | std::ofstream outfile(curDir("script.lua")); 399 | outfile << cmd + "\r\n" << std::endl; 400 | outfile.close(); 401 | 402 | std::ofstream outfile2(curDir("script.py")); 403 | outfile2 << "" << std::endl; 404 | outfile2.close(); 405 | } 406 | else { 407 | std::ofstream outfile(curDir("script.py")); 408 | outfile << cmd + "\r\n" << std::endl; 409 | outfile.close(); 410 | 411 | std::ofstream outfile2(curDir("script.lua")); 412 | outfile2 << "" << std::endl; 413 | outfile2.close(); 414 | } 415 | 416 | HANDLE hThread = NULL; 417 | 418 | LPVOID lpBaseAddress = VirtualAllocEx(hProcess, NULL, sz, MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE); 419 | WriteProcessMemory(hProcess, lpBaseAddress, dllName.c_str(), sz, NULL); 420 | HMODULE hModule = GetModuleHandle(L"kernel32.dll"); 421 | LPVOID lpStartAddress = GetProcAddress(hModule, "LoadLibraryA"); 422 | hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)lpStartAddress, lpBaseAddress, 0, NULL); 423 | 424 | CloseHandle(hThread); 425 | VirtualFreeEx(hProcess, lpBaseAddress, sz, MEM_RELEASE); 426 | } 427 | else 428 | { 429 | MessageBox(NULL, L"Anno 1800 process not found!", L"", MB_OK); 430 | } 431 | } 432 | 433 | void executeScript() 434 | { 435 | CString sWindowText; 436 | commandbox->GetWindowText(sWindowText); 437 | std::string cval = CW2A(sWindowText.GetString()); 438 | 439 | runCommand(cval); 440 | } 441 | 442 | void CAnnoPythonAPIToolDlg::OnBnClickedButton1() 443 | { 444 | executeScript(); 445 | } 446 | 447 | void CAnnoPythonAPIToolDlg::OnLbnSelchangeList2() 448 | { 449 | int nSel = ListBox1.GetCurSel(); 450 | CString ItemSelected; 451 | if (nSel != LB_ERR) 452 | { 453 | ListBox1.GetText(nSel, ItemSelected); 454 | } 455 | 456 | ItemSelected.Replace(wpnl, _T("\r\n")); 457 | 458 | if (LuaMode == TRUE) { 459 | ItemSelected = L"--" + ItemSelected; 460 | } 461 | else { 462 | ItemSelected = L"#" + ItemSelected; 463 | } 464 | 465 | 466 | commandbox->SetWindowText(ItemSelected); 467 | 468 | } 469 | 470 | void CAnnoPythonAPIToolDlg::OnBnClickedButton3() 471 | { 472 | luamodeoption.SendMessage(BM_CLICK, NULL, NULL); 473 | 474 | CWnd* btn; 475 | btn = GetDlgItem(IDC_BUTTON3); 476 | btn->SetWindowTextW(L"Cheats *"); 477 | btn = GetDlgItem(IDC_BUTTON5); 478 | btn->SetWindowTextW(L"Weather -"); 479 | btn = GetDlgItem(IDC_BUTTON6); 480 | btn->SetWindowTextW(L"Incidents -"); 481 | btn = GetDlgItem(IDC_BUTTON7); 482 | btn->SetWindowTextW(L"Contracts -"); 483 | btn = GetDlgItem(IDC_BUTTON4); 484 | btn->SetWindowTextW(L"Discovery -"); 485 | btn = GetDlgItem(IDC_BUTTON8); 486 | btn->SetWindowTextW(L"Dump (UNSAFE) -"); 487 | btn = GetDlgItem(IDC_BUTTON14); 488 | btn->SetWindowTextW(L"Python Test -"); 489 | btn = NULL; 490 | 491 | ListBox1.ResetContent(); 492 | ListBox1.AddString(_T("Add (Quantity) coins to current economy") + wpnl + _T("ts.Area.Current.Economy.AddAmount(1010017, {QTY})")); 493 | ListBox1.AddString(_T("Substract (Quantity) coins from current economy") + wpnl + _T("ts.Area.Current.Economy.AddAmount(1010017, -{QTY})")); 494 | ListBox1.AddString(_T("Add (Quantity) goods to current economy") + wpnl + _T("ts.Area.Current.Economy.AddAmount({QTY})")); 495 | ListBox1.AddString(_T("Substract (Quantity) goods from current economy") + wpnl + _T("ts.Area.Current.Economy.AddAmount(-{QTY})")); 496 | ListBox1.AddString(_T("Add (GUID) to current selected ship") + wpnl + _T("ts.Selection.Object.ItemContainer.SetEquipSlot(0, -1)\r\nts.Selection.Object.ItemContainer.SetClearSlot(0)\r\nts.Selection.Object.ItemContainer.SetCheatItemInSlot({GUID}, {QTY})")); 497 | ListBox1.AddString(_T("Toggle electricity") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleElectricity()")); 498 | ListBox1.AddString(_T("Toggle super ship speed") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleSuperShipSpeed()")); 499 | ListBox1.AddString(_T("Add building materials to current selected ship") + wpnl + _T("ts.Selection.Object.ItemContainer.SetEquipSlot(0, 0)\r\nts.Selection.Object.ItemContainer.SetClearSlot(0)\r\nts.Selection.Object.ItemContainer.SetClearSlot(1)\r\nts.Selection.Object.ItemContainer.SetCheatItemInSlot(1010196, 50)\r\nts.Selection.Object.ItemContainer.SetCheatItemInSlot(1010218, 50)")); 500 | ListBox1.AddString(_T("Toggle ignore fertilities") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleIgnoreFertilities()")); 501 | ListBox1.AddString(_T("Toggle ignore building costs") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleIgnoreBuildingCosts()")); 502 | ListBox1.AddString(_T("Toggle productivity") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleProductivity()")); 503 | ListBox1.AddString(_T("Toggle defer expensive ecomony") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleDeferExpensiveEconomy()")); 504 | ListBox1.AddString(_T("Toggle fluid resident settle behaviour") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleFluidResidentSettleBehaviour()")); 505 | ListBox1.AddString(_T("Toggle defer expensive quest system") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleDeferExpensiveQuestSystem()")); 506 | ListBox1.AddString(_T("Disable undiscovered") + wpnl + _T("ts.Cheat.GlobalCheats.DisableUndiscovered()")); 507 | ListBox1.AddString(_T("Total trade") + wpnl + _T("ts.Participants.CheatTotalTrade()")); 508 | ListBox1.AddString(_T("Total war") + wpnl + _T("ts.Participants.CheatTotalWar()")); 509 | ListBox1.AddString(_T("Total alliance") + wpnl + _T("ts.Participants.CheatAlliance()")); 510 | 511 | } 512 | 513 | void CAnnoPythonAPIToolDlg::OnBnClickedButton4() 514 | { 515 | 516 | luamodeoption.SendMessage(BM_CLICK, NULL, NULL); 517 | 518 | CWnd* btn; 519 | btn = GetDlgItem(IDC_BUTTON3); 520 | btn->SetWindowTextW(L"Cheats -"); 521 | btn = GetDlgItem(IDC_BUTTON5); 522 | btn->SetWindowTextW(L"Weather -"); 523 | btn = GetDlgItem(IDC_BUTTON6); 524 | btn->SetWindowTextW(L"Incidents -"); 525 | btn = GetDlgItem(IDC_BUTTON7); 526 | btn->SetWindowTextW(L"Contracts -"); 527 | btn = GetDlgItem(IDC_BUTTON4); 528 | btn->SetWindowTextW(L"Discovery *"); 529 | btn = GetDlgItem(IDC_BUTTON8); 530 | btn->SetWindowTextW(L"Dump (UNSAFE) -"); 531 | btn = GetDlgItem(IDC_BUTTON14); 532 | btn->SetWindowTextW(L"Python Test -"); 533 | btn = NULL; 534 | ListBox1.ResetContent(); 535 | ListBox1.AddString(_T("Discover whole map") + wpnl + _T("TextSources.TextSourceRoots.Discovery.ShowAll()")); 536 | ListBox1.AddString(_T("Hide whole map") + wpnl + _T("TextSources.TextSourceRoots.Discovery.HideAll()")); 537 | //ListBox1.AddString(_T("Set UI scale back to 100%") + wpnl + _T("ts.Interface.SetUiScreenScaling(1.0)")); 538 | //ListBox1.AddString(_T("Toggle show console") + wpnl + _T("console.toggleVisibility()")); 539 | } 540 | 541 | void CAnnoPythonAPIToolDlg::OnBnClickedButton5() 542 | { 543 | 544 | luamodeoption.SendMessage(BM_CLICK, NULL, NULL); 545 | 546 | CWnd* btn; 547 | btn = GetDlgItem(IDC_BUTTON3); 548 | btn->SetWindowTextW(L"Cheats -"); 549 | btn = GetDlgItem(IDC_BUTTON5); 550 | btn->SetWindowTextW(L"Weather *"); 551 | btn = GetDlgItem(IDC_BUTTON6); 552 | btn->SetWindowTextW(L"Incidents -"); 553 | btn = GetDlgItem(IDC_BUTTON7); 554 | btn->SetWindowTextW(L"Contracts -"); 555 | btn = GetDlgItem(IDC_BUTTON4); 556 | btn->SetWindowTextW(L"Discovery -"); 557 | btn = GetDlgItem(IDC_BUTTON8); 558 | btn->SetWindowTextW(L"Dump (UNSAFE) -"); 559 | btn = GetDlgItem(IDC_BUTTON14); 560 | btn->SetWindowTextW(L"Python Test -"); 561 | btn = NULL; 562 | ListBox1.ResetContent(); 563 | ListBox1.AddString(_T("Toggle wind direction") + wpnl + _T("ts.Weather.SetChangeWind()")); 564 | 565 | } 566 | 567 | void CAnnoPythonAPIToolDlg::OnBnClickedButton6() 568 | { 569 | 570 | luamodeoption.SendMessage(BM_CLICK, NULL, NULL); 571 | 572 | CWnd* btn; 573 | btn = GetDlgItem(IDC_BUTTON3); 574 | btn->SetWindowTextW(L"Cheats -"); 575 | btn = GetDlgItem(IDC_BUTTON5); 576 | btn->SetWindowTextW(L"Weather -"); 577 | btn = GetDlgItem(IDC_BUTTON6); 578 | btn->SetWindowTextW(L"Incidents *"); 579 | btn = GetDlgItem(IDC_BUTTON7); 580 | btn->SetWindowTextW(L"Contracts -"); 581 | btn = GetDlgItem(IDC_BUTTON4); 582 | btn->SetWindowTextW(L"Discovery -"); 583 | btn = GetDlgItem(IDC_BUTTON8); 584 | btn->SetWindowTextW(L"Dump (UNSAFE) -"); 585 | btn = GetDlgItem(IDC_BUTTON14); 586 | btn->SetWindowTextW(L"Python Test -"); 587 | btn = NULL; 588 | ListBox1.ResetContent(); 589 | ListBox1.AddString(_T("Toggle incidents") + wpnl + _T("ts.Cheat.GlobalCheats.ToggleIncidents()")); 590 | ListBox1.AddString(_T("Toggle incident spreading") + wpnl + _T("ts.Incidents.ToggleSpreading()")); 591 | ListBox1.AddString(_T("Unlock all incidents") + wpnl + _T("ts.Incidents.CheatUnlockAllIncidents()")); 592 | //ListBox1.AddString(_T("Infect current selected ship with ...") + wpnl + _T("ts.Selection.Object.ShipIncident.CheatInfect(102669)")); 593 | } 594 | 595 | void CAnnoPythonAPIToolDlg::OnBnClickedButton7() 596 | { 597 | luamodeoption.SendMessage(BM_CLICK, NULL, NULL); 598 | 599 | CWnd* btn; 600 | btn = GetDlgItem(IDC_BUTTON3); 601 | btn->SetWindowTextW(L"Cheats -"); 602 | btn = GetDlgItem(IDC_BUTTON5); 603 | btn->SetWindowTextW(L"Weather -"); 604 | btn = GetDlgItem(IDC_BUTTON6); 605 | btn->SetWindowTextW(L"Incidents -"); 606 | btn = GetDlgItem(IDC_BUTTON7); 607 | btn->SetWindowTextW(L"Contracts *"); 608 | btn = GetDlgItem(IDC_BUTTON4); 609 | btn->SetWindowTextW(L"Discovery -"); 610 | btn = GetDlgItem(IDC_BUTTON8); 611 | btn->SetWindowTextW(L"Dump (UNSAFE) -"); 612 | btn = GetDlgItem(IDC_BUTTON14); 613 | btn->SetWindowTextW(L"Python Test -"); 614 | btn = NULL; 615 | ListBox1.ResetContent(); 616 | ListBox1.AddString(_T("Toggle skip transit") + wpnl + _T("ts.Contracts.ToggleSkipTransit()")); 617 | ListBox1.AddString(_T("Fill pyramid") + wpnl + _T("ts.Contracts.FillPyramid()")); 618 | } 619 | 620 | void CAnnoPythonAPIToolDlg::OnBnClickedButton8() 621 | { 622 | luamodeoption.SendMessage(BM_CLICK, NULL, NULL); 623 | 624 | CWnd* btn; 625 | btn = GetDlgItem(IDC_BUTTON3); 626 | btn->SetWindowTextW(L"Cheats -"); 627 | btn = GetDlgItem(IDC_BUTTON5); 628 | btn->SetWindowTextW(L"Weather -"); 629 | btn = GetDlgItem(IDC_BUTTON6); 630 | btn->SetWindowTextW(L"Incidents -"); 631 | btn = GetDlgItem(IDC_BUTTON7); 632 | btn->SetWindowTextW(L"Contracts -"); 633 | btn = GetDlgItem(IDC_BUTTON4); 634 | btn->SetWindowTextW(L"Discovery -"); 635 | btn = GetDlgItem(IDC_BUTTON8); 636 | btn->SetWindowTextW(L"Dump (UNSAFE) *"); 637 | btn = GetDlgItem(IDC_BUTTON14); 638 | btn->SetWindowTextW(L"Python Test -"); 639 | btn = NULL; 640 | ListBox1.ResetContent(); 641 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.ToggleInGameDebugCheatPage()")); 642 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Unlock.ToggleCheatUnlockAll()")); 643 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleSuperShipSpeed()")); 644 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Weather.SetChangeWind()")); 645 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Achievements.SetUnlockAll()")); 646 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.SetUiScreenScaling(0.5)")); 647 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.SetTriggerCheat(%i)")); 648 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Weather.SetChangeWind()")); 649 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Weather.ToggleWindRender()")); 650 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Weather.SetToggleMirageEffect()")); 651 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Achievements.SetUnlockAll()")); 652 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.SetSetCheatCategory(%i)")); 653 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleExtendedDebugging(%i)")); 654 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.DebugRender.SetSeedRandomArea({0})")); 655 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.DebugRender.SetMainSizeRandomArea({0})")); 656 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.DebugRender.SetLocalSizeRandomArea({0})")); 657 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.DebugRender.SetLocalInfluenceRandomArea({0})")); 658 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.DebugRender.SetChanceRandomArea({0})")); 659 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Game.SetDebugDownloadSnapshot(True)")); 660 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Game.SetDebugUploadSnapshot(True)")); 661 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Game.SetPerformanceTimerGuid({})")); 662 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GameSetup.SetDifficultyPreset({0})")); 663 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GameSetup.SetDifficultyNet(%d, {0})")); 664 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GameSetup.SetResetPlayerPossession({}, {})")); 665 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GameSetup.SetSetPlayerPossession({}, {})")); 666 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.HappyDayEventManager.SetUnixTriggerHappyDay('{0}')")); 667 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.HappyDayEventManager.SetTimeNotification({0})")); 668 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Input.SetDebugModeEnabled(True)")); 669 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Sound.ToggleDebugFlag(%i)")); 670 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Sound.ResetDebugEmitterFilter()")); 671 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Sound.SetDebugEmitterFilter({0})")); 672 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Sound.ToggleGlobalPersistentEvents()")); 673 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Sound.ToggleAdvancedDebug()")); 674 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Sound.ToggleProfiling()")); 675 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Text.SetValidateAllTexts()")); 676 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.TextSourceManager.DebugTextSource({0})")); 677 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.ToolOneManager.SetDebugVariable({0})")); 678 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Unlock.ToggleCheatUnlockAll()")); 679 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Unlock.SetUnlockNet({0})")); 680 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Unlock.SetRelockNet({0})")); 681 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetFestivalManager(%u).SetStopFestival()")); 682 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetFestivalManager(%u).SetTriggerFestival()")); 683 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetFestivalManager(%u).SetIncreasePool(100)")); 684 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetFestivalManager(%u).SetIncreasePool(-100)")); 685 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.Railway.SetRandomSkin({})")); 686 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.CheatEnterSession(%i)")); 687 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.Cheats.SetDebugCommand(%i)%hs")); 688 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.Cheats.SetDebugParticipant(%i)")); 689 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionParticipants.SetCheatCreateSessionParticipant(10)")); 690 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiUnit.SetDebugParticipant(%i)")); 691 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Animals.SetDebugCommand(%i)%hs")); 692 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Animals.ToggleDebugOption(%i)%hs")); 693 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Discovery.SetDebugCommand(%i)")); 694 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Discovery.ToggleDebugOption(%i)")); 695 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Discovery.HideParticipant(%i)")); 696 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Discovery.ShowParticipant(%i)")); 697 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.SetDebugObject({0})")); 698 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.SetDebugObjectGUID({0})")); 699 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SetEnableObjectGroup({}, {}, 1)")); 700 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SetEnableObjectGroup({}, {}, 0)")); 701 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.SetSelectedAreaID(%u)")); 702 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.AreaObjects.SaveBuildingCountSnapshot();")); 703 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleIncidents()")); 704 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.MetaIncidents.TogglePause()")); 705 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.ToggleSpreading()")); 706 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.ToggleDontSendResolver();")); 707 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.ToggleUnlockIncident(%i);")); 708 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.CheatUnlockAllIncidents();")); 709 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.SetDebugIncidentType({0})")); 710 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.SetDebugMode(%i)")); 711 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.Infectable.ResetProtection(%i);")); 712 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.SetDebugRenderMode(%i)")); 713 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.ToggleRenderFlag(%i)")); 714 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Irrigation.DebugReInitGrids();")); 715 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(600005, 1)")); 716 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(600005, 20)")); 717 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetClearSlot(0)")); 718 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetEquipSlot(0, -1)")); 719 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetUnquipSocket(0, -1)")); 720 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(1010192, 20)")); 721 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSocket(6000001, 0)")); 722 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetResetSocketState(0)")); 723 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.LoadingPier.SetDebugDrawing(%hs)%hs")); 724 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Path.SetDebugCommand(%i)%hs")); 725 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Path.ToggleDebugOption(%i)%hs")); 726 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Path.SetDebugLayer(%i)%hs")); 727 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Season.SetCheatEndCurrentSeasonIn20s()")); 728 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Season.SetCheatStartSeason({})")); 729 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Season.SetCheatToggleSkipVisualUpdates()")); 730 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SetEnableDebugDrawPicking(%hs)")); 731 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionCamera.SetDebugLookAtPosX({0})")); 732 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionCamera.SetDebugLookAtPosZ({0})")); 733 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Feedback.SetBehaviourFilter(%i)%hs")); 734 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.SetCurrentParticipant(%d)")); 735 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionParticipants.SetCheatCreateSessionParticipant({0})")); 736 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.StreetOverlay.ToggleEnableStatus({0})")); 737 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Visitors.ToggleDebugFlag(%i)")); 738 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.MetaObjects.CheatLookAtPosition(%i, %.1f, %.1f, %.1f)")); 739 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.MetaObjects.CheatLookAtObject({})")); 740 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.EconomyStatistic.SetDebugSessionGuid({0})")); 741 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.EconomyStatistic.SetDebugAreaGuid({0})")); 742 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.EconomyStatistic.SetFocussedItem({0})")); 743 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Daytime.SetDaytimeSetting(%i)")); 744 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Daytime.SetDaytimePreset(%i)")); 745 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Daytime.SetDaytime({0})")); 746 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.GlobalCheats.SetEconomySpeed({0})")); 747 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Economy.MetaStorage.SetEconomyModifier(%d, {0})")); 748 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.SetRemoveParticipant(%d)")); 749 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.CheatCreateParticipant_IfNecessary({0})")); 750 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.DebugQuestGUID({0})")); 751 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.ResetTutorialQuestsNet()")); 752 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Scenarios.ResetScenario()")); 753 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Scenarios.ResetLastSeenPromotion()")); 754 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.EcoSystem.SetFeaturePaused({0})")); 755 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 0, {1})")); 756 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 1, {1})")); 757 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 2, {1})")); 758 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Scenarios.SaveAccount()")); 759 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SkipLoadingTime()")); 760 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.ToggleSkipTransit()")); 761 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleSuperShipSpeed()")); 762 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.FillPyramid()")); 763 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.DebugSelectGoodForMoreInfo({0})")); 764 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.DebugSelectGoodForMoreInfo")); 765 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.DebugParticipant(%d)")); 766 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.ClearIslandStorage()")); 767 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 1)")); 768 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 10)")); 769 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 50)")); 770 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -1)")); 771 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -10)")); 772 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -50)")); 773 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.SetSelectStorageGoodDebug({})")); 774 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Incidents.GetIncident(%i).CheatSpread();")); 775 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.ReleaseShip(%d, %d)")); 776 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.ToggleShipLog(%d)")); 777 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.FulfillRequest(%d)")); 778 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.SkipRequest(%d)")); 779 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().OverwriteNextConstructionRequest(%i, True)")); 780 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetSellShare(%d)")); 781 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetBuyShare(%d, %d)")); 782 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetResetCooldown(%d)")); 783 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetHostileTakeover(%d)")); 784 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetOpenMilitaryResultScreen()")); 785 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.DelayedConstruction.SetCheatReady()")); 786 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SkipTransit({})")); 787 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.RemoveContract({})")); 788 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetExportGoodGUID({}, {}, {})")); 789 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 0)")); 790 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 10)")); 791 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 20)")); 792 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 50)")); 793 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 100)")); 794 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetTraderGUID({}, {}, {})")); 795 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.SetImportGoodGUID({}, {}, {})")); 796 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 100)")); 797 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 1000)")); 798 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 2000)")); 799 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 5000)")); 800 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Visitors.GetArea(%i).EndInterval()")); 801 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Visitors.SetResetArea(%i)")); 802 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Visitors.GetArea(%i).SpawnSpecialist()")); 803 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetDiscardExpedition()")); 804 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatEventCountdown()")); 805 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatEndExpedition()")); 806 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionCamera.CheatToGameObject(%llu)")); 807 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetEndExpedition()")); 808 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetResolveDecision(%i, %i)")); 809 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetResolveDecision(0, 0)")); 810 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatCurrentEvent(%i)")); 811 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Unlock.SetUnlock(%i)")); 812 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetGameObject({0}).RandomMapObject.SetFiniteResourceAmount({1})")); 813 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.RecipeBuilding.ChangeRecipe({0})")); 814 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(4, 30000)")); 815 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(-4, 30000)")); 816 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(0, 30000)")); 817 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject(%llu).Sellable.CheatBuy()")); 818 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfect(%d)")); 819 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatEndInfection(%d)")); 820 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfectRandom()")); 821 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatEndAnyInfection()")); 822 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatIgnoreIncidentPriority(%hs)%hs")); 823 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.ToggleDebugRenderRadius()")); 824 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject(%llu).Trader.ClearSellCooldown(%i)")); 825 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject(%llu).Trader.ForceBuild()")); 826 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.GetQuest({}).SetActiveNet()")); 827 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.GetQuest({}).SetReachedNet()")); 828 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.GetQuest({}).SetAbortedNet(True, {})")); 829 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.GetQuest({}).ToggleForceQuestTrackerVisibility()")); 830 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.GetQuest({}).ToggleQuestConditionTreeVisibility()")); 831 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.CheatResetQuestNet({})")); 832 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.MetaObjects.GetObject(%d).BuyShares.SetCalcPrio()")); 833 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.SetChangeParticipantReputationTo(%i, %i, -5)")); 834 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.SetChangeParticipantReputationTo(%i, %i, 5)")); 835 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetDistributeExpedition(5)")); 836 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.CheatSetCurrentDecision({0})")); 837 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.AddExpedition(%d, True)")); 838 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMinLayers({0})")); 839 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxLayers({0})")); 840 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthSizeX({0})")); 841 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthSizeY({0})")); 842 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxRoomSize({0})")); 843 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMinRoomAmount({0})")); 844 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxRoomAmount({0})")); 845 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetClearLabyrinth()")); 846 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.AddLabyrinthRoom()")); 847 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetRemoveLabyrinthRoom()")); 848 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.AddLabyrinthConnection()")); 849 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Expedition.SetGenerateLabyrinth()")); 850 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Participants.GetParticipant({}).Profile")); 851 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.EnableQuestPoolForCurrentPlayer({}, True)")); 852 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.CheatEndQuestBlockingNet(%d, %d)")); 853 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.CheatEndPoolCooldownNet(%d)")); 854 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.CheatEndQuestTimerNet(%d)")); 855 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Quests.CheatEndQuestTimerNet({})")); 856 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetTransferCraftedItems()")); 857 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetSkipCraftingTimeCheat()")); 858 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetResearchCenterWorkforceAmount({0})")); 859 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetRemoveQueuedEntry({})")); 860 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetAddToDonationStorage({},{})")); 861 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetDonateItemsInStorage()")); 862 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetClearDonationStorage()")); 863 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetSelectRecipes({})")); 864 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetResearchRecipes({})")); 865 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetCraftOrAddToQueue({})")); 866 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Research.SetCheatAllRecipes({})")); 867 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetGameObject(%llu).SetChangeSkin(%u, False)")); 868 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GetGameObject({}).SetCycleSkins(1, False)")); 869 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.LoadingPier.UpdateHarborQueuePointsDebug(%i, %llu)%hs")); 870 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.FreeArea.SetCheatReady()")); 871 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject(%llu).FreeArea.SetToggleGridDebugDraw()")); 872 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(True, False)")); 873 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(False, False)")); 874 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(True, True)")); 875 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(False, True)")); 876 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject(%llu).IncidentResolver.ClearSpecialActionCooldown()")); 877 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject({}).Mesh.SetVisible({})")); 878 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.AICheats.SetDebugBuildMode(%i); TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i)")); 879 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i)")); 880 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiUnit.SetDebugCommand(%i)%hs")); 881 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiUnit.ToggleDebugOption(%i)%hs")); 882 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.Monument.SetPauseUpgrade()")); 883 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.Monument.SetCheatUpgradeMicro()")); 884 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.Monument.SetCheatMicroPhase()")); 885 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.Monument.SetCheatSkipEventTime()")); 886 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.PalaceMinistry.SetMinistryType({0})")); 887 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.PalaceMinistry.SetDecreeTier({0})")); 888 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Objects.GetObject(%llu).Pirate.DebugIncreaseAreaOfActivityRange(5)")); 889 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.AICheats.SetDebugBuildMode(%i)%hs")); 890 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i)%hs")); 891 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.MetaObjects.CheatLookAtPosition(%i, %f, %f, %f)")); 892 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Cheat.AICheats.ToggleBenchmarkMode()")); 893 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().ResetQuickBuildFilter()")); 894 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().SetQuickBuildFilter({0})")); 895 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().ResetBuildUntilFilter()")); 896 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().SetBuildUntilFilter({0})")); 897 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().ResetFakeNoSpaceFilter()")); 898 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().SetFakeNoSpaceFilter({0})")); 899 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.GetCheats().%hs(%i, True)")); 900 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.AiConstruction.Cheats.ToggleIslandRole(%d, %d)")); 901 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionCamera.ToWorldPos(%.2f, %.2f)")); 902 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.SessionCamera.ToWorldPos(%.2f, %.2f, %.2f)")); 903 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.SetUiScreenScaling({0})")); 904 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.SetUiScreenHorizontalSpacing({0})")); 905 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.SetUiScreenVerticalSpacing({0})")); 906 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.SetUiScreenHorizontalPosition({0})")); 907 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.SetUiScreenVerticalPosition({0})")); 908 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.ResetUiScreenConfig()")); 909 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 1)")); 910 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfect(%d)")); 911 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.ItemContainer.SetEquipSlot(0, -1)")); 912 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Game.SetSaveGameWithPopup()")); 913 | ListBox1.AddString(_T("\r\ngame.takeScreenshot()")); 914 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Pause.DecreaseGameSpeed()")); 915 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Pause.IncreaseGameSpeed()")); 916 | ListBox1.AddString(_T("\r\ncamera.Up()")); 917 | ListBox1.AddString(_T("\r\ncamera.Down()")); 918 | ListBox1.AddString(_T("\r\ncamera.Left()")); 919 | ListBox1.AddString(_T("\r\ncamera.Right()")); 920 | ListBox1.AddString(_T("\r\ncamera.RotateLeft()")); 921 | ListBox1.AddString(_T("\r\ncamera.RotateRight()")); 922 | ListBox1.AddString(_T("\r\ncamera.ZoomIn()")); 923 | ListBox1.AddString(_T("\r\ncamera.ZoomOut()")); 924 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.ToggleBuildmenu()")); 925 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.ToggleShipList()")); 926 | ListBox1.AddString(_T("\r\ngame.toggleBlueprintMode()")); 927 | ListBox1.AddString(_T("\r\ngame.startMouseMode(2001042)")); 928 | ListBox1.AddString(_T("\r\ngame.startMouseMode(2001043)")); 929 | ListBox1.AddString(_T("\r\ngame.startMouseMode(2001044)")); 930 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.GUI.SetTogglePause()")); 931 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.StreetOverlay.ToggleInfoLayerVisibility()")); 932 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.ToggleUI()")); 933 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.DestructSelected()")); 934 | ListBox1.AddString(_T("\r\ngame.startBuild(1000178)")); 935 | ListBox1.AddString(_T("\r\ngame.startBuild(1010035)")); 936 | ListBox1.AddString(_T("\r\ngame.startBuild(1010343)")); 937 | ListBox1.AddString(_T("\r\ngame.startBuild(1010371)")); 938 | ListBox1.AddString(_T("\r\ngame.changeRotation(1)")); 939 | ListBox1.AddString(_T("\r\ngame.changeRotation(-1)")); 940 | ListBox1.AddString(_T("\r\ngame.changeVariation(1)")); 941 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectIslandKontor()")); 942 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.UpgradeSelected(0)")); 943 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.UpgradeSelected(1)")); 944 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.Object.Pausable.TogglePause()")); 945 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.TogglePauseForBuildingsOfSelectedType()")); 946 | ListBox1.AddString(_T("\r\nsession.selectNextObject(True)")); 947 | ListBox1.AddString(_T("\r\nsession.selectNextObject(False)")); 948 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.ToggleMetaUI()")); 949 | ListBox1.AddString(_T("\r\nsession.jumpToSelection()")); 950 | ListBox1.AddString(_T("\r\nsession.togglePostcardView()")); 951 | ListBox1.AddString(_T("\r\nsession.deactivateSpecialCameraView()")); 952 | ListBox1.AddString(_T("\r\ngame.enableResidentView()")); 953 | ListBox1.AddString(_T("\r\ngame.rotateCameraAroundLookAt(10)")); 954 | ListBox1.AddString(_T("\r\nsession.setDefaultRotation()")); 955 | ListBox1.AddString(_T("\r\ngame.restoreCameraView(0)")); 956 | ListBox1.AddString(_T("\r\ngame.storeCameraView(0)")); 957 | ListBox1.AddString(_T("\r\ngame.restoreCameraView(1);")); 958 | ListBox1.AddString(_T("\r\ngame.storeCameraView(1)")); 959 | ListBox1.AddString(_T("\r\ngame.restoreCameraView(2);")); 960 | ListBox1.AddString(_T("\r\ngame.storeCameraView(2)")); 961 | ListBox1.AddString(_T("\r\ngame.restoreCameraView(3);")); 962 | ListBox1.AddString(_T("\r\ngame.storeCameraView(3)")); 963 | ListBox1.AddString(_T("\r\ngame.restoreCameraViewAndRotate(4,10)")); 964 | ListBox1.AddString(_T("\r\ngame.storeCameraView(4)")); 965 | ListBox1.AddString(_T("\r\ngame.restoreCameraViewAndRotate(5,10)")); 966 | ListBox1.AddString(_T("\r\ngame.storeCameraView(5)")); 967 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(1)")); 968 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(1)")); 969 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(2)")); 970 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(2)")); 971 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(3)")); 972 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(3)")); 973 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(4)")); 974 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(4)")); 975 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(5)")); 976 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(5)")); 977 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(6)")); 978 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(6)")); 979 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(7)")); 980 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(7)")); 981 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(8)")); 982 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(8)")); 983 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(9)")); 984 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(9)")); 985 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(0)")); 986 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(0)")); 987 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Interface.PopUI()")); 988 | ListBox1.AddString(_T("\r\nTextSources.TextSourceRoots.Options.SetToggleFullscreen()")); 989 | } 990 | 991 | void CAnnoPythonAPIToolDlg::OnCbnSelchangeCombo1() 992 | { 993 | CString sInput; 994 | ComboBox1.GetWindowText(sInput); 995 | //std::string guid = CW2A(sWindowText.GetString()); 996 | CString sToken = _T(""); 997 | int i = 0; // substring index to extract 998 | while (AfxExtractSubString(sToken, sInput, i, '@')) 999 | { 1000 | customvaluebox->SetWindowText(sToken); 1001 | i++; 1002 | } 1003 | } 1004 | 1005 | void CAnnoPythonAPIToolDlg::OnBnClickedButton9() 1006 | { 1007 | ListBox1.ResetContent(); 1008 | ListBox1.AddString(_T("Set remaining morale to 100%") + wpnl + _T("TextSources.TextSourceRoots.Expedition.Morale(100)")); 1009 | ListBox1.AddString(_T("Set remaining morale to 0%") + wpnl + _T("TextSources.TextSourceRoots.Expedition.Morale(0)")); 1010 | 1011 | } 1012 | 1013 | 1014 | void CAnnoPythonAPIToolDlg::OnEnChangeEdit2() 1015 | { 1016 | if (CheckBox1.GetCheck() == TRUE) { 1017 | executeScript(); 1018 | } 1019 | } 1020 | 1021 | 1022 | void CAnnoPythonAPIToolDlg::OnBnClickedButton10() 1023 | { 1024 | 1025 | 1026 | try { 1027 | CString val; 1028 | customvaluebox->GetWindowTextW(val); 1029 | int newval = _wtoi(val) - 1; 1030 | customvaluebox->SetWindowTextW(std::to_wstring(newval).data()); 1031 | } 1032 | catch (int) { 1033 | // Block of code to handle errors 1034 | } 1035 | 1036 | } 1037 | 1038 | 1039 | void CAnnoPythonAPIToolDlg::OnBnClickedButton11() 1040 | { 1041 | try { 1042 | CString val; 1043 | customvaluebox->GetWindowTextW(val); 1044 | int newval = _wtoi(val) + 1; 1045 | customvaluebox->SetWindowTextW(std::to_wstring(newval).data()); 1046 | } 1047 | catch (int) { 1048 | // Block of code to handle errors 1049 | } 1050 | 1051 | } 1052 | 1053 | 1054 | void CAnnoPythonAPIToolDlg::OnBnClickedButton13() 1055 | { 1056 | try { 1057 | CString val; 1058 | qtyvaluebox->GetWindowTextW(val); 1059 | int newval = _wtoi(val) + 1; 1060 | qtyvaluebox->SetWindowTextW(std::to_wstring(newval).data()); 1061 | } 1062 | catch (int) { 1063 | // Block of code to handle errors 1064 | } 1065 | } 1066 | 1067 | 1068 | void CAnnoPythonAPIToolDlg::OnBnClickedButton12() 1069 | { 1070 | try { 1071 | CString val; 1072 | qtyvaluebox->GetWindowTextW(val); 1073 | int newval = _wtoi(val) - 1; 1074 | qtyvaluebox->SetWindowTextW(std::to_wstring(newval).data()); 1075 | } 1076 | catch (int) { 1077 | // Block of code to handle errors 1078 | } 1079 | } 1080 | 1081 | 1082 | void CAnnoPythonAPIToolDlg::OnBnClickedRadio2() 1083 | { 1084 | 1085 | if (luamodeoption.GetCheck() == 1) { 1086 | LuaMode = TRUE; 1087 | PythonMode = FALSE; 1088 | 1089 | CString val; 1090 | commandbox->GetWindowTextW(val); 1091 | if (val != "") { 1092 | std::string cval = CW2A(val.GetString()); 1093 | if (cval.find("#") != std::string::npos) 1094 | { 1095 | cval.replace(cval.find("#"), sizeof("#") - 1, "--"); 1096 | std::wstring val2 = std::wstring(cval.begin(), cval.end()); 1097 | commandbox->SetWindowTextW(val2.c_str()); 1098 | } 1099 | } 1100 | } 1101 | 1102 | } 1103 | 1104 | void CAnnoPythonAPIToolDlg::OnBnClickedRadio1() 1105 | { 1106 | 1107 | if (pythonmodeoption.GetCheck() == 1) { 1108 | LuaMode = FALSE; 1109 | PythonMode = TRUE; 1110 | 1111 | CString val; 1112 | commandbox->GetWindowTextW(val); 1113 | if (val != "") { 1114 | std::string cval = CW2A(val.GetString()); 1115 | if (cval.find("--") != std::string::npos) 1116 | { 1117 | cval.replace(cval.find("--"), sizeof("--") - 1, "#"); 1118 | std::wstring val2 = std::wstring(cval.begin(), cval.end()); 1119 | commandbox->SetWindowTextW(val2.c_str()); 1120 | } 1121 | 1122 | } 1123 | 1124 | } 1125 | 1126 | } 1127 | 1128 | 1129 | void CAnnoPythonAPIToolDlg::OnBnClickedButton14() 1130 | { 1131 | pythonmodeoption.SendMessage(BM_CLICK, NULL, NULL); 1132 | 1133 | CWnd* btn; 1134 | btn = GetDlgItem(IDC_BUTTON3); 1135 | btn->SetWindowTextW(L"Cheats -"); 1136 | btn = GetDlgItem(IDC_BUTTON5); 1137 | btn->SetWindowTextW(L"Weather -"); 1138 | btn = GetDlgItem(IDC_BUTTON6); 1139 | btn->SetWindowTextW(L"Incidents -"); 1140 | btn = GetDlgItem(IDC_BUTTON7); 1141 | btn->SetWindowTextW(L"Contracts -"); 1142 | btn = GetDlgItem(IDC_BUTTON4); 1143 | btn->SetWindowTextW(L"Discovery -"); 1144 | btn = GetDlgItem(IDC_BUTTON8); 1145 | btn->SetWindowTextW(L"Dump (UNSAFE) -"); 1146 | btn = GetDlgItem(IDC_BUTTON14); 1147 | btn->SetWindowTextW(L"Python Test *"); 1148 | btn = NULL; 1149 | 1150 | ListBox1.ResetContent(); 1151 | ListBox1.AddString(_T("Log Anno6 test (log file will be located in Anno's install dir)") + wpnl + _T("import logging\r\nimport Anno6\r\n\r\nlogging.basicConfig(filename='app.log', filemode='w', format='%(name)s - %(levelname)s - %(message)s')\r\nlogging.warning(Anno6)")); 1152 | } 1153 | 1154 | 1155 | 1156 | void CAnnoPythonAPIToolDlg::OnBnClickedCheck2() 1157 | { 1158 | CheckBox3.SetCheck(FALSE); 1159 | CheckBox4.SetCheck(FALSE); 1160 | slotNumber = 0; 1161 | } 1162 | 1163 | void CAnnoPythonAPIToolDlg::OnBnClickedCheck3() 1164 | { 1165 | CheckBox2.SetCheck(FALSE); 1166 | CheckBox4.SetCheck(FALSE); 1167 | slotNumber = 1; 1168 | } 1169 | 1170 | void CAnnoPythonAPIToolDlg::OnBnClickedCheck4() 1171 | { 1172 | CheckBox2.SetCheck(FALSE); 1173 | CheckBox3.SetCheck(FALSE); 1174 | slotNumber = 2; 1175 | } -------------------------------------------------------------------------------- /AnnoPythonAPITool/AnnoPythonAPIToolDlg.h: -------------------------------------------------------------------------------- 1 | 2 | // AnnoPythonAPIToolDlg.h : header file 3 | // 4 | 5 | #pragma once 6 | 7 | 8 | // CAnnoPythonAPIToolDlg dialog 9 | class CAnnoPythonAPIToolDlg : public CDialogEx 10 | { 11 | // Construction 12 | public: 13 | CAnnoPythonAPIToolDlg(CWnd* pParent = nullptr); // standard constructor 14 | 15 | // Dialog Data 16 | #ifdef AFX_DESIGN_TIME 17 | enum { IDD = IDD_ANNOPYTHONAPITOOL_DIALOG }; 18 | #endif 19 | 20 | protected: 21 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 22 | 23 | 24 | // Implementation 25 | protected: 26 | HICON m_hIcon; 27 | 28 | // Generated message map functions 29 | virtual BOOL OnInitDialog(); 30 | afx_msg void OnSysCommand(UINT nID, LPARAM lParam); 31 | afx_msg void OnPaint(); 32 | afx_msg HCURSOR OnQueryDragIcon(); 33 | DECLARE_MESSAGE_MAP() 34 | public: 35 | afx_msg void OnBnClickedButton1(); 36 | CListBox ListBox1; 37 | afx_msg void OnBnClickedButton2(); 38 | afx_msg void OnLbnSelchangeList2(); 39 | afx_msg void OnBnClickedButton3(); 40 | afx_msg void OnBnClickedButton4(); 41 | afx_msg void OnBnClickedButton5(); 42 | afx_msg void OnBnClickedButton6(); 43 | afx_msg void OnBnClickedButton7(); 44 | CComboBox ComboBox1; 45 | afx_msg void OnBnClickedButton8(); 46 | afx_msg void OnEnChangeEdit3(); 47 | afx_msg void OnCbnSelchangeCombo1(); 48 | afx_msg void OnBnClickedButton9(); 49 | CButton CheckBox1; 50 | afx_msg void OnEnChangeEdit2(); 51 | afx_msg void OnBnClickedButton10(); 52 | afx_msg void OnBnClickedButton11(); 53 | afx_msg void OnBnClickedButton13(); 54 | afx_msg void OnBnClickedButton12(); 55 | afx_msg void OnBnClickedRadio2(); 56 | CButton luamodeoption; 57 | CButton pythonmodeoption; 58 | afx_msg void OnBnClickedRadio1(); 59 | afx_msg void OnBnClickedButton14(); 60 | afx_msg void OnBnClickedCheck3(); 61 | afx_msg void OnBnClickedCheck2(); 62 | afx_msg void OnBnClickedCheck1(); 63 | CButton CheckBox2; 64 | CButton CheckBox3; 65 | CButton CheckBox4; 66 | afx_msg void OnBnClickedCheck4(); 67 | }; 68 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/ItemList.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisAnd1998/Anno1800PythonAPI/ff0adaa6f05160210e66686dc77ef902418347c7/AnnoPythonAPITool/ItemList.txt -------------------------------------------------------------------------------- /AnnoPythonAPITool/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef VC_EXTRALEAN 4 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 5 | #endif 6 | 7 | #include "targetver.h" 8 | 9 | #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit 10 | 11 | // turns off MFC's hiding of some common and often safely ignored warning messages 12 | #define _AFX_ALL_WARNINGS 13 | 14 | #include // MFC core and standard components 15 | #include // MFC extensions 16 | 17 | 18 | #include // MFC Automation classes 19 | 20 | 21 | 22 | #ifndef _AFX_NO_OLE_SUPPORT 23 | #include // MFC support for Internet Explorer 4 Common Controls 24 | #endif 25 | #ifndef _AFX_NO_AFXCMN_SUPPORT 26 | #include // MFC support for Windows Common Controls 27 | #endif // _AFX_NO_AFXCMN_SUPPORT 28 | 29 | #include // MFC support for ribbons and control bars 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | #ifdef _UNICODE 40 | #if defined _M_IX86 41 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 42 | #elif defined _M_X64 43 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") 44 | #else 45 | #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 46 | #endif 47 | #endif 48 | 49 | 50 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/pch.cpp: -------------------------------------------------------------------------------- 1 | // pch.cpp: source file corresponding to the pre-compiled header 2 | 3 | #include "pch.h" 4 | 5 | // When you are using pre-compiled headers, this source file is necessary for compilation to succeed. 6 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: This is a precompiled header file. 2 | // Files listed below are compiled only once, improving build performance for future builds. 3 | // This also affects IntelliSense performance, including code completion and many code browsing features. 4 | // However, files listed here are ALL re-compiled if any one of them is updated between builds. 5 | // Do not add files here that you will be updating frequently as this negates the performance advantage. 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | // add headers that you want to pre-compile here 11 | #include "framework.h" 12 | 13 | #endif //PCH_H 14 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/res/AnnoPythonAPITool.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisAnd1998/Anno1800PythonAPI/ff0adaa6f05160210e66686dc77ef902418347c7/AnnoPythonAPITool/res/AnnoPythonAPITool.ico -------------------------------------------------------------------------------- /AnnoPythonAPITool/res/AnnoPythonAPITool.rc2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ChrisAnd1998/Anno1800PythonAPI/ff0adaa6f05160210e66686dc77ef902418347c7/AnnoPythonAPITool/res/AnnoPythonAPITool.rc2 -------------------------------------------------------------------------------- /AnnoPythonAPITool/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by AnnoPythonAPITool.rc 4 | // 5 | #define IDM_ABOUTBOX 0x0010 6 | #define IDD_ABOUTBOX 100 7 | #define IDS_ABOUTBOX 101 8 | #define IDD_ANNOPYTHONAPITOOL_DIALOG 102 9 | #define IDR_MAINFRAME 128 10 | #define IDC_BUTTON1 1000 11 | #define IDC_LIST2 1004 12 | #define IDC_BUTTON3 1008 13 | #define IDC_BUTTON4 1009 14 | #define IDC_BUTTON5 1010 15 | #define IDC_BUTTON6 1011 16 | #define IDC_BUTTON7 1012 17 | #define IDC_BUTTON8 1013 18 | #define IDC_EDIT2 1014 19 | #define IDC_COMBO1 1015 20 | #define IDC_BUTTON9 1016 21 | #define IDC_EDIT4 1017 22 | #define IDC_EDIT3 1018 23 | #define IDC_BUTTON14 1019 24 | #define IDC_CHECK1 1021 25 | #define IDC_BUTTON10 1023 26 | #define IDC_BUTTON11 1024 27 | #define IDC_BUTTON12 1025 28 | #define IDC_BUTTON13 1026 29 | #define IDC_RADIO1 1027 30 | #define IDC_RADIO2 1028 31 | #define IDC_CHECK2 1030 32 | #define IDC_CHECK3 1031 33 | #define IDC_CHECK4 1032 34 | 35 | // Next default values for new objects 36 | // 37 | #ifdef APSTUDIO_INVOKED 38 | #ifndef APSTUDIO_READONLY_SYMBOLS 39 | #define _APS_NEXT_RESOURCE_VALUE 130 40 | #define _APS_NEXT_COMMAND_VALUE 32771 41 | #define _APS_NEXT_CONTROL_VALUE 1031 42 | #define _APS_NEXT_SYMED_VALUE 101 43 | #endif 44 | #endif 45 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/script.lua: -------------------------------------------------------------------------------- 1 | --Add building materials to current selected ship 2 | ts.Selection.Object.ItemContainer.SetEquipSlot(0, 0) 3 | ts.Selection.Object.ItemContainer.SetClearSlot(0) 4 | ts.Selection.Object.ItemContainer.SetClearSlot(1) 5 | ts.Selection.Object.ItemContainer.SetCheatItemInSlot(1010196, 50) 6 | ts.Selection.Object.ItemContainer.SetCheatItemInSlot(1010218, 50) 7 | 8 | -------------------------------------------------------------------------------- /AnnoPythonAPITool/targetver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Including SDKDDKVer.h defines the highest available Windows platform. 4 | 5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and 6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h. 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /AnnoPythonInject/AnnoPythonInject.vcxproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Debug 6 | Win32 7 | 8 | 9 | Release 10 | Win32 11 | 12 | 13 | Debug 14 | x64 15 | 16 | 17 | Release 18 | x64 19 | 20 | 21 | 22 | 16.0 23 | Win32Proj 24 | {0cb490da-22cf-45c5-98cd-5f94393bca8d} 25 | AnnoPythonInject 26 | 10.0 27 | 28 | 29 | 30 | DynamicLibrary 31 | true 32 | v143 33 | Unicode 34 | 35 | 36 | DynamicLibrary 37 | false 38 | v143 39 | true 40 | Unicode 41 | 42 | 43 | DynamicLibrary 44 | true 45 | v143 46 | Unicode 47 | 48 | 49 | DynamicLibrary 50 | false 51 | v143 52 | true 53 | Unicode 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | Level3 76 | true 77 | WIN32;_DEBUG;ANNOPYTHONINJECT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 78 | true 79 | Use 80 | pch.h 81 | 82 | 83 | Windows 84 | true 85 | false 86 | 87 | 88 | 89 | 90 | Level3 91 | true 92 | true 93 | true 94 | WIN32;NDEBUG;ANNOPYTHONINJECT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 95 | true 96 | Use 97 | pch.h 98 | 99 | 100 | Windows 101 | true 102 | true 103 | true 104 | false 105 | 106 | 107 | 108 | 109 | Level3 110 | true 111 | _DEBUG;ANNOPYTHONINJECT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 112 | true 113 | Use 114 | pch.h 115 | 116 | 117 | Windows 118 | false 119 | false 120 | 121 | 122 | 123 | 124 | Level3 125 | true 126 | true 127 | true 128 | NDEBUG;ANNOPYTHONINJECT_EXPORTS;_WINDOWS;_USRDLL;%(PreprocessorDefinitions) 129 | true 130 | Use 131 | pch.h 132 | 133 | 134 | Windows 135 | true 136 | true 137 | false 138 | false 139 | 0 140 | 0 141 | 0 142 | 0 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | Create 153 | Create 154 | Create 155 | Create 156 | 157 | 158 | 159 | 160 | 161 | -------------------------------------------------------------------------------- /AnnoPythonInject/AnnoPythonInject.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;c++;cppm;ixx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;h++;hm;inl;inc;ipp;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | 18 | 19 | Header Files 20 | 21 | 22 | Header Files 23 | 24 | 25 | 26 | 27 | Source Files 28 | 29 | 30 | Source Files 31 | 32 | 33 | -------------------------------------------------------------------------------- /AnnoPythonInject/AnnoPythonInject.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /AnnoPythonInject/dllmain.cpp: -------------------------------------------------------------------------------- 1 | #include "pch.h" 2 | #include 3 | #include 4 | #include 5 | 6 | HINSTANCE selfModuleHandle; 7 | bool unload = false; 8 | 9 | typedef DWORD* (__stdcall* PYEVAL_SAVETHREAD)(); 10 | typedef int(__stdcall* PYEVAL_INITTHREADS)(); 11 | typedef int(__stdcall* PY_INITIALIZEEX)(int threadstate); 12 | typedef int(__stdcall* PY_INITIALIZE)(); 13 | typedef int(__stdcall* PY_FINALIZE)(); 14 | typedef int(__stdcall* PY_ISINITIALIZED)(); 15 | typedef int(__stdcall* PYRUN_SIMPLESTRING)(const char* str); 16 | typedef int(__stdcall* PYRUN_SIMPLEFILE)(FILE* fp, const char* filename); 17 | typedef DWORD* (__stdcall* PYGILSTATE_ENSURE)(); 18 | typedef void(__stdcall* PYGILSTATE_RELEASE)(DWORD* gstate); 19 | typedef void(__stdcall* PYTHREADSTATE_SWAP)(DWORD* threadstate); 20 | 21 | HMODULE hModule = GetModuleHandle(L"python35.dll"); 22 | PYEVAL_SAVETHREAD PyEval_SaveThread = (PYEVAL_SAVETHREAD)GetProcAddress(hModule, "PyEval_SaveThread"); 23 | PYEVAL_INITTHREADS PyEval_InitThreads = (PYEVAL_INITTHREADS)GetProcAddress(hModule, "PyEval_InitThreads"); 24 | PY_INITIALIZEEX Py_InitializeEx = (PY_INITIALIZEEX)GetProcAddress(hModule, "Py_InitializeEx"); 25 | PY_INITIALIZE Py_Initialize = (PY_INITIALIZE)GetProcAddress(hModule, "Py_Initialize"); 26 | PY_FINALIZE Py_Finalize = (PY_FINALIZE)GetProcAddress(hModule, "Py_Finalize"); 27 | PY_ISINITIALIZED Py_IsInitialized = (PY_ISINITIALIZED)GetProcAddress(hModule, "Py_IsInitialized"); 28 | PYGILSTATE_ENSURE PyGILState_Ensure = (PYGILSTATE_ENSURE)GetProcAddress(hModule, "PyGILState_Ensure"); 29 | PYGILSTATE_RELEASE PyGILState_Release = (PYGILSTATE_RELEASE)GetProcAddress(hModule, "PyGILState_Release"); 30 | PYTHREADSTATE_SWAP PyThreadState_Swap = (PYTHREADSTATE_SWAP)GetProcAddress(hModule, "PyThreadState_Swap"); 31 | PYRUN_SIMPLEFILE PyRun_SimpleFile = (PYRUN_SIMPLEFILE)GetProcAddress(hModule, "PyRun_SimpleFile"); 32 | PYRUN_SIMPLESTRING PyRun_SimpleString = (PYRUN_SIMPLESTRING)GetProcAddress(hModule, "PyRun_SimpleString"); 33 | 34 | int get_file_size(std::string filename) 35 | { 36 | FILE* p_file = NULL; 37 | fopen_s(&p_file, filename.c_str(), "rb"); 38 | fseek(p_file, 0, SEEK_END); 39 | int size = ftell(p_file); 40 | fclose(p_file); 41 | return size; 42 | } 43 | 44 | 45 | BOOL APIENTRY DllMain(HINSTANCE hInst, DWORD ul_reason_for_call, LPVOID lpReserved) 46 | { 47 | if (ul_reason_for_call == DLL_PROCESS_ATTACH) 48 | { 49 | selfModuleHandle = hInst; 50 | 51 | 52 | Py_Initialize(); 53 | 54 | //PyEval_InitThreads(); 55 | //DWORD* thread_state = PyEval_SaveThread(); 56 | 57 | if (Py_IsInitialized != 0) 58 | { 59 | DWORD* gstate = PyGILState_Ensure(); 60 | 61 | char buffer[MAX_PATH]; 62 | HMODULE AnnoPythonInjectModule = GetModuleHandle(L"annopythoninject.dll"); 63 | GetModuleFileNameA(AnnoPythonInjectModule, buffer, sizeof(buffer)); 64 | std::string::size_type pos = std::string(buffer).find_last_of("\\/") - 1; 65 | std::string path = std::string(buffer); 66 | 67 | path.replace(path.find("AnnoPythonInject.dll"), sizeof("AnnoPythonInject.dll") - 1, "script.lua"); 68 | 69 | if (get_file_size(path) == 2) 70 | { 71 | path.replace(path.find("script.lua"), sizeof("script.lua") - 1, "script.py"); 72 | } 73 | 74 | std::string scriptPath = path; 75 | 76 | std::size_t found = scriptPath.find_first_of("\\"); 77 | while (found != std::string::npos) 78 | { 79 | scriptPath[found] = '/'; 80 | found = scriptPath.find_first_of("\\", found + 1); 81 | } 82 | 83 | std::string command = "console.startScript(\"" + scriptPath + "\")"; 84 | PyRun_SimpleString(command.c_str()); 85 | 86 | PyGILState_Release(gstate); 87 | //PyThreadState_Swap(thread_state); 88 | } 89 | 90 | 91 | Py_Finalize(); 92 | 93 | 94 | bool b = true; 95 | while (b == true) 96 | { 97 | b = FreeLibrary(selfModuleHandle); 98 | } 99 | } 100 | 101 | return TRUE; 102 | } -------------------------------------------------------------------------------- /AnnoPythonInject/framework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 4 | // Windows Header Files 5 | #include 6 | -------------------------------------------------------------------------------- /AnnoPythonInject/pch.cpp: -------------------------------------------------------------------------------- 1 | // pch.cpp: source file corresponding to the pre-compiled header 2 | 3 | #include "pch.h" 4 | 5 | // When you are using pre-compiled headers, this source file is necessary for compilation to succeed. 6 | -------------------------------------------------------------------------------- /AnnoPythonInject/pch.h: -------------------------------------------------------------------------------- 1 | // pch.h: This is a precompiled header file. 2 | // Files listed below are compiled only once, improving build performance for future builds. 3 | // This also affects IntelliSense performance, including code completion and many code browsing features. 4 | // However, files listed here are ALL re-compiled if any one of them is updated between builds. 5 | // Do not add files here that you will be updating frequently as this negates the performance advantage. 6 | 7 | #ifndef PCH_H 8 | #define PCH_H 9 | 10 | // add headers that you want to pre-compile here 11 | #include "framework.h" 12 | 13 | #endif //PCH_H 14 | -------------------------------------------------------------------------------- /DUMP/Dump_TextSource.txt: -------------------------------------------------------------------------------- 1 | TextSources.TextSourceRoots.Cheat.ToggleInGameDebugCheatPage() 2 | TextSources.TextSourceRoots.Unlock.ToggleCheatUnlockAll() 3 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleSuperShipSpeed() 4 | TextSources.TextSourceRoots.Weather.SetChangeWind() 5 | TextSources.TextSourceRoots.Achievements.SetUnlockAll() 6 | TextSources.TextSourceRoots.Interface.SetUiScreenScaling(0.5) 7 | TextSources.TextSourceRoots.Cheat.SetTriggerCheat(%i) 8 | TextSources.TextSourceRoots.Weather.SetChangeWind() 9 | TextSources.TextSourceRoots.Weather.ToggleWindRender() 10 | TextSources.TextSourceRoots.Weather.SetToggleMirageEffect() 11 | TextSources.TextSourceRoots.Achievements.SetUnlockAll() 12 | TextSources.TextSourceRoots.Cheat.SetSetCheatCategory(%i) 13 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleExtendedDebugging(%i) 14 | TextSources.TextSourceRoots.DebugRender.SetSeedRandomArea({0}) 15 | TextSources.TextSourceRoots.DebugRender.SetMainSizeRandomArea({0}) 16 | TextSources.TextSourceRoots.DebugRender.SetLocalSizeRandomArea({0}) 17 | TextSources.TextSourceRoots.DebugRender.SetLocalInfluenceRandomArea({0}) 18 | TextSources.TextSourceRoots.DebugRender.SetChanceRandomArea({0}) 19 | TextSources.TextSourceRoots.Game.SetDebugDownloadSnapshot(True) 20 | TextSources.TextSourceRoots.Game.SetDebugUploadSnapshot(True) 21 | TextSources.TextSourceRoots.Game.SetPerformanceTimerGuid({}) 22 | TextSources.TextSourceRoots.GameSetup.SetDifficultyPreset({0}) 23 | TextSources.TextSourceRoots.GameSetup.SetDifficultyNet(%d, {0}) 24 | TextSources.TextSourceRoots.GameSetup.SetResetPlayerPossession({}, {}) 25 | TextSources.TextSourceRoots.GameSetup.SetSetPlayerPossession({}, {}) 26 | TextSources.TextSourceRoots.HappyDayEventManager.SetUnixTriggerHappyDay('{0}') 27 | TextSources.TextSourceRoots.HappyDayEventManager.SetTimeNotification({0}) 28 | TextSources.TextSourceRoots.Input.SetDebugModeEnabled(True) 29 | TextSources.TextSourceRoots.Sound.ToggleDebugFlag(%i) 30 | TextSources.TextSourceRoots.Sound.ResetDebugEmitterFilter() 31 | TextSources.TextSourceRoots.Sound.SetDebugEmitterFilter(\""{0}\"") 32 | TextSources.TextSourceRoots.Sound.ToggleGlobalPersistentEvents() 33 | TextSources.TextSourceRoots.Sound.ToggleAdvancedDebug() 34 | TextSources.TextSourceRoots.Sound.ToggleProfiling() 35 | TextSources.TextSourceRoots.Text.SetValidateAllTexts() 36 | TextSources.TextSourceRoots.TextSourceManager.DebugTextSource(\""{0}\"") 37 | TextSources.TextSourceRoots.ToolOneManager.SetDebugVariable({0}) 38 | TextSources.TextSourceRoots.Unlock.ToggleCheatUnlockAll() 39 | TextSources.TextSourceRoots.Unlock.SetUnlockNet({0}) 40 | TextSources.TextSourceRoots.Unlock.SetRelockNet({0}) 41 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetStopFestival() 42 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetTriggerFestival() 43 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetIncreasePool(100) 44 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetIncreasePool(-100) 45 | TextSources.TextSourceRoots.AreaManager.Railway.SetRandomSkin({}) 46 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.CheatEnterSession(%i) 47 | TextSources.TextSourceRoots.AiConstruction.Cheats.SetDebugCommand(%i)%hs 48 | TextSources.TextSourceRoots.AiConstruction.Cheats.SetDebugParticipant(%i) 49 | TextSources.TextSourceRoots.SessionParticipants.SetCheatCreateSessionParticipant(10) 50 | TextSources.TextSourceRoots.AiUnit.SetDebugParticipant(%i) 51 | TextSources.TextSourceRoots.Animals.SetDebugCommand(%i)%hs 52 | TextSources.TextSourceRoots.Animals.ToggleDebugOption(%i)%hs 53 | TextSources.TextSourceRoots.Discovery.SetDebugCommand(%i) 54 | TextSources.TextSourceRoots.Discovery.ToggleDebugOption(%i) 55 | TextSources.TextSourceRoots.Discovery.HideParticipant(%i) 56 | TextSources.TextSourceRoots.Discovery.ShowParticipant(%i) 57 | TextSources.TextSourceRoots.Objects.SetDebugObject({0}) 58 | TextSources.TextSourceRoots.Objects.SetDebugObjectGUID({0}) 59 | TextSources.TextSourceRoots.SetEnableObjectGroup({}, \""{}\"", 1) 60 | TextSources.TextSourceRoots.SetEnableObjectGroup({}, \""{}\"", 0) 61 | TextSources.TextSourceRoots.Objects.SetSelectedAreaID(%u) 62 | TextSources.TextSourceRoots.AreaManager.AreaObjects.SaveBuildingCountSnapshot(); 63 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleIncidents() 64 | TextSources.TextSourceRoots.MetaIncidents.TogglePause() 65 | TextSources.TextSourceRoots.Incidents.ToggleSpreading() 66 | TextSources.TextSourceRoots.Incidents.ToggleDontSendResolver(); 67 | TextSources.TextSourceRoots.Incidents.ToggleUnlockIncident(%i); 68 | TextSources.TextSourceRoots.Incidents.CheatUnlockAllIncidents(); 69 | TextSources.TextSourceRoots.Incidents.SetDebugIncidentType({0}) 70 | TextSources.TextSourceRoots.Incidents.SetDebugMode(%i) 71 | TextSources.TextSourceRoots.Selection.Object.Infectable.ResetProtection(%i); 72 | TextSources.TextSourceRoots.Incidents.SetDebugRenderMode(%i) 73 | TextSources.TextSourceRoots.Incidents.ToggleRenderFlag(%i) 74 | TextSources.TextSourceRoots.Irrigation.DebugReInitGrids(); 75 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(600005, 1) 76 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(600005, 20) 77 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetClearSlot(0) 78 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetEquipSlot(0, -1) 79 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetUnquipSocket(0, -1) 80 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(1010192, 20) 81 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSocket(6000001, 0) 82 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetResetSocketState(0) 83 | TextSources.TextSourceRoots.LoadingPier.SetDebugDrawing(%hs)%hs 84 | TextSources.TextSourceRoots.Path.SetDebugCommand(%i)%hs 85 | TextSources.TextSourceRoots.Path.ToggleDebugOption(%i)%hs 86 | TextSources.TextSourceRoots.Path.SetDebugLayer(%i)%hs 87 | TextSources.TextSourceRoots.Season.SetCheatEndCurrentSeasonIn20s() 88 | TextSources.TextSourceRoots.Season.SetCheatStartSeason({}) 89 | TextSources.TextSourceRoots.Season.SetCheatToggleSkipVisualUpdates() 90 | TextSources.TextSourceRoots.Selection.SetEnableDebugDrawPicking(%hs) 91 | TextSources.TextSourceRoots.SessionCamera.SetDebugLookAtPosX({0}) 92 | TextSources.TextSourceRoots.SessionCamera.SetDebugLookAtPosZ({0}) 93 | TextSources.TextSourceRoots.Feedback.SetBehaviourFilter(%i)%hs 94 | TextSources.TextSourceRoots.Participants.SetCurrentParticipant(%d) 95 | TextSources.TextSourceRoots.SessionParticipants.SetCheatCreateSessionParticipant({0}) 96 | TextSources.TextSourceRoots.StreetOverlay.ToggleEnableStatus({0}) 97 | TextSources.TextSourceRoots.Visitors.ToggleDebugFlag(%i) 98 | TextSources.TextSourceRoots.MetaObjects.CheatLookAtPosition(%i, %.1f, %.1f, %.1f) 99 | TextSources.TextSourceRoots.MetaObjects.CheatLookAtObject({}) 100 | TextSources.TextSourceRoots.EconomyStatistic.SetDebugSessionGuid({0}) 101 | TextSources.TextSourceRoots.EconomyStatistic.SetDebugAreaGuid({0}) 102 | TextSources.TextSourceRoots.EconomyStatistic.SetFocussedItem({0}) 103 | TextSources.TextSourceRoots.Daytime.SetDaytimeSetting(%i) 104 | TextSources.TextSourceRoots.Daytime.SetDaytimePreset(%i) 105 | TextSources.TextSourceRoots.Daytime.SetDaytime({0}) 106 | TextSources.TextSourceRoots.Cheat.GlobalCheats.SetEconomySpeed({0}) 107 | TextSources.TextSourceRoots.Economy.MetaStorage.SetEconomyModifier(%d, {0}) 108 | TextSources.TextSourceRoots.Participants.SetRemoveParticipant(%d) 109 | TextSources.TextSourceRoots.Participants.CheatCreateParticipant_IfNecessary({0}) 110 | TextSources.TextSourceRoots.Quests.DebugQuestGUID({0}) 111 | TextSources.TextSourceRoots.Quests.ResetTutorialQuestsNet() 112 | TextSources.TextSourceRoots.Scenarios.ResetScenario() 113 | TextSources.TextSourceRoots.Scenarios.ResetLastSeenPromotion() 114 | TextSources.TextSourceRoots.AreaManager.EcoSystem.SetFeaturePaused({0}) 115 | TextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 0, {1}) 116 | TextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 1, {1}) 117 | TextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 2, {1}) 118 | TextSources.TextSourceRoots.Scenarios.SaveAccount() 119 | TextSources.TextSourceRoots.Contracts.SkipLoadingTime() 120 | TextSources.TextSourceRoots.Contracts.ToggleSkipTransit() 121 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleSuperShipSpeed() 122 | TextSources.TextSourceRoots.Contracts.FillPyramid() 123 | TextSources.TextSourceRoots.Contracts.DebugSelectGoodForMoreInfo({0}) 124 | TextSources.TextSourceRoots.Contracts.DebugSelectGoodForMoreInfo 125 | TextSources.TextSourceRoots.Quests.DebugParticipant(%d) 126 | TextSources.TextSourceRoots.Area.Current.Economy.ClearIslandStorage() 127 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 1) 128 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 10) 129 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 50) 130 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -1) 131 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -10) 132 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -50) 133 | TextSources.TextSourceRoots.Area.Current.Economy.SetSelectStorageGoodDebug({}) 134 | TextSources.TextSourceRoots.Incidents.GetIncident(%i).CheatSpread(); 135 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.ReleaseShip(%d, %d) 136 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.ToggleShipLog(%d) 137 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.FulfillRequest(%d) 138 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.SkipRequest(%d) 139 | TextSources.TextSourceRoots.AiConstruction.GetCheats().OverwriteNextConstructionRequest(%i, True) 140 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetSellShare(%d) 141 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetBuyShare(%d, %d) 142 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetResetCooldown(%d) 143 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetHostileTakeover(%d) 144 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetOpenMilitaryResultScreen() 145 | TextSources.TextSourceRoots.Selection.Object.DelayedConstruction.SetCheatReady() 146 | TextSources.TextSourceRoots.Contracts.SkipTransit({}) 147 | TextSources.TextSourceRoots.Contracts.RemoveContract({}) 148 | TextSources.TextSourceRoots.Contracts.SetExportGoodGUID({}, {}, {}) 149 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 0) 150 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 10) 151 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 20) 152 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 50) 153 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 100) 154 | TextSources.TextSourceRoots.Contracts.SetTraderGUID({}, {}, {}) 155 | TextSources.TextSourceRoots.Contracts.SetImportGoodGUID({}, {}, {}) 156 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 100) 157 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 1000) 158 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 2000) 159 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 5000) 160 | TextSources.TextSourceRoots.Visitors.GetArea(%i).EndInterval() 161 | TextSources.TextSourceRoots.Visitors.SetResetArea(%i) 162 | TextSources.TextSourceRoots.Visitors.GetArea(%i).SpawnSpecialist() 163 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetDiscardExpedition() 164 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatEventCountdown() 165 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatEndExpedition() 166 | TextSources.TextSourceRoots.SessionCamera.CheatToGameObject(%llu) 167 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetEndExpedition() 168 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetResolveDecision(%i, %i) 169 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetResolveDecision(0, 0) 170 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatCurrentEvent(%i) 171 | TextSources.TextSourceRoots.Unlock.SetUnlock(%i) 172 | TextSources.TextSourceRoots.GetGameObject({0}).RandomMapObject.SetFiniteResourceAmount({1}) 173 | TextSources.TextSourceRoots.Selection.Object.RecipeBuilding.ChangeRecipe({0}) 174 | TextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(4, 30000) 175 | TextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(-4, 30000) 176 | TextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(0, 30000) 177 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Sellable.CheatBuy() 178 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfect(%d) 179 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatEndInfection(%d) 180 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfectRandom() 181 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatEndAnyInfection() 182 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatIgnoreIncidentPriority(%hs)%hs 183 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.ToggleDebugRenderRadius() 184 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Trader.ClearSellCooldown(%i) 185 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Trader.ForceBuild() 186 | TextSources.TextSourceRoots.Quests.GetQuest({}).SetActiveNet() 187 | TextSources.TextSourceRoots.Quests.GetQuest({}).SetReachedNet() 188 | TextSources.TextSourceRoots.Quests.GetQuest({}).SetAbortedNet(True, {}) 189 | TextSources.TextSourceRoots.Quests.GetQuest({}).ToggleForceQuestTrackerVisibility() 190 | TextSources.TextSourceRoots.Quests.GetQuest({}).ToggleQuestConditionTreeVisibility() 191 | TextSources.TextSourceRoots.Quests.CheatResetQuestNet({}) 192 | TextSources.TextSourceRoots.MetaObjects.GetObject(%d).BuyShares.SetCalcPrio() 193 | TextSources.TextSourceRoots.Participants.SetChangeParticipantReputationTo(%i, %i, -5) 194 | TextSources.TextSourceRoots.Participants.SetChangeParticipantReputationTo(%i, %i, 5) 195 | TextSources.TextSourceRoots.Expedition.SetDistributeExpedition(5) 196 | TextSources.TextSourceRoots.Expedition.CheatSetCurrentDecision({0}) 197 | TextSources.TextSourceRoots.Expedition.AddExpedition(%d, True) 198 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMinLayers({0}) 199 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxLayers({0}) 200 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthSizeX({0}) 201 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthSizeY({0}) 202 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxRoomSize({0}) 203 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMinRoomAmount({0}) 204 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxRoomAmount({0}) 205 | TextSources.TextSourceRoots.Expedition.SetClearLabyrinth() 206 | TextSources.TextSourceRoots.Expedition.AddLabyrinthRoom() 207 | TextSources.TextSourceRoots.Expedition.SetRemoveLabyrinthRoom() 208 | TextSources.TextSourceRoots.Expedition.AddLabyrinthConnection() 209 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinth() 210 | TextSources.TextSourceRoots.Participants.GetParticipant({}).Profile 211 | TextSources.TextSourceRoots.Quests.EnableQuestPoolForCurrentPlayer({}, True) 212 | TextSources.TextSourceRoots.Quests.CheatEndQuestBlockingNet(%d, %d) 213 | TextSources.TextSourceRoots.Quests.CheatEndPoolCooldownNet(%d) 214 | TextSources.TextSourceRoots.Quests.CheatEndQuestTimerNet(%d) 215 | TextSources.TextSourceRoots.Quests.CheatEndQuestTimerNet({}) 216 | TextSources.TextSourceRoots.Research.SetTransferCraftedItems() 217 | TextSources.TextSourceRoots.Research.SetSkipCraftingTimeCheat() 218 | TextSources.TextSourceRoots.Research.SetResearchCenterWorkforceAmount({0}) 219 | TextSources.TextSourceRoots.Research.SetRemoveQueuedEntry({}) 220 | TextSources.TextSourceRoots.Research.SetAddToDonationStorage({},{}) 221 | TextSources.TextSourceRoots.Research.SetDonateItemsInStorage() 222 | TextSources.TextSourceRoots.Research.SetClearDonationStorage() 223 | TextSources.TextSourceRoots.Research.SetSelectRecipes({}) 224 | TextSources.TextSourceRoots.Research.SetResearchRecipes({}) 225 | TextSources.TextSourceRoots.Research.SetCraftOrAddToQueue({}) 226 | TextSources.TextSourceRoots.Research.SetCheatAllRecipes({}) 227 | TextSources.TextSourceRoots.GetGameObject(%llu).SetChangeSkin(%u, False) 228 | TextSources.TextSourceRoots.GetGameObject({}).SetCycleSkins(1, False) 229 | TextSources.TextSourceRoots.LoadingPier.UpdateHarborQueuePointsDebug(%i, %llu)%hs 230 | TextSources.TextSourceRoots.Selection.Object.FreeArea.SetCheatReady() 231 | TextSources.TextSourceRoots.Objects.GetObject(%llu).FreeArea.SetToggleGridDebugDraw() 232 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(True, False) 233 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(False, False) 234 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(True, True) 235 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(False, True) 236 | TextSources.TextSourceRoots.Objects.GetObject(%llu).IncidentResolver.ClearSpecialActionCooldown() 237 | TextSources.TextSourceRoots.Objects.GetObject({}).Mesh.SetVisible({}) 238 | TextSources.TextSourceRoots.Cheat.AICheats.SetDebugBuildMode(%i); TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i) 239 | TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i) 240 | TextSources.TextSourceRoots.AiUnit.SetDebugCommand(%i)%hs 241 | TextSources.TextSourceRoots.AiUnit.ToggleDebugOption(%i)%hs 242 | TextSources.TextSourceRoots.Selection.Object.Monument.SetPauseUpgrade() 243 | TextSources.TextSourceRoots.Selection.Object.Monument.SetCheatUpgradeMicro() 244 | TextSources.TextSourceRoots.Selection.Object.Monument.SetCheatMicroPhase() 245 | TextSources.TextSourceRoots.Selection.Object.Monument.SetCheatSkipEventTime() 246 | TextSources.TextSourceRoots.Selection.Object.PalaceMinistry.SetMinistryType({0}) 247 | TextSources.TextSourceRoots.Selection.Object.PalaceMinistry.SetDecreeTier({0}) 248 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Pirate.DebugIncreaseAreaOfActivityRange(5) 249 | TextSources.TextSourceRoots.Cheat.AICheats.SetDebugBuildMode(%i)%hs 250 | TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i)%hs 251 | TextSources.TextSourceRoots.MetaObjects.CheatLookAtPosition(%i, %f, %f, %f) 252 | TextSources.TextSourceRoots.Cheat.AICheats.ToggleBenchmarkMode() 253 | TextSources.TextSourceRoots.AiConstruction.GetCheats().ResetQuickBuildFilter() 254 | TextSources.TextSourceRoots.AiConstruction.GetCheats().SetQuickBuildFilter(\""{0}\"") 255 | TextSources.TextSourceRoots.AiConstruction.GetCheats().ResetBuildUntilFilter() 256 | TextSources.TextSourceRoots.AiConstruction.GetCheats().SetBuildUntilFilter(\""{0}\"") 257 | TextSources.TextSourceRoots.AiConstruction.GetCheats().ResetFakeNoSpaceFilter() 258 | TextSources.TextSourceRoots.AiConstruction.GetCheats().SetFakeNoSpaceFilter(\""{0}\"") 259 | TextSources.TextSourceRoots.AiConstruction.GetCheats().%hs(%i, True) 260 | TextSources.TextSourceRoots.AiConstruction.Cheats.ToggleIslandRole(%d, %d) 261 | TextSources.TextSourceRoots.SessionCamera.ToWorldPos(%.2f, %.2f) 262 | TextSources.TextSourceRoots.SessionCamera.ToWorldPos(%.2f, %.2f, %.2f) 263 | TextSources.TextSourceRoots.Interface.SetUiScreenScaling({0}) 264 | TextSources.TextSourceRoots.Interface.SetUiScreenHorizontalSpacing({0}) 265 | TextSources.TextSourceRoots.Interface.SetUiScreenVerticalSpacing({0}) 266 | TextSources.TextSourceRoots.Interface.SetUiScreenHorizontalPosition({0}) 267 | TextSources.TextSourceRoots.Interface.SetUiScreenVerticalPosition({0}) 268 | TextSources.TextSourceRoots.Interface.ResetUiScreenConfig() 269 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 1) 270 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfect(%d) 271 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetEquipSlot(0, -1) 272 | C 273 | TextSources.TextSourceRoots.Game.SetSaveGameWithPopup() 274 | game.takeScreenshot() 275 | TextSources.TextSourceRoots.Pause.DecreaseGameSpeed() 276 | TextSources.TextSourceRoots.Pause.IncreaseGameSpeed() 277 | camera.Up() 278 | camera.Down() 279 | camera.Left() 280 | camera.Right() 281 | camera.RotateLeft() 282 | camera.RotateRight() 283 | camera.ZoomIn() 284 | camera.ZoomOut() 285 | TextSources.TextSourceRoots.Interface.ToggleBuildmenu() 286 | TextSources.TextSourceRoots.Interface.ToggleShipList() 287 | game.toggleBlueprintMode() 288 | game.startMouseMode(2001042) 289 | game.startMouseMode(2001043) 290 | game.startMouseMode(2001044) 291 | TextSources.TextSourceRoots.GUI.SetTogglePause() 292 | TextSources.TextSourceRoots.StreetOverlay.ToggleInfoLayerVisibility() 293 | TextSources.TextSourceRoots.Interface.ToggleUI() 294 | TextSources.TextSourceRoots.Selection.DestructSelected() 295 | game.startBuild(1000178) 296 | game.startBuild(1010035) 297 | game.startBuild(1010343) 298 | game.startBuild(1010371) 299 | game.changeRotation(1) 300 | game.changeRotation(-1) 301 | game.changeVariation(1) 302 | TextSources.TextSourceRoots.Selection.SelectIslandKontor() 303 | TextSources.TextSourceRoots.Selection.UpgradeSelected(0) 304 | TextSources.TextSourceRoots.Selection.UpgradeSelected(1) 305 | TextSources.TextSourceRoots.Selection.Object.Pausable.TogglePause() 306 | TextSources.TextSourceRoots.Selection.TogglePauseForBuildingsOfSelectedType() 307 | session.selectNextObject(True) 308 | session.selectNextObject(False) 309 | TextSources.TextSourceRoots.Interface.ToggleMetaUI() 310 | session.jumpToSelection() 311 | session.togglePostcardView() 312 | session.deactivateSpecialCameraView() 313 | game.enableResidentView() 314 | game.rotateCameraAroundLookAt(10) 315 | session.setDefaultRotation() 316 | game.restoreCameraView(0) 317 | game.storeCameraView(0) 318 | game.restoreCameraView(1); 319 | game.storeCameraView(1) 320 | game.restoreCameraView(2); 321 | game.storeCameraView(2) 322 | game.restoreCameraView(3); 323 | game.storeCameraView(3) 324 | game.restoreCameraViewAndRotate(4,10) 325 | game.storeCameraView(4) 326 | game.restoreCameraViewAndRotate(5,10) 327 | game.storeCameraView(5) 328 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(1) 329 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(1) 330 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(2) 331 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(2) 332 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(3) 333 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(3) 334 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(4) 335 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(4) 336 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(5) 337 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(5) 338 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(6) 339 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(6) 340 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(7) 341 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(7) 342 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(8) 343 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(8) 344 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(9) 345 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(9) 346 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetRestore(0) 347 | TextSources.TextSourceRoots.Selection.SelectionGroup.SetStore(0) 348 | TextSources.TextSourceRoots.Interface.PopUI() 349 | TextSources.TextSourceRoots.Options.SetToggleFullscreen() 350 | -------------------------------------------------------------------------------- /DUMP/Dump_TextSource2.txt: -------------------------------------------------------------------------------- 1 | TextSources.TextSourceRoots.SetEnableObjectGroup({}, \"{}\", 0) 2 | TextSources.TextSourceRoots.SetEnableObjectGroup({}, \"{}\", 1) 3 | TextSources.TextSourceRoots.Objects.SetSelectedAreaID(%u) 4 | TextSources.TextSourceRoots.Objects.SetDebugObjectGUID({0}) 5 | TextSources.TextSourceRoots.MetaIncidents.TogglePause() 6 | TextSources.TextSourceRoots.Incidents.ToggleSpreading() 7 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleIncidents() 8 | TextSources.TextSourceRoots.Incidents.ToggleDontSendResolver(); 9 | TextSources.TextSourceRoots.Incidents.SetDebugIncidentType({0}) 10 | TextSources.TextSourceRoots.Incidents.ToggleUnlockIncident(%i); 11 | TextSources.TextSourceRoots.Incidents.CheatUnlockAllIncidents(); 12 | TextSources.TextSourceRoots.Incidents.SetDebugMode(%i) 13 | TextSources.TextSourceRoots.Selection.Object.Infectable.ResetProtection(%i); 14 | TextSources.TextSourceRoots.Incidents.SetDebugRenderMode(%i) 15 | TextSources.TextSourceRoots.Incidents.ToggleRenderFlag(%i) 16 | TextSources.TextSourceRoots.Irrigation.DebugReInitGrids(); 17 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetClearSlot(0) 18 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetEquipSlot(0, -1) 19 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(600005, 1) 20 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(600005, 20) 21 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSocket(6000001, 0) 22 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetResetSocketState(0) 23 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetUnquipSocket(0, -1) 24 | TextSources.TextSourceRoots.Selection.Object.ItemContainer.SetCheatItemInSlot(1010192, 20) 25 | TextSources.TextSourceRoots.LoadingPier.SetDebugDrawing(%hs)%hs 26 | TextSources.TextSourceRoots.Path.SetDebugCommand({}){} 27 | TextSources.TextSourceRoots.Path.ToggleDebugOption({}){} 28 | TextSources.TextSourceRoots.Path.SetDebugLayer({}){} 29 | TextSources.TextSourceRoots.Season.SetCheatEndCurrentSeasonIn20s() 30 | TextSources.TextSourceRoots.Season.SetCheatOverwriteNextSeason({}, 0) 31 | TextSources.TextSourceRoots.Season.SetCheatToggleSkipVisualUpdates() 32 | TextSources.TextSourceRoots.Season.SetCheatOverwriteNextSeason({}, 1) 33 | TextSources.TextSourceRoots.Selection.SetEnableDebugDrawPicking(%hs) 34 | TextSources.TextSourceRoots.SessionCamera.SetDebugLookAtPosZ({0}) 35 | TextSources.TextSourceRoots.Feedback.SetBehaviourFilter(%i)%hs 36 | TextSources.TextSourceRoots.Participants.SetCurrentParticipant(%d) 37 | TextSources.TextSourceRoots.SessionParticipants.SetCheatCreateSessionParticipant({0}) 38 | TextSources.TextSourceRoots.StreetOverlay.ToggleEnableStatus({0}) 39 | TextSources.TextSourceRoots.Visitors.ToggleDebugFlag(%i) 40 | TextSources.TextSourceRoots.Weather.SetChangeWind() 41 | TextSources.TextSourceRoots.Weather.ToggleWindRender() 42 | TextSources.TextSourceRoots.Weather.SetToggleMirageEffect() 43 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleSuperShipSpeed() 44 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(True, False) 45 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(True, True) 46 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(False, False) 47 | TextSources.TextSourceRoots.AreaManager.Attractivity.SetCheatChangeAttractivityNet(False, True) 48 | TextSources.TextSourceRoots.SessionParticipants.SetCheatCreateSessionParticipant(10) 49 | TextSources.TextSourceRoots.Sound.ToggleProfiling() 50 | TextSources.TextSourceRoots.Cheat.SetSetCheatCategory(%i) 51 | TextSources.TextSourceRoots.Cheat.GlobalCheats.ToggleExtendedDebugging(%i) 52 | TextSources.TextSourceRoots.DebugRender.SetLocalSizeRandomArea({0}) 53 | TextSources.TextSourceRoots.DebugRender.SetMainSizeRandomArea({0}) 54 | TextSources.TextSourceRoots.DebugRender.SetSeedRandomArea({0}) 55 | TextSources.TextSourceRoots.DebugRender.SetChanceRandomArea({0}) 56 | TextSources.TextSourceRoots.DebugRender.SetLocalInfluenceRandomArea({0}) 57 | TextSources.TextSourceRoots.Game.SetDebugUploadSnapshot(True) 58 | TextSources.TextSourceRoots.Game.SetPerformanceTimerGuid({}) 59 | TextSources.TextSourceRoots.GameSetup.SetSetPlayerPossession({}, {}) 60 | TextSources.TextSourceRoots.GameSetup.SetResetPlayerPossession({}, {}) 61 | TextSources.TextSourceRoots.DlcUpgrade.SetToggleDLCActivation({}) 62 | TextSources.TextSourceRoots.GameSetup.SetDifficultyPreset({0}) 63 | TextSources.TextSourceRoots.GameSetup.SetDifficultyNet(%d, {0}) 64 | TextSources.TextSourceRoots.HappyDayEventManager.SetTimeNotification({0}) 65 | TextSources.TextSourceRoots.Input.SetDebugModeEnabled(True) 66 | TextSources.TextSourceRoots.ScenarioWorkshop.CheatRubberDots(10) 67 | TextSources.TextSourceRoots.ScenarioWorkshop.ResetSawGrandGalleryIntro() 68 | TextSources.TextSourceRoots.ScenarioWorkshop.ResetRubberDots() 69 | TextSources.TextSourceRoots.ScenarioWorkshop.CheatRubberDots(100) 70 | TextSources.TextSourceRoots.ScenarioWorkshop.CheatRubberDots(50) 71 | TextSources.TextSourceRoots.ScenarioWorkshop.ResetScenarioWorkshopPackage({}) 72 | TextSources.TextSourceRoots.ScenarioWorkshop.ReRecover() 73 | TextSources.TextSourceRoots.ScenarioItemTrade.SpawnItemTraderAtSelection() 74 | TextSources.TextSourceRoots.ScenarioWorkshop.ResetBoughtItems() 75 | TextSources.TextSourceRoots.ScenarioWorkshop.TryBuyScenarioWorkshopPackage({}, 1) 76 | TextSources.TextSourceRoots.Sound.ToggleDebugFlag(%i) 77 | TextSources.TextSourceRoots.Sound.ResetDebugEmitterFilter() 78 | TextSources.TextSourceRoots.Sound.SetDebugEmitterFilter(\"{0}\") 79 | TextSources.TextSourceRoots.Sound.ToggleGlobalPersistentEvents() 80 | TextSources.TextSourceRoots.Sound.ToggleAdvancedDebug() 81 | TextSources.TextSourceRoots.ToolOneManager.SetDebugVariable({0}) 82 | TextSources.TextSourceRoots.Unlock.SetRelockNet({0}) 83 | TextSources.TextSourceRoots.AreaManager.EcoSystem.SetFeaturePaused({0}) 84 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetStopFestival() 85 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetTriggerFestival() 86 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetIncreasePool(100) 87 | TextSources.TextSourceRoots.GetFestivalManager(%u).SetIncreasePool(-100) 88 | TextSources.TextSourceRoots.AreaManager.Railway.SetRandomSkin({}) 89 | TextSources.TextSourceRoots.MetaObjects.CheatLookAtObject({}) 90 | TextSources.TextSourceRoots.MetaObjects.CheatLookAtPosition(%i, %.1f, %.1f, %.1f) 91 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 10) 92 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 1) 93 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -1) 94 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, 50) 95 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -50) 96 | TextSources.TextSourceRoots.Area.Current.Economy.AddAmount({}, -10) 97 | TextSources.TextSourceRoots.Area.Current.Economy.SetSelectStorageGoodDebug({}) 98 | TextSources.TextSourceRoots.Incidents.GetIncident(%i).CheatSpread(); 99 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetResetCooldown(%d) 100 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetBuyShare(%d, %d) 101 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetSellShare(%d) 102 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetHostileTakeover(%d) 103 | TextSources.TextSourceRoots.Area.GetAreaFromID(%d).SetOpenMilitaryResultScreen() 104 | TextSources.TextSourceRoots.Selection.Object.Attackable.CheatRemainingEffectTime({}) 105 | TextSources.TextSourceRoots.Selection.Object.Bombarder.StartTargetMode() 106 | TextSources.TextSourceRoots.Selection.Object.Bombarder.StartArming() 107 | TextSources.TextSourceRoots.Selection.Object.Bombarder.SetBarrageSize({}, {}) 108 | TextSources.TextSourceRoots.Selection.Object.Bombarder.SetArmed({}) 109 | TextSources.TextSourceRoots.Selection.Object.Bombarder.CancelBombardement() 110 | TextSources.TextSourceRoots.Selection.Object.DelayedConstruction.SetCheatReady() 111 | TextSources.TextSourceRoots.Participants.GetParticipant({}).Profile 112 | TextSources.TextSourceRoots.Unlock.SetUnlock(%i) 113 | TextSources.TextSourceRoots.GetGameObject(%llu).SetChangeSkin(%u, False) 114 | TextSources.TextSourceRoots.GetGameObject({}).SetCycleSkins(1, False) 115 | TextSources.TextSourceRoots.Daytime.SetDaytimePreset(%i) 116 | TextSources.TextSourceRoots.Daytime.SetDaytimeSetting(%i) 117 | TextSources.TextSourceRoots.Daytime.SetDaytime({0}) 118 | TextSources.TextSourceRoots.Economy.MetaStorage.SetEconomyModifier(%d, {0}) 119 | TextSources.TextSourceRoots.Cheat.GlobalCheats.SetEconomySpeed({0}) 120 | TextSources.TextSourceRoots.Participants.CheatCreateParticipant_IfNecessary({0}) 121 | TextSources.TextSourceRoots.Participants.SetRemoveParticipant(%d) 122 | TextSources.TextSourceRoots.Quests.ResetTutorialQuestsNet() 123 | TextSources.TextSourceRoots.Quests.DebugQuestGUID({0}) 124 | TextSources.TextSourceRoots.Quests.DebugParticipant(%d) 125 | TextSources.TextSourceRoots.Scenarios.ResetLastSeenPromotion() 126 | TextSources.TextSourceRoots.WinLose.CheatScenarioFinished() 127 | TextSources.TextSourceRoots.Scenarios.ResetScenario() 128 | TextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 2, {1}) 129 | TextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 1, {1}) 130 | TextSources.TextSourceRoots.Scenarios.SetMedalReached({0}, 0, {1}) 131 | TextSources.TextSourceRoots.Scenarios.SaveAccount() 132 | TextSources.TextSourceRoots.Scenarios.SetResetBadges({0}) 133 | TextSources.TextSourceRoots.Contracts.FillPyramid() 134 | TextSources.TextSourceRoots.Contracts.ToggleSkipTransit() 135 | TextSources.TextSourceRoots.Contracts.SkipLoadingTime() 136 | TextSources.TextSourceRoots.Contracts.DebugSelectGoodForMoreInfo({0}) 137 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.CheatEnterSession(%i) 138 | TextSources.TextSourceRoots.AiConstruction.Cheats.SetDebugCommand(%i)%hs 139 | TextSources.TextSourceRoots.AiConstruction.Cheats.SetDebugParticipant(%i) 140 | TextSources.TextSourceRoots.AiUnit.SetDebugParticipant(%i) 141 | TextSources.TextSourceRoots.Animals.ToggleDebugOption(%i)%hs 142 | TextSources.TextSourceRoots.Animals.SetDebugCommand(%i)%hs 143 | TextSources.TextSourceRoots.Discovery.ShowParticipant(%i) 144 | TextSources.TextSourceRoots.Discovery.HideParticipant(%i) 145 | TextSources.TextSourceRoots.Discovery.SetDebugCommand(%i) 146 | TextSources.TextSourceRoots.Discovery.ToggleDebugOption(%i) 147 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatEventCountdown() 148 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatEndExpedition() 149 | TextSources.TextSourceRoots.SessionCamera.CheatToGameObject(%llu) 150 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetDiscardExpedition() 151 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetEndExpedition() 152 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetResolveDecision(%i, %i) 153 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetResolveDecision(0, 0) 154 | TextSources.TextSourceRoots.Expedition.GetByGUID(%i).SetCheatCurrentEvent(%i) 155 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 10) 156 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 20) 157 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 50) 158 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 100) 159 | TextSources.TextSourceRoots.Contracts.SetTraderGUID({}, {}, {}) 160 | TextSources.TextSourceRoots.Contracts.SetImportGoodGUID({}, {}, {}) 161 | TextSources.TextSourceRoots.Contracts.SkipTransit({}) 162 | TextSources.TextSourceRoots.Contracts.RemoveContract({}) 163 | TextSources.TextSourceRoots.Contracts.SetExportGoodGUID({}, {}, {}) 164 | TextSources.TextSourceRoots.Contracts.SetExportAmount({}, {}, 0) 165 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 100) 166 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 1000) 167 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 2000) 168 | TextSources.TextSourceRoots.Contracts.IncreaseGoodXP({}, 5000) 169 | TextSources.TextSourceRoots.Visitors.GetArea(%i).EndInterval() 170 | TextSources.TextSourceRoots.Visitors.SetResetArea(%i) 171 | TextSources.TextSourceRoots.Visitors.GetArea(%i).SpawnSpecialist() 172 | TextSources.TextSourceRoots.Selection.Object.PalaceMinistry.SetMinistryType({0}) 173 | TextSources.TextSourceRoots.Selection.Object.PalaceMinistry.SetDecreeTier({0}) 174 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Pirate.DebugIncreaseAreaOfActivityRange(5) 175 | TextSources.TextSourceRoots.GetGameObject({0}).RandomMapObject.SetFiniteResourceAmount({1}) 176 | TextSources.TextSourceRoots.Selection.Object.RecipeBuilding.ChangeRecipe({0}) 177 | TextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(4, 30000) 178 | TextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(0, 30000) 179 | TextSources.TextSourceRoots.GetGameObject({}).River.SetMoveRiverLevel(-4, 30000) 180 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Sellable.CheatBuy() 181 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfect(%d) 182 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatEndInfection(%d) 183 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatInfectRandom() 184 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatEndAnyInfection() 185 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.CheatIgnoreIncidentPriority(%hs)%hs 186 | TextSources.TextSourceRoots.Selection.Object.ShipIncident.ToggleDebugRenderRadius() 187 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Trader.ClearSellCooldown(%i) 188 | TextSources.TextSourceRoots.Objects.GetObject(%llu).Trader.ForceBuild() 189 | TextSources.TextSourceRoots.Selection.Object.FreeArea.SetCheatReady() 190 | TextSources.TextSourceRoots.Objects.GetObject(%llu).FreeArea.SetToggleGridDebugDraw() 191 | TextSources.TextSourceRoots.Objects.GetObject(%llu).IncidentResolver.ClearSpecialActionCooldown() 192 | TextSources.TextSourceRoots.Objects.GetObject({}).Mesh.SetVisible({}) 193 | TextSources.TextSourceRoots.AiUnit.SetDebugAddShipGUID({}) 194 | TextSources.TextSourceRoots.Cheat.AICheats.SetDebugBuildMode(%i); TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i) 195 | TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i) 196 | TextSources.TextSourceRoots.AiUnit.SetDebugCommand({}) 197 | TextSources.TextSourceRoots.AiUnit.ToggleDebugOption({}) 198 | TextSources.TextSourceRoots.Selection.Object.Monument.SetCheatMicroPhase() 199 | TextSources.TextSourceRoots.Selection.Object.Monument.SetCheatUpgradeMicro() 200 | TextSources.TextSourceRoots.Selection.Object.Monument.SetCheatSkipEventTime() 201 | TextSources.TextSourceRoots.Selection.Object.Monument.SetPauseUpgrade() 202 | TextSources.TextSourceRoots.MetaObjects.GetObject(%d).BuyShares.SetCalcPrio() 203 | TextSources.TextSourceRoots.Participants.SetChangeParticipantReputationTo(%i, %i, 5) 204 | TextSources.TextSourceRoots.Participants.SetChangeParticipantReputationTo(%i, %i, -5) 205 | TextSources.TextSourceRoots.Expedition.SetDistributeExpedition(5) 206 | TextSources.TextSourceRoots.Expedition.CheatSetCurrentDecision({0}) 207 | TextSources.TextSourceRoots.Expedition.AddExpedition(%d, True) 208 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMinLayers({0}) 209 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxLayers({0}) 210 | TextSources.TextSourceRoots.Expedition.AddLabyrinthConnection() 211 | TextSources.TextSourceRoots.Expedition.SetRemoveLabyrinthRoom() 212 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinth() 213 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthSizeY({0}) 214 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthSizeX({0}) 215 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxRoomSize({0}) 216 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMaxRoomAmount({0}) 217 | TextSources.TextSourceRoots.Expedition.SetGenerateLabyrinthMinRoomAmount({0}) 218 | TextSources.TextSourceRoots.Expedition.AddLabyrinthRoom() 219 | TextSources.TextSourceRoots.Expedition.SetClearLabyrinth() 220 | TextSources.TextSourceRoots.Quests.GetQuest({}).SetActiveNet() 221 | TextSources.TextSourceRoots.Quests.GetQuest({}).SetAbortedNet(True, {}) 222 | TextSources.TextSourceRoots.Quests.GetQuest({}).SetReachedNet() 223 | TextSources.TextSourceRoots.Quests.GetQuest({}).ToggleQuestConditionTreeVisibility() 224 | TextSources.TextSourceRoots.Quests.GetQuest({}).ToggleForceQuestTrackerVisibility() 225 | TextSources.TextSourceRoots.Quests.CheatResetQuestNet({}) 226 | TextSources.TextSourceRoots.Quests.CheatEndPoolCooldownNet(%d) 227 | TextSources.TextSourceRoots.Quests.EnableQuestPoolForCurrentPlayer({}, True) 228 | TextSources.TextSourceRoots.Quests.CheatEndQuestBlockingNet(%d, %d) 229 | TextSources.TextSourceRoots.Quests.CheatEndQuestTimerNet(%d) 230 | TextSources.TextSourceRoots.Quests.CheatEndQuestTimerNet({}) 231 | TextSources.TextSourceRoots.Research.SetTransferCraftedItems() 232 | TextSources.TextSourceRoots.Research.SetSkipCraftingTimeCheat() 233 | TextSources.TextSourceRoots.Research.SetResearchCenterWorkforceAmount({0}) 234 | TextSources.TextSourceRoots.Research.SetRemoveQueuedEntry({}) 235 | TextSources.TextSourceRoots.Cheat.AICheats.ToggleDebugOption(%i)%hs 236 | TextSources.TextSourceRoots.Cheat.AICheats.SetDebugBuildMode(%i)%hs 237 | TextSources.TextSourceRoots.Cheat.AICheats.ToggleBenchmarkMode() 238 | TextSources.TextSourceRoots.MetaObjects.CheatLookAtPosition(%i, %f, %f, %f) 239 | TextSources.TextSourceRoots.AiConstruction.GetCheats().SetBuildUntilFilter(\"{0}\") 240 | TextSources.TextSourceRoots.AiConstruction.GetCheats().ResetBuildUntilFilter() 241 | TextSources.TextSourceRoots.AiConstruction.GetCheats().ResetQuickBuildFilter() 242 | TextSources.TextSourceRoots.AiConstruction.GetCheats().SetQuickBuildFilter(\"{0}\") 243 | TextSources.TextSourceRoots.AiConstruction.GetCheats().%hs(%i, True) 244 | TextSources.TextSourceRoots.AiConstruction.GetCheats().ResetFakeNoSpaceFilter() 245 | TextSources.TextSourceRoots.AiConstruction.GetCheats().SetFakeNoSpaceFilter(\"{0}\") 246 | TextSources.TextSourceRoots.LoadingPier.UpdateHarborQueuePointsDebug(%i, %llu)%hs 247 | TextSources.TextSourceRoots.Research.SetDonateItemsInStorage() 248 | TextSources.TextSourceRoots.Research.SetClearDonationStorage() 249 | TextSources.TextSourceRoots.Research.SetAddToDonationStorage({},{}) 250 | TextSources.TextSourceRoots.Research.SetCheatAllRecipes({}) 251 | TextSources.TextSourceRoots.Research.SetResearchRecipes({}) 252 | TextSources.TextSourceRoots.Research.SetCraftOrAddToQueue({}) 253 | TextSources.TextSourceRoots.Research.SetSelectRecipes({}) 254 | TextSources.TextSourceRoots.AiConstruction.Cheats.ToggleIslandRole(%d, %d) 255 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.ToggleShipLog(%d) 256 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.ReleaseShip(%d, %d) 257 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.SkipRequest(%d) 258 | TextSources.TextSourceRoots.Participants.GetParticipant(%i).ConstructionAI2.MetaShipHandler.FulfillRequest(%d) 259 | TextSources.TextSourceRoots.AiConstruction.GetCheats().OverwriteNextConstructionRequest(%i, True) 260 | TextSources.TextSourceRoots.SessionCamera.ToWorldPos(%.2f, %.2f) 261 | TextSources.TextSourceRoots.SessionCamera.ToWorldPos(%.2f, %.2f, %.2f) 262 | TextSources.TextSourceRoots.Interface.SetUiScreenHorizontalPosition({0}) 263 | TextSources.TextSourceRoots.Interface.SetUiScreenVerticalSpacing({0}) 264 | TextSources.TextSourceRoots.Interface.ResetUiScreenConfig() 265 | TextSources.TextSourceRoots.Interface.SetUiScreenVerticalPosition({0}) 266 | TextSources.TextSourceRoots.Interface.SetUiScreenHorizontalSpacing({0}) 267 | TextSources.TextSourceRoots.Interface.SetUiScreenScaling({0}) 268 | TextSources.TextSourceRoots.Interface.SimulateGamepadInUI({0}) 269 | TextSources.TextSourceRoots.Interface.SimulatePlatformInUI({0}) 270 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Anno1800PythonAPI 2 | Send python code to Anno 1800 using PyRun_SimpleString. 3 | 4 | Usage: 5 | Just extract AnnoPythonAPITool.exe and AnnoPythonInject.dll anywhere you like and run AnnoPythonAPITool.exe. 6 | Works with or without mod loader. 7 | 8 | If Anno is in windowed fullscreen mode you can use F8 9 | to show this window. 10 | 11 | How it Works: 12 | The GUI application writes the desired code/command to script.lua (this can also be programmed as script.py). After that it injects the AnnoPythonInject.dll into Anno 1800. The injected dll looks for python35.dll and initializes the thread with PyGILState_Ensure. Then sends a command to run our script.lua file using PyRun_SimpleString and after that finalizes the thread with PyGILState_Release. When the dll is finished sending the command it fully unloads itself from Anno 1800. 13 | 14 | 15 | ![Screenshot 2022-12-26 114746](https://user-images.githubusercontent.com/50437199/209540439-02cff3d5-2e92-45e8-a0a0-5fb36fd01daf.png) 16 | --------------------------------------------------------------------------------