Skip to content

Commit 8176701

Browse files
committed
Merge branch 'main' into dev1.3
2 parents 3967b7c + cf59b37 commit 8176701

File tree

18 files changed

+1272
-166
lines changed

18 files changed

+1272
-166
lines changed

PolyMod.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@
1919
</PropertyGroup>
2020

2121
<ItemGroup>
22-
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.733" />
23-
<PackageReference Include="TheBattleOfPolytopia" Version="$(PolytopiaVersion)" />
22+
<PackageReference Include="BepInEx.Unity.IL2CPP" Version="6.0.0-be.738" />
23+
<PackageReference Include="TheBattleOfPolytopia" Version="$(PolytopiaVersion)-738" />
2424
<EmbeddedResource Include="resources\*.*" />
2525
</ItemGroup>
2626

installer/main.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
"win32": "win",
1616
"darwin": "macos",
1717
}[sys.platform]
18-
BEPINEX = f"733/BepInEx-Unity.IL2CPP-{OS}-x64-6.0.0-be.733%2B995f049"
19-
POLYMOD = "https://github.com/PolyModdingTeam/PolyMod/releases/latest/download/PolyMod.dll"
18+
BEPINEX = "https://polymod.dev/data/bepinex.txt"
19+
POLYMOD = "https://api.github.com/repos/PolyModdingTeam/PolyMod/releases"
2020

2121

2222
def resource_path(path):
@@ -54,6 +54,7 @@ def prepare(target):
5454
return
5555
path_entry.configure(state=customtkinter.DISABLED)
5656
browse_button.configure(state=customtkinter.DISABLED)
57+
prerelease_checkbox.destroy()
5758
install_button.destroy()
5859
uninstall_button.destroy()
5960
progress_bar = customtkinter.CTkProgressBar(app, determinate_speed=50 / 2)
@@ -65,13 +66,17 @@ def prepare(target):
6566
def install(path):
6667
to_zip(
6768
requests.get(
68-
f"https://builds.bepinex.dev/projects/bepinex_be/{BEPINEX}.zip"
69+
requests.get(BEPINEX).text.strip().replace("{os}", OS)
6970
)
7071
).extractall(path)
7172
progress_bar.step()
7273

74+
for release in requests.get(POLYMOD).json():
75+
if release["prerelease"] and not prerelease_checkbox.get(): continue
76+
latest = release
77+
break
7378
open(path + "/BepInEx/plugins/PolyMod.dll", "wb").write(
74-
requests.get(POLYMOD).content
79+
requests.get(latest["assets"][0]["browser_download_url"]).content
7580
)
7681
progress_bar.step()
7782

@@ -133,14 +138,17 @@ def quit():
133138
app, placeholder_text="Game path", width=228)
134139
browse_button = customtkinter.CTkButton(
135140
app, text="Browse", command=browse, width=1)
141+
prerelease_checkbox = customtkinter.CTkCheckBox(
142+
app, text="Prerelease", width=1)
136143
install_button = customtkinter.CTkButton(
137144
app, text="Install", command=lambda: prepare(install))
138145
uninstall_button = customtkinter.CTkButton(
139146
app, text="Uninstall", command=lambda: prepare(uninstall))
140147

141148
path_entry.grid(column=0, row=0, padx=5, pady=5)
142149
browse_button.grid(column=1, row=0, padx=(0, 5), pady=5)
143-
install_button.grid(column=0, row=1, columnspan=2, padx=5, pady=5)
144-
uninstall_button.grid(column=0, row=2, columnspan=2, padx=5, pady=5)
150+
prerelease_checkbox.grid(column=0, row=1, columnspan=2, padx=5, pady=5)
151+
install_button.grid(column=0, row=2, columnspan=2, padx=5, pady=5)
152+
uninstall_button.grid(column=0, row=3, columnspan=2, padx=5, pady=5)
145153

146154
app.mainloop()

