Skip to content

Commit

Permalink
Improved steamapps warning and registry access.
Browse files Browse the repository at this point in the history
  • Loading branch information
Tapsa committed May 2, 2024
1 parent 7d5eaba commit 92d575c
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 113 deletions.
127 changes: 76 additions & 51 deletions AGE_Frame/Other.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -241,7 +241,7 @@ void AGE_Frame::OnOpen(wxCommandEvent&)
OpenBox.CheckBox_LangWrite->SetValue(WriteLangs);
OpenBox.CheckBox_LangWriteToLatest->SetValue(LangWriteToLatest);

bool load = OpenBox.ShowModal() == wxID_OK; // What this does?
bool load = OpenBox.ShowModal() == wxID_OK;

GameVersion = OpenBox.ComboBox_GenieVer->GetSelection();
DatUsed = OpenBox.Radio_DatFileLocation->GetValue() ? 0 : 3;
Expand Down Expand Up @@ -282,32 +282,34 @@ void AGE_Frame::OnOpen(wxCommandEvent&)
popUp.unSaved = 0;
++popUp.loadedFileId;

wxConfig Config("", "", "AGE2\\ConfigWindow"+lexical_cast<std::string>(window_num + 1), "", wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH);
Config.Write("DefaultFiles/DriveLetter", DriveLetter);
Config.Write("DefaultFiles/CustomFolder", CustomFolder);
Config.Write("DefaultFiles/Version", GameVersion);
Config.Write("DefaultFiles/DatUsed", DatUsed);
Config.Write("DefaultFiles/DatFilename", DatFileName);
Config.Write("DefaultFiles/FolderDRS", FolderDRS);
Config.Write("DefaultFiles/FolderDRS2", FolderDRS2);
Config.Write("DefaultFiles/Path1stDRS", Path1stDRS);
Config.Write("DefaultFiles/PathLooseSprites", PathSLP);
Config.Write("DefaultFiles/PathLooseModSprites", PathModSLP);
Config.Write("DefaultFiles/PathPalettes", PathPalettes);
Config.Write("DefaultFiles/PathPlayerPalette", PathPlayerColorPalette);
Config.Write("DefaultFiles/UseDRS", UseDRS);
Config.Write("DefaultFiles/UseMod", UseMod);
Config.Write("DefaultFiles/UseExtra", UseExtra);
Config.Write("DefaultFiles/UseLooseSprites", UseLooseSLP);
Config.Write("DefaultFiles/UseLooseModSprites", UseLooseModSLP);
Config.Write("DefaultFiles/LangsUsed", LangsUsed);
Config.Write("DefaultFiles/WriteLangs", WriteLangs);
Config.Write("DefaultFiles/LangWriteToLatest", LangWriteToLatest);
Config.Write("DefaultFiles/Language", Language);
Config.Write("DefaultFiles/LangFilename", LangFileName);
Config.Write("DefaultFiles/LangX1Filename", LangX1FileName);
Config.Write("DefaultFiles/LangX1P1Filename", LangX1P1FileName);
Config.Write("Misc/CustomTerrains", CustomTerrains);
{
wxConfig Config("", "", "AGE2\\ConfigWindow" + lexical_cast<std::string>(window_num + 1), "", wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH);
Config.Write("DefaultFiles/DriveLetter", DriveLetter);
Config.Write("DefaultFiles/CustomFolder", CustomFolder);
Config.Write("DefaultFiles/Version", GameVersion);
Config.Write("DefaultFiles/DatUsed", DatUsed);
Config.Write("DefaultFiles/DatFilename", DatFileName);
Config.Write("DefaultFiles/FolderDRS", FolderDRS);
Config.Write("DefaultFiles/FolderDRS2", FolderDRS2);
Config.Write("DefaultFiles/Path1stDRS", Path1stDRS);
Config.Write("DefaultFiles/PathLooseSprites", PathSLP);
Config.Write("DefaultFiles/PathLooseModSprites", PathModSLP);
Config.Write("DefaultFiles/PathPalettes", PathPalettes);
Config.Write("DefaultFiles/PathPlayerPalette", PathPlayerColorPalette);
Config.Write("DefaultFiles/UseDRS", UseDRS);
Config.Write("DefaultFiles/UseMod", UseMod);
Config.Write("DefaultFiles/UseExtra", UseExtra);
Config.Write("DefaultFiles/UseLooseSprites", UseLooseSLP);
Config.Write("DefaultFiles/UseLooseModSprites", UseLooseModSLP);
Config.Write("DefaultFiles/LangsUsed", LangsUsed);
Config.Write("DefaultFiles/WriteLangs", WriteLangs);
Config.Write("DefaultFiles/LangWriteToLatest", LangWriteToLatest);
Config.Write("DefaultFiles/Language", Language);
Config.Write("DefaultFiles/LangFilename", LangFileName);
Config.Write("DefaultFiles/LangX1Filename", LangX1FileName);
Config.Write("DefaultFiles/LangX1P1Filename", LangX1P1FileName);
Config.Write("Misc/CustomTerrains", CustomTerrains);
}

