From c9a9b3c9d0d4fed0b02d9935923bfd7dcbc45d1e Mon Sep 17 00:00:00 2001 From: Mattes D Date: Tue, 14 Apr 2020 16:43:21 +0200 Subject: Bindings: Allow coercion between Vector3 subtypes. (#4646) In manually bound functions, allows one to use any Vector3 value, as well as a {x, y, z} table, in Lua as any Vector3 parameter. Has example in Debuggers' /vector command. Unfortunately doesn't work in auto-bindings. --- src/Bindings/ManualBindings_BlockArea.cpp | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'src/Bindings/ManualBindings_BlockArea.cpp') diff --git a/src/Bindings/ManualBindings_BlockArea.cpp b/src/Bindings/ManualBindings_BlockArea.cpp index 9958ec3af..026e9bf2d 100644 --- a/src/Bindings/ManualBindings_BlockArea.cpp +++ b/src/Bindings/ManualBindings_BlockArea.cpp @@ -48,14 +48,10 @@ static int readCuboidOverloadParams(cLuaState & a_LuaState, int a_StartParam, cC else { // Assume the 2-Vector3i version: - Vector3i * p1; - Vector3i * p2; - if (!a_LuaState.GetStackValues(a_StartParam, p1, p2)) + if (!a_LuaState.GetStackValues(a_StartParam, a_Cuboid.p1, a_Cuboid.p2)) { return a_LuaState.ApiParamError("Cannot read the bounds parameter, expected two Vector3i instances"); } - a_Cuboid.p1 = *p1; - a_Cuboid.p2 = *p2; return a_StartParam + 2; } } @@ -85,12 +81,10 @@ static int readVector3iOverloadParams(cLuaState & a_LuaState, int a_StartParam, else { // Assume the Vector3i version: - Vector3i * c; - if (!a_LuaState.GetStackValues(a_StartParam, c)) + if (!a_LuaState.GetStackValues(a_StartParam, a_Coords)) { return a_LuaState.ApiParamError("Cannot read the %s, expected a Vector3i instance", a_ParamName); } - a_Coords = *c; return a_StartParam + 1; } } -- cgit v1.2.3