resources/localization.json

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@
4444
"German (Germany)": "{0} Willkommen! {1}\nDiese Mods sind gerade eben geladen:"
4545
},
4646
"polymod_hub_mod": {
47-
"English": "Name: {0}\nStatus: {1}\nAuthors: {2}\nVersion: {3}",
48-
"Russian": "Имя: {0}\nСтатус: {1}\nАвторы: {2}\nВерсия: {3}",
47+
"English": "Name: {0}\nStatus: {1}\nAuthors: {2}\nVersion: {3}\nDescription: {4}",
48+
"Russian": "Имя: {0}\nСтатус: {1}\nАвторы: {2}\nВерсия: {3}\nОписание: {4}",
4949
"Turkish": "İsim: {0}\nDurum: {1}\nYaratıcılar: {2}\nSürüm: {3}",
5050
"Spanish (Mexico)": "Titulo: {0}\nEstado: {1}\nPublicador: {2}\nVersion: {3}",
5151
"French (France)": "Titre: {0}\nEtat: {1}\nAuteurs: {2}\nVersion: {3}",
@@ -160,5 +160,53 @@
160160
"Portuguese (Brazil)": "Essa versão do PolyMod não foi desenvolvida para a versão atual do aplicativo e pode não funcionar corretamente!",
161161
"Elyrion": "πȱ∫ỹmȱδ ƒƒƒƒƒƒƒ ŋȱŧ ȱrrȱ #₺rr∑ŋŧ ƒƒƒƒƒƒƒ ỹ maỹ ŋȱŧ ~ȱr§ #ȱrr∑#ŧ∫ỹ!",
162162
"German (Germany)": "Diese Version von PolyMod ist nicht für die aktuelle Version der Anwendung ausgelegt und könnte nicht funktionieren!"
163+
},
164+
"polymod_debug": {
165+
"English": "Debug",
166+
"Russian": "Дебаг"
167+
},
168+
"polymod_autoupdate": {
169+
"English": "Auto-update",
170+
"Russian": "Автообновление"
171+
},
172+
"polymod_autoupdate_alpha": {
173+
"English": "Include alphas",
174+
"Russian": "Include alphas"
175+
},
176+
"polymod_autoupdate_description": {
177+
"English": "New update available!",
178+
"Russian": "Доступно новое обновление!"
179+
},
180+
"polymod_autoupdate_update": {
181+
"English": "Update",
182+
"Russian": "Обновить"
183+
},
184+
"polymod_hub_config": {
185+
"English": "CONFIG",
186+
"Russian": "КОНФИГ"
187+
},
188+
"polymod_hub_config_enable": {
189+
"English": "ENABLE {0}",
190+
"Russian": "ВКЛЮЧИТЬ {0}"
191+
},
192+
"polymod_hub_config_disable": {
193+
"English": "DISABLE {0}",
194+
"Russian": "ВЫЛЮЧИТЬ {0}"
195+
},
196+
"polymod_config_setto": {
197+
"English": "{0} is set to {1}!",
198+
"Russian": "{0} задан на {1}!"
199+
},
200+
"polymod_hub_spriteinfo_update": {
201+
"English": "UPDATE SPRITES",
202+
"Russian": "ОБНОВИТЬ СПРАЙТЫ"
203+
},
204+
"polymod_spriteinfo_updated": {
205+
"English": "Sprite info for mod {0} updated!",
206+
"Russian": "Данные спрайтов обновлены для мода {0}!"
207+
},
208+
"polymod_spriteinfo_notupdated": {
209+
"English": "No sprite infos were found!",
210+
"Russian": "Данные спрайтов не найдены!"
163211
}
164212
}

src/Json/EnumCacheJson.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Text.Json.Serialization;
33

44
namespace PolyMod.Json;
5+
56
internal class EnumCacheJson<T> : JsonConverter<T> where T : struct, Enum
67
{
78
public override T Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)

src/Json/Vector2Json.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using UnityEngine;
44

55
namespace PolyMod.Json;
6+
67
internal class Vector2Json : JsonConverter<Vector2>
78
{
89
public override Vector2 Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)

src/Json/VersionJson.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Text.Json.Serialization;
33

44
namespace PolyMod.Json;
5+
56
internal class VersionJson : JsonConverter<Version>
67
{
78
public override Version? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)

0 commit comments

Comments
 (0)