Skip to content
Permalink
Browse files

- exported several Wads.GetLump...() methods to ZScript

* GetLumpName() returns 8-characters lump name
* GetLumpFullName() returns full name with path and extension
* GetLumpNamespace() returns lump's namespace
* GetNumLumps() returns total number of lumps

https://forum.zdoom.org/viewtopic.php?t=66285
  • Loading branch information
alexey-lysiuk committed Nov 25, 2019
1 parent 4d8dfd2 commit 20d3752fddd6010c34735e5cda5faf0725d7a4ca
Showing with 34 additions and 0 deletions.
  1. +29 −0 src/gamedata/w_wad.cpp
  2. +5 −0 wadsrc/static/zscript/base.zs
@@ -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
@@ -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

0 comments on commit 20d3752

Please sign in to comment.
You can’t perform that action at this time.