From d63060eb1e0e5e0bb60af4cc19ddcc6005739303 Mon Sep 17 00:00:00 2001 From: NGnius Date: Fri, 8 Nov 2019 18:31:23 -0500 Subject: [PATCH] Update to .NET 4.8 and and latest GC folder layout --- .gitignore | 5 ++++- IllusionPlugin.dll | Bin 0 -> 6656 bytes README.md | 12 +++++++----- TestMod/TestMod.csproj | 8 ++++---- TestMod/TestPlugin.cs | 6 +++--- 5 files changed, 18 insertions(+), 13 deletions(-) create mode 100644 IllusionPlugin.dll diff --git a/.gitignore b/.gitignore index 4ce6fdd..0bda091 100644 --- a/.gitignore +++ b/.gitignore @@ -337,4 +337,7 @@ ASALocalRun/ .localhistory/ # BeatPulse healthcheck temp database -healthchecksdb \ No newline at end of file +healthchecksdb + +# references +ref diff --git a/IllusionPlugin.dll b/IllusionPlugin.dll new file mode 100644 index 0000000000000000000000000000000000000000..aa7fa2e7bde11b7bad935de118a11c36e033c226 GIT binary patch literal 6656 zcmeHLYiu0V6+ZLW^?JS8_>~8Qlp#*(632^QA&&y}W1VChCvm)f@GwngcgO1?vop)g ztQ)5SB|i$JfSR-w0zrQi2{lx-fK)_iOIv{ywH5qme-x=g2(?mCrAqWiA5bFF@7$TS z*Kvr1R3s|(+H>xC-E+>p_uO-5Xa60iNg*N?&&7*G=g@N-5b(<21jNZ}f0CphH@n7$*Ppi02$<@nRLAPzk*YbwuR&C9+wamesR(6U;dey4<=Fs%m2+^pd(24B# z@2Yuwhc;SRIH#0bX(M|w@&rP9$ud^!uFZChGEVOpm zJ;=xa(OF)IOWP5m1bA=VNOaAmvMbRVQLIiL1HHG7PW#3&AGFm10GXI;7&j=JE z*K-S?L~H{e>LJPrHWYK#^mmBY4=>dOUS)fM}?W6zE=FS2T`IrU<>WiRc21 zNP_#xL0h*ZV!-$olD~#djdxOXOIx=>Ul2aPS5ir$_}Y)8cyw!v;zFsCS`AJL8x<#6 zxtE7+ab+P9gq*@U#Sx;CLPA7o%WhKCh@6UmNMT8$*KZ+e>y8q#hV!|Fw2SCGWKcY= zsKQWGu);AAMz4=LZICy0QUl_XsTX5mu!Zi!;;HQ-ybYAXYR6sZS5j+$c?}qOf)xTa zF`9iVv<>4CT??h)HYzJlBf5ArnBQ9V)UZ{JCOTUqs~Wd9%8Hu0ng^(fPKqIXVT0p` zhvha}DYfo$!>?Kz&i;8Ua&E;~q`^wpVAfo>b*thGAYAO3(!Mr@W#Pb)^OY2w#Jg5S z-M$*pDXqgqR#Tlk(b>*(YQktWwSg_yX2o$~**G1S$JPFkA`;_{+G?$qc{$<^W`O;z zXTxBPJyg?HL%rjRjIIU|VrN8z9g1lv_vIle%w|3t^S$Zr^tSHpz1u-xw=KYDvFRQ6 z;kY2|zayDCa=vTYC66@{O+-7;cTDCe0~{Gj9eXCT8T1pN&mvVjhAbx!nj7XRO<()e z8muMJzokCHzC(quf1Fz^C(MWV*fF1R%$Qc;;W2!?Sr4HIIqS0?KSVbuK_8{pr4N-T z?UWf_CH-1iO&jdpIcS&!7-z1WP3_{~D+SoeL-`%FkonUk|Bi`K92ZAol(W?Ghy!1gPV%$(Iqg z^N~|nlO-y*j4C3oC0P{|&XQ>7BeE1-EZyfL?_x&n6uXXvXJQZ0E1>oY>QQ=6eihWi zA?2vQK`H-LNbOR8hnq;<#N!^No0UJ1Mn^*Gr|NCAnNEh(u=+>3o*oOSdG#-J13ec~ zAIN{Bt@O)~$|(OL9Ck!|KlVKdfFGrkfD-UO z%e&}tdR5(nGxU4fN6*lou+J~h+howofF3w+g7dP_d_lk@-HyGI=`Q*P>WfJa11|$l zz#ilG0+->9;Uj=)oRWl;Mz*d2+(7++9drv|CmjOp6Yz@y4h#N1ng%~7IClzIAP1bI z^tg02eUAF+RvM&3^cB?Dc57a9qDBUVl#^#t#6ed9`mWLj(|>CPISwf(+cx_Q4-tXjsc zv~Ohmz{qG{Z#pwNO1TBkH_GYkL7H|=-xzbvd7V3F*0hY^a+sz)hJSfM*(*4%W#;Li zJ!;Gw*0k=8I(pG4)-kfS>6^M`9tXE%_=mH$=j(RCpu=VjWA>zN7VyGMIb27UK^V0g z5r`27^s+%#g=vA>ObkqD7JRkJwgd%(*A9}DCY%sKvW8f05z8LPj_LlK$R>e!$T)!<#? z;^d{QWmS2r#;j_|w9`e)V&_ASV-ZXRy*MtE4OA#QV$X3d7i;t~3&LHv{RlT_6nHah zM{eAhwL*?plZcnGp{i*W4Ofgt0{KAG1>bRN12d*xvK`Mi3to*C?o=8l-EbXva_7y0 zu|gbVkKr!LgA;)DM{R&Q;FxR7dNgv(^n8zJzuR(jpQj%n2lIC$R-CTEO2sk@BK;0k zO&`0?*n;jpDi|QRgIX3xizBkWN0H8*wW*RHO=c2F*g6 z#%*EaAqDTK3je0K@aDh|Km6z015bbZgVPUv>wzao)g&pVXe32|w6rjpWFRXIQWB4> zk|ZZ__qS#nP}!5o)@-CfZXHZwOj3@2Oij$W&R0DNdJW=kYLh6r{7m8XN=Vk>&2h03X|Fz`X}#S&_)U3(M4OEr z1w-Glv)FZ0p?9{ce|zuFuATk)zOLE6ZQEwI7xO(k4QM9dqzAum@W;!-t@d4oZ^3Ke z=6$^8y^r70_4@K49jc#}ks_%v{0d7#0sIV9BzKI`$fquU1X9Sa#E^AtoPMT<=PkvGkzO>Be`J;IE(Z z;v37=7%9;(?3M9{TN_ry#{yX2R41zl{|lI{F7!g@@U$9Qwa7ED;88)uQCSve7Li+2 zg*1qLOi(2eFWc%y=~=Qf1v~DdF3WpR%exmJg2y)K^Gf+b*G61cU36FSm&P5z(Qw;~ z_iuawfQ^!{z$;O~?+RYY63xLn>c|S7hF>Wf{(2EpkN8%$1y<_q1UpuQ-7@UD_$5(W zRYH^;`@zr$?-<8kTSKOJCkV6q_%*Aa!>wWu#$buUm;L+u=3n7i+(K{G~f^ x>H6;wV+JuRzJtriCJU>kA(NNy+@<5#->24asQJ6tTwTrk)O`Kl@MmrX{sWhp^B({J literal 0 HcmV?d00001 diff --git a/README.md b/README.md index f2575cd..05d596f 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,16 @@ # TestMod -Proof of concept mod and reference implementation +Mod base implementation ## Installation -1. Patch Gamecraft with [IPA](https://github.com/Eusth/IPA). -You will need to build it yourself; the latest release does not work (in the future the latest build will be available for download) -2. Build TestMod solution and copy `obj\Debug\net45\TestMod.dll` into Gamecraft's `Plugins\` folder (IPA should have created this automatically in the previous step) +1. Patch Gamecraft with [GCIPA](https://git.exmods.org/modtainers/GCIPA). +You should download the latest release and extract it to the Gamecraft folder. +To patch, drag `Gamecraft.exe` onto `IPA.exe`. You will need to redo this step whenever Gamecraft is updated. +2. Extract the TestMod zip into Gamecraft's `Plugins\` folder (GCIPA should have created this automatically in the previous step). You should see `0Harmony.dll` and `TestMod.dll` in the `Plugins\` folder. If those files are in another folder in `Plugins\` it will not work. 3. Launch Gamecraft. -You can check the log file `%APPDATA%\..\LocalLow\FreeJam\RobocraftX\Player.log` to confirm +You can check the log file `%APPDATA%\..\LocalLow\FreeJam\Gamecraft\Player.log` to confirm. +You should be able to see a message near the top showing how many plugins have been loaded and their names. ## Development diff --git a/TestMod/TestMod.csproj b/TestMod/TestMod.csproj index c034e29..443fb59 100644 --- a/TestMod/TestMod.csproj +++ b/TestMod/TestMod.csproj @@ -1,7 +1,7 @@  - net45 + net48 @@ -10,13 +10,13 @@ - ..\..\..\IPA\IPA\bin\Debug\IPA\Data\Managed\IllusionPlugin.dll + ..\IllusionPlugin.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Gamecraft\RobocraftX_Data\Managed\UnityEngine.dll + ..\ref\Gamecraft_Data\Managed\UnityEngine.dll - ..\..\..\..\..\..\..\Program Files (x86)\Steam\steamapps\common\Gamecraft\RobocraftX_Data\Managed\UnityEngine.CoreModule.dll + ..\ref\Gamecraft_Data\Managed\UnityEngine.CoreModule.dll diff --git a/TestMod/TestPlugin.cs b/TestMod/TestPlugin.cs index 07c60ad..9379208 100644 --- a/TestMod/TestPlugin.cs +++ b/TestMod/TestPlugin.cs @@ -10,7 +10,7 @@ namespace TestMod { public static HarmonyInstance harmony { get; protected set; } - public string[] Filter { get; } = new string[] { "RobocraftX", "Gamecraft" }; + public string[] Filter { get; } = new string[] { "Gamecraft" }; public string Name { get; } = "TestPlugin"; @@ -21,7 +21,7 @@ namespace TestMod public void OnApplicationQuit() { harmony.UnpatchAll(HarmonyID); - Debug.Log("TestPlugin shutdown complete"); + Debug.Log(Name + " shutdown complete"); } public void OnApplicationStart() @@ -31,7 +31,7 @@ namespace TestMod harmony = HarmonyInstance.Create(HarmonyID); harmony.PatchAll(Assembly.GetExecutingAssembly()); } - Debug.Log("TestPlugin start & patch complete"); + Debug.Log(Name + " start & patch complete"); } public void OnFixedUpdate()