Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
a789ba4
add changes to make compilable for hk 1.5.12301
SFGrenade Dec 16, 2025
ad0ffab
it wasn't public, it was private
SFGrenade Dec 16, 2025
bad9b70
do fancy private stuff
SFGrenade Dec 16, 2025
dcfaa9f
language doesn't need to get patched if it doesn't exist in the first…
SFGrenade Dec 17, 2025
e4e10bc
use `MonoMod.MonoModLinkFrom`
SFGrenade Dec 18, 2025
7a06e12
adjust patches to methods how they appear in dnspy v6.2.0
SFGrenade Dec 23, 2025
e0e6d67
make use of game's vanilla binaries & don't have newtonsoft and mscor…
SFGrenade Dec 23, 2025
e91596f
remove unused method
SFGrenade Dec 31, 2025
bff85a4
remove base onenter
SFGrenade Dec 31, 2025
7b64c07
made loading work better
SFGrenade Dec 31, 2025
9adc878
update hollowknight.version
SFGrenade Feb 11, 2026
86d0b1b
full canvas, no offsets & modloader obj
SFGrenade Feb 11, 2026
c835383
Merge branch 'master' into hk-beta-branch-unity-6-update
SFGrenade Feb 11, 2026
05b3ccf
add one backwards-compatability property
SFGrenade Feb 18, 2026
207132d
who needs reflection if you have monomod fuckery
SFGrenade Feb 18, 2026
9674f71
accidental double newline
SFGrenade Feb 18, 2026
b74e35b
make comment clear
SFGrenade Feb 18, 2026
7211d50
don't relink the entirety of TCLL, just the `get(str, str)` method
SFGrenade Feb 28, 2026
2252e7d
MonoModLinkFrom has only 1 arg
SFGrenade Feb 28, 2026
32ab611
not just desktopplatform with `EncryptedSharedData`
SFGrenade Feb 28, 2026
ae7998b
make it an obsolete warning
SFGrenade Feb 28, 2026
fc2be8c
try to have type forwarding
SFGrenade Feb 28, 2026
a63c33e
add postpatcher
SFGrenade Feb 28, 2026
f1703aa
more methods for language
SFGrenade Feb 28, 2026
b08045f
move monomodrules and custom attributes into subfolder
SFGrenade May 13, 2026
a3a1b4f
add RawIlPatchAttribute & rework EnemyDeathEffects patch into IL form…
SFGrenade May 14, 2026
5fc168c
do the first part of IL patches
SFGrenade May 15, 2026
03b0282
have the attributes in the attributes namespaces but without attribut…
SFGrenade May 16, 2026
1e9f8dc
use emitdelegate
SFGrenade May 16, 2026
9e1ba41
start gamemanager il patches
SFGrenade May 16, 2026
d9f24b1
fix move after labels not working
SFGrenade May 16, 2026
b7e8ed9
have IL patches for LoadFirstScene and OnWillActivateFirstLevel
SFGrenade May 16, 2026
104bcf7
remove attribute from name & add todo comments
SFGrenade May 16, 2026
cbe52a5
add missing enum values and some [MonoModReplace]
SFGrenade May 16, 2026
3c25982
remove a few comments to show why the opcode fuckery happens
SFGrenade May 16, 2026
339b01f
fix the afterlabel thing
SFGrenade May 17, 2026
53eeaee
make HealthManager into an IL patch & add some more todo comments
SFGrenade May 23, 2026
9bc3aec
implement more IL patches
SFGrenade May 25, 2026
88a8c80
not everything can be an IL patch
SFGrenade May 25, 2026
31a6bfe
update the last patches
SFGrenade May 25, 2026
bfd0faf
add hookgen for TC assemblies & more typeforwarders
SFGrenade May 30, 2026
25f43b9
remove unnecessary forwarding file
SFGrenade May 30, 2026
b2326be
patch TeamCherry.Localization
SFGrenade May 30, 2026
f628d8d
fix typo
SFGrenade May 30, 2026
b35d10c
have more consistent preloads
SFGrenade May 30, 2026
efafedb
dont add unused slnx
SFGrenade May 30, 2026
0a5fe20
dont disable implicit framework references
SFGrenade May 30, 2026
f7837fb
works offline, so check CI later
SFGrenade May 30, 2026
3aa0236
maybe try dotnet 10.x
SFGrenade May 30, 2026
9b7296d
tc localization patch doesn't need to reference runtimedetour or pre/…
SFGrenade May 30, 2026
271f65c
this also works locally & does use the overridden mscorlib again
SFGrenade May 30, 2026
e7282db
disable implicit framework references
SFGrenade May 31, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 8 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -60,17 +60,23 @@ jobs:
macos) echo "RID=osx-x64" >> $GITHUB_ENV ;;
esac

