Skip to content

Commit 04b3225

Browse files
committed
Added working build for v104
1 parent 7774308 commit 04b3225

File tree

11 files changed

+325
-308
lines changed

11 files changed

+325
-308
lines changed

PolyMod.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
https://polymod.dev/nuget/v3/index.json;
1111
</RestoreAdditionalProjectSources>
1212
<Configurations>IL2CPP</Configurations>
13-
<Version>1.1.8</Version>
14-
<PolytopiaVersion>2.13.0.14218</PolytopiaVersion>
13+
<Version>1.3.0-pre</Version>
14+
<PolytopiaVersion>2.9.1.12223</PolytopiaVersion>
1515
<Authors>PolyModdingTeam</Authors>
1616
<Description>The Battle of Polytopia's mod loader.</Description>
1717
<NoWarn>IDE0130</NoWarn>

src/Loader.cs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -314,7 +314,7 @@ public static void LoadGameLogicDataPatch(Mod mod, JObject gld, JObject patch)
314314
{
315315
try
316316
{
317-
HandleSkins(gld, patch);
317+
//HandleSkins(gld, patch);
318318
foreach (JToken jtoken in patch.SelectTokens("$.*.*").ToArray())
319319
{
320320
JObject? token = jtoken.TryCast<JObject>();
@@ -430,19 +430,19 @@ public static void HandleSkins(JObject gld, JObject patch)
430430
{
431431
EnumCache<SkinType>.AddMapping(skinValue.ToLowerInvariant(), (SkinType)Registry.autoidx);
432432
EnumCache<SkinType>.AddMapping(skinValue.ToLowerInvariant(), (SkinType)Registry.autoidx);
433-
Registry.skinInfo.Add(new Visual.SkinInfo(Registry.autoidx, skinValue, null));
433+
//Registry.skinInfo.Add(new Visual.SkinInfo(Registry.autoidx, skinValue, null));
434434
Plugin.logger.LogInfo("Created mapping for skinType with id " + skinValue + " and index " + Registry.autoidx);
435435
Registry.autoidx++;
436436
}
437437
}
438-
foreach (var skin in Registry.skinInfo)
439-
{
440-
if (skins._values.Contains(skin.id))
441-
{
442-
skins._values.Remove(skin.id);
443-
skins._values.Add(skin.idx);
444-
}
445-
}
438+
// foreach (var skin in Registry.skinInfo)
439+
// {
440+
// if (skins._values.Contains(skin.id))
441+
// {
442+
// skins._values.Remove(skin.id);
443+
// skins._values.Add(skin.idx);
444+
// }
445+
// }
446446
JToken originalSkins = gld.SelectToken(skins.Path, false);
447447
if (originalSkins != null)
448448
{
@@ -455,25 +455,25 @@ public static void HandleSkins(JObject gld, JObject patch)
455455
}
456456
}
457457
}
458-
foreach (JToken jtoken in patch.SelectTokens("$.skinData.*").ToArray())
459-
{
460-
JObject token = jtoken.Cast<JObject>();
461-
string id = Util.GetJTokenName(token);
462-
int index = Registry.skinInfo.FindIndex(t => t.id == id);
463-
if (Registry.skinInfo.ElementAtOrDefault(index) != null)
464-
{
465-
SkinData skinData = new();
466-
if (token["color"] != null)
467-
{
468-
skinData.color = (int)token["color"];
469-
}
470-
if (token["language"] != null)
471-
{
472-
skinData.language = token["language"].ToString();
473-
}
474-
Registry.skinInfo[index] = new Visual.SkinInfo(Registry.skinInfo[index].idx, Registry.skinInfo[index].id, skinData);
475-
}
476-
}
477-
patch.Remove("skinData");
458+
// foreach (JToken jtoken in patch.SelectTokens("$.skinData.*").ToArray())
459+
// {
460+
// JObject token = jtoken.Cast<JObject>();
461+
// string id = Util.GetJTokenName(token);
462+
// int index = Registry.skinInfo.FindIndex(t => t.id == id);
463+
// if (Registry.skinInfo.ElementAtOrDefault(index) != null)
464+
// {
465+
// SkinData skinData = new();
466+
// if (token["color"] != null)
467+
// {
468+
// skinData.color = (int)token["color"];
469+
// }
470+
// if (token["language"] != null)
471+
// {
472+
// skinData.language = token["language"].ToString();
473+
// }
474+
// Registry.skinInfo[index] = new Visual.SkinInfo(Registry.skinInfo[index].idx, Registry.skinInfo[index].id, skinData);
475+
// }
476+
// }
477+
// patch.Remove("skinData");
478478
}
479479
}