if(!OpenBox.CheckBox_LangFileLocation->IsChecked()) LangFileName = "";
if(!OpenBox.CheckBox_LangX1FileLocation->IsChecked()) LangX1FileName = "";
Expand Down Expand Up @@ -1184,7 +1186,16 @@ void AGE_Frame::OnSave(wxCommandEvent&)
}

bool save = SaveBox.ShowModal() == wxID_OK;

SaveGameVersion = SaveBox.ComboBox_GenieVer->GetSelection();
SaveDat = SaveBox.Radio_DatFileLocation->IsChecked();
SaveLangs = SaveBox.CheckBox_LangWrite->IsChecked();
SaveDatFileName = SaveBox.Path_DatFileLocation->GetPath();
SaveLangFileName = SaveBox.Path_LangFileLocation->GetPath();
SaveLangX1FileName = SaveBox.Path_LangX1FileLocation->GetPath();
SaveLangX1P1FileName = SaveBox.Path_LangX1P1FileLocation->GetPath();
SyncSaveWithOpen = DatFileName == SaveDatFileName && LangFileName == SaveLangFileName && LangX1FileName == SaveLangX1FileName && LangX1P1FileName == SaveLangX1P1FileName;

if (SaveGameVersion >= EV_Tapsa && SaveDatFileName.Contains("steamapps"))
{
int answer = wxMessageBox("Saving into steamapps folder may not work in the game.\nYou should create a mod folder tree and save into it.",
Expand All @@ -1194,15 +1205,12 @@ void AGE_Frame::OnSave(wxCommandEvent&)
return;
}
}
SaveDat = SaveBox.Radio_DatFileLocation->IsChecked();
SaveLangs = SaveBox.CheckBox_LangWrite->IsChecked();
SaveDatFileName = SaveBox.Path_DatFileLocation->GetPath();
SaveLangFileName = SaveBox.Path_LangFileLocation->GetPath();
SaveLangX1FileName = SaveBox.Path_LangX1FileLocation->GetPath();
SaveLangX1P1FileName = SaveBox.Path_LangX1P1FileLocation->GetPath();
SyncSaveWithOpen = DatFileName == SaveDatFileName && LangFileName == SaveLangFileName && LangX1FileName == SaveLangX1FileName && LangX1P1FileName == SaveLangX1P1FileName;

if(!save) return;
if (!save)
{
return;
}

{
wxConfig Config("", "", "AGE2\\ConfigWindow"+lexical_cast<std::string>(window_num + 1), "", wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH);
Config.Write("DefaultFiles/SyncSaveWithOpen", SyncSaveWithOpen);
Expand All @@ -1214,11 +1222,22 @@ void AGE_Frame::OnSave(wxCommandEvent&)
Config.Write("DefaultFiles/SaveLangX1P1Filename", SaveLangX1P1FileName);
Config.Write("DefaultFiles/SaveDat", SaveDat);
Config.Write("Misc/CustomTerrains", CustomTerrains);
}

if(!SaveBox.CheckBox_LangFileLocation->IsChecked()) SaveLangFileName = "";
if(!SaveBox.CheckBox_LangX1FileLocation->IsChecked()) SaveLangX1FileName = "";
if(!SaveBox.CheckBox_LangX1P1FileLocation->IsChecked()) SaveLangX1P1FileName = "";
if (!SaveBox.CheckBox_LangFileLocation->IsChecked())
{
SaveLangFileName = "";
}
if (!SaveBox.CheckBox_LangX1FileLocation->IsChecked())
{
SaveLangX1FileName = "";
}
if (!SaveBox.CheckBox_LangX1P1FileLocation->IsChecked())
{
SaveLangX1P1FileName = "";
}

