LumpOpen

Revision as of 00:17, 8 April 2024 by TDRR (talk | contribs) (Clarify some behavior.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
This article documents a Zandronum-specific ACS feature which may not be supported by ZDoom and its other child ports.
This article documents an ACS function which is only available in development builds of Zandronum 3.2 and newer.

int LumpOpen (str name[, int start, int flags]) (development version 3.2-alpha and above only)

Usage

Returns the index of the given lump, starting the search after start.

Parameters

  • name: The name of the lump to find.
  • start: The lump index to start searching for this lump after. If not specified, the last lump loaded with the name will be returned.
  • flags: Can be a combination of the following values:
    • LUMP_OPEN_FULLPATH: When specified, name represents the full path of the lump. For example, sounds/mysound.ogg. start does nothing with this flag enabled.

Return value

Returns the index of the lump, or -1 if the lump was not found.

Examples

// This script prints the lump index of all the `MAPINFO` lumps that can be found.
// `CLIENTSIDE` is optional.
Script 1 OPEN CLIENTSIDE
{
	int startIndex = -1;
	Log(s:"Collecting MAPINFO lumps.");
	
	while(true)
	{
		startIndex = LumpOpen("MAPINFO", startIndex + 1);
		if (startIndex == -1)
		{
			Log(s:"No more MAPINFO lumps found.");
			break;
		}
		
		Log(s:"Next MAPINFO lump was found at index ", d:startIndex, s:".");

		// At this point you can read its contents with either `LumpRead` or `LumpReadString`.

		// Make sure to close the lump again to free the handle.
		LumpClose(startIndex);
	}
}

See also