src/Managers/Audio.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ private static void AudioManager_SetupData()
1212
{
1313
foreach (var item in Registry.customTribes)
1414
{
15-
if (PolytopiaDataManager.GetLatestGameLogicData().TryGetData(item, out TribeData data))
16-
{
17-
AudioManager.instance.climateTribeMap.Add(data.climate, item);
18-
}
15+
// if (PolytopiaDataManager.GetLatestGameLogicData().TryGetData(item, out TribeData data))
16+
// {
17+
// AudioManager.instance.climateTribeMap.Add(data.climate, item);
18+
// }
1919
}
2020
}
2121

src/Managers/Compatibility.cs

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -67,32 +67,32 @@ private static bool CheckSignatures(Action<int, BaseEventData> action, int id, B
6767
[HarmonyPatch(typeof(StartScreen), nameof(StartScreen.Start))]
6868
private static void StartScreen_Start()
6969
{
70-
Version incompatibilityWarningLastVersion = Plugin.POLYTOPIA_VERSION.CutRevision();
71-
try
72-
{
73-
incompatibilityWarningLastVersion = new(File.ReadAllText(Plugin.INCOMPATIBILITY_WARNING_LAST_VERSION_PATH));
74-
}
75-
catch (FileNotFoundException) { }
76-
if (VersionManager.SemanticVersion.Cast().CutRevision() > incompatibilityWarningLastVersion)
77-
{
78-
File.WriteAllText(
79-
Plugin.INCOMPATIBILITY_WARNING_LAST_VERSION_PATH,
80-
VersionManager.SemanticVersion.Cast().CutRevision().ToString()
81-
);
82-
PopupManager.GetBasicPopup(new(
83-
Localization.Get("polymod.version.mismatch"),
84-
Localization.Get("polymod.version.mismatch.description"),
85-
new(new PopupBase.PopupButtonData[] {
86-
new("buttons.stay", customColorStates: ColorConstants.redButtonColorStates),
87-
new(
88-
"buttons.exitgame",
89-
PopupBase.PopupButtonData.States.None,
90-
(Il2CppSystem.Action)Application.Quit,
91-
closesPopup: false
92-
)
93-
}))
94-
).Show();
95-
}
70+
// Version incompatibilityWarningLastVersion = Plugin.POLYTOPIA_VERSION.CutRevision();
71+
// try
72+
// {
73+
// incompatibilityWarningLastVersion = new(File.ReadAllText(Plugin.INCOMPATIBILITY_WARNING_LAST_VERSION_PATH));
74+
// }
75+
// catch (FileNotFoundException) { }
76+
// if (VersionManager.SemanticVersion.Cast().CutRevision() > incompatibilityWarningLastVersion)
77+
// {
78+
// File.WriteAllText(
79+
// Plugin.INCOMPATIBILITY_WARNING_LAST_VERSION_PATH,
80+
// VersionManager.SemanticVersion.Cast().CutRevision().ToString()
81+
// );
82+
// PopupManager.GetBasicPopup(new(
83+
// Localization.Get("polymod.version.mismatch"),
84+
// Localization.Get("polymod.version.mismatch.description"),
85+
// new(new PopupBase.PopupButtonData[] {
86+
// new("buttons.stay", customColorStates: ColorConstants.redButtonColorStates),
87+
// new(
88+
// "buttons.exitgame",
89+
// PopupBase.PopupButtonData.States.None,
90+
// (UIButtonBase.ButtonAction)Application.Quit,
91+
// closesPopup: false
92+
// )
93+
// }))
94+
// ).Show();
95+
// }
9696
}
9797

9898
[HarmonyPrefix]
@@ -102,12 +102,12 @@ private static bool GameInfoPopup_OnMainButtonClicked(GameInfoPopup __instance,
102102
return CheckSignatures(__instance.OnMainButtonClicked, id, eventData, __instance.gameId);
103103
}
104104

105-
[HarmonyPrefix]
106-
[HarmonyPatch(typeof(StartScreen), nameof(StartScreen.OnResumeButtonClick))]
107-
private static bool StartScreen_OnResumeButtonClick(StartScreen __instance, int id, BaseEventData eventData)
108-
{
109-
return CheckSignatures(__instance.OnResumeButtonClick, id, eventData, ClientBase.GetSinglePlayerSessions()[0]);
110-
}
105+
//[HarmonyPrefix]
106+
//[HarmonyPatch(typeof(StartScreen), nameof(StartScreen.OnResumeButtonClick))]
107+
// private static bool StartScreen_OnResumeButtonClick(StartScreen __instance, int id, BaseEventData eventData)
108+
// {
109+
//return CheckSignatures(__instance.OnResumeButtonClick, id, eventData, ClientBase.GetSinglePlayerSessions()[0]);
110+
// }
111111

112112
[HarmonyPostfix]
113113
[HarmonyPatch(typeof(GameInfoPopup), nameof(GameInfoPopup.DeletePaPGame))]
@@ -120,10 +120,10 @@ private static void ClientBase_DeletePassAndPlayGame(GameInfoPopup __instance)
120120
[HarmonyPatch(typeof(ClientBase), nameof(ClientBase.DeleteSinglePlayerGames))]
121121
private static void ClientBase_DeleteSinglePlayerGames()
122122
{
123-
foreach (var gameId in ClientBase.GetSinglePlayerSessions())
124-
{
125-
File.Delete(Path.Combine(Application.persistentDataPath, $"{gameId}.signatures"));
126-
}
123+
//foreach (var gameId in ClientBase.GetSinglePlayerSessions())
124+
// {
125+
// File.Delete(Path.Combine(Application.persistentDataPath, $"{gameId}.signatures"));
126+
// }
127127
}
128128

129129
[HarmonyPrefix]
@@ -133,8 +133,8 @@ private static void GameManager_MatchEnded(bool localPlayerIsWinner, ScoreDetail
133133
File.Delete(Path.Combine(Application.persistentDataPath, $"{GameManager.Client.gameId}.signatures"));
134134
}
135135

136-
[HarmonyPostfix]
137-
[HarmonyPatch(typeof(ClientBase), nameof(ClientBase.CreateSession), typeof(GameSettings), typeof(Il2CppSystem.Guid))]
136+
//[HarmonyPostfix]
137+
//[HarmonyPatch(typeof(ClientBase), nameof(ClientBase.CreateSession), typeof(GameSettings), typeof(Il2CppSystem.Guid))]
138138
private static void ClientBase_CreateSession(GameSettings settings, Il2CppSystem.Guid gameId)
139139
{
140140
File.WriteAllLinesAsync(

src/Managers/Hub.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -160,24 +160,24 @@ static void PolyModHubButtonClicked(int buttonId, BaseEventData eventData)
160160
popup.ShowSetWidth(1000);
161161
}
162162

163-
if (Main.dependencyCycle)
164-
{
165-
var popup = PopupManager.GetBasicPopup(new(
166-
Localization.Get("polymod.cycle"),
167-
Localization.Get("polymod.cycle.description"),
168-
new(new PopupBase.PopupButtonData[] {
169-
new(
170-
"buttons.exitgame",
171-
PopupBase.PopupButtonData.States.None,
172-
(Il2CppSystem.Action)Application.Quit,
173-
closesPopup: false,
174-
customColorStates: ColorConstants.redButtonColorStates
175-
)
176-
})
177-
));
178-
popup.IsUnskippable = true;
179-
popup.Show();
180-
}
163+
// if (Main.dependencyCycle)
164+
// {
165+
// var popup = PopupManager.GetBasicPopup(new(
166+
// Localization.Get("polymod.cycle"),
167+
// Localization.Get("polymod.cycle.description"),
168+
// new(new PopupBase.PopupButtonData[] {
169+
// new(
170+
// "buttons.exitgame",
171+
// PopupBase.PopupButtonData.States.None,
172+
// (Il2CppSystem.Action)Application.Quit,
173+
// closesPopup: false,
174+
// customColorStates: ColorConstants.redButtonColorStates
175+
// )
176+
// })
177+
// ));
178+
// popup.IsUnskippable = true;
179+
// popup.Show();
180+
// }
181181
}
182182

183183
internal static void Init()

src/Managers/Main.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ private static void GameLogicData_Parse(GameLogicData __instance, JObject rootOb
2323
if (!fullyInitialized)
2424
{
2525
Load(rootObject);
26-
foreach (Visual.SkinInfo skin in Registry.skinInfo)
27-
{
28-
if (skin.skinData != null)
29-
__instance.skinData[(SkinType)skin.idx] = skin.skinData;
30-
}
26+
// foreach (Visual.SkinInfo skin in Registry.skinInfo)
27+
// {
28+
// if (skin.skinData != null)
29+
// __instance.skinData[(SkinType)skin.idx] = skin.skinData;
30+
// }
3131
fullyInitialized = true;
3232
}
3333
}

src/Managers/Multiplayer.cs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Threading.Tasks;
5+
6+
namespace PolyMod.Managers
7+
{
8+
public static class Multiplayer
9+
{
10+
public static void Init()
11+
{
12+
BuildConfigHelper.GetSelectedBuildConfig().buildServerURL = BuildServerURL.Localhost;
13+
}
14+
}
15+
}

0 commit comments

Comments
 (0)