{
wxArrayString latest;
latest.Alloc(5);
latest.Add(lexical_cast<std::string>(SaveGameVersion));
Expand Down Expand Up @@ -1320,38 +1339,44 @@ void AGE_Frame::OnSave(wxCommandEvent&)
{
// Not Implemented Yet = Nothing Happens
}*/
if(SaveLangs)
if (SaveLangs)
{
SetStatusText("Saving language files...", 0);
wxBusyCursor WaitCursor;
if(LangWriteToLatest)
if (LangWriteToLatest)
{
if(LangsUsed & 4)
if (LangsUsed & 4)
{
if(!SaveLangX1P1()) return;
if (!SaveLangX1P1())
return;
}
else if(LangsUsed & 2)
else if (LangsUsed & 2)
{
if(!SaveLangX1()) return;
if (!SaveLangX1())
return;
}
else
{
if(!SaveLang()) return;
if (!SaveLang())
return;
}
}
else
{
if(LangsUsed & 1)
if (LangsUsed & 1)
{
if(!SaveLang()) return;
if (!SaveLang())
return;
}
if(LangsUsed & 2)
if (LangsUsed & 2)
{
if(!SaveLangX1()) return;
if (!SaveLangX1())
return;
}
if(LangsUsed & 4)
if (LangsUsed & 4)
{
if(!SaveLangX1P1()) return;
if (!SaveLangX1P1())
return;
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions AboutDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
#include "Licenses/SFML.h"
#include "Licenses/wxWidgets.h"

const wxString AboutDialog::AGE_VER = "2024.4.18";
const wxString AboutDialog::AGE_VER = "2024.5.2";

AboutDialog::AboutDialog(wxWindow *parent, const wxFont &font)
: wxDialog(parent, -1, "About Advanced Genie Editor", wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxNO_DEFAULT)
Expand All @@ -18,9 +18,9 @@ AboutDialog::AboutDialog(wxWindow *parent, const wxFont &font)
SolidText *Title = new SolidText(this, "Advanced Genie Editor\nVersion " + AGE_VER +
"\nGPLv3 2011 - 2024\n\nDevelopers:"
"\nMikko Tapio Partonen (Tapsa), since 2.0b (2011)"
"\nManuel Winocur, 2023"
"\nArmin Preiml (Apre) - genieutils, 2011 - 2013"
"\nEstien Nifo (StSB77), 1.0a to 2.0a");
"\nManuel Winocur, since 2023"
"\nArmin Preiml (Apre) - genieutils, from 2011 to 2013"
"\nEstien Nifo (StSB77), from 1.0a to 2.0a");
wxStaticBitmap *Image = new wxStaticBitmap(this, wxID_ANY, wxBitmap(AppIcon64_xpm));
SolidText *Credits = new SolidText(this, "Credits:\nYkkrosh - GeniEd 1 source code"
"\nScenario_t_c - GeniEd 2 source code\nAlexandra \"Taichi San\", DarkRain654 - data file research"
Expand Down
14 changes: 7 additions & 7 deletions OpenSaveDialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
{
case EV_AoE:
{
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires\\1.0");
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires\\1.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
if (key.QueryValue("EXE Path", path))
Expand All @@ -357,7 +357,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
}
case EV_RoR:
{
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires Expansion\\1.0");
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires Expansion\\1.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
if (key.QueryValue("EXE Path", path))
Expand All @@ -371,7 +371,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
}
case EV_AoK:
{
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires\\2.0");
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires\\2.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
if (key.QueryValue("EXE Path", path))
Expand All @@ -387,7 +387,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
case EV_UP:
case EV_TCV:
{
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires II: The Conquerors Expansion\\1.0");
wxRegKey key(wxRegKey::HKLM, "Software\\Microsoft\\Microsoft Games\\Age of Empires II: The Conquerors Expansion\\1.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
if (key.QueryValue("EXE Path", path))
Expand All @@ -401,7 +401,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
}
case EV_SWGB:
{
wxRegKey key(wxRegKey::HKLM, "Software\\LucasArts Entertainment Company LLC\\Star Wars Galactic Battlegrounds\\1.0");
wxRegKey key(wxRegKey::HKLM, "Software\\LucasArts Entertainment Company LLC\\Star Wars Galactic Battlegrounds\\1.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
if (key.QueryValue("Game Path", path))
Expand All @@ -416,7 +416,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
}
case EV_CC:
{
wxRegKey key(wxRegKey::HKLM, "Software\\LucasArts Entertainment Company LLC\\Star Wars Galactic Battlegrounds: Clone Campaigns\\1.0");
wxRegKey key(wxRegKey::HKLM, "Software\\LucasArts Entertainment Company LLC\\Star Wars Galactic Battlegrounds: Clone Campaigns\\1.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
if (key.QueryValue("Game Path", path))
Expand All @@ -432,7 +432,7 @@ void OpenSaveDialog::OnPathFromRegistry(wxCommandEvent &event)
case EV_EF:
case EV_EF2:
{
wxRegKey key(wxRegKey::HKLM, "Software\\LucasArts Entertainment Company LLC\\Star Wars Galactic Battlegrounds: Clone Campaigns\\1.0");
wxRegKey key(wxRegKey::HKLM, "Software\\LucasArts Entertainment Company LLC\\Star Wars Galactic Battlegrounds: Clone Campaigns\\1.0", wxRegKey::WOW64ViewMode_32);
if (key.Exists())
{
path_src = 2;
Expand Down
67 changes: 16 additions & 51 deletions ReleaseNotes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,19 @@ I recommend [url=http://aok.heavengames.com/blacksmith/showfile.php?fileid=10819
[b]Version History[/b]
Guide makers et cetera, please include the version into which your guide was written.

Version [b]2024.5.2[/b]:
-Registry defaults also work in the 64-bit version.
AoE II DE:
-Added support for more drop sites.
-Named more effect unit attributes.
-Named more player resources.
-Improved resource store mode and hide in editor tooltips.

Known Issues:
AoE II DE:
-Missing some effect command types.
-Missing some unit task action types.

Version [b]2024.4.18[/b]:
-Added warning when saving into steamapps.

Expand Down Expand Up @@ -106,55 +119,6 @@ Version [b]2020.6.12[/b]:
Version [b]2020.3.30[/b]:
-Support for new AoE II DE game features.

Version [b]2019.11.28[/b]:
-Added more unit search filters.

Version [b]2019.11.22[/b]:
-Fixed default paths for AoE II DE.

Version [b]2019.7.2[/b]:
-Negative armor types can be changed via effects.
-Supports newer game versions.

Version [b]2018.1.29[/b]:
-Marked resource multiplier as not available in AoE 1.

Version [b]2017.11.7[/b]:
-Internal unit name filter works the way it used to.
-Graphics can be filtered by rainbow.
-Images are saved centered on hotspot.

Version [b]2017.10.6[/b]:
-Saving an SLP handles player color properly.
-Deleting terrain tables uses correct indexes.
-Unit terrain table defaults to 0.
-Small improvements here and there.

Version [b]2017.5.17[/b]:
-Fixed loading order of DRS files.
-Fixed a problem with angle sound count.
-Editing box widths are customizable.
-New icon by gagman.

Version [b]2017.3.14[/b]:
-Scrolling lag fixed.
-Graphic sounds can be heard.
-Many unknowns named.
-Able to show loose SLP files along with DRS.
-Fixed bugs in saving data with enter.
-Can save as different game version.
-Fixed bugs in relisting.
-Improved tooltips all over.
-Fixed switching between building and unit icons.
-Pause between animations visible.
-SLP cache improved.

Version [b]2017.1.10[/b]:
-Fixed pasting terrains.
-Fixed buttons on terrain tables and borders.
-Mirrored graphics with two angles display properly.
-Added some helpful buttons to graphics tab.

[b]Notes[/b]

[color=BA0000]Make your own backups or use the auto-backup feature![/color]
Expand All @@ -172,8 +136,9 @@ Use the check boxes to toggle matching between all and any entries.
[b]Developers[/b]

Mikko "Tapsa" P, since 2.0b
Apre - genieutils, 2.1a to 3.1
Estien Nifo aka StSB77, 1.0a to 2.0a
Manuel Winocur, since 2023
Apre - genieutils, from 2011 to 2013
Estien Nifo aka StSB77, from 1.0a to 2.0a

[b]Credits[/b]

Expand Down
Loading

0 comments on commit 92d575c

Please sign in to comment.