diff --git a/CMakeLists.txt b/CMakeLists.txt
index f8263f3..a2fb92b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
# wxMASSManager
-# Copyright (C) 2020 Guillaume Jacquemin
+# Copyright (C) 2020-2021 Guillaume Jacquemin
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -37,70 +37,4 @@ if(USE_CORRADE_SUBMODULE)
add_subdirectory(corrade EXCLUDE_FROM_ALL)
endif()
-find_package(Corrade REQUIRED Containers Utility)
-
-include_directories(SYSTEM "C:/msys64/mingw64/lib/wx/include/msw-unicode-static-3.0")
-include_directories(SYSTEM "C:/msys64/mingw64/include/wx-3.0")
-
-set_directory_properties(PROPERTIES CORRADE_USE_PEDANTIC_FLAGS ON)
-
-add_executable(wxMASSManager WIN32
- main.cpp
- GUI/MainFrame.fbp
- GUI/MainFrame.h
- GUI/MainFrame.cpp
- GUI/EvtMainFrame.h
- GUI/EvtMainFrame.cpp
- GUI/NameChangeDialog.fbp
- GUI/NameChangeDialog.h
- GUI/NameChangeDialog.cpp
- GUI/EvtNameChangeDialog.h
- GUI/EvtNameChangeDialog.cpp
- Maps/LastMissionId.h
- Maps/StoryProgress.h
- Mass/Mass.h
- Mass/Mass.cpp
- MassBuilderManager/MassBuilderManager.h
- MassBuilderManager/MassBuilderManager.cpp
- MassManager/MassManager.h
- MassManager/MassManager.cpp
- Profile/Locators.h
- Profile/Profile.h
- Profile/Profile.cpp
- ProfileManager/ProfileManager.h
- ProfileManager/ProfileManager.cpp
- resource.rc)
-
-target_compile_options(wxMASSManager PRIVATE -D_FILE_OFFSET_BITS=64 -D__WXMSW__ -fpermissive)
-
-target_link_options(wxMASSManager PRIVATE -static -static-libgcc -static-libstdc++ -pipe -Wl,--subsystem,windows -mwindows)
-
-target_link_libraries(wxMASSManager PRIVATE
- Corrade::Containers
- Corrade::Utility
- wx_mswu_propgrid-3.0
- wx_mswu_adv-3.0
- wx_mswu_core-3.0
- wx_baseu-3.0
- wxregexu-3.0
- wxexpat-3.0
- wxtiff-3.0
- wxjpeg-3.0
- wxpng-3.0
- wxzlib-3.0
- rpcrt4
- oleaut32
- ole32
- uuid
- lzma
- jbig
- winspool
- winmm
- shell32
- comctl32
- comdlg32
- advapi32
- wsock32
- gdi32
- oleacc
- wtsapi32)
+add_subdirectory(src)
diff --git a/Application.manifest b/src/Application.manifest
similarity index 100%
rename from Application.manifest
rename to src/Application.manifest
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..e3d8b83
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,87 @@
+# wxMASSManager
+# Copyright (C) 2020-2021 Guillaume Jacquemin
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+set(CMAKE_CXX_EXTENSIONS OFF)
+
+find_package(Corrade REQUIRED Containers Utility)
+
+include_directories(SYSTEM "C:/msys64/mingw64/lib/wx/include/msw-unicode-static-3.0")
+include_directories(SYSTEM "C:/msys64/mingw64/include/wx-3.0")
+
+set_directory_properties(PROPERTIES CORRADE_USE_PEDANTIC_FLAGS ON)
+
+add_executable(wxMASSManager WIN32
+ main.cpp
+ GUI/MainFrame.fbp
+ GUI/MainFrame.h
+ GUI/MainFrame.cpp
+ GUI/EvtMainFrame.h
+ GUI/EvtMainFrame.cpp
+ GUI/NameChangeDialog.fbp
+ GUI/NameChangeDialog.h
+ GUI/NameChangeDialog.cpp
+ GUI/EvtNameChangeDialog.h
+ GUI/EvtNameChangeDialog.cpp
+ Maps/LastMissionId.h
+ Maps/StoryProgress.h
+ Mass/Mass.h
+ Mass/Mass.cpp
+ MassBuilderManager/MassBuilderManager.h
+ MassBuilderManager/MassBuilderManager.cpp
+ MassManager/MassManager.h
+ MassManager/MassManager.cpp
+ Profile/Locators.h
+ Profile/Profile.h
+ Profile/Profile.cpp
+ ProfileManager/ProfileManager.h
+ ProfileManager/ProfileManager.cpp
+ resource.rc)
+
+target_compile_options(wxMASSManager PRIVATE -D_FILE_OFFSET_BITS=64 -D__WXMSW__)
+
+target_link_options(wxMASSManager PRIVATE -static -static-libgcc -static-libstdc++ -pipe -Wl,--subsystem,windows -mwindows)
+
+target_link_libraries(wxMASSManager PRIVATE
+ Corrade::Containers
+ Corrade::Utility
+ wx_mswu_propgrid-3.0
+ wx_mswu_adv-3.0
+ wx_mswu_core-3.0
+ wx_baseu-3.0
+ wxregexu-3.0
+ wxexpat-3.0
+ wxtiff-3.0
+ wxjpeg-3.0
+ wxpng-3.0
+ wxzlib-3.0
+ rpcrt4
+ oleaut32
+ ole32
+ uuid
+ lzma
+ jbig
+ winspool
+ winmm
+ shell32
+ comctl32
+ comdlg32
+ advapi32
+ wsock32
+ gdi32
+ oleacc
+ wtsapi32)
diff --git a/GUI/EvtMainFrame.cpp b/src/GUI/EvtMainFrame.cpp
similarity index 99%
rename from GUI/EvtMainFrame.cpp
rename to src/GUI/EvtMainFrame.cpp
index f79d622..385ebc2 100644
--- a/GUI/EvtMainFrame.cpp
+++ b/src/GUI/EvtMainFrame.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/GUI/EvtMainFrame.h b/src/GUI/EvtMainFrame.h
similarity index 98%
rename from GUI/EvtMainFrame.h
rename to src/GUI/EvtMainFrame.h
index bdbdbe5..55b8f37 100644
--- a/GUI/EvtMainFrame.h
+++ b/src/GUI/EvtMainFrame.h
@@ -2,7 +2,7 @@
#define __EvtMainFrame__
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/GUI/EvtNameChangeDialog.cpp b/src/GUI/EvtNameChangeDialog.cpp
similarity index 98%
rename from GUI/EvtNameChangeDialog.cpp
rename to src/GUI/EvtNameChangeDialog.cpp
index 4f7b895..e905923 100644
--- a/GUI/EvtNameChangeDialog.cpp
+++ b/src/GUI/EvtNameChangeDialog.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/GUI/EvtNameChangeDialog.h b/src/GUI/EvtNameChangeDialog.h
similarity index 96%
rename from GUI/EvtNameChangeDialog.h
rename to src/GUI/EvtNameChangeDialog.h
index af58a57..23b42fc 100644
--- a/GUI/EvtNameChangeDialog.h
+++ b/src/GUI/EvtNameChangeDialog.h
@@ -2,7 +2,7 @@
#define __EvtNameChangeDialog__
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/GUI/MainFrame.cpp b/src/GUI/MainFrame.cpp
similarity index 100%
rename from GUI/MainFrame.cpp
rename to src/GUI/MainFrame.cpp
diff --git a/GUI/MainFrame.fbp b/src/GUI/MainFrame.fbp
similarity index 100%
rename from GUI/MainFrame.fbp
rename to src/GUI/MainFrame.fbp
diff --git a/GUI/MainFrame.h b/src/GUI/MainFrame.h
similarity index 100%
rename from GUI/MainFrame.h
rename to src/GUI/MainFrame.h
diff --git a/GUI/NameChangeDialog.cpp b/src/GUI/NameChangeDialog.cpp
similarity index 100%
rename from GUI/NameChangeDialog.cpp
rename to src/GUI/NameChangeDialog.cpp
diff --git a/GUI/NameChangeDialog.fbp b/src/GUI/NameChangeDialog.fbp
similarity index 100%
rename from GUI/NameChangeDialog.fbp
rename to src/GUI/NameChangeDialog.fbp
diff --git a/GUI/NameChangeDialog.h b/src/GUI/NameChangeDialog.h
similarity index 100%
rename from GUI/NameChangeDialog.h
rename to src/GUI/NameChangeDialog.h
diff --git a/Maps/LastMissionId.h b/src/Maps/LastMissionId.h
similarity index 97%
rename from Maps/LastMissionId.h
rename to src/Maps/LastMissionId.h
index 5b5591f..9f10927 100644
--- a/Maps/LastMissionId.h
+++ b/src/Maps/LastMissionId.h
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/Maps/StoryProgress.h b/src/Maps/StoryProgress.h
similarity index 99%
rename from Maps/StoryProgress.h
rename to src/Maps/StoryProgress.h
index 208fd62..123ea94 100644
--- a/Maps/StoryProgress.h
+++ b/src/Maps/StoryProgress.h
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/Mass/Mass.cpp b/src/Mass/Mass.cpp
similarity index 99%
rename from Mass/Mass.cpp
rename to src/Mass/Mass.cpp
index 840456f..d6e5f02 100644
--- a/Mass/Mass.cpp
+++ b/src/Mass/Mass.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/Mass/Mass.h b/src/Mass/Mass.h
similarity index 97%
rename from Mass/Mass.h
rename to src/Mass/Mass.h
index a8d6bb4..a0d89cf 100644
--- a/Mass/Mass.h
+++ b/src/Mass/Mass.h
@@ -2,7 +2,7 @@
#define MASS_H
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/MassBuilderManager/MassBuilderManager.cpp b/src/MassBuilderManager/MassBuilderManager.cpp
similarity index 98%
rename from MassBuilderManager/MassBuilderManager.cpp
rename to src/MassBuilderManager/MassBuilderManager.cpp
index 13b84e9..8322546 100644
--- a/MassBuilderManager/MassBuilderManager.cpp
+++ b/src/MassBuilderManager/MassBuilderManager.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/MassBuilderManager/MassBuilderManager.h b/src/MassBuilderManager/MassBuilderManager.h
similarity index 96%
rename from MassBuilderManager/MassBuilderManager.h
rename to src/MassBuilderManager/MassBuilderManager.h
index c8aff0f..72aa6dd 100644
--- a/MassBuilderManager/MassBuilderManager.h
+++ b/src/MassBuilderManager/MassBuilderManager.h
@@ -2,7 +2,7 @@
#define MASSBUILDERMANAGER_H
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/MassManager/MassManager.cpp b/src/MassManager/MassManager.cpp
similarity index 99%
rename from MassManager/MassManager.cpp
rename to src/MassManager/MassManager.cpp
index ebbeed1..40eca05 100644
--- a/MassManager/MassManager.cpp
+++ b/src/MassManager/MassManager.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/MassManager/MassManager.h b/src/MassManager/MassManager.h
similarity index 97%
rename from MassManager/MassManager.h
rename to src/MassManager/MassManager.h
index 846b8db..be9b993 100644
--- a/MassManager/MassManager.h
+++ b/src/MassManager/MassManager.h
@@ -2,7 +2,7 @@
#define MASSMANAGER_H
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/Profile/Locators.h b/src/Profile/Locators.h
similarity index 97%
rename from Profile/Locators.h
rename to src/Profile/Locators.h
index 01aa486..c9546cb 100644
--- a/Profile/Locators.h
+++ b/src/Profile/Locators.h
@@ -1,85 +1,85 @@
-// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see .
-
-#pragma once
-
-constexpr char company_name_locator[] = "CompanyName\0\x0c\0\0\0StrProperty";
-constexpr char active_slot_locator[] = "ActiveFrameSlot\0\x0c\0\0\0IntProperty";
-constexpr char credits_locator[] = "Credit\0\x0c\0\0\0IntProperty";
-constexpr char story_progress_locator[] = "StoryProgress\0\x0c\0\0\0IntProperty";
-constexpr char last_mission_id_locator[] = "LastMissionID\0\x0c\0\0\0IntProperty";
-
-constexpr char verse_steel_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x00\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char undinium_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x01\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char necrium_alloy_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x02\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char lunarite_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x03\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char asterite_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x04\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char ednil_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0a\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char nuflalt_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0b\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char aurelene_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0c\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char soldus_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0d\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char synthesized_n_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0e\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char alcarbonite_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x14\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char keriphene_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x15\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char nitinol_cm_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x16\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char quarkium_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x17\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char alterene_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x18\x35\x0c\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-
-constexpr char mixed_composition_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa0\xbb\x0d\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char void_residue_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa1\xbb\x0d\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char muscular_construction_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa2\xbb\x0d\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char mineral_exoskeletology_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa3\xbb\x0d\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
-constexpr char carbonized_skin_locator[] =
- "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa4\xbb\x0d\0,\0\0\0"
- "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+// wxMASSManager
+// Copyright (C) 2020-2021 Guillaume Jacquemin
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+
+#pragma once
+
+constexpr char company_name_locator[] = "CompanyName\0\x0c\0\0\0StrProperty";
+constexpr char active_slot_locator[] = "ActiveFrameSlot\0\x0c\0\0\0IntProperty";
+constexpr char credits_locator[] = "Credit\0\x0c\0\0\0IntProperty";
+constexpr char story_progress_locator[] = "StoryProgress\0\x0c\0\0\0IntProperty";
+constexpr char last_mission_id_locator[] = "LastMissionID\0\x0c\0\0\0IntProperty";
+
+constexpr char verse_steel_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x00\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char undinium_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x01\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char necrium_alloy_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x02\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char lunarite_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x03\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char asterite_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x04\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char ednil_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0a\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char nuflalt_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0b\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char aurelene_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0c\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char soldus_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0d\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char synthesized_n_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x0e\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char alcarbonite_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x14\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char keriphene_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x15\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char nitinol_cm_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x16\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char quarkium_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x17\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char alterene_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\x18\x35\x0c\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+
+constexpr char mixed_composition_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa0\xbb\x0d\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char void_residue_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa1\xbb\x0d\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char muscular_construction_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa2\xbb\x0d\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char mineral_exoskeletology_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa3\xbb\x0d\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
+constexpr char carbonized_skin_locator[] =
+ "ID_4_AAE08F17428E229EC7A2209F51081A21\0\x0c\0\0\0IntProperty\0\x04\0\0\0\0\0\0\0\0\xa4\xbb\x0d\0,\0\0\0"
+ "Quantity_3_560F09B5485C365D3041888910019CE3\0\x0c\0\0\0IntProperty";
diff --git a/Profile/Profile.cpp b/src/Profile/Profile.cpp
similarity index 99%
rename from Profile/Profile.cpp
rename to src/Profile/Profile.cpp
index be67d6d..5df6d18 100644
--- a/Profile/Profile.cpp
+++ b/src/Profile/Profile.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/Profile/Profile.h b/src/Profile/Profile.h
similarity index 100%
rename from Profile/Profile.h
rename to src/Profile/Profile.h
diff --git a/ProfileManager/ProfileManager.cpp b/src/ProfileManager/ProfileManager.cpp
similarity index 98%
rename from ProfileManager/ProfileManager.cpp
rename to src/ProfileManager/ProfileManager.cpp
index 82938a8..01e20ac 100644
--- a/ProfileManager/ProfileManager.cpp
+++ b/src/ProfileManager/ProfileManager.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/ProfileManager/ProfileManager.h b/src/ProfileManager/ProfileManager.h
similarity index 96%
rename from ProfileManager/ProfileManager.h
rename to src/ProfileManager/ProfileManager.h
index 099f170..59a6acb 100644
--- a/ProfileManager/ProfileManager.h
+++ b/src/ProfileManager/ProfileManager.h
@@ -2,7 +2,7 @@
#define PROFILEMANAGER_H
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/main.cpp b/src/main.cpp
similarity index 96%
rename from main.cpp
rename to src/main.cpp
index 49473a0..c19c998 100644
--- a/main.cpp
+++ b/src/main.cpp
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
diff --git a/mb.ico b/src/mb.ico
similarity index 100%
rename from mb.ico
rename to src/mb.ico
diff --git a/resource.rc b/src/resource.rc
similarity index 93%
rename from resource.rc
rename to src/resource.rc
index 01911ad..9d78901 100644
--- a/resource.rc
+++ b/src/resource.rc
@@ -1,5 +1,5 @@
// wxMASSManager
-// Copyright (C) 2020 Guillaume Jacquemin
+// Copyright (C) 2020-2021 Guillaume Jacquemin
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by