mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 04:22:34 +00:00
- added things related getters to level post-processing
New functions cover existing interface only Unsigned integers are now used instead signed for indices and bitfields
This commit is contained in:
parent
59bdebb20a
commit
a2a50f34d5
2 changed files with 60 additions and 14 deletions
|
@ -3375,27 +3375,54 @@ DEFINE_ACTION_FUNCTION(DLevelPostProcessor, AddLineID)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, GetThingCount)
|
||||||
|
{
|
||||||
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
|
ACTION_RETURN_INT(self->loader->MapThingsConverted.Size());
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, GetThingSkills)
|
||||||
|
{
|
||||||
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
|
PARAM_UINT(thing);
|
||||||
|
|
||||||
|
const int result = thing < self->loader->MapThingsConverted.Size()
|
||||||
|
? self->loader->MapThingsConverted[thing].SkillFilter : 0;
|
||||||
|
ACTION_RETURN_INT(result);
|
||||||
|
}
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingSkills)
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingSkills)
|
||||||
{
|
{
|
||||||
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
PARAM_INT(thing);
|
PARAM_UINT(thing);
|
||||||
PARAM_INT(skillmask);
|
PARAM_UINT(skillmask);
|
||||||
|
|
||||||
if ((unsigned)thing < self->loader->MapThingsConverted.Size())
|
if (thing < self->loader->MapThingsConverted.Size())
|
||||||
{
|
{
|
||||||
self->loader->MapThingsConverted[thing].SkillFilter = skillmask;
|
self->loader->MapThingsConverted[thing].SkillFilter = skillmask;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, GetThingPos)
|
||||||
|
{
|
||||||
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
|
PARAM_UINT(thing);
|
||||||
|
|
||||||
|
const DVector3 result = thing < self->loader->MapThingsConverted.Size()
|
||||||
|
? self->loader->MapThingsConverted[thing].pos
|
||||||
|
: DVector3(0, 0, 0);
|
||||||
|
ACTION_RETURN_VEC3(result);
|
||||||
|
}
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingXY)
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingXY)
|
||||||
{
|
{
|
||||||
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
PARAM_INT(thing);
|
PARAM_UINT(thing);
|
||||||
PARAM_FLOAT(x);
|
PARAM_FLOAT(x);
|
||||||
PARAM_FLOAT(y);
|
PARAM_FLOAT(y);
|
||||||
|
|
||||||
if ((unsigned)thing < self->loader->MapThingsConverted.Size())
|
if (thing < self->loader->MapThingsConverted.Size())
|
||||||
{
|
{
|
||||||
auto& pos = self->loader->MapThingsConverted[thing].pos;
|
auto& pos = self->loader->MapThingsConverted[thing].pos;
|
||||||
pos.X = x;
|
pos.X = x;
|
||||||
|
@ -3407,23 +3434,33 @@ DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingXY)
|
||||||
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingZ)
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingZ)
|
||||||
{
|
{
|
||||||
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
PARAM_INT(thing);
|
PARAM_UINT(thing);
|
||||||
PARAM_FLOAT(z);
|
PARAM_FLOAT(z);
|
||||||
|
|
||||||
if ((unsigned)thing < self->loader->MapThingsConverted.Size())
|
if (thing < self->loader->MapThingsConverted.Size())
|
||||||
{
|
{
|
||||||
self->loader->MapThingsConverted[thing].pos.Z = z;
|
self->loader->MapThingsConverted[thing].pos.Z = z;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, GetThingFlags)
|
||||||
|
{
|
||||||
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
|
PARAM_UINT(thing);
|
||||||
|
|
||||||
|
const unsigned result = thing < self->loader->MapThingsConverted.Size()
|
||||||
|
? self->loader->MapThingsConverted[thing].flags : 0;
|
||||||
|
ACTION_RETURN_INT(result);
|
||||||
|
}
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingFlags)
|
DEFINE_ACTION_FUNCTION(DLevelPostProcessor, SetThingFlags)
|
||||||
{
|
{
|
||||||
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
PARAM_SELF_PROLOGUE(DLevelPostProcessor);
|
||||||
PARAM_INT(thing);
|
PARAM_UINT(thing);
|
||||||
PARAM_INT(flags);
|
PARAM_UINT(flags);
|
||||||
|
|
||||||
if ((unsigned)thing < self->loader->MapThingsConverted.Size())
|
if (thing < self->loader->MapThingsConverted.Size())
|
||||||
{
|
{
|
||||||
self->loader->MapThingsConverted[thing].flags = flags;
|
self->loader->MapThingsConverted[thing].flags = flags;
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,10 +12,19 @@ class LevelPostProcessor native play
|
||||||
protected native void ClearLineIDs(int line);
|
protected native void ClearLineIDs(int line);
|
||||||
protected native void AddLineID(int line, int tag);
|
protected native void AddLineID(int line, int tag);
|
||||||
protected native void OffsetSectorPlane(int sector, int plane, double offset);
|
protected native void OffsetSectorPlane(int sector, int plane, double offset);
|
||||||
protected native void SetThingSkills(int thing, int skills);
|
|
||||||
protected native void SetThingXY(int thing, double x, double y);
|
protected native uint GetThingCount();
|
||||||
protected native void SetThingZ(int thing, double z);
|
|
||||||
protected native void SetThingFlags(int thing, int flags);
|
protected native uint GetThingSkills(uint thing);
|
||||||
|
protected native void SetThingSkills(uint thing, uint skills);
|
||||||
|
|
||||||
|
protected native vector3 GetThingPos(uint thing);
|
||||||
|
protected native void SetThingXY(uint thing, double x, double y);
|
||||||
|
protected native void SetThingZ(uint thing, double z);
|
||||||
|
|
||||||
|
protected native uint GetThingFlags(uint thing);
|
||||||
|
protected native void SetThingFlags(uint thing, uint flags);
|
||||||
|
|
||||||
protected native void SetVertex(uint vertex, double x, double y);
|
protected native void SetVertex(uint vertex, double x, double y);
|
||||||
protected native void SetLineSectorRef(uint line, uint side, uint sector);
|
protected native void SetLineSectorRef(uint line, uint side, uint sector);
|
||||||
protected native Actor GetDefaultActor(Name actorclass);
|
protected native Actor GetDefaultActor(Name actorclass);
|
||||||
|
|
Loading…
Reference in a new issue