chore: align mod versions and dependencies to 0.1.0

Set the demo release floor to 0.1.0 in manifests, dependency requirements and authoring examples. Keep category and runtime changes separate.
This commit is contained in:
cthangover committed 2026-11-13 17:48:38 +01:00
1 parent 8580720d05
commit c63acd54a1
7 files changed
+13 -13

No files matched your search

+2 -2
View File
@@ -1,14 +1,14 @@
{ {
"id": "menu_base", "id": "menu_base",
"name": "Menu", "name": "Menu",
"version": "1.0.0", "version": "0.1.0",
"author": "ct", "author": "ct",
"description": "The main menu: start or continue a game, pick one of the installed games, load a save and change the language, sound and display settings.", "description": "The main menu: start or continue a game, pick one of the installed games, load a save and change the language, sound and display settings.",
"category": "ui", "category": "ui",
"sources": [ "sources": [
"src/**/*.cs" "src/**/*.cs"
], ],
"depends": ["ui_base>=1", "music_pack>=1"], "depends": ["ui_base>=0.1.0", "music_pack>=0.1.0"],
"test_suites": [ "test_suites": [
{"id": "menu_flow", "activate": ["--itest=menu_flow"]}, {"id": "menu_flow", "activate": ["--itest=menu_flow"]},
{"id": "save_dormancy", "activate": ["--itest=save_dormancy"]}, {"id": "save_dormancy", "activate": ["--itest=save_dormancy"]},
@@ -196,7 +196,7 @@ namespace Mods.CollectionEditTest
var edited = JsonSerializer.Deserialize<ModCollection>(JsonSerializer.Serialize(source)); var edited = JsonSerializer.Deserialize<ModCollection>(JsonSerializer.Serialize(source));
edited.Package = source.Package; edited.Package = source.Package;
edited.Includes ??= new List<ModCollectionInclude>(); edited.Includes ??= new List<ModCollectionInclude>();
edited.Includes.Add(new ModCollectionInclude { Ref = AddedToolset + ">=1", Role = "tools" }); edited.Includes.Add(new ModCollectionInclude { Ref = AddedToolset + ">=0.1.0", Role = "tools" });
var user = ModCollectionStore.LoadUser().Where(c => !string.Equals(c.Id, GameId, StringComparison.OrdinalIgnoreCase)).ToList(); var user = ModCollectionStore.LoadUser().Where(c => !string.Equals(c.Id, GameId, StringComparison.OrdinalIgnoreCase)).ToList();
user.Add(edited); user.Add(edited);
+1 -1
View File
@@ -5,6 +5,6 @@
"src/*.cs" "src/*.cs"
], ],
"depends": [ "depends": [
"menu_base>=1" "menu_base>=0.1.0"
] ]
} }
@@ -227,8 +227,8 @@ namespace Mods.HotReloadTest
var data = Path.Combine(modsRoot, DataId); var data = Path.Combine(modsRoot, DataId);
Directory.CreateDirectory(Path.Combine(data, "characters")); Directory.CreateDirectory(Path.Combine(data, "characters"));
File.WriteAllText(Path.Combine(data, "manifest.json"), File.WriteAllText(Path.Combine(data, "manifest.json"),
"{ \"id\": \"" + DataId + "\", \"name\": \"Hot reload probe data\", \"version\": \"1.0.0\", \"author\": \"test\", " + "{ \"id\": \"" + DataId + "\", \"name\": \"Hot reload probe data\", \"version\": \"0.1.0\", \"author\": \"test\", " +
"\"depends\": [\"characters_base>=1\"] }"); "\"depends\": [\"characters_base>=0.1.0\"] }");
File.WriteAllText(Path.Combine(data, "characters", "probe.json"), File.WriteAllText(Path.Combine(data, "characters", "probe.json"),
"{ \"Kind\": \"character\", \"Items\": [ { \"Id\": \"" + ProbeCharacterId + "\", \"Name\": \"" + name + "\", \"Health\": 1 } ] }"); "{ \"Kind\": \"character\", \"Items\": [ { \"Id\": \"" + ProbeCharacterId + "\", \"Name\": \"" + name + "\", \"Health\": 1 } ] }");
} }
@@ -238,8 +238,8 @@ namespace Mods.HotReloadTest
var app = Path.Combine(modsRoot, AppId); var app = Path.Combine(modsRoot, AppId);
Directory.CreateDirectory(Path.Combine(app, "src")); Directory.CreateDirectory(Path.Combine(app, "src"));
File.WriteAllText(Path.Combine(app, "manifest.json"), File.WriteAllText(Path.Combine(app, "manifest.json"),
"{ \"id\": \"" + AppId + "\", \"name\": \"Hot reload probe app\", \"version\": \"1.0.0\", \"author\": \"test\", " + "{ \"id\": \"" + AppId + "\", \"name\": \"Hot reload probe app\", \"version\": \"0.1.0\", \"author\": \"test\", " +
"\"sources\": [\"src/*.cs\"], \"depends\": [\"" + LibId + ">=1\"] }"); "\"sources\": [\"src/*.cs\"], \"depends\": [\"" + LibId + ">=0.1.0\"] }");
File.WriteAllText(Path.Combine(app, "src", "ProbeApp.cs"), ProbeAppSource); File.WriteAllText(Path.Combine(app, "src", "ProbeApp.cs"), ProbeAppSource);
WriteLib(version, compiles: true); WriteLib(version, compiles: true);
} }
@@ -249,7 +249,7 @@ namespace Mods.HotReloadTest
var lib = Path.Combine(modsRoot, LibId); var lib = Path.Combine(modsRoot, LibId);
Directory.CreateDirectory(Path.Combine(lib, "src")); Directory.CreateDirectory(Path.Combine(lib, "src"));
File.WriteAllText(Path.Combine(lib, "manifest.json"), File.WriteAllText(Path.Combine(lib, "manifest.json"),
"{ \"id\": \"" + LibId + "\", \"name\": \"Hot reload probe library\", \"version\": \"1.0.0\", \"author\": \"test\", \"sources\": [\"src/*.cs\"] }"); "{ \"id\": \"" + LibId + "\", \"name\": \"Hot reload probe library\", \"version\": \"0.1.0\", \"author\": \"test\", \"sources\": [\"src/*.cs\"] }");
var body = compiles ? "\"" + version + "\";" : "\"" + version + "\""; var body = compiles ? "\"" + version + "\";" : "\"" + version + "\"";
File.WriteAllText(Path.Combine(lib, "src", "ProbeLib.cs"), File.WriteAllText(Path.Combine(lib, "src", "ProbeLib.cs"),
"namespace HotReloadProbe\n{\n public static class ProbeLib\n {\n public static string Value() => " + body + "\n }\n}\n"); "namespace HotReloadProbe\n{\n public static class ProbeLib\n {\n public static string Value() => " + body + "\n }\n}\n");
+1 -1
View File
@@ -5,6 +5,6 @@
"src/*.cs" "src/*.cs"
], ],
"depends": [ "depends": [
"mod_manager>=1" "mod_manager>=0.1.0"
] ]
} }
@@ -190,7 +190,7 @@ namespace Mods.MenuFlowTest
var composition = GameCatalog.Composition(GameId); var composition = GameCatalog.Composition(GameId);
Check("composition computed without loading the game", composition?.Any(m => m.Id == "my_novel_game") == true); Check("composition computed without loading the game", composition?.Any(m => m.Id == "my_novel_game") == true);
var diff = SaveCompositionDiff.Compute( var diff = SaveCompositionDiff.Compute(
new[] { new SaveGameMod { Id = "cthangover_game", Version = "2.0.0" }, new SaveGameMod { Id = "ghost_mechanic", Version = "1.0.0" } }, new[] { new SaveGameMod { Id = "cthangover_game", Version = "0.1.0" }, new SaveGameMod { Id = "ghost_mechanic", Version = "1.0.0" } },
composition); composition);
Check("comparison reports removed and added mechanics", diff.Removed.Contains("ghost_mechanic") && diff.Added.Contains("my_novel_game")); Check("comparison reports removed and added mechanics", diff.Removed.Contains("ghost_mechanic") && diff.Added.Contains("my_novel_game"));
@@ -274,7 +274,7 @@ namespace Mods.MenuFlowTest
SaveId = Slot, SaveId = Slot,
Timestamp = DateTime.UtcNow, Timestamp = DateTime.UtcNow,
CoreVersion = "0.1.0", CoreVersion = "0.1.0",
Game = new SaveGameInfo { Id = GameId, Name = "My Novel", Version = "1.0.0" }, Game = new SaveGameInfo { Id = GameId, Name = "My Novel", Version = "0.1.0" },
}; };
package.ModData[SavePackage.CoreSlotKey] = new ModSlot(); package.ModData[SavePackage.CoreSlotKey] = new ModSlot();
var dir = ProjectSettings.GlobalizePath(SaveService.GameDirectory(GameId)); var dir = ProjectSettings.GlobalizePath(SaveService.GameDirectory(GameId));
@@ -73,7 +73,7 @@ namespace Mods.SaveDormancyTest
// Simulate a save written while the game still had the mechanic, and // Simulate a save written while the game still had the mechanic, and
// before this test mod joined the game. // before this test mod joined the game.
var absentSlot = new ModSlot { Metadata = new ModMetadata { ModId = AbsentMod, ModVersion = "1.1.0" } }; var absentSlot = new ModSlot { Metadata = new ModMetadata { ModId = AbsentMod, ModVersion = "0.1.0" } };
absentSlot.Data["marker"] = new DataBlob(1, new Dictionary<string, string> { ["value"] = "42" }); absentSlot.Data["marker"] = new DataBlob(1, new Dictionary<string, string> { ["value"] = "42" });
package.ModData[AbsentMod] = absentSlot; package.ModData[AbsentMod] = absentSlot;
package.ModData.Remove("menu_base__save_dormancy"); package.ModData.Remove("menu_base__save_dormancy");