From a59f73b2f6c0e87093fdf280bfe43da7bbc1868e Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Fri, 9 Jul 2021 18:20:01 +0200 Subject: [PATCH] Rework misclibrary gettime to not segfault --- PkmnLibSharp/Battling/MiscLibrary.cs | 14 ++++---------- PkmnLibSharp/Native/Linux/libArbutils.so | 4 ++-- PkmnLibSharp/Native/Linux/libCreatureLib.so | 4 ++-- PkmnLibSharp/Native/Linux/libpkmnLib.so | 4 ++-- PkmnLibSharp/Native/Linux/libpkmnlib_ai.so | 4 ++-- PkmnLibSharpTests/Battling/BattleLibraryHelper.cs | 7 ++++++- 6 files changed, 18 insertions(+), 19 deletions(-) diff --git a/PkmnLibSharp/Battling/MiscLibrary.cs b/PkmnLibSharp/Battling/MiscLibrary.cs index 2b097b2..829416d 100644 --- a/PkmnLibSharp/Battling/MiscLibrary.cs +++ b/PkmnLibSharp/Battling/MiscLibrary.cs @@ -11,22 +11,16 @@ namespace PkmnLibSharp.Battling { public class MiscLibrary : PointerWrapper { - private delegate TimeOfDay GetTimeDelegate(); + public delegate TimeOfDay GetTimeDelegate(); internal MiscLibrary(IntPtr ptr) : base(ptr) { } - public MiscLibrary() + public MiscLibrary(GetTimeDelegate @delegate) { - GetTimeDelegate getTime = GetTime; - Initialize(Pkmnlib.Generated.MiscLibrary.Construct(Marshal.GetFunctionPointerForDelegate(getTime))); + Initialize(Pkmnlib.Generated.MiscLibrary.Construct(Marshal.GetFunctionPointerForDelegate(@delegate))); } - - public virtual TimeOfDay GetTime() - { - return TimeOfDay.Morning; - } - + public bool IsCritical(IntPtr move, Pokemon target, byte hitNumber) { byte b = 0; diff --git a/PkmnLibSharp/Native/Linux/libArbutils.so b/PkmnLibSharp/Native/Linux/libArbutils.so index b466d0b..e72d260 100755 --- a/PkmnLibSharp/Native/Linux/libArbutils.so +++ b/PkmnLibSharp/Native/Linux/libArbutils.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:61ddcbdcf9bb479384d81b7655b469487059ee94ac53bf963e2ebee85afdd9bc -size 3570864 +oid sha256:dee8d70915d921e13b1d8d68c3a7156699619426d696eea4fe1459afb94ca9ae +size 4481024 diff --git a/PkmnLibSharp/Native/Linux/libCreatureLib.so b/PkmnLibSharp/Native/Linux/libCreatureLib.so index f190836..f85edd8 100755 --- a/PkmnLibSharp/Native/Linux/libCreatureLib.so +++ b/PkmnLibSharp/Native/Linux/libCreatureLib.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4f605a7df40b654db4659bbbf1478e7bdafdc85f966db822e9e34f3f13fc9fed -size 2629656 +oid sha256:c0bcb86e630afd6336f2ea02d215ff7825eed5b7cd9095e3dabf7874bfe69c03 +size 10156656 diff --git a/PkmnLibSharp/Native/Linux/libpkmnLib.so b/PkmnLibSharp/Native/Linux/libpkmnLib.so index 5ab4707..81c6855 100755 --- a/PkmnLibSharp/Native/Linux/libpkmnLib.so +++ b/PkmnLibSharp/Native/Linux/libpkmnLib.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cbaf5cc97eb31d0aa7f97025bc331d44ce7062a001312aca68a404d88894c132 -size 4312320 +oid sha256:cdda8ee9ba197451e2aadee79485b901f887841a54d669df69eed354224bb68e +size 15492128 diff --git a/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so b/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so index 6120f05..0c52e4d 100755 --- a/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so +++ b/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c6a789fc1fc2e15ba750c9cc9b1239ae35e0878ffeb8c7f401490b0b2f7ecaa2 -size 191816 +oid sha256:694b77a3c45599a90f05e6ad1458e1dc7daee190cc45c4447c2449a57379b69e +size 2566960 diff --git a/PkmnLibSharpTests/Battling/BattleLibraryHelper.cs b/PkmnLibSharpTests/Battling/BattleLibraryHelper.cs index 5f2473b..12bce59 100644 --- a/PkmnLibSharpTests/Battling/BattleLibraryHelper.cs +++ b/PkmnLibSharpTests/Battling/BattleLibraryHelper.cs @@ -24,12 +24,17 @@ namespace PkmnLibSharpTests.Battling var scriptLibrary = new AngelScriptResolver(); _cache = new BattleLibrary(BuildStatic(), new StatCalculator(), new DamageLibrary(), new ExperienceLibrary(), - scriptLibrary, new MiscLibrary()); + scriptLibrary, new MiscLibrary(GetTime)); scriptLibrary.Initialize(_cache); return _cache; } } + public static TimeOfDay GetTime() + { + return TimeOfDay.Morning; + } + private static PokemonLibrary BuildStatic() { var settings = new LibrarySettings(100, 4, 4096);