mirror of
https://github.com/isledecomp/LEGOIslandRebuilder.git
synced 2025-02-17 00:20:40 -05:00
reorganized strings
This commit is contained in:
parent
ba305938a0
commit
c3af9bf5b8
5 changed files with 108 additions and 120 deletions
|
@ -6,14 +6,5 @@ IDI_ICON1 ICON DISCARDABLE "mama.ico"
|
|||
// Manifest to enable visual styles
|
||||
1 RC_MANIFEST "res.manifest"
|
||||
|
||||
// String table
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_TITLE "LEGO Island Rebuilder"
|
||||
IDS_SUBTITLE "by MattKC (mattkc.com)"
|
||||
IDS_RUN "Run"
|
||||
IDS_KILL "Kill"
|
||||
END
|
||||
|
||||
// Include worker DLL in executable for better portability
|
||||
WORKER_DLL RCDATA "rebld.dll"
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
#ifndef RESOURCE_H
|
||||
#define RESOURCE_H
|
||||
|
||||
#define IDS_TITLE 0
|
||||
#define IDS_SUBTITLE 1
|
||||
#define IDS_RUN 2
|
||||
#define IDS_KILL 3
|
||||
|
||||
#define RC_MANIFEST 24
|
||||
|
||||
#define WORKER_DLL 300
|
||||
|
|
|
@ -19,7 +19,7 @@ HANDLE Launcher::Launch(HWND parent)
|
|||
// Extract REBLD.DLL which contains our patches
|
||||
TCHAR libraryFile[MAX_PATH];
|
||||
if (!ExtractLibrary(libraryFile, MAX_PATH)) {
|
||||
MessageBox(parent, _T("Failed to extract to temp"), NULL, 0);
|
||||
MessageBox(parent, "Failed to extract to temp", NULL, 0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -70,13 +70,13 @@ HANDLE Launcher::Launch(HWND parent)
|
|||
// Copy ISLE to temp
|
||||
TCHAR copiedFile[MAX_PATH];
|
||||
if (!CopyIsleToTemp(filename, copiedFile)) {
|
||||
MessageBox(parent, _T("Failed to copy to temp"), NULL, 0);
|
||||
MessageBox(parent, "Failed to copy to temp", NULL, 0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// Patch our copied ISLE to import our DLL
|
||||
if (!PatchIsle(copiedFile)) {
|
||||
MessageBox(parent, _T("Failed to patch import"), NULL, 0);
|
||||
MessageBox(parent, "Failed to patch import", NULL, 0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
@ -100,14 +100,14 @@ BOOL Launcher::FindInstallation(HWND parent, LPTSTR str)
|
|||
|
||||
// On install, LEGO Island records its installation directory in the registry
|
||||
HKEY hKey;
|
||||
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Mindscape\\LEGO Island"), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) {
|
||||
LONG ret = RegQueryValueEx(hKey, _T("diskpath"), NULL, NULL, NULL, &value_sz);
|
||||
if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Mindscape\\LEGO Island", 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) {
|
||||
LONG ret = RegQueryValueEx(hKey, "diskpath", NULL, NULL, NULL, &value_sz);
|
||||
if (ret == ERROR_SUCCESS) {
|
||||
// Get value from registry
|
||||
RegQueryValueEx(hKey, _T("diskpath"), NULL, NULL, (BYTE*)str, &value_sz);
|
||||
RegQueryValueEx(hKey, "diskpath", NULL, NULL, (BYTE*)str, &value_sz);
|
||||
|
||||
// Append ISLE.EXE to diskpath
|
||||
_tcscat(str, _T("\\ISLE.EXE"));
|
||||
_tcscat(str, "\\ISLE.EXE");
|
||||
}
|
||||
|
||||
RegCloseKey(hKey);
|
||||
|
@ -124,8 +124,8 @@ BOOL Launcher::FindInstallation(HWND parent, LPTSTR str)
|
|||
fn.lpstrFile[0] = '\0';
|
||||
fn.nMaxFile = MAX_PATH;
|
||||
fn.Flags = OFN_FILEMUSTEXIST | OFN_HIDEREADONLY;
|
||||
fn.lpstrTitle = _T("Where is LEGO Island installed?");
|
||||
fn.lpstrFilter = _T("ISLE.EXE\0ISLE.EXE\0");
|
||||
fn.lpstrTitle = "Where is LEGO Island installed?";
|
||||
fn.lpstrFilter = "ISLE.EXE\0ISLE.EXE\0";
|
||||
|
||||
if (!GetOpenFileName(&fn)) {
|
||||
// If they cancelled the dialog, break out of the loop
|
||||
|
@ -144,7 +144,7 @@ BOOL Launcher::ExtractLibrary(LPTSTR str, SIZE_T len)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
_tcscat(str, _T("REBLD.DLL"));
|
||||
_tcscat(str, "REBLD.DLL");
|
||||
|
||||
// Open file
|
||||
HANDLE file = CreateFile(str, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
|
||||
|
@ -185,7 +185,7 @@ BOOL Launcher::CopyIsleToTemp(LPCTSTR src, LPTSTR dst)
|
|||
TCHAR tempDir[MAX_PATH];
|
||||
if (GetTempPath(MAX_PATH, tempDir)) {
|
||||
_tcscpy(dst, tempDir);
|
||||
_tcscat(dst, _T("ISLE.EXE"));
|
||||
_tcscat(dst, "ISLE.EXE");
|
||||
if (CopyFile(src, dst, FALSE)) {
|
||||
// Force our copy to load our DLL
|
||||
success = TRUE;
|
||||
|
@ -255,7 +255,7 @@ BOOL Launcher::TryCreateProcess(HWND parent, LPSTR filename, LPCSTR working_dir,
|
|||
|
||||
if (!CreateProcess(NULL, filename, NULL, NULL, FALSE, suspended ? CREATE_SUSPENDED : 0, NULL, working_dir, &si, pi)) {
|
||||
TCHAR err[2048];
|
||||
_stprintf(err, _T("Failed to create process with error 0x%lx"), GetLastError());
|
||||
_stprintf(err, "Failed to create process with error 0x%lx", GetLastError());
|
||||
MessageBox(parent, err, NULL, 0);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
@ -44,149 +44,149 @@ PatchGrid::PatchGrid()
|
|||
SetBoldModified(true);
|
||||
|
||||
// General section
|
||||
HSECTION sectionGeneral = AddSection(_T("General"));
|
||||
HSECTION sectionGeneral = AddSection("General");
|
||||
|
||||
AddPatch("DebugToggle",
|
||||
_T("Enables the in-game debug mode automatically without the need to type OGEL."),
|
||||
AddBoolItem(sectionGeneral, _T("Debug Mode"), false));
|
||||
"Enables the in-game debug mode automatically without the need to type OGEL.",
|
||||
AddBoolItem(sectionGeneral, "Debug Mode", false));
|
||||
|
||||
AddPatch("MultipleInstances",
|
||||
_T("By default, LEGO Island will allow only one instance of itself to run. "
|
||||
"This patch allows infinite instances of LEGO Island to run."),
|
||||
AddBoolItem(sectionGeneral, _T("Allow Multiple Instances"), false));
|
||||
"By default, LEGO Island will allow only one instance of itself to run. "
|
||||
"This patch allows infinite instances of LEGO Island to run.",
|
||||
AddBoolItem(sectionGeneral, "Allow Multiple Instances", false));
|
||||
|
||||
AddPatch("SpeedUpStartUp",
|
||||
_T("By default, LEGO Island waits 200 frames to ensure everything is initialized before starting. "
|
||||
"That interval can be skipped without consequence in many cases."),
|
||||
AddBoolItem(sectionGeneral, _T("Speed Up Startup"), false));
|
||||
"By default, LEGO Island waits 200 frames to ensure everything is initialized before starting. "
|
||||
"That interval can be skipped without consequence in many cases.",
|
||||
AddBoolItem(sectionGeneral, "Speed Up Startup", false));
|
||||
|
||||
AddPatch("StayActiveWhenDefocused",
|
||||
_T("By default, LEGO Island pauses when it's not the active window. "
|
||||
"This patch prevents that behavior."),
|
||||
AddBoolItem(sectionGeneral, _T("Stay Active When Defocused"), false));
|
||||
"By default, LEGO Island pauses when it's not the active window. "
|
||||
"This patch prevents that behavior.",
|
||||
AddBoolItem(sectionGeneral, "Stay Active When Defocused", false));
|
||||
|
||||
AddPatch("RedirectSaveData",
|
||||
_T("By default LEGO Island saves its game data in its Program Files folder. In newer versions of "
|
||||
"Windows, this folder is considered privileged access, necessitating running LEGO Island as administrator "
|
||||
"to save here. This patch sets LEGO Island's save location to %APPDATA% instead, which is an accessible and "
|
||||
"standard location that most modern games and apps save to."),
|
||||
AddBoolItem(sectionGeneral, _T("Redirect Save Files to %APPDATA%"), false));
|
||||
"By default LEGO Island saves its game data in its Program Files folder. In newer versions of "
|
||||
"Windows, this folder is considered privileged access, necessitating running LEGO Island as administrator "
|
||||
"to save here. This patch sets LEGO Island's save location to %APPDATA% instead, which is an accessible and "
|
||||
"standard location that most modern games and apps save to.",
|
||||
AddBoolItem(sectionGeneral, "Redirect Save Files to %APPDATA%", false));
|
||||
|
||||
AddPatch("DisableAutoFinishBuilding",
|
||||
_T("In LEGO Island v1.1, placing the last block when building will automatically end the building section. While convenient, "
|
||||
"this prevents players from making any further changes after placing the last brick. It also notably defies what Bill Ding says - you "
|
||||
"don't hit the triangle when you're finished building.\n\nThis patch restores the functionality in v1.0 where placing the last block "
|
||||
"will not automatically finish the build section."),
|
||||
AddBoolItem(sectionGeneral, _T("Disable Auto-Finish Building Section"), false));
|
||||
"In LEGO Island v1.1, placing the last block when building will automatically end the building section. While convenient, "
|
||||
"this prevents players from making any further changes after placing the last brick. It also notably defies what Bill Ding says - you "
|
||||
"don't hit the triangle when you're finished building.\n\nThis patch restores the functionality in v1.0 where placing the last block "
|
||||
"will not automatically finish the build section.",
|
||||
AddBoolItem(sectionGeneral, "Disable Auto-Finish Building Section", false));
|
||||
|
||||
// Controls section
|
||||
HSECTION sectionControls = AddSection(_T("Controls"));
|
||||
HSECTION sectionControls = AddSection("Controls");
|
||||
|
||||
AddPatch("UseWASD",
|
||||
_T("Enables the use of WASD keys for movement rather than the arrow keys. "
|
||||
"NOTE: When using Debug Mode, this patch will re-map the conflicting debug keys to the arrow keys."),
|
||||
AddBoolItem(sectionControls, _T("Use WASD"), false));
|
||||
"Enables the use of WASD keys for movement rather than the arrow keys. "
|
||||
"NOTE: When using Debug Mode, this patch will re-map the conflicting debug keys to the arrow keys.",
|
||||
AddBoolItem(sectionControls, "Use WASD", false));
|
||||
AddPatch("UseJoystick",
|
||||
_T("Enables Joystick functionality."),
|
||||
AddBoolItem(sectionControls, _T("Use Joystick"), false));
|
||||
"Enables Joystick functionality.",
|
||||
AddBoolItem(sectionControls, "Use Joystick", false));
|
||||
AddPatch("MouseDeadzone",
|
||||
_T("Sets the radius from the center of the screen where the mouse will do nothing (40 = default)."),
|
||||
AddIntegerItem(sectionControls, _T("Mouse Deadzone"), 40));
|
||||
"Sets the radius from the center of the screen where the mouse will do nothing (40 = default).",
|
||||
AddIntegerItem(sectionControls, "Mouse Deadzone", 40));
|
||||
AddPatch("UnhookTurnSpeed",
|
||||
_T("LEGO Island contains a bug where the turning speed is influenced by the frame rate. Enable this to make the turn speed independent of the frame rate."),
|
||||
AddBoolItem(sectionControls, _T("Unhook Turning From Frame Rate"), false));
|
||||
"LEGO Island contains a bug where the turning speed is influenced by the frame rate. Enable this to make the turn speed independent of the frame rate.",
|
||||
AddBoolItem(sectionControls, "Unhook Turning From Frame Rate", false));
|
||||
AddPatch("TurnUseVelocity",
|
||||
_T("By default, LEGO Island ignores the turning acceleration/deceleration values. Set this to TRUE to utilize them (Default = FALSE)"),
|
||||
AddBoolItem(sectionControls, _T("Enable Turning Velocity"), false));
|
||||
"By default, LEGO Island ignores the turning acceleration/deceleration values. Set this to TRUE to utilize them (Default = FALSE)",
|
||||
AddBoolItem(sectionControls, "Enable Turning Velocity", false));
|
||||
|
||||
// Navigation section
|
||||
HSECTION sectionNavigation = AddSection(_T("Navigation"));
|
||||
HSECTION sectionNavigation = AddSection("Navigation");
|
||||
|
||||
AddPatch("TurnMaxSpeed",
|
||||
_T("Set the maximum turning speed. (Default = 20.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Turning: Max Speed"), 20.0));
|
||||
"Set the maximum turning speed. (Default = 20.0)",
|
||||
AddDoubleItem(sectionNavigation, "Turning: Max Speed", 20.0));
|
||||
AddPatch("TurnMaxAcceleration",
|
||||
_T("Set the speed at which turning accelerates (requires 'Turning: Enable Velocity') (Default = 30.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Turning: Max Acceleration"), 30.0));
|
||||
"Set the speed at which turning accelerates (requires 'Turning: Enable Velocity') (Default = 30.0)",
|
||||
AddDoubleItem(sectionNavigation, "Turning: Max Acceleration", 30.0));
|
||||
AddPatch("TurnMinAcceleration",
|
||||
_T("Set the speed at which turning accelerates (requires 'Turning: Enable Velocity') (Default = 15.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Turning: Min Acceleration"), 15.0));
|
||||
"Set the speed at which turning accelerates (requires 'Turning: Enable Velocity') (Default = 15.0)",
|
||||
AddDoubleItem(sectionNavigation, "Turning: Min Acceleration", 15.0));
|
||||
AddPatch("TurnDeceleration",
|
||||
_T("Set the speed at which turning decelerates (requires 'Turning: Enable Velocity') (Default = 50.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Turning: Deceleration"), 50.0));
|
||||
"Set the speed at which turning decelerates (requires 'Turning: Enable Velocity') (Default = 50.0)",
|
||||
AddDoubleItem(sectionNavigation, "Turning: Deceleration", 50.0));
|
||||
AddPatch("MovementMaxSpeed",
|
||||
_T("Set the movement maximum speed. (Default = 40.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Movement: Max Speed"), 40.0));
|
||||
"Set the movement maximum speed. (Default = 40.0)",
|
||||
AddDoubleItem(sectionNavigation, "Movement: Max Speed", 40.0));
|
||||
AddPatch("MovementMaxAcceleration",
|
||||
_T("Set the movement acceleration speed (i.e. how long it takes to go from not moving to top speed) (Default = 15.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Movement: Max Acceleration"), 15.0));
|
||||
"Set the movement acceleration speed (i.e. how long it takes to go from not moving to top speed) (Default = 15.0)",
|
||||
AddDoubleItem(sectionNavigation, "Movement: Max Acceleration", 15.0));
|
||||
AddPatch("MovementMinAcceleration",
|
||||
_T("Set the movement acceleration speed (i.e. how long it takes to go from not moving to top speed) (Default = 4.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Movement: Min Acceleration"), 4.0));
|
||||
"Set the movement acceleration speed (i.e. how long it takes to go from not moving to top speed) (Default = 4.0)",
|
||||
AddDoubleItem(sectionNavigation, "Movement: Min Acceleration", 4.0));
|
||||
AddPatch("MovementDeceleration",
|
||||
_T("Set the movement deceleration speed (i.e. how long it takes to slow to a stop after releasing the controls). "
|
||||
"Increase this value to stop faster, decrease it to stop slower. "
|
||||
"Usually this is set to a very high value making deceleration almost instant. (Default = 50.0)"),
|
||||
AddDoubleItem(sectionNavigation, _T("Movement: Deceleration"), 50.0));
|
||||
"Set the movement deceleration speed (i.e. how long it takes to slow to a stop after releasing the controls). "
|
||||
"Increase this value to stop faster, decrease it to stop slower. "
|
||||
"Usually this is set to a very high value making deceleration almost instant. (Default = 50.0)",
|
||||
AddDoubleItem(sectionNavigation, "Movement: Deceleration", 50.0));
|
||||
|
||||
// Graphics Section
|
||||
HSECTION sectionGraphics = AddSection(_T("Graphics"));
|
||||
HSECTION sectionGraphics = AddSection("Graphics");
|
||||
|
||||
DirectDrawEnumerateA(ReceiveDDrawDevice, this);
|
||||
m_d3dDeviceItem = AddComboItem(sectionGraphics, _T("Direct3D Device"), m_d3dDeviceNames, 0);
|
||||
m_d3dDeviceItem = AddComboItem(sectionGraphics, "Direct3D Device", m_d3dDeviceNames, 0);
|
||||
|
||||
AddPatch("D3DDevice",
|
||||
_T("Set which Direct3D device to use with LEGO Island."),
|
||||
"Set which Direct3D device to use with LEGO Island.",
|
||||
m_d3dDeviceItem);
|
||||
|
||||
AddPatch("FullScreen",
|
||||
_T("Allows you to change modes without administrator privileges and registry editing. NOTE: Windowed mode is NOT compatible with \"Flip Video Memory Pages\"."),
|
||||
AddBoolItem(sectionGraphics, _T("Run in Full Screen"), true));
|
||||
"Allows you to change modes without administrator privileges and registry editing. NOTE: Windowed mode is NOT compatible with \"Flip Video Memory Pages\".",
|
||||
AddBoolItem(sectionGraphics, "Run in Full Screen", true));
|
||||
|
||||
AddPatch("DrawCursor",
|
||||
_T("Renders a custom in-game cursor, rather than a standard Windows pointer."),
|
||||
AddBoolItem(sectionGraphics, _T("Draw Cursor"), false));
|
||||
"Renders a custom in-game cursor, rather than a standard Windows pointer.",
|
||||
AddBoolItem(sectionGraphics, "Draw Cursor", false));
|
||||
|
||||
AddPatch("FlipSurfaces",
|
||||
_T(""), // FIXME: Write description for this
|
||||
AddBoolItem(sectionGraphics, _T("Flip Video Memory Pages"), false));
|
||||
"", // FIXME: Write description for this
|
||||
AddBoolItem(sectionGraphics, "Flip Video Memory Pages", false));
|
||||
|
||||
AddPatch("BackBuffersInVRAM",
|
||||
_T(""), // FIXME: Write description for this
|
||||
AddBoolItem(sectionGraphics, _T("Draw 3D to Video Memory"), false));
|
||||
"", // FIXME: Write description for this
|
||||
AddBoolItem(sectionGraphics, "Draw 3D to Video Memory", false));
|
||||
|
||||
vector<string> fpsList;
|
||||
fpsList.push_back(_T("Default"));
|
||||
fpsList.push_back(_T("Uncapped"));
|
||||
fpsList.push_back(_T("Limited"));
|
||||
fpsList.push_back("Default");
|
||||
fpsList.push_back("Uncapped");
|
||||
fpsList.push_back("Limited");
|
||||
AddPatch("FPSLimit",
|
||||
_T("Modify LEGO Island's frame rate cap"),
|
||||
AddComboItem(sectionGraphics, _T("FPS Cap"), fpsList, 0));
|
||||
"Modify LEGO Island's frame rate cap",
|
||||
AddComboItem(sectionGraphics, "FPS Cap", fpsList, 0));
|
||||
|
||||
AddPatch("CustomFPS",
|
||||
_T("If 'FPS Cap' is set to 'Limited', this will be the frame rate used."),
|
||||
AddDoubleItem(sectionGraphics, _T("FPS Cap - Custom Limit"), 24.0));
|
||||
"If 'FPS Cap' is set to 'Limited', this will be the frame rate used.",
|
||||
AddDoubleItem(sectionGraphics, "FPS Cap - Custom Limit", 24.0));
|
||||
|
||||
vector<string> qualityList;
|
||||
qualityList.push_back(_T("Infinite"));
|
||||
qualityList.push_back(_T("High"));
|
||||
qualityList.push_back(_T("Medium"));
|
||||
qualityList.push_back(_T("Low"));
|
||||
qualityList.push_back("Infinite");
|
||||
qualityList.push_back("High");
|
||||
qualityList.push_back("Medium");
|
||||
qualityList.push_back("Low");
|
||||
AddPatch("ModelQuality",
|
||||
_T("Change LEGO Island's default model quality"),
|
||||
AddComboItem(sectionGraphics, _T("Model Quality"), qualityList, 2));
|
||||
"Change LEGO Island's default model quality",
|
||||
AddComboItem(sectionGraphics, "Model Quality", qualityList, 2));
|
||||
|
||||
AddPatch("FOVMultiplier",
|
||||
_T("Globally adjusts the field of view by a multiplier\n\n"
|
||||
"1.0 = Default (greater than 1.0 is zoomed in, less than 1.0 is zoomed out)"),
|
||||
AddDoubleItem(sectionGraphics, _T("Field of View Adjustment"), 1.0));
|
||||
"Globally adjusts the field of view by a multiplier\n\n"
|
||||
"1.0 = Default (greater than 1.0 is zoomed in, less than 1.0 is zoomed out)",
|
||||
AddDoubleItem(sectionGraphics, "Field of View Adjustment", 1.0));
|
||||
|
||||
// Audio section
|
||||
HSECTION sectionMusic = AddSection(_T("Audio"));
|
||||
HSECTION sectionMusic = AddSection("Audio");
|
||||
|
||||
AddPatch("MusicToggle",
|
||||
_T("Turns in-game music on or off."),
|
||||
AddBoolItem(sectionMusic, _T("Play Music"), true));
|
||||
"Turns in-game music on or off.",
|
||||
AddBoolItem(sectionMusic, "Play Music", true));
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
|
|
@ -23,17 +23,19 @@ CRebuilderWindow::CRebuilderWindow()
|
|||
LPCTSTR wndclass = AfxRegisterWndClass(CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW,
|
||||
LoadCursor(NULL, IDC_ARROW),
|
||||
(HBRUSH) COLOR_WINDOW,
|
||||
LoadIcon(AfxGetInstanceHandle(), _T("IDI_ICON1")));
|
||||
LoadIcon(AfxGetInstanceHandle(), "IDI_ICON1"));
|
||||
|
||||
const char *title = "LEGO Island Rebuilder";
|
||||
|
||||
// Create form
|
||||
CreateEx(WS_EX_OVERLAPPEDWINDOW, wndclass, GetResourceString(IDS_TITLE), WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, NULL, NULL);
|
||||
CreateEx(WS_EX_OVERLAPPEDWINDOW, wndclass, title, WS_OVERLAPPEDWINDOW, 0, 0, 0, 0, NULL, NULL);
|
||||
ModifyStyleEx(WS_EX_CLIENTEDGE, 0, 0);
|
||||
|
||||
// Create title
|
||||
m_cTopLevelTitle.Create(GetResourceString(IDS_TITLE), WS_CHILD | WS_VISIBLE | SS_CENTER, CRect(), this);
|
||||
m_cTopLevelTitle.Create(title, WS_CHILD | WS_VISIBLE | SS_CENTER, CRect(), this);
|
||||
|
||||
// Create subtitle
|
||||
m_cTopLevelSubtitle.Create(GetResourceString(IDS_SUBTITLE), WS_CHILD | WS_VISIBLE | SS_CENTER | SS_NOTIFY, CRect(), this, ID_SUBTITLE);
|
||||
m_cTopLevelSubtitle.Create("by MattKC and Ramen2X", WS_CHILD | WS_VISIBLE | SS_CENTER | SS_NOTIFY, CRect(), this, ID_SUBTITLE);
|
||||
|
||||
// Initialize common TCITEM
|
||||
TCITEM tabItem;
|
||||
|
@ -44,15 +46,15 @@ CRebuilderWindow::CRebuilderWindow()
|
|||
delete [] tabItem.pszText;
|
||||
|
||||
// Create property grid
|
||||
m_cPatchGrid.Create(AfxRegisterWndClass(CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW), _T("Patch Grid"), WS_CHILD | WS_VISIBLE, CRect(), this, ID_PATCHGRID);
|
||||
m_cPatchGrid.Create(AfxRegisterWndClass(CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW), "Patch Grid", WS_CHILD | WS_VISIBLE, CRect(), this, ID_PATCHGRID);
|
||||
m_cPatchTitle.Create(CString(), WS_CHILD | WS_VISIBLE, CRect(), this, ID_PATCHTITLE);
|
||||
m_cPatchDesc.Create(CString(), WS_CHILD | WS_VISIBLE, CRect(), this, ID_PATCHDESC);
|
||||
|
||||
// Create run button
|
||||
m_cRunBtn.Create(GetResourceString(IDS_RUN), WS_CHILD | WS_VISIBLE, CRect(), this, ID_RUN);
|
||||
m_cRunBtn.Create("Run", WS_CHILD | WS_VISIBLE, CRect(), this, ID_RUN);
|
||||
|
||||
// Create run button
|
||||
m_cKillBtn.Create(GetResourceString(IDS_KILL), WS_CHILD, CRect(), this, ID_KILL);
|
||||
m_cKillBtn.Create("Kill", WS_CHILD, CRect(), this, ID_KILL);
|
||||
|
||||
// Set fonts
|
||||
SetGUIFonts();
|
||||
|
@ -96,10 +98,10 @@ BOOL CRebuilderWindow::TrySaving()
|
|||
if (m_cPatchGrid.SaveConfiguration(configPath)) {
|
||||
return TRUE;
|
||||
} else {
|
||||
MessageBox(_T("Failed to save configuration file."));
|
||||
MessageBox("Failed to save configuration file.");
|
||||
}
|
||||
} else {
|
||||
MessageBox(_T("Failed to determine configuration path."));
|
||||
MessageBox("Failed to determine configuration path.");
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
@ -131,7 +133,7 @@ void CRebuilderWindow::OnKillClick()
|
|||
|
||||
void CRebuilderWindow::OnSubtitleClick()
|
||||
{
|
||||
ShellExecute(NULL, _T("open"), _T("https://mattkc.com/"), NULL, NULL, SW_SHOWNORMAL);
|
||||
ShellExecute(NULL, "open", "https://legoisland.org/", NULL, NULL, SW_SHOWNORMAL);
|
||||
}
|
||||
|
||||
void CRebuilderWindow::OnSize(UINT type, int width, int height)
|
||||
|
@ -148,7 +150,7 @@ void CRebuilderWindow::OnSize(UINT type, int width, int height)
|
|||
m_cTopLevelTitle.SetWindowPos(NULL, 0, y, width, h, 0);
|
||||
|
||||
y += h;
|
||||
h = m_nFontHeight;
|
||||
h = m_nFontHeight*1;
|
||||
|
||||
m_cTopLevelSubtitle.SetWindowPos(NULL, 0, y, width, h, 0);
|
||||
|
||||
|
|
Loading…
Reference in a new issue