mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-14 11:50:49 +00:00
- ported the TitleScreen class.
This commit is contained in:
parent
1022564cab
commit
e75f0c17e4
10 changed files with 600 additions and 23 deletions
|
@ -73,6 +73,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
#include "automap.h"
|
#include "automap.h"
|
||||||
#include "v_draw.h"
|
#include "v_draw.h"
|
||||||
#include "gi.h"
|
#include "gi.h"
|
||||||
|
#include "vm.h"
|
||||||
|
|
||||||
CVAR(Bool, autoloadlights, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)
|
CVAR(Bool, autoloadlights, true, CVAR_ARCHIVE|CVAR_GLOBALCONFIG)
|
||||||
CVAR(Bool, autoloadbrightmaps, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
CVAR(Bool, autoloadbrightmaps, true, CVAR_ARCHIVE | CVAR_GLOBALCONFIG)
|
||||||
|
@ -275,6 +276,11 @@ void System_CrashInfo(char* buffer, size_t bufflen, const char *lfstr)
|
||||||
|
|
||||||
UserConfig userConfig;
|
UserConfig userConfig;
|
||||||
|
|
||||||
|
DEFINE_GLOBAL(userConfig)
|
||||||
|
DEFINE_FIELD_X(UserConfigStruct, UserConfig, nomonsters)
|
||||||
|
DEFINE_FIELD_X(UserConfigStruct, UserConfig, nosound)
|
||||||
|
DEFINE_FIELD_X(UserConfigStruct, UserConfig, nologo)
|
||||||
|
|
||||||
void UserConfig::ProcessOptions()
|
void UserConfig::ProcessOptions()
|
||||||
{
|
{
|
||||||
// -help etc are omitted
|
// -help etc are omitted
|
||||||
|
|
|
@ -235,8 +235,6 @@ int TILE_STATIC;
|
||||||
int TILE_BOTTOMSTATUSBAR;
|
int TILE_BOTTOMSTATUSBAR;
|
||||||
int TILE_THREEDEE;
|
int TILE_THREEDEE;
|
||||||
int TILE_INGAMEDUKETHREEDEE;
|
int TILE_INGAMEDUKETHREEDEE;
|
||||||
int TILE_PLUTOPAKSPRITE;
|
|
||||||
int TILE_MENUBAR;
|
|
||||||
int TILE_ATOMICHEALTH;
|
int TILE_ATOMICHEALTH;
|
||||||
int TILE_FLOORSLIME;
|
int TILE_FLOORSLIME;
|
||||||
int TILE_JIBS6;
|
int TILE_JIBS6;
|
||||||
|
|
|
@ -261,10 +261,6 @@ void initactorflags_d()
|
||||||
TILE_CAMLIGHT = CAMLIGHT;
|
TILE_CAMLIGHT = CAMLIGHT;
|
||||||
TILE_STATIC = STATIC;
|
TILE_STATIC = STATIC;
|
||||||
TILE_BOTTOMSTATUSBAR = isWorldTour()? WIDESCREENSTATUSBAR : BOTTOMSTATUSBAR;
|
TILE_BOTTOMSTATUSBAR = isWorldTour()? WIDESCREENSTATUSBAR : BOTTOMSTATUSBAR;
|
||||||
TILE_THREEDEE = THREEDEE;
|
|
||||||
TILE_INGAMEDUKETHREEDEE = INGAMEDUKETHREEDEE;
|
|
||||||
TILE_PLUTOPAKSPRITE = PLUTOPAKSPRITE;
|
|
||||||
TILE_MENUBAR = MENUBAR;
|
|
||||||
TILE_ATOMICHEALTH = ATOMICHEALTH;
|
TILE_ATOMICHEALTH = ATOMICHEALTH;
|
||||||
TILE_FLOORSLIME = FLOORSLIME;
|
TILE_FLOORSLIME = FLOORSLIME;
|
||||||
TILE_JIBS6 = JIBS6;
|
TILE_JIBS6 = JIBS6;
|
||||||
|
|
|
@ -235,10 +235,6 @@ void initactorflags_r()
|
||||||
TILE_CAMLIGHT = CAMLIGHT;
|
TILE_CAMLIGHT = CAMLIGHT;
|
||||||
TILE_STATIC = STATIC;
|
TILE_STATIC = STATIC;
|
||||||
TILE_BOTTOMSTATUSBAR = BOTTOMSTATUSBAR;
|
TILE_BOTTOMSTATUSBAR = BOTTOMSTATUSBAR;
|
||||||
TILE_THREEDEE = THREEDEE;
|
|
||||||
TILE_INGAMEDUKETHREEDEE = INGAMEDUKETHREEDEE;
|
|
||||||
TILE_PLUTOPAKSPRITE = PLUTOPAKSPRITE;
|
|
||||||
TILE_MENUBAR = MENUBAR;
|
|
||||||
TILE_ATOMICHEALTH = ATOMICHEALTH;
|
TILE_ATOMICHEALTH = ATOMICHEALTH;
|
||||||
TILE_FLOORSLIME = FLOORSLIME;
|
TILE_FLOORSLIME = FLOORSLIME;
|
||||||
TILE_JIBS6 = JIBS6;
|
TILE_JIBS6 = JIBS6;
|
||||||
|
|
|
@ -517,6 +517,7 @@ x(THREEDEE, 2498)
|
||||||
x(INGAMEDUKETHREEDEE, 2499)
|
x(INGAMEDUKETHREEDEE, 2499)
|
||||||
x(TENSCREEN, 2500)
|
x(TENSCREEN, 2500)
|
||||||
x(PLUTOPAKSPRITE, 2501)
|
x(PLUTOPAKSPRITE, 2501)
|
||||||
|
x(TITLEPLUTOPAKSPRITE, 2502)
|
||||||
x(MENUPLUTOPAKSPRITE, 2503)
|
x(MENUPLUTOPAKSPRITE, 2503)
|
||||||
x(CREDITPAGE1, 2504)
|
x(CREDITPAGE1, 2504)
|
||||||
x(CREDITPAGE2, 2505)
|
x(CREDITPAGE2, 2505)
|
||||||
|
|
|
@ -22,10 +22,6 @@ extern int TILE_CAMCORNER;
|
||||||
extern int TILE_CAMLIGHT;
|
extern int TILE_CAMLIGHT;
|
||||||
extern int TILE_STATIC;
|
extern int TILE_STATIC;
|
||||||
extern int TILE_BOTTOMSTATUSBAR;
|
extern int TILE_BOTTOMSTATUSBAR;
|
||||||
extern int TILE_THREEDEE;
|
|
||||||
extern int TILE_INGAMEDUKETHREEDEE;
|
|
||||||
extern int TILE_PLUTOPAKSPRITE;
|
|
||||||
extern int TILE_MENUBAR;
|
|
||||||
extern int TILE_ATOMICHEALTH;
|
extern int TILE_ATOMICHEALTH;
|
||||||
extern int TILE_FLOORSLIME;
|
extern int TILE_FLOORSLIME;
|
||||||
extern int TILE_JIBS6;
|
extern int TILE_JIBS6;
|
||||||
|
|
|
@ -720,14 +720,6 @@ void S_PlaySpecialMusic(unsigned int m)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFINE_ACTION_FUNCTION_NATIVE(_Duke, PlaySpecialMusic, S_PlaySpecialMusic)
|
|
||||||
{
|
|
||||||
PARAM_PROLOGUE;
|
|
||||||
PARAM_INT(song);
|
|
||||||
S_PlaySpecialMusic(song);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
//
|
//
|
||||||
//
|
//
|
||||||
|
@ -881,4 +873,28 @@ bool StartCommentary(int tag, DDukeActor* actor)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION_NATIVE(_Duke, PlaySpecialMusic, S_PlaySpecialMusic)
|
||||||
|
{
|
||||||
|
PARAM_PROLOGUE;
|
||||||
|
PARAM_INT(song);
|
||||||
|
S_PlaySpecialMusic(song);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int PlaySound(int num, int chan, int flags, double vol)
|
||||||
|
{
|
||||||
|
return S_PlaySound(num, chan, EChanFlags::FromInt(flags), float(vol));
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFINE_ACTION_FUNCTION_NATIVE(_Duke, PLaySound, PlaySound)
|
||||||
|
{
|
||||||
|
PARAM_PROLOGUE;
|
||||||
|
PARAM_INT(snd);
|
||||||
|
PARAM_INT(chan);
|
||||||
|
PARAM_INT(flags);
|
||||||
|
PARAM_FLOAT(vol);
|
||||||
|
ACTION_RETURN_INT(PlaySound(snd, chan, flags, vol));
|
||||||
|
}
|
||||||
|
|
||||||
END_DUKE_NS
|
END_DUKE_NS
|
||||||
|
|
|
@ -20,7 +20,416 @@ struct Duke native
|
||||||
DRUGPAL,
|
DRUGPAL,
|
||||||
BASEPALCOUNT
|
BASEPALCOUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
native static void PlaySpecialMusic(int which);
|
native static void PlaySpecialMusic(int which);
|
||||||
|
native static int PlaySound(int num, int channel = CHAN_AUTO, int flags = 0, float vol =0.8f);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct DukeSnd native
|
||||||
|
{
|
||||||
|
// This really needs to be done better...
|
||||||
|
enum EDukeSounds
|
||||||
|
{
|
||||||
|
KICK_HIT = 0,
|
||||||
|
PISTOL_RICOCHET = 1,
|
||||||
|
PISTOL_BODYHIT = 2,
|
||||||
|
PISTOL_FIRE = 3,
|
||||||
|
EJECT_CLIP = 4,
|
||||||
|
INSERT_CLIP = 5,
|
||||||
|
CHAINGUN_FIRE = 6,
|
||||||
|
RPG_SHOOT = 7,
|
||||||
|
POOLBALLHIT = 8,
|
||||||
|
RPG_EXPLODE = 9,
|
||||||
|
CAT_FIRE = 10,
|
||||||
|
SHRINKER_FIRE = 11,
|
||||||
|
ACTOR_SHRINKING = 12,
|
||||||
|
PIPEBOMB_BOUNCE = 13,
|
||||||
|
PIPEBOMB_EXPLODE = 14,
|
||||||
|
LASERTRIP_ONWALL = 15,
|
||||||
|
LASERTRIP_ARMING = 16,
|
||||||
|
LASERTRIP_EXPLODE = 17,
|
||||||
|
VENT_BUST = 18,
|
||||||
|
GLASS_BREAKING = 19,
|
||||||
|
GLASS_HEAVYBREAK = 20,
|
||||||
|
SHORT_CIRCUIT = 21,
|
||||||
|
ITEM_SPLASH = 22,
|
||||||
|
DUKE_BREATHING = 23,
|
||||||
|
DUKE_EXHALING = 24,
|
||||||
|
DUKE_GASP = 25,
|
||||||
|
SLIM_RECOG = 26,
|
||||||
|
|
||||||
|
DUKE_URINATE = 28,
|
||||||
|
ENDSEQVOL3SND2 = 29,
|
||||||
|
ENDSEQVOL3SND3 = 30,
|
||||||
|
DUKE_PASSWIND = 32,
|
||||||
|
DUKE_CRACK = 33,
|
||||||
|
SLIM_ATTACK = 34,
|
||||||
|
SOMETHINGHITFORCE = 35,
|
||||||
|
DUKE_DRINKING = 36,
|
||||||
|
DUKE_KILLED1 = 37,
|
||||||
|
DUKE_GRUNT = 38,
|
||||||
|
DUKE_HARTBEAT = 39,
|
||||||
|
DUKE_ONWATER = 40,
|
||||||
|
DUKE_DEAD = 41,
|
||||||
|
DUKE_LAND = 42,
|
||||||
|
DUKE_WALKINDUCTS = 43,
|
||||||
|
DUKE_GLAD = 44,
|
||||||
|
DUKE_YES = 45,
|
||||||
|
DUKE_HEHE = 46,
|
||||||
|
DUKE_SHUCKS = 47,
|
||||||
|
DUKE_UNDERWATER = 48,
|
||||||
|
DUKE_JETPACK_ON = 49,
|
||||||
|
DUKE_JETPACK_IDLE = 50,
|
||||||
|
DUKE_JETPACK_OFF = 51,
|
||||||
|
LIZTROOP_GROWL = 52,
|
||||||
|
LIZTROOP_TALK1 = 53,
|
||||||
|
LIZTROOP_TALK2 = 54,
|
||||||
|
LIZTROOP_TALK3 = 55,
|
||||||
|
DUKETALKTOBOSS = 56,
|
||||||
|
LIZCAPT_GROWL = 57,
|
||||||
|
LIZCAPT_TALK1 = 58,
|
||||||
|
LIZCAPT_TALK2 = 59,
|
||||||
|
LIZCAPT_TALK3 = 60,
|
||||||
|
LIZARD_BEG = 61,
|
||||||
|
LIZARD_PAIN = 62,
|
||||||
|
LIZARD_DEATH = 63,
|
||||||
|
LIZARD_SPIT = 64,
|
||||||
|
DRONE1_HISSRATTLE = 65,
|
||||||
|
DRONE1_HISSSCREECH = 66,
|
||||||
|
DUKE_TIP2 = 67,
|
||||||
|
FLESH_BURNING = 68,
|
||||||
|
SQUISHED = 69,
|
||||||
|
TELEPORTER = 70,
|
||||||
|
ELEVATOR_ON = 71,
|
||||||
|
DUKE_KILLED3 = 72,
|
||||||
|
ELEVATOR_OFF = 73,
|
||||||
|
DOOR_OPERATE1 = 74,
|
||||||
|
SUBWAY = 75,
|
||||||
|
SWITCH_ON = 76,
|
||||||
|
FAN = 77,
|
||||||
|
DUKE_GETWEAPON3 = 78,
|
||||||
|
FLUSH_TOILET = 79,
|
||||||
|
HOVER_CRAFT = 80,
|
||||||
|
EARTHQUAKE = 81,
|
||||||
|
INTRUDER_ALERT = 82,
|
||||||
|
END_OF_LEVEL_WARN = 83,
|
||||||
|
ENGINE_OPERATING = 84,
|
||||||
|
REACTOR_ON = 85,
|
||||||
|
COMPUTER_AMBIENCE = 86,
|
||||||
|
GEARS_GRINDING = 87,
|
||||||
|
BUBBLE_AMBIENCE = 88,
|
||||||
|
MACHINE_AMBIENCE = 89,
|
||||||
|
SEWER_AMBIENCE = 90,
|
||||||
|
WIND_AMBIENCE = 91,
|
||||||
|
SOMETHING_DRIPPING = 92,
|
||||||
|
STEAM_HISSING = 93,
|
||||||
|
THEATER_BREATH = 94,
|
||||||
|
BAR_MUSIC = 95,
|
||||||
|
BOS1_ROAM = 96,
|
||||||
|
BOS1_RECOG = 97,
|
||||||
|
BOS1_ATTACK1 = 98,
|
||||||
|
BOS1_PAIN = 99,
|
||||||
|
BOS1_DYING =100,
|
||||||
|
BOS2_ROAM =101,
|
||||||
|
BOS2_RECOG =102,
|
||||||
|
BOS2_ATTACK =103,
|
||||||
|
BOS2_PAIN =104,
|
||||||
|
BOS2_DYING =105,
|
||||||
|
GETATOMICHEALTH =106,
|
||||||
|
DUKE_GETWEAPON2 =107,
|
||||||
|
BOS3_DYING =108,
|
||||||
|
SHOTGUN_FIRE =109,
|
||||||
|
PRED_ROAM =110,
|
||||||
|
PRED_RECOG =111,
|
||||||
|
PRED_ATTACK =112,
|
||||||
|
PRED_PAIN =113,
|
||||||
|
PRED_DYING =114,
|
||||||
|
CAPT_ROAM =115,
|
||||||
|
CAPT_ATTACK =116,
|
||||||
|
CAPT_RECOG =117,
|
||||||
|
CAPT_PAIN =118,
|
||||||
|
CAPT_DYING =119,
|
||||||
|
PIG_ROAM =120,
|
||||||
|
PIG_RECOG =121,
|
||||||
|
PIG_ATTACK =122,
|
||||||
|
PIG_PAIN =123,
|
||||||
|
PIG_DYING =124,
|
||||||
|
RECO_ROAM =125,
|
||||||
|
RECO_RECOG =126,
|
||||||
|
RECO_ATTACK =127,
|
||||||
|
RECO_PAIN =128,
|
||||||
|
RECO_DYING =129,
|
||||||
|
DRON_ROAM =130,
|
||||||
|
DRON_RECOG =131,
|
||||||
|
DRON_ATTACK1 =132,
|
||||||
|
DRON_PAIN =133,
|
||||||
|
DRON_DYING =134,
|
||||||
|
COMM_ROAM =135,
|
||||||
|
COMM_RECOG =136,
|
||||||
|
COMM_ATTACK =137,
|
||||||
|
COMM_PAIN =138,
|
||||||
|
COMM_DYING =139,
|
||||||
|
OCTA_ROAM =140,
|
||||||
|
OCTA_RECOG =141,
|
||||||
|
OCTA_ATTACK1 =142,
|
||||||
|
OCTA_PAIN =143,
|
||||||
|
OCTA_DYING =144,
|
||||||
|
TURR_ROAM =145,
|
||||||
|
TURR_RECOG =146,
|
||||||
|
TURR_ATTACK =147,
|
||||||
|
DUMPSTER_MOVE =148,
|
||||||
|
SLIM_DYING =149,
|
||||||
|
BOS3_ROAM =150,
|
||||||
|
BOS3_RECOG =151,
|
||||||
|
BOS3_ATTACK1 =152,
|
||||||
|
BOS3_PAIN =153,
|
||||||
|
BOS1_ATTACK2 =154,
|
||||||
|
COMM_SPIN =155,
|
||||||
|
BOS1_WALK =156,
|
||||||
|
DRON_ATTACK2 =157,
|
||||||
|
THUD =158,
|
||||||
|
OCTA_ATTACK2 =159,
|
||||||
|
WIERDSHOT_FLY =160,
|
||||||
|
TURR_PAIN =161,
|
||||||
|
TURR_DYING =162,
|
||||||
|
SLIM_ROAM =163,
|
||||||
|
LADY_SCREAM =164,
|
||||||
|
DOOR_OPERATE2 =165,
|
||||||
|
DOOR_OPERATE3 =166,
|
||||||
|
DOOR_OPERATE4 =167,
|
||||||
|
BORNTOBEWILDSND =168,
|
||||||
|
SHOTGUN_COCK =169,
|
||||||
|
GENERIC_AMBIENCE1 =170,
|
||||||
|
GENERIC_AMBIENCE2 =171,
|
||||||
|
GENERIC_AMBIENCE3 =172,
|
||||||
|
GENERIC_AMBIENCE4 =173,
|
||||||
|
GENERIC_AMBIENCE5 =174,
|
||||||
|
GENERIC_AMBIENCE6 =175,
|
||||||
|
BOS3_ATTACK2 =176,
|
||||||
|
GENERIC_AMBIENCE17 =177,
|
||||||
|
GENERIC_AMBIENCE18 =178,
|
||||||
|
GENERIC_AMBIENCE19 =179,
|
||||||
|
GENERIC_AMBIENCE20 =180,
|
||||||
|
GENERIC_AMBIENCE21 =181,
|
||||||
|
GENERIC_AMBIENCE22 =182,
|
||||||
|
SECRETLEVELSND =183,
|
||||||
|
GENERIC_AMBIENCE8 =184,
|
||||||
|
GENERIC_AMBIENCE9 =185,
|
||||||
|
GENERIC_AMBIENCE10 =186,
|
||||||
|
GENERIC_AMBIENCE11 =187,
|
||||||
|
GENERIC_AMBIENCE12 =188,
|
||||||
|
GENERIC_AMBIENCE13 =189,
|
||||||
|
GENERIC_AMBIENCE14 =190,
|
||||||
|
GENERIC_AMBIENCE15 =192,
|
||||||
|
GENERIC_AMBIENCE16 =193,
|
||||||
|
FIRE_CRACKLE =194,
|
||||||
|
BONUS_SPEECH1 =195,
|
||||||
|
BONUS_SPEECH2 =196,
|
||||||
|
BONUS_SPEECH3 =197,
|
||||||
|
PIG_CAPTURE_DUKE =198,
|
||||||
|
BONUS_SPEECH4 =199,
|
||||||
|
DUKE_LAND_HURT =200,
|
||||||
|
DUKE_HIT_STRIPPER1 =201,
|
||||||
|
DUKE_TIP1 =202,
|
||||||
|
DUKE_KILLED2 =203,
|
||||||
|
PRED_ROAM2 =204,
|
||||||
|
PIG_ROAM2 =205,
|
||||||
|
DUKE_GETWEAPON1 =206,
|
||||||
|
DUKE_SEARCH2 =207,
|
||||||
|
DUKE_CRACK2 =208,
|
||||||
|
DUKE_SEARCH =209,
|
||||||
|
DUKE_GET =210,
|
||||||
|
DUKE_LONGTERM_PAIN =211,
|
||||||
|
MONITOR_ACTIVE =212,
|
||||||
|
NITEVISION_ONOFF =213,
|
||||||
|
DUKE_HIT_STRIPPER2 =214,
|
||||||
|
DUKE_CRACK_FIRST =215,
|
||||||
|
DUKE_USEMEDKIT =216,
|
||||||
|
DUKE_TAKEPILLS =217,
|
||||||
|
DUKE_PISSRELIEF =218,
|
||||||
|
SELECT_WEAPON =219,
|
||||||
|
WATER_GURGLE =220,
|
||||||
|
DUKE_GETWEAPON4 =221,
|
||||||
|
JIBBED_ACTOR1 =222,
|
||||||
|
JIBBED_ACTOR2 =223,
|
||||||
|
JIBBED_ACTOR3 =224,
|
||||||
|
JIBBED_ACTOR4 =225,
|
||||||
|
JIBBED_ACTOR5 =226,
|
||||||
|
JIBBED_ACTOR6 =227,
|
||||||
|
JIBBED_ACTOR7 =228,
|
||||||
|
DUKE_GOTHEALTHATLOW =229,
|
||||||
|
BOSSTALKTODUKE =230,
|
||||||
|
WAR_AMBIENCE1 =231,
|
||||||
|
WAR_AMBIENCE2 =232,
|
||||||
|
WAR_AMBIENCE3 =233,
|
||||||
|
WAR_AMBIENCE4 =234,
|
||||||
|
WAR_AMBIENCE5 =235,
|
||||||
|
WAR_AMBIENCE6 =236,
|
||||||
|
WAR_AMBIENCE7 =237,
|
||||||
|
WAR_AMBIENCE8 =238,
|
||||||
|
WAR_AMBIENCE9 =239,
|
||||||
|
WAR_AMBIENCE10 =240,
|
||||||
|
ALIEN_TALK1 =241,
|
||||||
|
ALIEN_TALK2 =242,
|
||||||
|
EXITMENUSOUND =243,
|
||||||
|
FLY_BY =244,
|
||||||
|
DUKE_SCREAM =245,
|
||||||
|
SHRINKER_HIT =246,
|
||||||
|
RATTY =247,
|
||||||
|
INTO_MENU =248,
|
||||||
|
BONUSMUSIC =249,
|
||||||
|
DUKE_BOOBY =250,
|
||||||
|
DUKE_TALKTOBOSSFALL =251,
|
||||||
|
DUKE_LOOKINTOMIRROR =252,
|
||||||
|
PIG_ROAM3 =253,
|
||||||
|
KILLME =254,
|
||||||
|
DRON_JETSND =255,
|
||||||
|
SPACE_DOOR1 =256,
|
||||||
|
SPACE_DOOR2 =257,
|
||||||
|
SPACE_DOOR3 =258,
|
||||||
|
SPACE_DOOR4 =259,
|
||||||
|
SPACE_DOOR5 =260,
|
||||||
|
ALIEN_ELEVATOR1 =261,
|
||||||
|
VAULT_DOOR =262,
|
||||||
|
JIBBED_ACTOR13 =263,
|
||||||
|
DUKE_GETWEAPON6 =264,
|
||||||
|
JIBBED_ACTOR8 =265,
|
||||||
|
JIBBED_ACTOR9 =266,
|
||||||
|
JIBBED_ACTOR10 =267,
|
||||||
|
JIBBED_ACTOR11 =268,
|
||||||
|
JIBBED_ACTOR12 =269,
|
||||||
|
DUKE_KILLED4 =270,
|
||||||
|
DUKE_KILLED5 =271,
|
||||||
|
ALIEN_SWITCH1 =272,
|
||||||
|
DUKE_STEPONFECES =273,
|
||||||
|
DUKE_LONGTERM_PAIN2 =274,
|
||||||
|
DUKE_LONGTERM_PAIN3 =275,
|
||||||
|
DUKE_LONGTERM_PAIN4 =276,
|
||||||
|
COMPANB2 =277,
|
||||||
|
KTIT =278,
|
||||||
|
HELICOP_IDLE =279,
|
||||||
|
STEPNIT =280,
|
||||||
|
SPACE_AMBIENCE1 =281,
|
||||||
|
SPACE_AMBIENCE2 =282,
|
||||||
|
SLIM_HATCH =283,
|
||||||
|
RIPHEADNECK =284,
|
||||||
|
FOUNDJONES =285,
|
||||||
|
ALIEN_DOOR1 =286,
|
||||||
|
ALIEN_DOOR2 =287,
|
||||||
|
ENDSEQVOL3SND4 =288,
|
||||||
|
ENDSEQVOL3SND5 =289,
|
||||||
|
ENDSEQVOL3SND6 =290,
|
||||||
|
ENDSEQVOL3SND7 =291,
|
||||||
|
ENDSEQVOL3SND8 =292,
|
||||||
|
ENDSEQVOL3SND9 =293,
|
||||||
|
WHIPYOURASS =294,
|
||||||
|
ENDSEQVOL2SND1 =295,
|
||||||
|
ENDSEQVOL2SND2 =296,
|
||||||
|
ENDSEQVOL2SND3 =297,
|
||||||
|
ENDSEQVOL2SND4 =298,
|
||||||
|
ENDSEQVOL2SND5 =299,
|
||||||
|
ENDSEQVOL2SND6 =300,
|
||||||
|
ENDSEQVOL2SND7 =301,
|
||||||
|
GENERIC_AMBIENCE23 =302,
|
||||||
|
SOMETHINGFROZE =303,
|
||||||
|
DUKE_LONGTERM_PAIN5 =304,
|
||||||
|
DUKE_LONGTERM_PAIN6 =305,
|
||||||
|
DUKE_LONGTERM_PAIN7 =306,
|
||||||
|
DUKE_LONGTERM_PAIN8 =307,
|
||||||
|
WIND_REPEAT =308,
|
||||||
|
MYENEMY_ROAM =309,
|
||||||
|
MYENEMY_HURT =310,
|
||||||
|
MYENEMY_DEAD =311,
|
||||||
|
MYENEMY_SHOOT =312,
|
||||||
|
STORE_MUSIC =313,
|
||||||
|
STORE_MUSIC_BROKE =314,
|
||||||
|
ACTOR_GROWING =315,
|
||||||
|
NEWBEAST_ROAM =316,
|
||||||
|
NEWBEAST_RECOG =317,
|
||||||
|
NEWBEAST_ATTACK =318,
|
||||||
|
NEWBEAST_PAIN =319,
|
||||||
|
NEWBEAST_DYING =320,
|
||||||
|
NEWBEAST_SPIT =321,
|
||||||
|
VOL4_1 =322,
|
||||||
|
SUPERMARKET =323,
|
||||||
|
MOUSEANNOY =324,
|
||||||
|
BOOKEM =325,
|
||||||
|
SUPERMARKETCRY =326,
|
||||||
|
DESTRUCT =327,
|
||||||
|
EATFOOD =328,
|
||||||
|
MAKEMYDAY =329,
|
||||||
|
WITNESSSTAND =330,
|
||||||
|
VACATIONSPEECH =331,
|
||||||
|
YIPPEE1 =332,
|
||||||
|
YOHOO1 =333,
|
||||||
|
YOHOO2 =334,
|
||||||
|
DOLPHINSND =335,
|
||||||
|
TOUGHGALSND1 =336,
|
||||||
|
TOUGHGALSND2 =337,
|
||||||
|
TOUGHGALSND3 =338,
|
||||||
|
TOUGHGALSND4 =339,
|
||||||
|
TANK_ROAM =340,
|
||||||
|
BOS4_ROAM =341,
|
||||||
|
BOS4_RECOG =342,
|
||||||
|
BOS4_ATTACK =343,
|
||||||
|
BOS4_PAIN =344,
|
||||||
|
BOS4_DYING =345,
|
||||||
|
NEWBEAST_ATTACKMISS =346,
|
||||||
|
VOL4_2 =347,
|
||||||
|
COOKINGDEEPFRIER =348,
|
||||||
|
WHINING_DOG =349,
|
||||||
|
DEAD_DOG =350,
|
||||||
|
LIGHTNING_SLAP =351,
|
||||||
|
THUNDER =352,
|
||||||
|
HAPPYMOUSESND1 =353,
|
||||||
|
HAPPYMOUSESND2 =354,
|
||||||
|
HAPPYMOUSESND3 =355,
|
||||||
|
HAPPYMOUSESND4 =356,
|
||||||
|
ALARM =357,
|
||||||
|
RAIN =358,
|
||||||
|
DTAG_GREENRUN =359,
|
||||||
|
DTAG_BROWNRUN =360,
|
||||||
|
DTAG_GREENSCORE =361,
|
||||||
|
DTAG_BROWNSCORE =362,
|
||||||
|
INTRO4_1 =363,
|
||||||
|
INTRO4_2 =364,
|
||||||
|
INTRO4_3 =365,
|
||||||
|
INTRO4_4 =366,
|
||||||
|
INTRO4_5 =367,
|
||||||
|
INTRO4_6 =368,
|
||||||
|
SCREECH =369,
|
||||||
|
BOSS4_DEADSPEECH =370,
|
||||||
|
BOSS4_FIRSTSEE =371,
|
||||||
|
PARTY_SPEECH =372,
|
||||||
|
POSTAL_SPEECH =373,
|
||||||
|
TGSPEECH =374,
|
||||||
|
DOGROOMSPEECH =375,
|
||||||
|
SMACKED =376,
|
||||||
|
MDEVSPEECH =377,
|
||||||
|
AREA51SPEECH =378,
|
||||||
|
JEEPSOUND =379,
|
||||||
|
BIGDOORSLAM =380,
|
||||||
|
BOS4_LAY =381,
|
||||||
|
WAVESOUND =382,
|
||||||
|
ILLBEBACK =383,
|
||||||
|
VOL4ENDSND1 =384,
|
||||||
|
VOL4ENDSND2 =385,
|
||||||
|
EXPANDERHIT =386,
|
||||||
|
SNAKESPEECH =387,
|
||||||
|
EXPANDERSHOOT =388,
|
||||||
|
GETBACKTOWORK =389,
|
||||||
|
JIBBED_ACTOR14 =390,
|
||||||
|
JIBBED_ACTOR15 =391,
|
||||||
|
INTRO4_B =392,
|
||||||
|
BIGBANG =393,
|
||||||
|
SMACKIT =394,
|
||||||
|
BELLSND =395,
|
||||||
|
GOAWAY =396,
|
||||||
|
JOKE =397,
|
||||||
|
FLAMETHROWER_INTRO =398,
|
||||||
|
FLAMETHROWER_LOOP =399,
|
||||||
|
FLAMETHROWER_END =400,
|
||||||
|
E5L7_DUKE_QUIT_YOU =401,
|
||||||
|
}
|
||||||
|
}
|
|
@ -33,3 +33,104 @@ class DRealmsScreen : SkippableScreenJob
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class TitleScreen : SkippableScreenJob
|
||||||
|
{
|
||||||
|
int soundanm;
|
||||||
|
|
||||||
|
void Init()
|
||||||
|
{
|
||||||
|
Super.Init(fadein | fadeout);
|
||||||
|
soundanm = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
override void Start()
|
||||||
|
{
|
||||||
|
if (Build.isNam() || userConfig.nologo) Duke.PlaySpecialMusic(Duke.MUS_INTRO);
|
||||||
|
}
|
||||||
|
|
||||||
|
override void OnTick()
|
||||||
|
{
|
||||||
|
int clock = ticks * 120 / GameTicRate;
|
||||||
|
if (soundanm == 0 && clock >= 120 && clock < 120 + 60)
|
||||||
|
{
|
||||||
|
soundanm = 1;
|
||||||
|
Duke.PlaySound(DukeSnd.PIPEBOMB_EXPLODE, CHAN_AUTO, CHANF_UI);
|
||||||
|
}
|
||||||
|
if (soundanm == 1 && clock > 220 && clock < (220 + 30))
|
||||||
|
{
|
||||||
|
soundanm = 2;
|
||||||
|
Duke.PlaySound(DukeSnd.PIPEBOMB_EXPLODE, CHAN_AUTO, CHANF_UI);
|
||||||
|
}
|
||||||
|
if (soundanm == 2 && clock >= 280 && clock < 395)
|
||||||
|
{
|
||||||
|
soundanm = 3;
|
||||||
|
if (Build.isPlutoPak()) Duke.PlaySound(DukeSnd.FLY_BY, CHAN_AUTO, CHANF_UI);
|
||||||
|
}
|
||||||
|
else if (soundanm == 3 && clock >= 395)
|
||||||
|
{
|
||||||
|
soundanm = 4;
|
||||||
|
if (Build.isPlutoPak()) Duke.PlaySound(DukeSnd.PIPEBOMB_EXPLODE, CHAN_AUTO, CHANF_UI);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clock > (860 + 120))
|
||||||
|
{
|
||||||
|
jobstate = finished;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override void Draw(double smoothratio)
|
||||||
|
{
|
||||||
|
int clock = (ticks + smoothratio) * 120 / GameTicRate;
|
||||||
|
|
||||||
|
screen.ClearScreen();
|
||||||
|
|
||||||
|
// Only translate if the image depends on the global palette.
|
||||||
|
let tex = TexMan.CheckForTexture("BETASCREEN");
|
||||||
|
int trans = TexMan.UseGamePalette(tex)? Translation.MakeID(Translation_BasePalette, Duke.TITLEPAL) : 0;
|
||||||
|
screen.DrawTexture(tex, true, 0, 0, DTA_FullscreenEx, FSMode_ScaleToFit43, DTA_TranslationIndex, trans, DTA_LegacyRenderStyle, STYLE_Normal);
|
||||||
|
|
||||||
|
double scale = clamp(clock - 120, 0, 60) / 64.;
|
||||||
|
if (scale > 0.)
|
||||||
|
{
|
||||||
|
let tex = TexMan.CheckForTexture("DUKENUKEM");
|
||||||
|
trans = TexMan.UseGamePalette(tex)? Translation.MakeID(Translation_BasePalette, Duke.TITLEPAL) : 0; // re-check for different texture!
|
||||||
|
|
||||||
|
screen.DrawTexture(tex, true, 160, 104, DTA_FullscreenScale, FSMode_Fit320x200,
|
||||||
|
DTA_CenterOffsetRel, true, DTA_TranslationIndex, trans, DTA_ScaleX, scale, DTA_ScaleY, scale);
|
||||||
|
}
|
||||||
|
|
||||||
|
scale = clamp(clock - 220, 0, 30) / 32.;
|
||||||
|
if (scale > 0.)
|
||||||
|
{
|
||||||
|
let tex = TexMan.CheckForTexture("THREEDEE");
|
||||||
|
trans = TexMan.UseGamePalette(tex)? Translation.MakeID(Translation_BasePalette, Duke.TITLEPAL) : 0; // re-check for different texture!
|
||||||
|
|
||||||
|
screen.DrawTexture(tex, true, 160, 129, DTA_FullscreenScale, FSMode_Fit320x200,
|
||||||
|
DTA_CenterOffsetRel, true, DTA_TranslationIndex, trans, DTA_ScaleX, scale, DTA_ScaleY, scale);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Build.isPlutoPak())
|
||||||
|
{
|
||||||
|
scale = (410 - clamp(clock, 280, 395)) / 16.;
|
||||||
|
if (scale > 0. && clock > 280)
|
||||||
|
{
|
||||||
|
let tex = TexMan.CheckForTexture("TITLEPLUTOPAKSPRITE");
|
||||||
|
trans = TexMan.UseGamePalette(tex)? Translation.MakeID(Translation_BasePalette, Duke.TITLEPAL) : 0; // re-check for different texture!
|
||||||
|
|
||||||
|
screen.DrawTexture(tex, true, 160, 151, DTA_FullscreenScale, FSMode_Fit320x200,
|
||||||
|
DTA_CenterOffsetRel, true, DTA_TranslationIndex, trans, DTA_ScaleX, scale, DTA_ScaleY, scale);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override void OnDestroy()
|
||||||
|
{
|
||||||
|
Duke.PlaySound(DukeSnd.NITEVISION_ONOFF, CHAN_AUTO, CHANF_UI);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -27,6 +27,17 @@ enum EGameType
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct UserConfigStruct native
|
||||||
|
{
|
||||||
|
native bool nomonsters;
|
||||||
|
native bool nosound;
|
||||||
|
native bool nologo;
|
||||||
|
}
|
||||||
|
|
||||||
|
extend struct _
|
||||||
|
{
|
||||||
|
native @UserConfigStruct userConfig;
|
||||||
|
}
|
||||||
|
|
||||||
struct Build
|
struct Build
|
||||||
{
|
{
|
||||||
|
@ -36,6 +47,53 @@ struct Build
|
||||||
}
|
}
|
||||||
|
|
||||||
native static Color shadeToLight(int shade);
|
native static Color shadeToLight(int shade);
|
||||||
|
|
||||||
|
// game check shortcuts
|
||||||
|
static bool isNam()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & (GAMEFLAG_NAM | GAMEFLAG_NAPALM);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isNamWW2GI()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & (GAMEFLAG_NAM | GAMEFLAG_NAPALM |GAMEFLAG_WW2GI);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isWW2GI()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & (GAMEFLAG_WW2GI);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isRR()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & (GAMEFLAG_RRALL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isRRRA()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & (GAMEFLAG_RRRA);
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isWorldTour()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & GAMEFLAG_WORLDTOUR;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isPlutoPak()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & GAMEFLAG_PLUTOPAK;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isShareware()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & GAMEFLAG_SHAREWARE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool isBlood()
|
||||||
|
{
|
||||||
|
return gameinfo.gametype & GAMEFLAG_BLOOD;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in a new issue