From f46e80e2b450f7e0b88ae307ae380ef1293bbc3c Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Sat, 14 Mar 2020 12:47:03 +0200 Subject: [PATCH] - fixed FLineTraceData scripting definition https://forum.zdoom.org/viewtopic.php?t=67795 --- src/scripting/thingdef_data.cpp | 4 ++++ src/scripting/vmthunks_actors.cpp | 1 + wadsrc/static/zscript/actors/actor.zs | 26 +++++++++++++------------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/scripting/thingdef_data.cpp b/src/scripting/thingdef_data.cpp index 5f61bbfab..6b17a65f4 100644 --- a/src/scripting/thingdef_data.cpp +++ b/src/scripting/thingdef_data.cpp @@ -47,6 +47,7 @@ #include "gstrings.h" #include "g_levellocals.h" #include "p_checkposition.h" +#include "p_linetracedata.h" #include "v_font.h" #include "menu/menu.h" #include "teaminfo.h" @@ -903,6 +904,9 @@ void InitThingdef() frp->Size = sizeof(FRailParams); frp->Align = alignof(FRailParams); + auto fltd = NewStruct("FLineTraceData", nullptr); + fltd->Size = sizeof(FLineTraceData); + fltd->Align = alignof(FLineTraceData); FieldTable.Clear(); if (FieldTable.Size() == 0) diff --git a/src/scripting/vmthunks_actors.cpp b/src/scripting/vmthunks_actors.cpp index e90184031..8d7a1711d 100644 --- a/src/scripting/vmthunks_actors.cpp +++ b/src/scripting/vmthunks_actors.cpp @@ -1957,6 +1957,7 @@ DEFINE_FIELD_X(FLineTraceData, FLineTraceData, HitSector); DEFINE_FIELD_X(FLineTraceData, FLineTraceData, Hit3DFloor); DEFINE_FIELD_X(FLineTraceData, FLineTraceData, HitTexture); DEFINE_FIELD_X(FLineTraceData, FLineTraceData, HitLocation); +DEFINE_FIELD_X(FLineTraceData, FLineTraceData, HitDir); DEFINE_FIELD_X(FLineTraceData, FLineTraceData, Distance); DEFINE_FIELD_X(FLineTraceData, FLineTraceData, NumPortals); DEFINE_FIELD_X(FLineTraceData, FLineTraceData, LineSide); diff --git a/wadsrc/static/zscript/actors/actor.zs b/wadsrc/static/zscript/actors/actor.zs index 8d3a5be4b..966770bb2 100644 --- a/wadsrc/static/zscript/actors/actor.zs +++ b/wadsrc/static/zscript/actors/actor.zs @@ -46,19 +46,19 @@ struct FLineTraceData TRACE_HasHitSky }; - Actor HitActor; - Line HitLine; - Sector HitSector; - F3DFloor Hit3DFloor; - TextureID HitTexture; - Vector3 HitLocation; - Vector3 HitDir; - double Distance; - int NumPortals; - int LineSide; - int LinePart; - int SectorPlane; - int HitType; + native Actor HitActor; + native Line HitLine; + native Sector HitSector; + native F3DFloor Hit3DFloor; + native TextureID HitTexture; + native Vector3 HitLocation; + native Vector3 HitDir; + native double Distance; + native int NumPortals; + native int LineSide; + native int LinePart; + native int SectorPlane; + native int HitType; } struct LinkContext