- uses: actions/setup-dotnet@v4
- uses: actions/setup-dotnet@v5
with:
dotnet-version: 10.x
- name: Setup MSBuild
run: |
sudo apt-get update -y
sudo apt-get install -y mono-devel
- name: Restore Dependencies
run: |
dotnet restore
- name: Build PrePatcher
- name: Build PrePatcher & PostPatcher
run: |
dotnet build PrePatcher -o PrePatcher/Output -p:Configuration=Release
dotnet build PostPatcher -o PostPatcher/Output -p:Configuration=Release
- name: Build TC assembly patches
run: |
dotnet build TeamCherry.Localization --runtime $RID -p:Configuration=Release
- name: Build Assembly-CSharp
run: |
dotnet build Assembly-CSharp --runtime $RID -p:Configuration=Release
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
## files generated by popular Visual Studio add-ons.

PrePatcher/Output
PostPatcher/Output

# User-specific files
*.suo
Expand Down
148 changes: 67 additions & 81 deletions Assembly-CSharp/Assembly-CSharp.csproj

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion Assembly-CSharp/Console.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@ public void Start()
string.Join(string.Empty, _messages.ToArray()),
_fontSize,
TextAnchor.LowerLeft,
new CanvasUtil.RectData(new Vector2(-5, -5), Vector2.zero, Vector2.zero, Vector2.one),
//new CanvasUtil.RectData(new Vector2(-5, -5), Vector2.zero, Vector2.zero, Vector2.one),
new CanvasUtil.RectData(Vector2.zero, Vector2.zero, Vector2.zero, Vector2.one),
_font
);

Expand Down
96 changes: 96 additions & 0 deletions Assembly-CSharp/Language/Language.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
using System;
using System.Collections.Generic;
using System.Reflection;
using UObject = UnityEngine.Object;
using USystemLanguage = UnityEngine.SystemLanguage;

// ReSharper disable All
#pragma warning disable 1591, 0108, 0169, 0649, 0626

namespace Language;

