Commit Graph

63 Commits

Author SHA1 Message Date
EvilFactory
c739ea3952 Unstable fixes 2022-12-09 20:19:36 -03:00
EvilFactory
505b6af2ee Fix LuaUserData.IsTargetType not behaving as originally due to it comparing types 2022-12-06 18:58:28 -03:00
EvilFactory
08f18e2e69 Rename members to use correct case 2022-11-26 22:16:40 -03:00
EvilFactory
ee1a87be19 Fix Game.RoundStarted reporting incorrect values on Singleplayer 2022-11-21 17:38:44 -03:00
EvilFactory
2931ef00ea Added TypeOf 2022-11-14 14:31:38 -03:00
EvilFactory
3ba75e5c44 You can now specify the types in LuaUserData.MakeMethodAccessible and cleaned the code up a bit 2022-11-14 14:20:52 -03:00
EvilFactory
b77dde156b Get docs in line and added networking manual 2022-10-29 19:44:23 -03:00
EvilFactory
09979cb4c9 Fix client-side commands working when they shouldn't 2022-10-28 15:14:43 -03:00
EvilFactory
5e29d1d8ba Fix mixed spaces and tabs 2022-10-28 12:29:35 -03:00
EvilFactory
8158213471 Added AccountId, Endpoint and TimeSpan for later 2022-10-25 12:50:17 -03:00
EvilFactory
18ee41c610 Remove unnecessary null checks and added missing return statement 2022-10-07 11:30:59 -03:00
EvilFactory
1eed13fcd0 added support for None<T> and Some<T> and added some missing types from last update 2022-10-05 20:55:15 -03:00
EvilFactory
729110484f texture loader and option support 2022-10-05 12:17:40 -03:00
EvilFactory
6c38a555bb Re-add ForceVoice and ForceLocalVoice as compatibility 2022-09-29 16:20:47 -03:00
EvilFactory
faad59f20d fix projects and compile errors 2022-09-29 14:08:59 -03:00
peelz
cd8316ea4c Fix NRE in LuaUserData.GetType 2022-09-17 00:11:09 -04:00
peelz
13d0510d37 Make lua converters private 2022-08-20 11:32:18 -04:00
peelz
d547c97c80 Fix Hook.Add compatibility with C# mods 2022-08-20 11:32:18 -04:00
EvilFactory
9fb25252a6 added custom converters for GUICustomComponent's delegates 2022-08-20 12:03:05 -03:00
peelz
860449aaed Fix NRE in GUI lua converters 2022-08-17 19:49:08 -04:00
EvilFactory
53b92e3a44 added RespawnManager to Game 2022-08-14 10:54:50 -03:00
EvilFactory
582d6a5c26 fix inverted check for SaveGame 2022-08-11 19:14:14 -03:00
EvilFactory
53c586b22f add save folder to whitelist 2022-08-11 12:59:20 -03:00
EvilFactory
4bccc33c4f added Game.ServerSettings for clients and Game.Client/Game.Server 2022-08-10 16:52:54 -03:00
peelz
4f17a88781 Fix incorrect LuaXXX type converter used in overload disambiguation 2022-08-10 05:36:17 -04:00
peelz
4a6e13a0dc Refactor LuaDocs generator 2022-08-10 05:36:16 -04:00
peelz
2f5add1999 Don't conflate fields with tables 2022-08-10 05:36:16 -04:00
peelz
1bb7843811 Move docs to luacs-docs/{lua,cs,landing-page}
luacs-docs/cs also has a proper http server for testing locally
2022-08-10 05:36:16 -04:00
peelz
d9dc84425d Make LuaCsSetup easier to integrate into unit tests 2022-08-09 17:50:00 -04:00
peelz
d98daf008e Add lua types for C# primitives 2022-08-09 17:50:00 -04:00
peelz
08836088fb Refactor hooking API
This completely changes how method patching works under the hood. Unlike
the previous API (`Hook.HookMethod`), the new API (`Hook.Patch`)
generates a Harmony patch method at runtime, using IL generation.

This fixes methods with ByRef (out/ref) parameters getting silently corrupted
due to the ByRef semantics being lost when passed through the `object[] __args`
parameter.

This new API also makes it possible to:
  - modify parameters (including ByRef params)
  - change the return value to `null` (old API would use `return nil`
    for Harmony control flow)
  - prevent execution of the original method (and other harmony
    patches), independently of modifying the return value
2022-08-09 17:50:00 -04:00
peelz
768abd5ce1 Remove LuaResult 2022-08-09 17:50:00 -04:00
peelz
7ce7e6e763 Support resolving methods with ref/out parameters 2022-08-09 17:50:00 -04:00
EvilFactory
069567c681 LuaCs is now initialized after sub editor screen is first selected, added Game.IsSubEditor, Game.SubEditorScreen and registered editor screens 2022-07-27 20:01:20 -03:00
Evil Factory
47e0351403 fix some of the formatting and remove usage of CsScriptFilter as it's pretty much useless 2022-06-29 12:12:47 -03:00
Evil Factory
916fd7522e add Game.ForceVoice and Game.ForceLocalVoice
guess what i am going to use this for
2022-06-16 20:34:31 -03:00
Evil Factory
1136342b60 added Game.ActiveChatMode 2022-06-16 13:15:48 -03:00
Evil Factory
efd1243754 Minor refactor for LuaUserData.lua 2022-06-14 13:09:52 -03:00
Evil Factory
59d4ec8ad7 Game.LoadGame, Game.SaveGame and Game.LoadCampaign 2022-06-05 14:25:40 -03:00
Cintique
c39bf9f800 Allow wrapping unregistered types.
`LuaUserData.CreateUserDataFromType` will instantiate a default `StandardUserDataDescriptor` to allow wrapping unregistered types. Whoops!
2022-06-02 21:34:34 +10:00
Cintique
62c0dc0580 Better doc 2022-06-01 19:46:40 +10:00
Cintique
ebcbcae46d Typo 2022-05-31 14:59:17 +10:00
Cintique
fb6c335f0f Add LuaUserData.CreateUserDataOfType.
Converts a Lua value to a desired CLR type and wraps it in a userdata to avoid automatic conversions.
Example: a Lua script needs to pass a List`1 to a CLR method expecting System.Object, MoonSharp gets
in the way by converting the List`1 to a MoonSharp.Interpreter.Table and breaking everything.
Wrapping the value in a userdata preserves the original type during conversions.
2022-05-31 14:54:09 +10:00
Evil Factory
6ddfc985d3 fix AddCommand arguments being wrong and fixed getValidArgs not doing anything 2022-05-28 15:06:22 -03:00
Evil Factory
05e9978671 Sounds and LightManager 2022-05-22 13:29:55 -03:00
Evil Factory
ca0da04ad0 better LuaUserData error handling and add Steam.GetWorkshopCollection 2022-05-19 14:26:21 -03:00
Evil Factory
6ee6b5cd15 improve custom converters 2022-05-18 19:09:28 -03:00
Evil Factory
74bf5d12ca added Steam.DownloadWorkshopItem and Steam.GetWorkshopItem 2022-05-17 19:15:44 -03:00
Evil Factory
fd6b833c98 misc doc fixes 2022-05-16 13:53:39 -03:00
Evil Factory
e7510cad76 fix Game.RoundStarted and improve error handling 2022-05-07 15:36:47 -03:00