Fixed a crash because monster_generic entities really shouldn't be CBaseEnt

This commit is contained in:
Marco Cawthorne 2020-03-27 16:26:52 +01:00
parent e9326f4e1d
commit 0c62ea6371
8 changed files with 39 additions and 99 deletions

View file

@ -1,15 +1,6 @@
// They Hunger Info File
game "They Hunger"
gamedir "hunger"
url_info "www.planethalflife.com/manke"
url_dl ""
version "3.0"
hlversion "1100"
size "142600000"
type "Single"
startmap "thintro"
trainmap "they30"
gamedll "dlls\einar.dll"
cldll "1"
svonly "0"

View file

@ -815,7 +815,7 @@ CSQC_WorldLoaded(void)
precache_pic("{scorch3", TRUE);
/* Primarily for the flashlight */
if (serverkeyfloat("*bspversion") == 46) {
if (serverkeyfloat("*bspversion") != 30) {
localcmd("r_shadow_realtime_dlight 1\n");
} else {
localcmd("r_shadow_realtime_dlight 0\n");

View file

@ -18,10 +18,40 @@
enum
{
MUSIC_AUTO,
MUSIC_FLAC,
MUSIC_FLAC, /* requires fteplug_ffmpeg */
MUSIC_STEAMHL
};
string g_steamhltracks[27] = {
"media/Half-Life01.mp3",
"media/Prospero01.mp3",
"media/Half-Life12.mp3",
"media/Half-Life07.mp3",
"media/Half-Life10.mp3",
"media/Suspense01.mp3",
"media/Suspense03.mp3",
"media/Half-Life09.mp3",
"media/Half-Life02.mp3",
"media/Half-Life13.mp3",
"media/Half-Life04.mp3",
"media/Half-Life15.mp3",
"media/Half-Life14.mp3",
"media/Half-Life16.mp3",
"media/Suspense02.mp3",
"media/Half-Life03.mp3",
"media/Half-Life08.mp3",
"media/Prospero02.mp3",
"media/Half-Life05.mp3",
"media/Prospero04.mp3",
"media/Half-Life11.mp3",
"media/Half-Life06.mp3",
"media/Prospero03.mp3",
"media/Half-Life17.mp3",
"media/Prospero05.mp3",
"media/Suspense05.mp3",
"media/Suspense07.mp3"
};
var int autocvar_cl_musicstyle = MUSIC_AUTO;
/* some installs may have the music in media/, others may be in music/ */
@ -34,88 +64,8 @@ Music_GetPath(int id)
return sprintf("music/track%02i.flac", id);
} else if (autocvar_cl_musicstyle == MUSIC_STEAMHL) {
/* this doesn't happen often enough for it to be in RAM all the time */
switch (id) {
case 2:
return "media/Half-Life01.mp3";
break;
case 3:
return "media/Prospero01.mp3";
break;
case 4:
return "media/Half-Life12.mp3";
break;
case 5:
return "media/Half-Life07.mp3";
break;
case 6:
return "media/Half-Life10.mp3";
break;
case 7:
return "media/Suspense01.mp3";
break;
case 8:
return "media/Suspense03.mp3";
break;
case 9:
return "media/Half-Life09.mp3";
break;
case 10:
return "media/Half-Life02.mp3";
break;
case 11:
return "media/Half-Life13.mp3";
break;
case 12:
return "media/Half-Life04.mp3";
break;
case 13:
return "media/Half-Life15.mp3";
break;
case 14:
return "media/Half-Life14.mp3";
break;
case 15:
return "media/Half-Life16.mp3";
break;
case 16:
return "media/Suspense02.mp3";
break;
case 17:
return "media/Half-Life03.mp3";
break;
case 18:
return "media/Half-Life08.mp3";
break;
case 19:
return "media/Prospero02.mp3";
break;
case 20:
return "media/Half-Life05.mp3";
break;
case 21:
return "media/Prospero04.mp3";
break;
case 22:
return "media/Half-Life11.mp3";
break;
case 23:
return "media/Half-Life06.mp3";
break;
case 24:
return "media/Prospero03.mp3";
break;
case 25:
return "media/Half-Life17.mp3";
break;
case 26:
return "media/Prospero05.mp3";
break;
case 27:
return "media/Suspense05.mp3";
break;
case 28:
return "media/Suspense07.mp3w";
break;
if (id >= 2 && id <= 28) {
return g_steamhltracks[id - 2];
}
}

View file

@ -177,7 +177,7 @@ float player::predraw(void)
if (serverkeyfloat("*bspversion") == 30) {
dynamiclight_add(trace_endpos + (v_forward * -2), 128, [1,1,1]);
} else {
float p = dynamiclight_add(src, 512, [1,1,1], 0, "textures/flashlight");
float p = dynamiclight_add(src, 0, [1,1,1], 0, "textures/flashlight");
dynamiclight_set(p, LFIELD_ANGLES, ang);
}
}

View file

@ -56,7 +56,6 @@ float env_laser::predraw(void)
void env_laser::ReadEntity(float flChanged)
{
print("FUCK!\n");
if (flChanged & ENVLASER_CHANGED_ORIGIN) {
origin[0] = readcoord();
origin[1] = readcoord();

View file

@ -174,8 +174,8 @@ void CBaseMonster::CheckRoute(void)
print(sprintf("CBaseMonster::CheckNode: %s reached end\n", this.netname));
/* trigger when required */
if (m_strRouteEnded) {
for ( entity t = world; ( t = find( t, CBaseTrigger::m_strTargetName, m_strRouteEnded) ); ) {
CBaseTrigger trigger = (CBaseTrigger) t;
for (entity t = world; (t = find(t, CBaseTrigger::m_strTargetName, m_strRouteEnded));) {
CBaseTrigger trigger = (CBaseTrigger)t;
if (trigger.Trigger != __NULL__) {
trigger.Trigger();
}

View file

@ -22,7 +22,7 @@
Decorative, does nothing yet.
*/
class monster_generic:CBaseEntity
class monster_generic:CBaseMonster
{
void() monster_generic;
//virtual void() Respawn;

View file

@ -15,7 +15,7 @@
*/
/* parse info_node entities and convert them to FTE compatible routing data */
#define NODE_DEBUG 1
#define NODE_DEBUG
typedef struct node_s {
vector origin;