Skip to content

Commit 0b7b5db

Browse files
Support for new Kiwamis (#23)
1 parent 8252cbe commit 0b7b5db

File tree

7 files changed

+85
-10
lines changed

7 files changed

+85
-10
lines changed

ShinRyuModManager-CE/GameModel.cs

Lines changed: 63 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ public static void DoY5HActProcedure(MLO mlo) {
9898
}
9999
}
100100

101-
public static void DoY0DCLegacyModelSupport(MLO mlo) {
101+
public static void DoY0DCLegacyModelUpgrade(MLO mlo) {
102102
var parlessDir = new DirectoryInfo(GamePath.ParlessDir);
103103

104104
parlessDir.Create();
@@ -110,12 +110,72 @@ public static void DoY0DCLegacyModelSupport(MLO mlo) {
110110
continue;
111111

112112
var legacyCharaDir = Path.Combine(modDir, "chara", "w64");
113+
114+
if (!Directory.Exists(legacyCharaDir))
115+
continue;
116+
113117
var newCharaDir = Path.Combine(parlessDir.FullName, "chara", "ngen");
118+
119+
for (var i = 0; i < mlo.Files.Count; i++) {
120+
var file = mlo.Files[i];
121+
122+
if (file.Name.Contains("chara/w64"))
123+
file = file with {
124+
Name = file.Name.Replace("chara/w64", "chara/ngen")
125+
};
126+
127+
mlo.Files[i] = file;
128+
}
114129

115-
if (!Directory.Exists(legacyCharaDir))
130+
Directory.Move(legacyCharaDir, newCharaDir);
131+
}
132+
}
133+
134+
public static void DoYK2RemasterLegacyDBUpgrade(MLO mlo) {
135+
var parlessDir = new DirectoryInfo(GamePath.ParlessDir);
136+
137+
parlessDir.Create();
138+
139+
foreach (var modName in mlo.Mods) {
140+
var modDir = Path.Combine(GamePath.ModsPath, modName);
141+
142+
if (!Directory.Exists(modDir))
116143
continue;
144+
145+
var legacyDBDir = Path.Combine(modDir, "db");
146+
var newDBDir = Path.Combine(modDir, "db.lexus2");
147+
148+
var legacyPUIDDir = Path.Combine(modDir, "puid");
149+
var newPUIDDir = Path.Combine(modDir, "puid.lexus2");
150+
151+
var haveOldDb = Directory.Exists(legacyDBDir);
152+
var haveOldPuid = Directory.Exists(legacyPUIDDir);
153+
154+
if (haveOldDb || haveOldPuid) {
155+
for (var i = 0; i < mlo.Files.Count; i++) {
156+
var file = mlo.Files[i];
157+
158+
if (haveOldDb && file.Name.Contains("/db") && !file.Name.Contains("/db.lexus2")) {
159+
file = file with {
160+
Name = file.Name.Replace("/db", "/db.lexus2")
161+
};
162+
}
163+
164+
if (haveOldPuid && file.Name.Contains("/puid") && !file.Name.Contains("/puid.lexus2")) {
165+
file = file with {
166+
Name = file.Name.Replace("/puid", "/puid.lexus2")
167+
};
168+
}
169+
170+
mlo.Files[i] = file;
171+
}
172+
}
173+
174+
if (haveOldDb)
175+
Directory.Move(legacyDBDir, newDBDir);
117176

118-
Utils.CopyDirectory(legacyCharaDir, newCharaDir);
177+
if (haveOldPuid)
178+
Directory.Move(legacyPUIDDir, newPUIDDir);
119179
}
120180
}
121181

ShinRyuModManager-CE/ModLoadOrder/Mods/Mod.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ public void AddFiles(string path, string check) {
125125

126126
switch (basename) {
127127
case "bgm":
128-
if (GamePath.CurrentGame <= Game.YakuzaKiwami) {
128+
if (GamePath.CurrentGame <= Game.YakuzaKiwami_R) {
129129
cpkDataPath = GamePath.RemoveModPath(path);
130130
RepackCpKs.Add(cpkDataPath);
131131
}
@@ -134,7 +134,7 @@ public void AddFiles(string path, string check) {
134134

135135
case "se":
136136
case "speech":
137-
if (GamePath.CurrentGame is Game.Yakuza5 or <= Game.YakuzaKiwami) {
137+
if (GamePath.CurrentGame is Game.Yakuza5 or <= Game.YakuzaKiwami_R) {
138138
// Removed adding ".cpk" to se folder. Seemed incorrect
139139
cpkDataPath = GamePath.RemoveModPath(path);
140140
RepackCpKs.Add(cpkDataPath);

ShinRyuModManager-CE/Program.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -328,20 +328,26 @@ internal static async Task RunGeneration(List<string> mods) {
328328
GameModel.DoY5HActProcedure(result);
329329
break;
330330

331-
case Game.Yakuza0_DC:
331+
case Game.Yakuza0:
332+
case Game.YakuzaKiwami:
332333
GameModel.DoOEHActProcedure(result);
333-
GameModel.DoY0DCLegacyModelSupport(result);
334334
break;
335335

336-
case Game.Yakuza0:
337-
case Game.YakuzaKiwami:
336+
case Game.Yakuza0_DC:
337+
case Game.YakuzaKiwami_R:
338338
GameModel.DoOEHActProcedure(result);
339+
GameModel.DoY0DCLegacyModelUpgrade(result);
339340
break;
340341

341342
case Game.YakuzaKiwami2:
342343
GameModel.DoDEHActProcedure(result, "lexus2");
343344
break;
344345

346+
case Game.YakuzaKiwami2_R:
347+
GameModel.DoDEHActProcedure(result, "lexus2");
348+
GameModel.DoYK2RemasterLegacyDBUpgrade(result);
349+
break;
350+
345351
case Game.Judgment:
346352
GameModel.DoDEHActProcedure(result, "judge");
347353
break;

ShinRyuModManager-CE/ShinRyuModManager-CE.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<AvaloniaUseCompiledBindingsByDefault>true</AvaloniaUseCompiledBindingsByDefault>
1515

1616
<!-- Versioning -->
17-
<AssemblyVersion>1.3.2</AssemblyVersion>
17+
<AssemblyVersion>1.3.3</AssemblyVersion>
1818
<VersionPrefix>$(AssemblyVersion)</VersionPrefix>
1919
<AssemblyTitle>ShinRyuModManager-CE</AssemblyTitle>
2020
<Company>SRMM Studio</Company>

ShinRyuModManager-CE/UserInterface/Assets/changelog.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
> ### **%{color:orange} Version 1.3.3 %** ###
2+
* Implemented changes from SRMM 4.6.9
3+
14
> ### **%{color:orange} Version 1.3.2 %** ###
25
* Implemented changes from SRMM 4.6.8
36

Utils/Game.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@ public enum Game {
1111
Yakuza0,
1212
Yakuza0_DC,
1313
YakuzaKiwami,
14+
YakuzaKiwami_R,
1415

1516
// Dragon Engine
1617
Yakuza6,
1718
YakuzaKiwami2,
19+
YakuzaKiwami2_R,
1820
YakuzaLikeADragon,
1921
Judgment,
2022
LostJudgment,

Utils/GamePath.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,9 @@ public static string GetGameFriendlyName(Game g) {
209209
Game.Yakuza0 => "Yakuza 0",
210210
Game.Yakuza0_DC => "Yakuza 0: Director's Cut",
211211
Game.YakuzaKiwami => "Yakuza Kiwami",
212+
Game.YakuzaKiwami_R => "Yakuza Kiwami Remastered",
212213
Game.YakuzaKiwami2 => "Yakuza Kiwami 2",
214+
Game.YakuzaKiwami2_R => "Yakuza Kiwami 2 Remastered",
213215
Game.Yakuza3 => "Yakuza 3 Remastered",
214216
Game.Yakuza4 => "Yakuza 4 Remastered",
215217
Game.Yakuza5 => "Yakuza 5 Remastered",
@@ -233,7 +235,9 @@ public static string GetGameFriendlyName(Game g) {
233235
Game.Yakuza0 => 638970,
234236
Game.Yakuza0_DC => 2988580,
235237
Game.YakuzaKiwami => 834530,
238+
Game.YakuzaKiwami_R => 3717330,
236239
Game.YakuzaKiwami2 => 927380,
240+
Game.YakuzaKiwami2_R => 3717340,
237241
Game.Yakuza3 => 1088710,
238242
Game.Yakuza4 => 1105500,
239243
Game.Yakuza5 => 1105510,

0 commit comments

Comments
 (0)