mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-16 17:41:19 +00:00
9064a5b0ac
- added a String class to allow attaching methods to the builtin string type. This works by checking if the left side of the member accessor is a string and just replacing the tyoe in this one place, all the rest is automatic.
288 lines
6.8 KiB
Text
288 lines
6.8 KiB
Text
class Object native
|
|
{
|
|
native bool bDestroyed;
|
|
|
|
// These really should be global functions...
|
|
native static int G_SkillPropertyInt(int p);
|
|
native static double G_SkillPropertyFloat(int p);
|
|
native static vector3, int G_PickDeathmatchStart();
|
|
native static vector3, int G_PickPlayerStart(int pnum, int flags = 0);
|
|
native static int GameType();
|
|
native static void S_Sound (Sound sound_id, int channel, float volume = 1, float attenuation = ATTN_NORM);
|
|
native static void C_MidPrint(string fontname, string textlabel, bool bold = false); // always uses the stringtable.
|
|
|
|
/*virtual*/ native void Destroy();
|
|
}
|
|
|
|
class Thinker : Object native
|
|
{
|
|
const TICRATE = 35;
|
|
|
|
virtual native void Tick();
|
|
virtual native void PostBeginPlay();
|
|
}
|
|
|
|
class ThinkerIterator : Object native
|
|
{
|
|
enum EStatnums
|
|
{
|
|
MAX_STATNUM = 127
|
|
}
|
|
|
|
native static ThinkerIterator Create(class<Object> type = "Actor", int statnum=MAX_STATNUM+1);
|
|
native Thinker Next(bool exact = false);
|
|
native void Reinit();
|
|
}
|
|
|
|
class ActorIterator : Object native
|
|
{
|
|
native static ActorIterator Create(int tid, class<Actor> type = "Actor");
|
|
native Actor Next();
|
|
native void Reinit();
|
|
}
|
|
|
|
class DropItem : Object native
|
|
{
|
|
native readonly DropItem Next;
|
|
native readonly name Name;
|
|
native readonly int Probability;
|
|
native int Amount;
|
|
}
|
|
|
|
class SpotState : Object native
|
|
{
|
|
native static SpotState GetSpotState();
|
|
native SpecialSpot GetNextInList(class<Actor> type, int skipcounter);
|
|
native SpecialSpot GetSpotWithMinMaxDistance(Class<Actor> type, double x, double y, double mindist, double maxdist);
|
|
|
|
}
|
|
|
|
struct LevelLocals native
|
|
{
|
|
native readonly int time;
|
|
native readonly int maptime;
|
|
native readonly int totaltime;
|
|
native readonly int starttime;
|
|
native readonly int partime;
|
|
native readonly int sucktime;
|
|
native readonly int cluster;
|
|
native readonly int clusterflags;
|
|
native readonly int levelnum;
|
|
native readonly String LevelName;
|
|
native readonly String MapName;
|
|
native String NextMap;
|
|
native String NextSecretMap;
|
|
native readonly int maptype;
|
|
native readonly String Music;
|
|
native readonly int musicorder;
|
|
native readonly int total_secrets;
|
|
native int found_secrets;
|
|
native readonly int total_items;
|
|
native int found_items;
|
|
native readonly int total_monsters;
|
|
native int killed_monsters;
|
|
native double gravity;
|
|
native double aircontrol;
|
|
native double airfriction;
|
|
native int airsupply;
|
|
native double teamdamage;
|
|
native bool monsterstelefrag;
|
|
native bool actownspecial;
|
|
native bool sndseqtotalctrl;
|
|
native bool allmap;
|
|
native bool missilesactivateimpact;
|
|
native bool monsterfallingdamage;
|
|
native bool checkswitchrange;
|
|
native bool polygrind;
|
|
native bool nomonsters;
|
|
// level_info_t *info cannot be done yet.
|
|
}
|
|
|
|
struct StringTable native
|
|
{
|
|
native static String Localize(String val);
|
|
}
|
|
|
|
// a few values of this need to be readable by the play code.
|
|
// Most are handled at load time and are omitted here.
|
|
struct DehInfo native
|
|
{
|
|
native int MaxSoulsphere;
|
|
native uint8 ExplosionStyle;
|
|
native double ExplosionAlpha;
|
|
native int NoAutofreeze;
|
|
native int BFGCells;
|
|
}
|
|
|
|
struct State native
|
|
{
|
|
native State NextState;
|
|
native int sprite;
|
|
native int16 Tics;
|
|
native uint16 TicRange;
|
|
native uint8 Frame;
|
|
native uint8 UseFlags;
|
|
native int Misc1;
|
|
native int Misc2;
|
|
native uint16 bSlow;
|
|
native uint16 bFast;
|
|
native bool bFullbright;
|
|
native bool bNoDelay;
|
|
native bool bSameFrame;
|
|
native bool bCanRaise;
|
|
native bool bDehacked;
|
|
}
|
|
|
|
struct F3DFloor native
|
|
{
|
|
}
|
|
|
|
struct Line native
|
|
{
|
|
//native readonly vertex v1, v2; // vertices, from v1 to v2
|
|
native readonly Vector2 delta; // precalculated v2 - v1 for side checking
|
|
native uint flags;
|
|
native uint activation; // activation type
|
|
native int special;
|
|
native int args[5]; // <--- hexen-style arguments (expanded to ZDoom's full width)
|
|
native double alpha; // <--- translucency (0=invisibile, FRACUNIT=opaque)
|
|
//native Side sidedef[2];
|
|
native readonly double bbox[4]; // bounding box, for the extent of the LineDef.
|
|
native readonly Sector frontsector, backsector;
|
|
native int validcount; // if == validcount, already checked
|
|
native int locknumber; // [Dusk] lock number for special
|
|
native readonly uint portalindex;
|
|
}
|
|
|
|
struct Sector native
|
|
{
|
|
//secplane_t floorplane, ceilingplane;
|
|
//FDynamicColormap *ColorMap; // [RH] Per-sector colormap
|
|
|
|
native Actor SoundTarget;
|
|
|
|
native int16 special;
|
|
native int16 lightlevel;
|
|
native int16 seqType;
|
|
|
|
native int sky;
|
|
native Name SeqName;
|
|
|
|
native readonly Vector2 centerspot;
|
|
native int validcount;
|
|
native Actor thinglist;
|
|
|
|
native double friction, movefactor;
|
|
native int terrainnum[2];
|
|
|
|
// thinker_t for reversable actions
|
|
//SectorEffect floordata;
|
|
//SectorEffect ceilingdata;
|
|
//SectorEffect lightingdata;
|
|
|
|
enum EInterpolationType
|
|
{
|
|
CeilingMove,
|
|
FloorMove,
|
|
CeilingScroll,
|
|
FloorScroll
|
|
};
|
|
//Interpolation interpolations[4];
|
|
|
|
native uint8 soundtraversed;
|
|
native int8 stairlock;
|
|
native int prevsec;
|
|
native int nextsec;
|
|
|
|
native readonly int16 linecount;
|
|
//line_t **lines; // this is defined internally to avoid exposing some overly complicated type to the parser
|
|
|
|
native readonly Sector heightsec;
|
|
|
|
native uint bottommap, midmap, topmap;
|
|
|
|
//struct msecnode_t *touching_thinglist;
|
|
//struct msecnode_t *render_thinglist;
|
|
|
|
native double gravity;
|
|
native Name damagetype;
|
|
native int damageamount;
|
|
native int16 damageinterval;
|
|
native int16 leakydamage;
|
|
|
|
native uint16 ZoneNumber;
|
|
native uint16 MoreFlags;
|
|
native uint Flags;
|
|
|
|
native SectorAction SecActTarget;
|
|
|
|
native readonly uint Portals[2];
|
|
native readonly int PortalGroup;
|
|
|
|
native readonly int sectornum;
|
|
|
|
|
|
native double, Sector, F3DFloor NextHighestCeilingAt(double x, double y, double bottomz, double topz, int flags = 0);
|
|
}
|
|
|
|
struct Wads
|
|
{
|
|
enum WadNamespace
|
|
{
|
|
ns_hidden = -1,
|
|
|
|
ns_global = 0,
|
|
ns_sprites,
|
|
ns_flats,
|
|
ns_colormaps,
|
|
ns_acslibrary,
|
|
ns_newtextures,
|
|
ns_bloodraw,
|
|
ns_bloodsfx,
|
|
ns_bloodmisc,
|
|
ns_strifevoices,
|
|
ns_hires,
|
|
ns_voxels,
|
|
|
|
ns_specialzipdirectory,
|
|
ns_sounds,
|
|
ns_patches,
|
|
ns_graphics,
|
|
ns_music,
|
|
|
|
ns_firstskin,
|
|
}
|
|
|
|
native static int CheckNumForName(string name, int ns, int wadnum = -1, bool exact = false);
|
|
}
|
|
|
|
struct TerrainDef native
|
|
{
|
|
native Name TerrainName;
|
|
native int Splash;
|
|
native int DamageAmount;
|
|
native Name DamageMOD;
|
|
native int DamageTimeMask;
|
|
native double FootClip;
|
|
native float StepVolume;
|
|
native int WalkStepTics;
|
|
native int RunStepTics;
|
|
native Sound LeftStepSound;
|
|
native Sound RightStepSound;
|
|
native bool IsLiquid;
|
|
native bool AllowProtection;
|
|
native double Friction;
|
|
native double MoveFactor;
|
|
};
|
|
|
|
enum EPickStart
|
|
{
|
|
PPS_FORCERANDOM = 1,
|
|
PPS_NOBLOCKINGCHECK = 2,
|
|
}
|
|
|
|
// Although String is a builtin type, this is a convenient way to attach methods to it.
|
|
struct String native
|
|
{
|
|
native void Replace(String pattern, String replacement);
|
|
}
|