[Obsolete("Use `TeamCherry.Localization.Language` instead.")]
public static class Language
{
public static void LoadLanguage() => COMPAT_LoadLanguage();
public static void LoadAvailableLanguages() => COMPAT_LoadAvailableLanguages();
public static string[] GetLanguages() => COMPAT_GetLanguages();
public static bool SwitchLanguage(string langCode) => COMPAT_SwitchLanguage(langCode);
public static bool SwitchLanguage(LanguageCode code) => COMPAT_SwitchLanguage((TeamCherry.Localization.LanguageCode) code);
public static UObject GetAsset(string name) => COMPAT_GetAsset(name);
public static LanguageCode CurrentLanguage() => (LanguageCode) COMPAT_CurrentLanguage();
public static string Get(string key) => COMPAT_Get(key);
public static string GetInternal(string key, string sheetTitle) => COMPAT_GetInternal(key, sheetTitle);
public static string Get(string key, string sheetTitle) => COMPAT_Get(key, sheetTitle);
public static IEnumerable<string> GetSheets() => COMPAT_GetSheets();
public static IEnumerable<string> GetKeys(string sheetTitle) => COMPAT_GetKeys(sheetTitle);
public static bool Has(string key) => COMPAT_Has(key);
public static bool Has(string key, string sheet) => COMPAT_Has(key, sheet);
public static bool HasSheet(string sheet) => COMPAT_HasSheet(sheet);
public static LanguageCode LanguageNameToCode(USystemLanguage name) => (LanguageCode) COMPAT_LanguageNameToCode(name);

private static void DoSwitch(LanguageCode newLang) => COMPAT_DoSwitch((TeamCherry.Localization.LanguageCode) newLang);
private static bool HasLanguageFile(string lang, string sheetTitle) => COMPAT_HasLanguageFile(lang, sheetTitle);
private static string GetLanguageFileContents(string sheetTitle) => COMPAT_GetLanguageFileContents(sheetTitle);

// Keep these below the `[MonoMod.MonoModLinkFrom("TeamCherry.Localization.Language")]`, as the reverse order would cause a cyclic loop of methods calling themselves
// thanks to MonoMod resolving these links top-down
// which would make a `LinkTo(TCLL)->LinkFrom(TCLL)` into a fully recursive function ⟳
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadLanguage()")]
[MonoMod.MonoModRemove]
extern private static void COMPAT_LoadLanguage();
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void LoadAvailableLanguages()")]
[MonoMod.MonoModRemove]
extern private static void COMPAT_LoadAvailableLanguages();
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String[] GetLanguages()")]
[MonoMod.MonoModRemove]
extern private static string[] COMPAT_GetLanguages();
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(System.String)")]
[MonoMod.MonoModRemove]
extern private static bool COMPAT_SwitchLanguage(string langCode);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean SwitchLanguage(TeamCherry.Localization.LanguageCode)")]
[MonoMod.MonoModRemove]
extern private static bool COMPAT_SwitchLanguage(TeamCherry.Localization.LanguageCode code);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "UnityEngine.Object GetAsset(System.String)")]
[MonoMod.MonoModRemove]
extern private static UObject COMPAT_GetAsset(string name);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode CurrentLanguage()")]
[MonoMod.MonoModRemove]
extern private static TeamCherry.Localization.LanguageCode COMPAT_CurrentLanguage();
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String)")]
[MonoMod.MonoModRemove]
extern private static string COMPAT_Get(string key);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String GetInternal(System.String,System.String)")]
[MonoMod.MonoModRemove]
extern private static string COMPAT_GetInternal(string key, string sheetTitle);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String Get(System.String,System.String)")]
[MonoMod.MonoModRemove]
extern private static string COMPAT_Get(string key, string sheetTitle);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1<System.String> GetSheets()")]
[MonoMod.MonoModRemove]
extern private static IEnumerable<string> COMPAT_GetSheets();
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Collections.Generic.IEnumerable`1<System.String> GetKeys(System.String)")]
[MonoMod.MonoModRemove]
extern private static IEnumerable<string> COMPAT_GetKeys(string sheetTitle);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String)")]
[MonoMod.MonoModRemove]
extern private static bool COMPAT_Has(string key);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean Has(System.String,System.String)")]
[MonoMod.MonoModRemove]
extern private static bool COMPAT_Has(string key, string sheet);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasSheet(System.String)")]
[MonoMod.MonoModRemove]
extern private static bool COMPAT_HasSheet(string sheet);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "TeamCherry.Localization.LanguageCode LanguageNameToCode(UnityEngine.SystemLanguage)")]
[MonoMod.MonoModRemove]
extern private static TeamCherry.Localization.LanguageCode COMPAT_LanguageNameToCode(USystemLanguage name);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Void DoSwitch(TeamCherry.Localization.LanguageCode)")]
[MonoMod.MonoModRemove]
extern private static void COMPAT_DoSwitch(TeamCherry.Localization.LanguageCode name);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.Boolean HasLanguageFile(System.String,System.String)")]
[MonoMod.MonoModRemove]
extern private static bool COMPAT_HasLanguageFile(string lang, string sheetTitle);
[MonoMod.MonoModLinkTo("TeamCherry.Localization.Language", "System.String GetLanguageFileContents(System.String)")]
[MonoMod.MonoModRemove]
extern private static string COMPAT_GetLanguageFileContents(string sheetTitle);
}
214 changes: 214 additions & 0 deletions Assembly-CSharp/Language/LanguageCode.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
// ReSharper disable All
#pragma warning disable 1591, 0108, 0169, 0649, 0626

namespace Language;

// for backwards compatibility
public enum LanguageCode
{
N = TeamCherry.Localization.LanguageCode.N,
AA = TeamCherry.Localization.LanguageCode.AA,
AB = TeamCherry.Localization.LanguageCode.AB,
AF = TeamCherry.Localization.LanguageCode.AF,
AM = TeamCherry.Localization.LanguageCode.AM,
AR = TeamCherry.Localization.LanguageCode.AR,
AR_SA = TeamCherry.Localization.LanguageCode.AR_SA,
AR_EG = TeamCherry.Localization.LanguageCode.AR_EG,
AR_DZ = TeamCherry.Localization.LanguageCode.AR_DZ,
AR_YE = TeamCherry.Localization.LanguageCode.AR_YE,
AR_JO = TeamCherry.Localization.LanguageCode.AR_JO,
AR_KW = TeamCherry.Localization.LanguageCode.AR_KW,
AR_BH = TeamCherry.Localization.LanguageCode.AR_BH,
AR_IQ = TeamCherry.Localization.LanguageCode.AR_IQ,
AR_MA = TeamCherry.Localization.LanguageCode.AR_MA,
AR_LY = TeamCherry.Localization.LanguageCode.AR_LY,
AR_OM = TeamCherry.Localization.LanguageCode.AR_OM,
AR_SY = TeamCherry.Localization.LanguageCode.AR_SY,
AR_LB = TeamCherry.Localization.LanguageCode.AR_LB,
AR_AE = TeamCherry.Localization.LanguageCode.AR_AE,
AR_QA = TeamCherry.Localization.LanguageCode.AR_QA,
AS = TeamCherry.Localization.LanguageCode.AS,
AY = TeamCherry.Localization.LanguageCode.AY,
AZ = TeamCherry.Localization.LanguageCode.AZ,
BA = TeamCherry.Localization.LanguageCode.BA,
BE = TeamCherry.Localization.LanguageCode.BE,
BG = TeamCherry.Localization.LanguageCode.BG,
BH = TeamCherry.Localization.LanguageCode.BH,
BI = TeamCherry.Localization.LanguageCode.BI,
BN = TeamCherry.Localization.LanguageCode.BN,
BO = TeamCherry.Localization.LanguageCode.BO,
BR = TeamCherry.Localization.LanguageCode.BR,
CA = TeamCherry.Localization.LanguageCode.CA,
CO = TeamCherry.Localization.LanguageCode.CO,
CS = TeamCherry.Localization.LanguageCode.CS,
CY = TeamCherry.Localization.LanguageCode.CY,
DA = TeamCherry.Localization.LanguageCode.DA,
DE = TeamCherry.Localization.LanguageCode.DE,
DE_AT = TeamCherry.Localization.LanguageCode.DE_AT,
DE_LI = TeamCherry.Localization.LanguageCode.DE_LI,
DE_CH = TeamCherry.Localization.LanguageCode.DE_CH,
DE_LU = TeamCherry.Localization.LanguageCode.DE_LU,
DZ = TeamCherry.Localization.LanguageCode.DZ,
EL = TeamCherry.Localization.LanguageCode.EL,
EN = TeamCherry.Localization.LanguageCode.EN,
EN_US = TeamCherry.Localization.LanguageCode.EN_US,
EN_AU = TeamCherry.Localization.LanguageCode.EN_AU,
EN_NZ = TeamCherry.Localization.LanguageCode.EN_NZ,
EN_ZA = TeamCherry.Localization.LanguageCode.EN_ZA,
EN_CB = TeamCherry.Localization.LanguageCode.EN_CB,
EN_TT = TeamCherry.Localization.LanguageCode.EN_TT,
EN_GB = TeamCherry.Localization.LanguageCode.EN_GB,
EN_CA = TeamCherry.Localization.LanguageCode.EN_CA,
EN_IE = TeamCherry.Localization.LanguageCode.EN_IE,
EN_JM = TeamCherry.Localization.LanguageCode.EN_JM,
EN_BZ = TeamCherry.Localization.LanguageCode.EN_BZ,
EO = TeamCherry.Localization.LanguageCode.EO,
ES = TeamCherry.Localization.LanguageCode.ES,
ES_MX = TeamCherry.Localization.LanguageCode.ES_MX,
ES_CR = TeamCherry.Localization.LanguageCode.ES_CR,
ES_DO = TeamCherry.Localization.LanguageCode.ES_DO,
ES_CO = TeamCherry.Localization.LanguageCode.ES_CO,
ES_AR = TeamCherry.Localization.LanguageCode.ES_AR,
ES_CL = TeamCherry.Localization.LanguageCode.ES_CL,
ES_PY = TeamCherry.Localization.LanguageCode.ES_PY,
ES_SV = TeamCherry.Localization.LanguageCode.ES_SV,
ES_NI = TeamCherry.Localization.LanguageCode.ES_NI,
ES_GT = TeamCherry.Localization.LanguageCode.ES_GT,
ES_PA = TeamCherry.Localization.LanguageCode.ES_PA,
ES_VE = TeamCherry.Localization.LanguageCode.ES_VE,
ES_PE = TeamCherry.Localization.LanguageCode.ES_PE,
ES_EC = TeamCherry.Localization.LanguageCode.ES_EC,
ES_UY = TeamCherry.Localization.LanguageCode.ES_UY,
ES_BO = TeamCherry.Localization.LanguageCode.ES_BO,
ES_HN = TeamCherry.Localization.LanguageCode.ES_HN,
ES_PR = TeamCherry.Localization.LanguageCode.ES_PR,
ET = TeamCherry.Localization.LanguageCode.ET,
EU = TeamCherry.Localization.LanguageCode.EU,
FA = TeamCherry.Localization.LanguageCode.FA,
FI = TeamCherry.Localization.LanguageCode.FI,
FJ = TeamCherry.Localization.LanguageCode.FJ,
FO = TeamCherry.Localization.LanguageCode.FO,
FR = TeamCherry.Localization.LanguageCode.FR,
FR_BE = TeamCherry.Localization.LanguageCode.FR_BE,
FR_CH = TeamCherry.Localization.LanguageCode.FR_CH,
FR_CA = TeamCherry.Localization.LanguageCode.FR_CA,
FR_LU = TeamCherry.Localization.LanguageCode.FR_LU,
FY = TeamCherry.Localization.LanguageCode.FY,
GA = TeamCherry.Localization.LanguageCode.GA,
GD = TeamCherry.Localization.LanguageCode.GD,
GL = TeamCherry.Localization.LanguageCode.GL,
GN = TeamCherry.Localization.LanguageCode.GN,
GU = TeamCherry.Localization.LanguageCode.GU,
HA = TeamCherry.Localization.LanguageCode.HA,
HI = TeamCherry.Localization.LanguageCode.HI,
HE = TeamCherry.Localization.LanguageCode.HE,
HR = TeamCherry.Localization.LanguageCode.HR,
HU = TeamCherry.Localization.LanguageCode.HU,
HY = TeamCherry.Localization.LanguageCode.HY,
IA = TeamCherry.Localization.LanguageCode.IA,
ID = TeamCherry.Localization.LanguageCode.ID,
IE = TeamCherry.Localization.LanguageCode.IE,
IK = TeamCherry.Localization.LanguageCode.IK,
IN = TeamCherry.Localization.LanguageCode.IN,
IS = TeamCherry.Localization.LanguageCode.IS,
IT = TeamCherry.Localization.LanguageCode.IT,
IT_CH = TeamCherry.Localization.LanguageCode.IT_CH,
IU = TeamCherry.Localization.LanguageCode.IU,
IW = TeamCherry.Localization.LanguageCode.IW,
JA = TeamCherry.Localization.LanguageCode.JA,
JI = TeamCherry.Localization.LanguageCode.JI,
JW = TeamCherry.Localization.LanguageCode.JW,
KA = TeamCherry.Localization.LanguageCode.KA,
KK = TeamCherry.Localization.LanguageCode.KK,
KL = TeamCherry.Localization.LanguageCode.KL,
KM = TeamCherry.Localization.LanguageCode.KM,
KN = TeamCherry.Localization.LanguageCode.KN,
KO = TeamCherry.Localization.LanguageCode.KO,
KS = TeamCherry.Localization.LanguageCode.KS,
KU = TeamCherry.Localization.LanguageCode.KU,
KY = TeamCherry.Localization.LanguageCode.KY,
LA = TeamCherry.Localization.LanguageCode.LA,
LN = TeamCherry.Localization.LanguageCode.LN,
LO = TeamCherry.Localization.LanguageCode.LO,
LT = TeamCherry.Localization.LanguageCode.LT,
LV = TeamCherry.Localization.LanguageCode.LV,
MG = TeamCherry.Localization.LanguageCode.MG,
MI = TeamCherry.Localization.LanguageCode.MI,
MK = TeamCherry.Localization.LanguageCode.MK,
ML = TeamCherry.Localization.LanguageCode.ML,
MN = TeamCherry.Localization.LanguageCode.MN,
MO = TeamCherry.Localization.LanguageCode.MO,
MR = TeamCherry.Localization.LanguageCode.MR,
MS = TeamCherry.Localization.LanguageCode.MS,
MT = TeamCherry.Localization.LanguageCode.MT,
MY = TeamCherry.Localization.LanguageCode.MY,
NA = TeamCherry.Localization.LanguageCode.NA,
NE = TeamCherry.Localization.LanguageCode.NE,
NL = TeamCherry.Localization.LanguageCode.NL,
NL_BE = TeamCherry.Localization.LanguageCode.NL_BE,
NO = TeamCherry.Localization.LanguageCode.NO,
OC = TeamCherry.Localization.LanguageCode.OC,
OM = TeamCherry.Localization.LanguageCode.OM,
OR = TeamCherry.Localization.LanguageCode.OR,
PA = TeamCherry.Localization.LanguageCode.PA,
PL = TeamCherry.Localization.LanguageCode.PL,
PS = TeamCherry.Localization.LanguageCode.PS,
PT = TeamCherry.Localization.LanguageCode.PT,
PT_BR = TeamCherry.Localization.LanguageCode.PT_BR,
QU = TeamCherry.Localization.LanguageCode.QU,
RM = TeamCherry.Localization.LanguageCode.RM,
RN = TeamCherry.Localization.LanguageCode.RN,
RO = TeamCherry.Localization.LanguageCode.RO,
RO_MO = TeamCherry.Localization.LanguageCode.RO_MO,
RU = TeamCherry.Localization.LanguageCode.RU,
RU_MO = TeamCherry.Localization.LanguageCode.RU_MO,
RW = TeamCherry.Localization.LanguageCode.RW,
SA = TeamCherry.Localization.LanguageCode.SA,
SD = TeamCherry.Localization.LanguageCode.SD,
SG = TeamCherry.Localization.LanguageCode.SG,
SH = TeamCherry.Localization.LanguageCode.SH,
SI = TeamCherry.Localization.LanguageCode.SI,
SK = TeamCherry.Localization.LanguageCode.SK,
SL = TeamCherry.Localization.LanguageCode.SL,
SM = TeamCherry.Localization.LanguageCode.SM,
SN = TeamCherry.Localization.LanguageCode.SN,
SO = TeamCherry.Localization.LanguageCode.SO,
SQ = TeamCherry.Localization.LanguageCode.SQ,
SR = TeamCherry.Localization.LanguageCode.SR,
SS = TeamCherry.Localization.LanguageCode.SS,
ST = TeamCherry.Localization.LanguageCode.ST,
SU = TeamCherry.Localization.LanguageCode.SU,
SV = TeamCherry.Localization.LanguageCode.SV,
SV_FI = TeamCherry.Localization.LanguageCode.SV_FI,
SW = TeamCherry.Localization.LanguageCode.SW,
TA = TeamCherry.Localization.LanguageCode.TA,
TE = TeamCherry.Localization.LanguageCode.TE,
TG = TeamCherry.Localization.LanguageCode.TG,
TH = TeamCherry.Localization.LanguageCode.TH,
TI = TeamCherry.Localization.LanguageCode.TI,
TK = TeamCherry.Localization.LanguageCode.TK,
TL = TeamCherry.Localization.LanguageCode.TL,
TN = TeamCherry.Localization.LanguageCode.TN,
TO = TeamCherry.Localization.LanguageCode.TO,
TR = TeamCherry.Localization.LanguageCode.TR,
TS = TeamCherry.Localization.LanguageCode.TS,
TT = TeamCherry.Localization.LanguageCode.TT,
TW = TeamCherry.Localization.LanguageCode.TW,
UG = TeamCherry.Localization.LanguageCode.UG,
UK = TeamCherry.Localization.LanguageCode.UK,
UR = TeamCherry.Localization.LanguageCode.UR,
UZ = TeamCherry.Localization.LanguageCode.UZ,
VI = TeamCherry.Localization.LanguageCode.VI,
VO = TeamCherry.Localization.LanguageCode.VO,
WO = TeamCherry.Localization.LanguageCode.WO,
XH = TeamCherry.Localization.LanguageCode.XH,
YI = TeamCherry.Localization.LanguageCode.YI,
YO = TeamCherry.Localization.LanguageCode.YO,
ZA = TeamCherry.Localization.LanguageCode.ZA,
ZH = TeamCherry.Localization.LanguageCode.ZH,
ZH_TW = TeamCherry.Localization.LanguageCode.ZH_TW,
ZH_HK = TeamCherry.Localization.LanguageCode.ZH_HK,
ZH_CN = TeamCherry.Localization.LanguageCode.ZH_CN,
ZH_SG = TeamCherry.Localization.LanguageCode.ZH_SG,
ZU = TeamCherry.Localization.LanguageCode.ZU,
}
2 changes: 1 addition & 1 deletion Assembly-CSharp/Menu/MenuUtils.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
using UnityEngine;
using UnityEngine.UI;
using Patch = Modding.Patches;
using Lang = Language.Language;
using Lang = TeamCherry.Localization.Language;


namespace Modding.Menu
Expand Down
3 changes: 2 additions & 1 deletion Assembly-CSharp/Mod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
using MonoMod.Utils;
using System.Linq;
using Newtonsoft.Json.Linq;
using Lang = TeamCherry.Localization.Language;

// ReSharper disable file UnusedMember.Global

Expand Down Expand Up @@ -188,7 +189,7 @@ public virtual void Initialize() { }
/// change the text of the button to jump to this mod's menu.
/// </summary>
/// <returns></returns>
public virtual string GetMenuButtonText() => $"{GetName()} {Language.Language.Get("MAIN_OPTIONS", "MainMenu")}";
public virtual string GetMenuButtonText() => $"{GetName()} {Lang.Get("MAIN_OPTIONS", "MainMenu")}";

private void HookSaveMethods()
{
Expand Down
Loading
Loading