diff --git a/src/gamedata/w_wad.cpp b/src/gamedata/w_wad.cpp index d7d9911d8..5c37a5998 100644 --- a/src/gamedata/w_wad.cpp +++ b/src/gamedata/w_wad.cpp @@ -371,6 +371,12 @@ int FWadCollection::GetNumLumps () const return NumLumps; } +DEFINE_ACTION_FUNCTION(_Wads, GetNumLumps) +{ + PARAM_PROLOGUE; + ACTION_RETURN_INT(Wads.GetNumLumps()); +} + //========================================================================== // // GetNumFiles @@ -1220,6 +1226,15 @@ void FWadCollection::GetLumpName(FString &to, int lump) const } } +DEFINE_ACTION_FUNCTION(_Wads, GetLumpName) +{ + PARAM_PROLOGUE; + PARAM_INT(lump); + FString lumpname; + Wads.GetLumpName(lumpname, lump); + ACTION_RETURN_STRING(lumpname); +} + //========================================================================== // // FWadCollection :: GetLumpFullName @@ -1238,6 +1253,13 @@ const char *FWadCollection::GetLumpFullName (int lump) const return LumpInfo[lump].lump->Name; } +DEFINE_ACTION_FUNCTION(_Wads, GetLumpFullName) +{ + PARAM_PROLOGUE; + PARAM_INT(lump); + ACTION_RETURN_STRING(Wads.GetLumpFullName(lump)); +} + //========================================================================== // // FWadCollection :: GetLumpFullPath @@ -1271,6 +1293,13 @@ int FWadCollection::GetLumpNamespace (int lump) const return LumpInfo[lump].lump->Namespace; } +DEFINE_ACTION_FUNCTION(_Wads, GetLumpNamespace) +{ + PARAM_PROLOGUE; + PARAM_INT(lump); + ACTION_RETURN_INT(Wads.GetLumpNamespace(lump)); +} + //========================================================================== // // FWadCollection :: GetLumpIndexNum diff --git a/wadsrc/static/zscript/base.zs b/wadsrc/static/zscript/base.zs index 0f617050a..e3d4c0a32 100644 --- a/wadsrc/static/zscript/base.zs +++ b/wadsrc/static/zscript/base.zs @@ -873,6 +873,11 @@ struct Wads native static int CheckNumForFullName(string name); native static int FindLump(string name, int startlump = 0, FindLumpNamespace ns = GlobalNamespace); native static string ReadLump(int lump); + + native static int GetNumLumps(); + native static string GetLumpName(int lump); + native static string GetLumpFullName(int lump); + native static int GetLumpNamespace(int lump); } struct TerrainDef native