2021-04-30 14:21:37 +00:00
|
|
|
|
|
|
|
|
|
|
|
struct Exhumed native
|
|
|
|
{
|
|
|
|
native static void PlayLocalSound(int snd, int pitch, bool b, int chanf);
|
|
|
|
native static void StopLocalSound();
|
|
|
|
native static bool LocalSoundPlaying();
|
|
|
|
native static void playCDTrack(int track, bool looped);
|
|
|
|
native static void DrawPlasma();
|
2023-04-16 05:31:40 +00:00
|
|
|
native static Seq GetStatusSequence(int seqId);
|
2021-05-13 20:28:02 +00:00
|
|
|
native static ExhumedPlayer GetViewPlayer();
|
2021-07-16 13:52:56 +00:00
|
|
|
native static int GetPistolClip();
|
2021-07-17 04:57:43 +00:00
|
|
|
native static int GetPlayerClip();
|
2021-12-30 09:30:21 +00:00
|
|
|
|
2021-04-30 14:21:37 +00:00
|
|
|
static void DrawAbs(String img, int x, int y, int shade = 0)
|
|
|
|
{
|
|
|
|
Screen.DrawTexture(TexMan.CheckForTexture(img, TexMan.Type_Any), false, x, y, DTA_FullscreenScale, FSMode_Fit320x200, DTA_TopLeft, true, DTA_Color, Raze.shadeToLight(shade));
|
|
|
|
}
|
2021-12-30 09:30:21 +00:00
|
|
|
|
2021-05-13 20:28:02 +00:00
|
|
|
static void DrawRel(String img, int x, int y, int shade = 0)
|
2021-04-30 14:21:37 +00:00
|
|
|
{
|
|
|
|
let tex = TexMan.CheckForTexture(img, TexMan.Type_Any);
|
|
|
|
if (!tex.IsValid()) return;
|
|
|
|
let size = TexMan.GetScaledSize(tex);
|
|
|
|
let offs = TexMan.GetScaledOffset(tex);
|
|
|
|
// The integer truncation here is important. Old Build versions were bugged here.
|
|
|
|
x -= (int(size.x) >> 1) + int(offs.x);
|
|
|
|
y -= (int(size.y) >> 1) + int(offs.y);
|
|
|
|
Screen.DrawTexture(tex, false, x, y, DTA_FullscreenScale, FSMode_Fit320x200, DTA_TopLeft, true, DTA_Color, Raze.shadeToLight(shade));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-04-16 05:31:40 +00:00
|
|
|
struct SeqFrameChunk native
|
|
|
|
{
|
|
|
|
native int16 xpos;
|
|
|
|
native int16 ypos;
|
|
|
|
native TextureID tex;
|
|
|
|
native int16 flags;
|
|
|
|
}
|
|
|
|
|
|
|
|
struct SeqFrame native
|
|
|
|
{
|
|
|
|
native int16 sound;
|
|
|
|
native int16 flags;
|
|
|
|
|
|
|
|
native uint Size();
|
|
|
|
native SeqFrameChunk getChunk(int chunkId);
|
|
|
|
native void playSound();
|
|
|
|
}
|
|
|
|
|
|
|
|
struct Seq native
|
|
|
|
{
|
|
|
|
native int16 flags;
|
|
|
|
|
|
|
|
native uint Size();
|
|
|
|
native SeqFrame getFrame(int frameId);
|
|
|
|
}
|
|
|
|
|
2021-05-13 20:28:02 +00:00
|
|
|
struct ExhumedPlayer native
|
|
|
|
{
|
|
|
|
native int16 nHealth;
|
|
|
|
native int16 nLives;
|
|
|
|
native int16 nDouble;
|
|
|
|
native int16 nInvisible;
|
|
|
|
native int16 nTorch;
|
2021-10-21 20:39:17 +00:00
|
|
|
//native int16 nSprite;
|
2021-05-13 20:28:02 +00:00
|
|
|
native int16 bIsMummified;
|
|
|
|
native int16 invincibility;
|
|
|
|
native int16 nAir;
|
|
|
|
native int16 nMaskAmount;
|
|
|
|
native uint16 keys;
|
|
|
|
native int16 nMagic;
|
|
|
|
native int16 nItem;
|
2023-03-16 02:05:22 +00:00
|
|
|
native int8 items[8];
|
2021-05-13 20:28:02 +00:00
|
|
|
native int16 nAmmo[7]; // TODO - kMaxWeapons?
|
2022-10-17 19:22:13 +00:00
|
|
|
native int16 nPlayerWeapons;
|
2021-05-13 20:28:02 +00:00
|
|
|
|
|
|
|
native int16 nCurrentWeapon;
|
2023-04-16 06:49:51 +00:00
|
|
|
native int16 nWeapFrame;
|
2021-11-21 18:33:51 +00:00
|
|
|
native int16 nNextWeapon;
|
|
|
|
native int16 nState;
|
|
|
|
native int16 nLastWeapon;
|
2021-05-13 20:28:02 +00:00
|
|
|
native int16 bIsFiring;
|
|
|
|
native int16 nRun;
|
|
|
|
//fixedhoriz nDestVertPan;
|
|
|
|
|
|
|
|
//PlayerHorizon horizon;
|
|
|
|
//PlayerAngle angle;
|
2021-12-30 09:30:21 +00:00
|
|
|
|
2021-05-13 20:28:02 +00:00
|
|
|
native bool IsUnderwater();
|
|
|
|
native int GetAngle();
|
|
|
|
}
|
|
|
|
|
|
|
|
enum EEWeap
|
|
|
|
{
|
|
|
|
kWeaponSword = 0,
|
|
|
|
kWeaponPistol,
|
|
|
|
kWeaponM60,
|
|
|
|
kWeaponFlamer,
|
|
|
|
kWeaponGrenade,
|
|
|
|
kWeaponStaff,
|
|
|
|
kWeaponRing,
|
|
|
|
kWeaponMummified
|
|
|
|
}
|
2021-04-30 14:21:37 +00:00
|
|
|
|
|
|
|
struct ExhumedSnd native
|
|
|
|
{
|
|
|
|
enum ESounds
|
|
|
|
{
|
|
|
|
kSound0 = 0,
|
|
|
|
kSound1,
|
|
|
|
kSound2,
|
|
|
|
kSound3,
|
|
|
|
kSound4,
|
|
|
|
kSound5,
|
|
|
|
kSound6,
|
|
|
|
kSound7,
|
|
|
|
kSound8,
|
|
|
|
kSound9,
|
|
|
|
kSoundItemSpecial,
|
|
|
|
kSound11,
|
|
|
|
kSoundTorchOn,
|
|
|
|
kSound13,
|
|
|
|
kSound14,
|
|
|
|
kSound15,
|
|
|
|
kSound16,
|
|
|
|
kSound17,
|
|
|
|
kSound18,
|
|
|
|
kSound19,
|
|
|
|
kSound20,
|
|
|
|
kSound21,
|
|
|
|
kSound22,
|
|
|
|
kSound23,
|
|
|
|
kSound24,
|
|
|
|
kSound25,
|
|
|
|
kSound26,
|
|
|
|
kSound27,
|
|
|
|
kSoundJonLaugh2,
|
|
|
|
kSound29,
|
|
|
|
kSound30,
|
|
|
|
kSound31,
|
|
|
|
kSound32,
|
|
|
|
kSound33,
|
|
|
|
kSound34,
|
|
|
|
kSound35,
|
|
|
|
kSound36,
|
|
|
|
kSound38 = 38,
|
|
|
|
kSound39,
|
|
|
|
kSound40,
|
|
|
|
kSound41,
|
|
|
|
kSound42,
|
|
|
|
kSound43,
|
|
|
|
kSound47 = 47,
|
|
|
|
kSound48 = 48,
|
|
|
|
kSoundQTail = 50,
|
|
|
|
kSound52 = 52,
|
|
|
|
kSoundTauntStart = 53,
|
|
|
|
kSoundJonFDie = 60,
|
|
|
|
kSound61,
|
|
|
|
kSound62,
|
|
|
|
kSound63,
|
|
|
|
kSound64,
|
|
|
|
kSound65,
|
|
|
|
kSound66,
|
|
|
|
kSoundMana1,
|
|
|
|
kSoundMana2,
|
|
|
|
kSoundAmmoPickup,
|
|
|
|
kSound70,
|
|
|
|
kSound71,
|
|
|
|
kSound72,
|
|
|
|
kSoundAlarm,
|
|
|
|
kSound74,
|
|
|
|
kSound75,
|
|
|
|
kSound76,
|
|
|
|
kSound77,
|
|
|
|
kSound78,
|
|
|
|
kSound79,
|
|
|
|
}
|
|
|
|
}
|