Handle errors on "invalid" mod display name

mac
Miepee 3 years ago
parent 479f78cc0c
commit c3f616203a

@ -201,27 +201,29 @@ public abstract class RawMods : IMods
manifestFile = manifestFile.Replace("com.companyname.AM2RWrapper", $"com.companyname.{modName}"); manifestFile = manifestFile.Replace("com.companyname.AM2RWrapper", $"com.companyname.{modName}");
// then in the rest // then in the rest
// TODO: create some sort of function for it to avoid copy paste string AndroidIDReplace(string content, string name)
{
return content.Replace("com.companyname.AM2RWrapper", $"com.companyname.{modName}")
.Replace("com/companyname/AM2RWrapper", $"com/companyname/{modName}")
.Replace("com$companyname$AM2RWrapper", $"com$companyname${modName}");
}
foreach (var file in Directory.GetFiles($"{apkDir}/smali/com/yoyogames/runner")) foreach (var file in Directory.GetFiles($"{apkDir}/smali/com/yoyogames/runner"))
{ {
var content = File.ReadAllText(file); var content = File.ReadAllText(file);
content = content.Replace("com.companyname.AM2RWrapper", $"com.companyname.{modName}") content = AndroidIDReplace(content, modName);
.Replace("com/companyname/AM2RWrapper", $"com/companyname/{modName}");
File.WriteAllText(file, content); File.WriteAllText(file, content);
} }
var am2rWrapperDir = new DirectoryInfo($"{apkDir}/smali/com/companyname/AM2RWrapper"); var am2rWrapperDir = new DirectoryInfo($"{apkDir}/smali/com/companyname/AM2RWrapper");
foreach (var file in am2rWrapperDir.GetFiles()) foreach (var file in am2rWrapperDir.GetFiles())
{ {
var content = File.ReadAllText(file.FullName); var content = File.ReadAllText(file.FullName);
content = content.Replace("com.companyname.AM2RWrapper", $"com.companyname.{modName}") content = AndroidIDReplace(content, modName);
.Replace("com/companyname/AM2RWrapper", $"com/companyname/{modName}")
.Replace("com$companyname$AM2RWrapper", $"com$companyname${modName}");
File.WriteAllText(file.FullName, content); File.WriteAllText(file.FullName, content);
} }
am2rWrapperDir.MoveTo($"{apkDir}/smali/com/companyname/{modName}"); am2rWrapperDir.MoveTo($"{apkDir}/smali/com/companyname/{modName}");
var layoutContent = File.ReadAllText($"{apkDir}/res/layout/main.xml"); var layoutContent = File.ReadAllText($"{apkDir}/res/layout/main.xml");
layoutContent = layoutContent.Replace("com.companyname.AM2RWrapper", $"com.companyname.{modName}"); layoutContent = AndroidIDReplace(layoutContent, modName);
File.WriteAllText($"{apkDir}/res/layout/main.xml", layoutContent); File.WriteAllText($"{apkDir}/res/layout/main.xml", layoutContent);
} }
@ -286,9 +288,6 @@ public abstract class RawMods : IMods
string contentsDir = baseTempDirectory + "/Contents"; string contentsDir = baseTempDirectory + "/Contents";
string assetsDir = contentsDir + "/Resources"; string assetsDir = contentsDir + "/Resources";
// Get name from user
//TODO: handle error on special characters
// Check if temp folder exists, delete if yes, copy bare runner to there // Check if temp folder exists, delete if yes, copy bare runner to there
if (Directory.Exists(baseTempDirectory)) if (Directory.Exists(baseTempDirectory))
Directory.Delete(baseTempDirectory, true); Directory.Delete(baseTempDirectory, true);
@ -365,6 +364,7 @@ public abstract class RawMods : IMods
HelperMethods.DirectoryCopy(extractDirectory, assetsDir); HelperMethods.DirectoryCopy(extractDirectory, assetsDir);
// Edit config and plist to change display name // Edit config and plist to change display name
//TODO: handle error on special characters
SendOutput("Editing Runner references to AM2R..."); SendOutput("Editing Runner references to AM2R...");
string textFile = File.ReadAllText(assetsDir + "/yoyorunner.config"); string textFile = File.ReadAllText(assetsDir + "/yoyorunner.config");
textFile = textFile.Replace("YoYo Runner", modName); textFile = textFile.Replace("YoYo Runner", modName);

Loading…
Cancel
Save