mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-29 23:33:00 +00:00
Merge commit '6e45c565a0bc8d05279b0b2458a3fb718ae0924c' into scripting
Conflicts: src/p_mobj.cpp (This stops right before moving the conversation IDs into MAPINFO because that feature is quite conflict-heavy and will have to merged by itself.)
This commit is contained in:
commit
ddced06be2
28 changed files with 1672 additions and 1457 deletions
|
@ -253,7 +253,7 @@ void FIWadManager::ParseIWadInfo(const char *fn, const char *data, int datasize)
|
|||
|
||||
//==========================================================================
|
||||
//
|
||||
// Lool for IWAD definition lump
|
||||
// Look for IWAD definition lump
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
|
@ -302,11 +302,11 @@ int FIWadManager::ScanIWAD (const char *iwad)
|
|||
FResourceLump *lump = iwadfile->GetLump(ii);
|
||||
|
||||
CheckLumpName(lump->Name);
|
||||
if (lump->FullName != NULL)
|
||||
if (lump->FullName.IsNotEmpty())
|
||||
{
|
||||
if (strnicmp(lump->FullName, "maps/", 5) == 0)
|
||||
{
|
||||
FString mapname(lump->FullName+5, strcspn(lump->FullName+5, "."));
|
||||
FString mapname(&lump->FullName[5], strcspn(&lump->FullName[5], "."));
|
||||
CheckLumpName(mapname);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2012,6 +2012,9 @@ static void D_DoomInit()
|
|||
|
||||
static void AddAutoloadFiles(const char *group, const char *autoname)
|
||||
{
|
||||
LumpFilterGroup = group;
|
||||
LumpFilterIWAD = autoname;
|
||||
|
||||
if (!(gameinfo.flags & GI_SHAREWARE) && !Args->CheckParm("-noautoload"))
|
||||
{
|
||||
FString file;
|
||||
|
|
|
@ -337,6 +337,7 @@ struct mapthinghexen_t
|
|||
};
|
||||
|
||||
class FArchive;
|
||||
struct FDoomEdEntry;
|
||||
|
||||
// Internal representation of a mapthing
|
||||
struct FMapThing
|
||||
|
@ -346,7 +347,8 @@ struct FMapThing
|
|||
fixed_t y;
|
||||
fixed_t z;
|
||||
short angle;
|
||||
short type;
|
||||
FDoomEdEntry *info;
|
||||
short EdNum;
|
||||
WORD SkillFilter;
|
||||
WORD ClassFilter;
|
||||
DWORD flags;
|
||||
|
@ -363,8 +365,6 @@ struct FMapThing
|
|||
short pitch;
|
||||
short roll;
|
||||
DWORD RenderStyle;
|
||||
|
||||
void Serialize (FArchive &);
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -69,3 +69,4 @@ int SinglePlayerClass[MAXPLAYERS];
|
|||
bool ToggleFullscreen;
|
||||
int BorderTopRefresh;
|
||||
|
||||
FString LumpFilterGroup, LumpFilterIWAD;
|
||||
|
|
|
@ -250,4 +250,7 @@ EXTERN_CVAR (Int, compatflags);
|
|||
EXTERN_CVAR (Int, compatflags2);
|
||||
extern int i_compatflags, i_compatflags2, ii_compatflags, ii_compatflags2, ib_compatflags;
|
||||
|
||||
// Filters from AddAutoloadFiles(). Used to filter files from archives.
|
||||
extern FString LumpFilterGroup, LumpFilterIWAD;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -45,20 +45,31 @@
|
|||
|
||||
|
||||
const char *SpecialMapthingNames[] = {
|
||||
"$PLAYER1START",
|
||||
"$PLAYER2START",
|
||||
"$PLAYER3START",
|
||||
"$PLAYER4START",
|
||||
"$PLAYER5START",
|
||||
"$PLAYER6START",
|
||||
"$PLAYER7START",
|
||||
"$PLAYER8START",
|
||||
"$DEATHMATCHSTART",
|
||||
"$SSEQOVERRIDE",
|
||||
"$POLYANCHOR",
|
||||
"$POLYSPAWN",
|
||||
"$POLYSPAWNCRUSH",
|
||||
"$POLYSPAWNHURT"
|
||||
"$Player1Start",
|
||||
"$Player2Start",
|
||||
"$Player3Start",
|
||||
"$Player4Start",
|
||||
"$Player5Start",
|
||||
"$Player6Start",
|
||||
"$Player7Start",
|
||||
"$Player8Start",
|
||||
"$DeathmatchStart",
|
||||
"$SSeqOverride",
|
||||
"$PolyAnchor",
|
||||
"$PolySpawn",
|
||||
"$PolySpawnCrush",
|
||||
"$PolySpawnHurt",
|
||||
"$SlopeFloorPointLine",
|
||||
"$SlopeCeilingPointLine",
|
||||
"$SetFloorSlope",
|
||||
"$SetCeilingSlope",
|
||||
"$VavoomFloor",
|
||||
"$VavoomCeiling",
|
||||
"$CopyFloorPlane",
|
||||
"$CopyCeilingPlane",
|
||||
"$VertexFloorZ",
|
||||
"$VertexCeilingZ",
|
||||
|
||||
};
|
||||
//==========================================================================
|
||||
//
|
||||
|
|
39
src/info.h
39
src/info.h
|
@ -284,20 +284,31 @@ struct FDoomEdEntry
|
|||
|
||||
enum ESpecialMapthings
|
||||
{
|
||||
SMT_PLAYER1START = 1,
|
||||
SMT_PLAYER2START,
|
||||
SMT_PLAYER3START,
|
||||
SMT_PLAYER4START,
|
||||
SMT_PLAYER5START,
|
||||
SMT_PLAYER6START,
|
||||
SMT_PLAYER7START,
|
||||
SMT_PLAYER8START,
|
||||
SMT_DEATHMATCHSTART,
|
||||
SMT_SSEQOVERRIDE,
|
||||
SMT_POLYANCHOR,
|
||||
SMT_POLYSPAWN,
|
||||
SMT_POLYSPAWNCRUSH,
|
||||
SMT_POLYSPAWNHURT,
|
||||
SMT_Player1Start = 1,
|
||||
SMT_Player2Start,
|
||||
SMT_Player3Start,
|
||||
SMT_Player4Start,
|
||||
SMT_Player5Start,
|
||||
SMT_Player6Start,
|
||||
SMT_Player7Start,
|
||||
SMT_Player8Start,
|
||||
SMT_DeathmatchStart,
|
||||
SMT_SSeqOverride,
|
||||
SMT_PolyAnchor,
|
||||
SMT_PolySpawn,
|
||||
SMT_PolySpawnCrush,
|
||||
SMT_PolySpawnHurt,
|
||||
SMT_SlopeFloorPointLine,
|
||||
SMT_SlopeCeilingPointLine,
|
||||
SMT_SetFloorSlope,
|
||||
SMT_SetCeilingSlope,
|
||||
SMT_VavoomFloor,
|
||||
SMT_VavoomCeiling,
|
||||
SMT_CopyFloorPlane,
|
||||
SMT_CopyCeilingPlane,
|
||||
SMT_VertexFloorZ,
|
||||
SMT_VertexCeilingZ,
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -716,30 +716,31 @@ static int LoadSprites (spritetype *sprites, Xsprite *xsprites, int numsprites,
|
|||
mapthings[count].args[1] = xsprites[i].Data4;
|
||||
mapthings[count].args[2] = xsprites[i].Data1;
|
||||
mapthings[count].args[3] = xsprites[i].Data2;
|
||||
mapthings[count].type = 14065;
|
||||
mapthings[count].EdNum = 14065;
|
||||
}
|
||||
else if (xsprites != NULL && sprites[i].lotag == 1)
|
||||
{ // Blood player start
|
||||
if (xsprites[i].Data1 < 4)
|
||||
mapthings[count].type = 1 + xsprites[i].Data1;
|
||||
mapthings[count].EdNum= 1 + xsprites[i].Data1;
|
||||
else
|
||||
mapthings[count].type = 4001 + xsprites[i].Data1 - 4;
|
||||
mapthings[count].EdNum = 4001 + xsprites[i].Data1 - 4;
|
||||
}
|
||||
else if (xsprites != NULL && sprites[i].lotag == 2)
|
||||
{ // Bloodbath start
|
||||
mapthings[count].type = 11;
|
||||
mapthings[count].EdNum = 11;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (sprites[i].cstat & 32768) continue;
|
||||
if (sprites[i].xrepeat == 0 || sprites[i].yrepeat == 0) continue;
|
||||
|
||||
mapthings[count].type = 9988;
|
||||
mapthings[count].EdNum = 9988;
|
||||
mapthings[count].args[0] = sprites[i].picnum;
|
||||
mapthings[count].args[2] = sprites[i].xrepeat;
|
||||
mapthings[count].args[3] = sprites[i].yrepeat;
|
||||
mapthings[count].args[4] = sprites[i].cstat;
|
||||
}
|
||||
mapthings[count].info = DoomEdMap.CheckKey(mapthings[count].EdNum);
|
||||
count++;
|
||||
}
|
||||
return count;
|
||||
|
@ -783,7 +784,7 @@ static void CreateStartSpot (fixed_t *pos, FMapThing *start)
|
|||
FMapThing mt =
|
||||
{
|
||||
0, (LittleLong(pos[0])<<12), ((-LittleLong(pos[1]))<<12), 0,// tid, x, y, z
|
||||
short(Scale ((2048-angle)&2047, 360, 2048)), 1, // angle, type
|
||||
short(Scale ((2048-angle)&2047, 360, 2048)), DoomEdMap.CheckKey(1), 1, // angle, type
|
||||
0, 0, // Skillfilter, Classfilter
|
||||
7|MTF_SINGLE|224, // flags
|
||||
0, {0}, 0 // special is 0, args and Conversation are 0
|
||||
|
|
|
@ -469,11 +469,6 @@ void AActor::Serialize (FArchive &arc)
|
|||
}
|
||||
}
|
||||
|
||||
void FMapThing::Serialize (FArchive &arc)
|
||||
{
|
||||
arc << thingid << x << y << z << angle << type << flags << special
|
||||
<< args[0] << args[1] << args[2] << args[3] << args[4];
|
||||
}
|
||||
|
||||
AActor::AActor () throw()
|
||||
{
|
||||
|
@ -4705,17 +4700,17 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
AActor *mobj;
|
||||
fixed_t x, y, z;
|
||||
|
||||
if (mthing->type == 0 || mthing->type == -1)
|
||||
if (mthing->EdNum == 0 || mthing->EdNum == -1)
|
||||
return NULL;
|
||||
|
||||
// find which type to spawn
|
||||
FDoomEdEntry *mentry = DoomEdMap.CheckKey(mthing->type);
|
||||
FDoomEdEntry *mentry = mthing->info;
|
||||
|
||||
if (mentry == NULL)
|
||||
{
|
||||
// [RH] Don't die if the map tries to spawn an unknown thing
|
||||
Printf ("Unknown type %i at (%i, %i)\n",
|
||||
mthing->type,
|
||||
mthing->EdNum,
|
||||
mthing->x>>FRACBITS, mthing->y>>FRACBITS);
|
||||
mentry = DoomEdMap.CheckKey(0);
|
||||
if (mentry == NULL) // we need a valid entry for the rest of this function so if we can't find a default, let's exit right away.
|
||||
|
@ -4742,7 +4737,7 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
|
||||
switch (mentry->Special)
|
||||
{
|
||||
case SMT_DEATHMATCHSTART:
|
||||
case SMT_DeathmatchStart:
|
||||
{
|
||||
// count deathmatch start positions
|
||||
FPlayerStart start(mthing, 0);
|
||||
|
@ -4750,10 +4745,10 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
case SMT_POLYANCHOR:
|
||||
case SMT_POLYSPAWN:
|
||||
case SMT_POLYSPAWNCRUSH:
|
||||
case SMT_POLYSPAWNHURT:
|
||||
case SMT_PolyAnchor:
|
||||
case SMT_PolySpawn:
|
||||
case SMT_PolySpawnCrush:
|
||||
case SMT_PolySpawnHurt:
|
||||
{
|
||||
polyspawns_t *polyspawn = new polyspawns_t;
|
||||
polyspawn->next = polyspawns;
|
||||
|
@ -4762,20 +4757,20 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
polyspawn->angle = mthing->angle;
|
||||
polyspawn->type = mentry->Special;
|
||||
polyspawns = polyspawn;
|
||||
if (mentry->Special != SMT_POLYANCHOR)
|
||||
if (mentry->Special != SMT_PolyAnchor)
|
||||
po_NumPolyobjs++;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
case SMT_PLAYER1START:
|
||||
case SMT_PLAYER2START:
|
||||
case SMT_PLAYER3START:
|
||||
case SMT_PLAYER4START:
|
||||
case SMT_PLAYER5START:
|
||||
case SMT_PLAYER6START:
|
||||
case SMT_PLAYER7START:
|
||||
case SMT_PLAYER8START:
|
||||
pnum = mentry->Special - SMT_PLAYER1START;
|
||||
case SMT_Player1Start:
|
||||
case SMT_Player2Start:
|
||||
case SMT_Player3Start:
|
||||
case SMT_Player4Start:
|
||||
case SMT_Player5Start:
|
||||
case SMT_Player6Start:
|
||||
case SMT_Player7Start:
|
||||
case SMT_Player8Start:
|
||||
pnum = mentry->Special - SMT_Player1Start;
|
||||
break;
|
||||
|
||||
// Sound sequence override will be handled later
|
||||
|
@ -4860,7 +4855,7 @@ AActor *P_SpawnMapThing (FMapThing *mthing, int position)
|
|||
}
|
||||
|
||||
// [RH] sound sequence overriders
|
||||
if (mentry->Type == NULL && mentry->Special == SMT_SSEQOVERRIDE)
|
||||
if (mentry->Type == NULL && mentry->Special == SMT_SSeqOverride)
|
||||
{
|
||||
int type = mentry->Args[0];
|
||||
if (type == 255) type = -1;
|
||||
|
|
|
@ -1665,7 +1665,7 @@ AActor *SpawnMapThing(int index, FMapThing *mt, int position)
|
|||
if (dumpspawnedthings)
|
||||
{
|
||||
Printf("%5d: (%5d, %5d, %5d), doomednum = %5d, flags = %04x, type = %s\n",
|
||||
index, mt->x>>FRACBITS, mt->y>>FRACBITS, mt->z>>FRACBITS, mt->type, mt->flags,
|
||||
index, mt->x>>FRACBITS, mt->y>>FRACBITS, mt->z>>FRACBITS, mt->EdNum, mt->flags,
|
||||
spawned? spawned->GetClass()->TypeName.GetChars() : "(none)");
|
||||
}
|
||||
T_AddSpawnedThing(spawned);
|
||||
|
@ -1782,7 +1782,8 @@ void P_LoadThings (MapData * map)
|
|||
mti[i].x = LittleShort(mt->x) << FRACBITS;
|
||||
mti[i].y = LittleShort(mt->y) << FRACBITS;
|
||||
mti[i].angle = LittleShort(mt->angle);
|
||||
mti[i].type = LittleShort(mt->type);
|
||||
mti[i].EdNum = LittleShort(mt->type);
|
||||
mti[i].info = DoomEdMap.CheckKey(mti[i].EdNum);
|
||||
}
|
||||
delete [] mtp;
|
||||
}
|
||||
|
@ -1822,7 +1823,8 @@ void P_LoadThings2 (MapData * map)
|
|||
mti[i].y = LittleShort(mth[i].y)<<FRACBITS;
|
||||
mti[i].z = LittleShort(mth[i].z)<<FRACBITS;
|
||||
mti[i].angle = LittleShort(mth[i].angle);
|
||||
mti[i].type = LittleShort(mth[i].type);
|
||||
mti[i].EdNum = LittleShort(mth[i].type);
|
||||
mti[i].info = DoomEdMap.CheckKey(mti[i].EdNum);
|
||||
mti[i].flags = LittleShort(mth[i].flags);
|
||||
mti[i].special = mth[i].special;
|
||||
for(int j=0;j<5;j++) mti[i].args[j] = mth[i].args[j];
|
||||
|
@ -3333,14 +3335,14 @@ void P_GetPolySpots (MapData * map, TArray<FNodeBuilder::FPolyStart> &spots, TAr
|
|||
{
|
||||
for (unsigned int i = 0; i < MapThingsConverted.Size(); ++i)
|
||||
{
|
||||
FDoomEdEntry *mentry = DoomEdMap.CheckKey(MapThingsConverted[i].type);
|
||||
if (mentry != NULL && mentry->Type == NULL && mentry->Special >= SMT_POLYANCHOR && mentry->Special <= SMT_POLYSPAWNHURT)
|
||||
FDoomEdEntry *mentry = MapThingsConverted[i].info;
|
||||
if (mentry != NULL && mentry->Type == NULL && mentry->Special >= SMT_PolyAnchor && mentry->Special <= SMT_PolySpawnHurt)
|
||||
{
|
||||
FNodeBuilder::FPolyStart newvert;
|
||||
newvert.x = MapThingsConverted[i].x;
|
||||
newvert.y = MapThingsConverted[i].y;
|
||||
newvert.polynum = MapThingsConverted[i].angle;
|
||||
if (mentry->Special == SMT_POLYANCHOR)
|
||||
if (mentry->Special == SMT_PolyAnchor)
|
||||
{
|
||||
anchors.Push (newvert);
|
||||
}
|
||||
|
|
|
@ -266,20 +266,6 @@ void P_VavoomSlope(sector_t * sec, int id, fixed_t x, fixed_t y, fixed_t z, int
|
|||
}
|
||||
}
|
||||
|
||||
enum
|
||||
{
|
||||
THING_SlopeFloorPointLine = 9500,
|
||||
THING_SlopeCeilingPointLine = 9501,
|
||||
THING_SetFloorSlope = 9502,
|
||||
THING_SetCeilingSlope = 9503,
|
||||
THING_CopyFloorPlane = 9510,
|
||||
THING_CopyCeilingPlane = 9511,
|
||||
THING_VavoomFloor=1500,
|
||||
THING_VavoomCeiling=1501,
|
||||
THING_VertexFloorZ=1504,
|
||||
THING_VertexCeilingZ=1505,
|
||||
};
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// P_SetSlopesFromVertexHeights
|
||||
|
@ -294,24 +280,27 @@ static void P_SetSlopesFromVertexHeights(FMapThing *firstmt, FMapThing *lastmt,
|
|||
|
||||
for (mt = firstmt; mt < lastmt; ++mt)
|
||||
{
|
||||
if (mt->type == THING_VertexFloorZ || mt->type == THING_VertexCeilingZ)
|
||||
if (mt->info != NULL && mt->info->Type == NULL)
|
||||
{
|
||||
for(int i=0; i<numvertexes; i++)
|
||||
if (mt->info->Special == SMT_VertexFloorZ || mt->info->Special == SMT_VertexCeilingZ)
|
||||
{
|
||||
if (vertexes[i].x == mt->x && vertexes[i].y == mt->y)
|
||||
for (int i = 0; i < numvertexes; i++)
|
||||
{
|
||||
if (mt->type == THING_VertexFloorZ)
|
||||
if (vertexes[i].x == mt->x && vertexes[i].y == mt->y)
|
||||
{
|
||||
vt_heights[0][i] = mt->z;
|
||||
if (mt->info->Special == SMT_VertexFloorZ)
|
||||
{
|
||||
vt_heights[0][i] = mt->z;
|
||||
}
|
||||
else
|
||||
{
|
||||
vt_heights[1][i] = mt->z;
|
||||
}
|
||||
vt_found = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
vt_heights[1][i] = mt->z;
|
||||
}
|
||||
vt_found = true;
|
||||
}
|
||||
mt->EdNum = 0;
|
||||
}
|
||||
mt->type = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -427,49 +416,51 @@ void P_SpawnSlopeMakers (FMapThing *firstmt, FMapThing *lastmt, const int *oldve
|
|||
|
||||
for (mt = firstmt; mt < lastmt; ++mt)
|
||||
{
|
||||
if ((mt->type >= THING_SlopeFloorPointLine &&
|
||||
mt->type <= THING_SetCeilingSlope) ||
|
||||
mt->type == THING_VavoomFloor || mt->type == THING_VavoomCeiling)
|
||||
if (mt->info != NULL && mt->info->Type == NULL &&
|
||||
(mt->info->Special >= SMT_SlopeFloorPointLine && mt->info->Special <= SMT_VavoomCeiling))
|
||||
{
|
||||
fixed_t x, y, z;
|
||||
secplane_t *refplane;
|
||||
sector_t *sec;
|
||||
bool ceiling;
|
||||
|
||||
x = mt->x;
|
||||
y = mt->y;
|
||||
sec = P_PointInSector (x, y);
|
||||
if (mt->type & 1)
|
||||
if (mt->info->Special == SMT_SlopeCeilingPointLine || mt->info->Special == SMT_VavoomCeiling || mt->info->Special == SMT_SetCeilingSlope)
|
||||
{
|
||||
refplane = &sec->ceilingplane;
|
||||
ceiling = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
refplane = &sec->floorplane;
|
||||
ceiling = false;
|
||||
}
|
||||
z = refplane->ZatPoint (x, y) + (mt->z);
|
||||
if (mt->type == THING_VavoomFloor || mt->type == THING_VavoomCeiling)
|
||||
{
|
||||
P_VavoomSlope(sec, mt->thingid, x, y, mt->z, mt->type & 1);
|
||||
if (mt->info->Special <= SMT_SlopeCeilingPointLine)
|
||||
{ // SlopeFloorPointLine and SlopCeilingPointLine
|
||||
P_SlopeLineToPoint (mt->args[0], x, y, z, ceiling);
|
||||
}
|
||||
else if (mt->type <= THING_SlopeCeilingPointLine)
|
||||
{ // THING_SlopeFloorPointLine and THING_SlopCeilingPointLine
|
||||
P_SlopeLineToPoint (mt->args[0], x, y, z, mt->type & 1);
|
||||
else if (mt->info->Special <= SMT_SetCeilingSlope)
|
||||
{ // SetFloorSlope and SetCeilingSlope
|
||||
P_SetSlope (refplane, ceiling, mt->angle, mt->args[0], x, y, z);
|
||||
}
|
||||
else
|
||||
{ // THING_SetFloorSlope and THING_SetCeilingSlope
|
||||
P_SetSlope (refplane, mt->type & 1, mt->angle, mt->args[0], x, y, z);
|
||||
{ // VavoomFloor and VavoomCeiling
|
||||
P_VavoomSlope(sec, mt->thingid, x, y, mt->z, ceiling);
|
||||
}
|
||||
mt->type = 0;
|
||||
mt->EdNum = 0;
|
||||
}
|
||||
}
|
||||
|
||||
for (mt = firstmt; mt < lastmt; ++mt)
|
||||
{
|
||||
if (mt->type == THING_CopyFloorPlane ||
|
||||
mt->type == THING_CopyCeilingPlane)
|
||||
if (mt->info != NULL && mt->info->Type == NULL &&
|
||||
(mt->info->Special == SMT_CopyFloorPlane || mt->info->Special == SMT_CopyCeilingPlane))
|
||||
{
|
||||
P_CopyPlane (mt->args[0], mt->x, mt->y, mt->type & 1);
|
||||
mt->type = 0;
|
||||
P_CopyPlane (mt->args[0], mt->x, mt->y, mt->info->Special == SMT_CopyCeilingPlane);
|
||||
mt->EdNum = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -500,7 +500,8 @@ public:
|
|||
break;
|
||||
|
||||
case NAME_Type:
|
||||
th->type = (short)CheckInt(key);
|
||||
th->EdNum = (short)CheckInt(key);
|
||||
th->info = DoomEdMap.CheckKey(th->EdNum);
|
||||
break;
|
||||
|
||||
case NAME_Conversation:
|
||||
|
|
|
@ -1561,8 +1561,8 @@ static void SpawnPolyobj (int index, int tag, int type)
|
|||
sd->linedef->args[0] = 0;
|
||||
IterFindPolySides(&polyobjs[index], sd);
|
||||
po->MirrorNum = sd->linedef->args[1];
|
||||
po->crush = (type != SMT_POLYSPAWN) ? 3 : 0;
|
||||
po->bHurtOnTouch = (type == SMT_POLYSPAWNHURT);
|
||||
po->crush = (type != SMT_PolySpawn) ? 3 : 0;
|
||||
po->bHurtOnTouch = (type == SMT_PolySpawnHurt);
|
||||
po->tag = tag;
|
||||
po->seqType = sd->linedef->args[2];
|
||||
if (po->seqType < 0 || po->seqType > 63)
|
||||
|
@ -1632,8 +1632,8 @@ static void SpawnPolyobj (int index, int tag, int type)
|
|||
}
|
||||
if (po->Sidedefs.Size() > 0)
|
||||
{
|
||||
po->crush = (type != SMT_POLYSPAWN) ? 3 : 0;
|
||||
po->bHurtOnTouch = (type == SMT_POLYSPAWNHURT);
|
||||
po->crush = (type != SMT_PolySpawn) ? 3 : 0;
|
||||
po->bHurtOnTouch = (type == SMT_PolySpawnHurt);
|
||||
po->tag = tag;
|
||||
po->seqType = po->Sidedefs[0]->linedef->args[3];
|
||||
po->MirrorNum = po->Sidedefs[0]->linedef->args[2];
|
||||
|
@ -1756,7 +1756,7 @@ void PO_Init (void)
|
|||
for (polyspawn = polyspawns, prev = &polyspawns; polyspawn;)
|
||||
{
|
||||
// 9301 (3001) = no crush, 9302 (3002) = crushing, 9303 = hurting touch
|
||||
if (polyspawn->type >= SMT_POLYSPAWN && polyspawn->type <= SMT_POLYSPAWNHURT)
|
||||
if (polyspawn->type >= SMT_PolySpawn && polyspawn->type <= SMT_PolySpawnHurt)
|
||||
{
|
||||
// Polyobj StartSpot Pt.
|
||||
polyobjs[polyIndex].StartSpot.x = polyspawn->x;
|
||||
|
@ -1776,7 +1776,7 @@ void PO_Init (void)
|
|||
for (polyspawn = polyspawns; polyspawn;)
|
||||
{
|
||||
polyspawns_t *next = polyspawn->next;
|
||||
if (polyspawn->type == SMT_POLYANCHOR)
|
||||
if (polyspawn->type == SMT_PolyAnchor)
|
||||
{
|
||||
// Polyobj Anchor Pt.
|
||||
TranslateToStartSpot (polyspawn->angle, polyspawn->x, polyspawn->y);
|
||||
|
|
|
@ -179,7 +179,7 @@ struct F7ZLump : public FResourceLump
|
|||
|
||||
//==========================================================================
|
||||
//
|
||||
// Zip file
|
||||
// 7-zip file
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
|
@ -190,8 +190,6 @@ class F7ZFile : public FResourceFile
|
|||
F7ZLump *Lumps;
|
||||
C7zArchive *Archive;
|
||||
|
||||
static int STACK_ARGS lumpcmp(const void * a, const void * b);
|
||||
|
||||
public:
|
||||
F7ZFile(const char * filename, FileReader *filer);
|
||||
bool Open(bool quiet);
|
||||
|
@ -201,15 +199,6 @@ public:
|
|||
|
||||
|
||||
|
||||
int STACK_ARGS F7ZFile::lumpcmp(const void * a, const void * b)
|
||||
{
|
||||
F7ZLump * rec1 = (F7ZLump *)a;
|
||||
F7ZLump * rec2 = (F7ZLump *)b;
|
||||
|
||||
return stricmp(rec1->FullName, rec2->FullName);
|
||||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// 7Z file
|
||||
|
@ -328,8 +317,7 @@ bool F7ZFile::Open(bool quiet)
|
|||
|
||||
if (!quiet) Printf(", %d lumps\n", NumLumps);
|
||||
|
||||
// Entries in archives are sorted alphabetically
|
||||
qsort(&Lumps[0], NumLumps, sizeof(F7ZLump), lumpcmp);
|
||||
PostProcessArchive(&Lumps[0], sizeof(F7ZLump));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -86,8 +86,6 @@ class FDirectory : public FResourceFile
|
|||
{
|
||||
TArray<FDirectoryLump> Lumps;
|
||||
|
||||
static int STACK_ARGS lumpcmp(const void * a, const void * b);
|
||||
|
||||
int AddDirectory(const char *dirpath);
|
||||
void AddEntry(const char *fullpath, int size);
|
||||
|
||||
|
@ -113,29 +111,18 @@ FDirectory::FDirectory(const char * directory)
|
|||
#ifdef _WIN32
|
||||
directory = _fullpath(NULL, directory, _MAX_PATH);
|
||||
#else
|
||||
// Todo for Linux: Resolve the path befire using it
|
||||
// Todo for Linux: Resolve the path before using it
|
||||
#endif
|
||||
dirname = directory;
|
||||
#ifdef _WIN32
|
||||
free((void *)directory);
|
||||
#endif
|
||||
dirname.ReplaceChars('\\', '/');
|
||||
if (dirname[dirname.Len()-1] != '/') dirname += '/';
|
||||
Filename = copystring(dirname);
|
||||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
int STACK_ARGS FDirectory::lumpcmp(const void * a, const void * b)
|
||||
{
|
||||
FDirectoryLump * rec1 = (FDirectoryLump *)a;
|
||||
FDirectoryLump * rec2 = (FDirectoryLump *)b;
|
||||
|
||||
return stricmp(rec1->FullName, rec2->FullName);
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
//==========================================================================
|
||||
//
|
||||
|
@ -299,8 +286,7 @@ bool FDirectory::Open(bool quiet)
|
|||
{
|
||||
NumLumps = AddDirectory(Filename);
|
||||
if (!quiet) Printf(", %d lumps\n", NumLumps);
|
||||
// Entries in Zips are sorted alphabetically.
|
||||
qsort(&Lumps[0], NumLumps, sizeof(FDirectoryLump), lumpcmp);
|
||||
PostProcessArchive(&Lumps[0], sizeof(FDirectoryLump));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -138,8 +138,6 @@ class FZipFile : public FResourceFile
|
|||
{
|
||||
FZipLump *Lumps;
|
||||
|
||||
static int STACK_ARGS lumpcmp(const void * a, const void * b);
|
||||
|
||||
public:
|
||||
FZipFile(const char * filename, FileReader *file);
|
||||
virtual ~FZipFile();
|
||||
|
@ -148,16 +146,6 @@ public:
|
|||
};
|
||||
|
||||
|
||||
|
||||
int STACK_ARGS FZipFile::lumpcmp(const void * a, const void * b)
|
||||
{
|
||||
FZipLump * rec1 = (FZipLump *)a;
|
||||
FZipLump * rec2 = (FZipLump *)b;
|
||||
|
||||
return stricmp(rec1->FullName, rec2->FullName);
|
||||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// Zip file
|
||||
|
@ -274,8 +262,7 @@ bool FZipFile::Open(bool quiet)
|
|||
|
||||
if (!quiet) Printf(", %d lumps\n", NumLumps);
|
||||
|
||||
// Entries in Zips are sorted alphabetically.
|
||||
qsort(Lumps, NumLumps, sizeof(FZipLump), lumpcmp);
|
||||
PostProcessArchive(&Lumps[0], sizeof(FZipLump));
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -38,7 +38,8 @@
|
|||
#include "cmdlib.h"
|
||||
#include "w_wad.h"
|
||||
#include "doomerrors.h"
|
||||
|
||||
#include "gi.h"
|
||||
#include "doomstat.h"
|
||||
|
||||
|
||||
//==========================================================================
|
||||
|
@ -74,11 +75,6 @@ public:
|
|||
|
||||
FResourceLump::~FResourceLump()
|
||||
{
|
||||
if (FullName != NULL)
|
||||
{
|
||||
delete [] FullName;
|
||||
FullName = NULL;
|
||||
}
|
||||
if (Cache != NULL && RefCount >= 0)
|
||||
{
|
||||
delete [] Cache;
|
||||
|
@ -102,7 +98,8 @@ void FResourceLump::LumpNameSetup(const char *iname)
|
|||
base = base.Left(base.LastIndexOf('.'));
|
||||
uppercopy(Name, base);
|
||||
Name[8] = 0;
|
||||
FullName = copystring(iname);
|
||||
FString temp = iname; // Note: iname can point to inside FullName's string buffer so we cannot do the assignment directly.
|
||||
FullName = temp;
|
||||
|
||||
// Map some directories to WAD namespaces.
|
||||
// Note that some of these namespaces don't exist in WADS.
|
||||
|
@ -321,6 +318,196 @@ FResourceFile::~FResourceFile()
|
|||
delete Reader;
|
||||
}
|
||||
|
||||
int STACK_ARGS lumpcmp(const void * a, const void * b)
|
||||
{
|
||||
FResourceLump * rec1 = (FResourceLump *)a;
|
||||
FResourceLump * rec2 = (FResourceLump *)b;
|
||||
|
||||
return rec1->FullName.CompareNoCase(rec2->FullName);
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FResourceFile :: PostProcessArchive
|
||||
//
|
||||
// Sorts files by name.
|
||||
// For files named "filter/<game>/*": Using the same filter rules as config
|
||||
// autoloading, move them to the end and rename them without the "filter/"
|
||||
// prefix. Filtered files that don't match are deleted.
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
void FResourceFile::PostProcessArchive(void *lumps, size_t lumpsize)
|
||||
{
|
||||
// Entries in archives are sorted alphabetically
|
||||
qsort(lumps, NumLumps, lumpsize, lumpcmp);
|
||||
|
||||
// Filter out lumps using the same names as the Autoload.* sections
|
||||
// in the ini file use. We reduce the maximum lump concidered after
|
||||
// each one so that we don't risk refiltering already filtered lumps.
|
||||
DWORD max = NumLumps;
|
||||
max -= FilterLumps(gameinfo.ConfigName, lumps, lumpsize, max);
|
||||
max -= FilterLumps(LumpFilterGroup, lumps, lumpsize, max);
|
||||
max -= FilterLumps(LumpFilterIWAD, lumps, lumpsize, max);
|
||||
JunkLeftoverFilters(lumps, lumpsize, max);
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FResourceFile :: FilterLumps
|
||||
//
|
||||
// Finds any lumps between [0,<max>) that match the pattern
|
||||
// "filter/<filtername>/*" and moves them to the end of the lump list.
|
||||
// Returns the number of lumps moved.
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
int FResourceFile::FilterLumps(FString filtername, void *lumps, size_t lumpsize, DWORD max)
|
||||
{
|
||||
FString filter;
|
||||
DWORD start, end;
|
||||
|
||||
if (filtername.IsEmpty())
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
filter << "filter/" << filtername << '/';
|
||||
if (FindPrefixRange(filter, lumps, lumpsize, max, start, end))
|
||||
{
|
||||
void *from = (BYTE *)lumps + start * lumpsize;
|
||||
|
||||
// Remove filter prefix from every name
|
||||
void *lump_p = from;
|
||||
for (DWORD i = start; i < end; ++i, lump_p = (BYTE *)lump_p + lumpsize)
|
||||
{
|
||||
FResourceLump *lump = (FResourceLump *)lump_p;
|
||||
assert(lump->FullName.CompareNoCase(filter, (int)filter.Len()) == 0);
|
||||
lump->LumpNameSetup(&lump->FullName[filter.Len()]);
|
||||
}
|
||||
|
||||
// Move filtered lumps to the end of the lump list.
|
||||
size_t count = (end - start) * lumpsize;
|
||||
void *to = (BYTE *)lumps + NumLumps * lumpsize - count;
|
||||
assert (to >= from);
|
||||
|
||||
if (from != to)
|
||||
{
|
||||
// Copy filtered lumps to a temporary buffer.
|
||||
BYTE *filteredlumps = new BYTE[count];
|
||||
memcpy(filteredlumps, from, count);
|
||||
|
||||
// Shift lumps left to make room for the filtered ones at the end.
|
||||
memmove(from, (BYTE *)from + count, (NumLumps - end) * lumpsize);
|
||||
|
||||
// Copy temporary buffer to newly freed space.
|
||||
memcpy(to, filteredlumps, count);
|
||||
|
||||
delete[] filteredlumps;
|
||||
}
|
||||
}
|
||||
return end - start;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FResourceFile :: JunkLeftoverFilters
|
||||
//
|
||||
// Deletes any lumps beginning with "filter/" that were not matched.
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
void FResourceFile::JunkLeftoverFilters(void *lumps, size_t lumpsize, DWORD max)
|
||||
{
|
||||
DWORD start, end;
|
||||
if (FindPrefixRange("filter/", lumps, lumpsize, max, start, end))
|
||||
{
|
||||
// Since the resource lumps may contain non-POD data besides the
|
||||
// full name, we "delete" them by erasing their names so they
|
||||
// can't be found.
|
||||
void *stop = (BYTE *)lumps + end * lumpsize;
|
||||
for (void *p = (BYTE *)lumps + start * lumpsize; p < stop; p = (BYTE *)p + lumpsize)
|
||||
{
|
||||
FResourceLump *lump = (FResourceLump *)p;
|
||||
lump->FullName = 0;
|
||||
lump->Name[0] = '\0';
|
||||
lump->Namespace = ns_invalid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// FResourceFile :: FindPrefixRange
|
||||
//
|
||||
// Finds a range of lumps that start with the prefix string. <start> is left
|
||||
// indicating the first matching one. <end> is left at one plus the last
|
||||
// matching one.
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
bool FResourceFile::FindPrefixRange(FString filter, void *lumps, size_t lumpsize, DWORD maxlump, DWORD &start, DWORD &end)
|
||||
{
|
||||
DWORD min, max, mid, inside;
|
||||
FResourceLump *lump;
|
||||
int cmp;
|
||||
|
||||
end = start = 0;
|
||||
|
||||
// Pretend that our range starts at 1 instead of 0 so that we can avoid
|
||||
// unsigned overflow if the range starts at the first lump.
|
||||
lumps = (BYTE *)lumps - lumpsize;
|
||||
|
||||
// Binary search to find any match at all.
|
||||
min = 1, max = maxlump;
|
||||
while (min <= max)
|
||||
{
|
||||
mid = min + (max - min) / 2;
|
||||
lump = (FResourceLump *)((BYTE *)lumps + mid * lumpsize);
|
||||
cmp = lump->FullName.CompareNoCase(filter, (int)filter.Len());
|
||||
if (cmp == 0)
|
||||
break;
|
||||
else if (cmp < 0)
|
||||
min = mid + 1;
|
||||
else
|
||||
max = mid - 1;
|
||||
}
|
||||
if (max < min)
|
||||
{ // matched nothing
|
||||
return false;
|
||||
}
|
||||
|
||||
// Binary search to find first match.
|
||||
inside = mid;
|
||||
min = 1, max = mid;
|
||||
while (min <= max)
|
||||
{
|
||||
mid = min + (max - min) / 2;
|
||||
lump = (FResourceLump *)((BYTE *)lumps + mid * lumpsize);
|
||||
cmp = lump->FullName.CompareNoCase(filter, (int)filter.Len());
|
||||
// Go left on matches and right on misses.
|
||||
if (cmp == 0)
|
||||
max = mid - 1;
|
||||
else
|
||||
min = mid + 1;
|
||||
}
|
||||
start = mid + (cmp != 0) - 1;
|
||||
|
||||
// Binary search to find last match.
|
||||
min = inside, max = maxlump;
|
||||
while (min <= max)
|
||||
{
|
||||
mid = min + (max - min) / 2;
|
||||
lump = (FResourceLump *)((BYTE *)lumps + mid * lumpsize);
|
||||
cmp = lump->FullName.CompareNoCase(filter, (int)filter.Len());
|
||||
// Go right on matches and left on misses.
|
||||
if (cmp == 0)
|
||||
min = mid + 1;
|
||||
else
|
||||
max = mid - 1;
|
||||
}
|
||||
end = mid - (cmp != 0);
|
||||
return true;
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
|
|
|
@ -13,7 +13,7 @@ struct FResourceLump
|
|||
friend class FResourceFile;
|
||||
|
||||
int LumpSize;
|
||||
char * FullName; // only valid for files loaded from a .zip file
|
||||
FString FullName; // only valid for files loaded from a non-wad archive
|
||||
union
|
||||
{
|
||||
char Name[9];
|
||||
|
@ -30,7 +30,6 @@ struct FResourceLump
|
|||
|
||||
FResourceLump()
|
||||
{
|
||||
FullName = NULL;
|
||||
Cache = NULL;
|
||||
Owner = NULL;
|
||||
Flags = 0;
|
||||
|
@ -66,9 +65,16 @@ protected:
|
|||
|
||||
FResourceFile(const char *filename, FileReader *r);
|
||||
|
||||
// for archives that can contain directories
|
||||
void PostProcessArchive(void *lumps, size_t lumpsize);
|
||||
|
||||
private:
|
||||
DWORD FirstLump;
|
||||
|
||||
int FilterLumps(FString filtername, void *lumps, size_t lumpsize, DWORD max);
|
||||
bool FindPrefixRange(FString filter, void *lumps, size_t lumpsize, DWORD max, DWORD &start, DWORD &end);
|
||||
void JunkLeftoverFilters(void *lumps, size_t lumpsize, DWORD max);
|
||||
|
||||
public:
|
||||
static FResourceFile *OpenResourceFile(const char *filename, FileReader *file, bool quiet = false);
|
||||
static FResourceFile *OpenDirectory(const char *filename, bool quiet = false);
|
||||
|
|
|
@ -290,14 +290,9 @@ void FWadCollection::AddFile (const char *filename, FileReader *wadinfo)
|
|||
FResourceLump *lump = resfile->GetLump(i);
|
||||
if (lump->Flags & LUMPF_EMBEDDED)
|
||||
{
|
||||
char path[256];
|
||||
|
||||
mysnprintf(path, countof(path), "%s:", filename);
|
||||
char *wadstr = path + strlen(path);
|
||||
|
||||
FString path;
|
||||
path.Format("%s:%s", filename, lump->FullName.GetChars());
|
||||
FileReader *embedded = lump->NewReader();
|
||||
strcpy(wadstr, lump->FullName);
|
||||
|
||||
AddFile(path, embedded);
|
||||
}
|
||||
}
|
||||
|
@ -345,7 +340,9 @@ void FWadCollection::AddFile (const char *filename, FileReader *wadinfo)
|
|||
sprintf(cksumout + (j * 2), "%02X", cksum[j]);
|
||||
}
|
||||
|
||||
fprintf(hashfile, "file: %s, lump: %s, hash: %s, size: %d\n", filename, lump->FullName ? lump->FullName : lump->Name, cksumout, lump->LumpSize);
|
||||
fprintf(hashfile, "file: %s, lump: %s, hash: %s, size: %d\n", filename,
|
||||
lump->FullName.IsNotEmpty() ? lump->FullName.GetChars() : lump->Name,
|
||||
cksumout, lump->LumpSize);
|
||||
|
||||
delete reader;
|
||||
}
|
||||
|
@ -737,7 +734,7 @@ void FWadCollection::InitHashChains (void)
|
|||
FirstLumpIndex[j] = i;
|
||||
|
||||
// Do the same for the full paths
|
||||
if (LumpInfo[i].lump->FullName!=NULL)
|
||||
if (LumpInfo[i].lump->FullName.IsNotEmpty())
|
||||
{
|
||||
j = MakeKey(LumpInfo[i].lump->FullName) % NumLumps;
|
||||
NextLumpIndex_FullName[i] = FirstLumpIndex_FullName[j];
|
||||
|
@ -1088,7 +1085,7 @@ const char *FWadCollection::GetLumpFullName (int lump) const
|
|||
{
|
||||
if ((size_t)lump >= NumLumps)
|
||||
return NULL;
|
||||
else if (LumpInfo[lump].lump->FullName != NULL)
|
||||
else if (LumpInfo[lump].lump->FullName.IsNotEmpty())
|
||||
return LumpInfo[lump].lump->FullName;
|
||||
else
|
||||
return LumpInfo[lump].lump->Name;
|
||||
|
@ -1574,3 +1571,33 @@ static void PrintLastError ()
|
|||
Printf (TEXTCOLOR_RED " %s\n", strerror(errno));
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef _DEBUG
|
||||
//==========================================================================
|
||||
//
|
||||
// CCMD LumpNum
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
CCMD(lumpnum)
|
||||
{
|
||||
for (int i = 1; i < argv.argc(); ++i)
|
||||
{
|
||||
Printf("%s: %d\n", argv[i], Wads.CheckNumForName(argv[i]));
|
||||
}
|
||||
}
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// CCMD LumpNumFull
|
||||
//
|
||||
//==========================================================================
|
||||
|
||||
CCMD(lumpnumfull)
|
||||
{
|
||||
for (int i = 1; i < argv.argc(); ++i)
|
||||
{
|
||||
Printf("%s: %d\n", argv[i], Wads.CheckNumForFullName(argv[i]));
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -52,6 +52,8 @@ struct wadlump_t
|
|||
|
||||
// [RH] Namespaces from BOOM.
|
||||
typedef enum {
|
||||
ns_invalid = -1,
|
||||
|
||||
ns_global = 0,
|
||||
ns_sprites,
|
||||
ns_flats,
|
||||
|
|
451
wadsrc/static/filter/doom/sndinfo.txt
Normal file
451
wadsrc/static/filter/doom/sndinfo.txt
Normal file
|
@ -0,0 +1,451 @@
|
|||
/****************************************************************************/
|
||||
/* */
|
||||
/* DOOM SOUNDS */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
// BOOM has pitch shifting equivalent to a range of 4. I never got to hear
|
||||
// Doom when it used pitch shifting, so I don't know if this is correct or not.
|
||||
$pitchshiftrange 4
|
||||
|
||||
// This sound is never actually used. It's just defined here for
|
||||
// compatibility with DeHackEd patches that reference dsskldth.
|
||||
misc/unused dsskldth // Sounds just like dsoof
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// Doom-specific player sounds
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
$playersound player male *death dspldeth
|
||||
$playersound player male *xdeath dspdiehi
|
||||
$playersound player male *gibbed dsslop
|
||||
$playersound player male *pain100 dsplpain
|
||||
$playersounddup player male *pain75 *pain100
|
||||
$playersounddup player male *pain50 *pain100
|
||||
$playersounddup player male *pain25 *pain100
|
||||
$playersound player male *grunt dsoof
|
||||
$playersounddup player male *land *grunt
|
||||
$playersound player male *jump dsjump
|
||||
$playersound player male *fist dspunch
|
||||
$playersound player male *usefail dsnoway
|
||||
|
||||
$playersound player female *death dsfldeth
|
||||
$playersound player female *xdeath dsfdiehi
|
||||
$playersound player female *gibbed dsslop
|
||||
$playersound player female *pain100 dsflpain
|
||||
$playersounddup player female *pain75 *pain100
|
||||
$playersounddup player female *pain50 *pain100
|
||||
$playersounddup player female *pain25 *pain100
|
||||
$playersound player female *grunt dsfoof
|
||||
$playersounddup player female *land *grunt
|
||||
$playersound player female *jump dsfjump
|
||||
$playersound player female *fist dspunch
|
||||
$playersound player female *usefail dsfnoway
|
||||
|
||||
$playersound player other *death dscldeth
|
||||
$playersound player other *xdeath dscdiehi
|
||||
$playersound player other *gibbed dsslop
|
||||
$playersound player other *pain100 dsclpain
|
||||
$playersounddup player other *pain75 *pain100
|
||||
$playersounddup player other *pain50 *pain100
|
||||
$playersounddup player other *pain25 *pain100
|
||||
$playersound player other *grunt dscoof
|
||||
$playersounddup player other *land *grunt
|
||||
$playersound player other *jump dscjump
|
||||
$playersound player other *fist dspunch
|
||||
$playersound player other *usefail dscnoway
|
||||
|
||||
// Alternate names for some player sounds needed for ZDoom <= 1.22 compatibility
|
||||
//
|
||||
// If any sounds with these names are defined later, they will redefine
|
||||
// the corresponding player sounds instead. Likewise, if they are played,
|
||||
// they will play the corresponding player sound instead.
|
||||
|
||||
$playercompat player male *death player/male/death1
|
||||
$playercompat player male *death player/male/death2
|
||||
$playercompat player male *death player/male/death3
|
||||
$playercompat player male *death player/male/death4
|
||||
$playercompat player male *xdeath player/male/xdeath1
|
||||
$playercompat player male *pain100 player/male/pain100_1
|
||||
$playercompat player male *pain100 player/male/pain100_2
|
||||
$playercompat player male *pain75 player/male/pain75_1
|
||||
$playercompat player male *pain75 player/male/pain75_2
|
||||
$playercompat player male *pain50 player/male/pain50_1
|
||||
$playercompat player male *pain50 player/male/pain50_2
|
||||
$playercompat player male *pain25 player/male/pain25_1
|
||||
$playercompat player male *pain25 player/male/pain25_2
|
||||
$playercompat player male *grunt player/male/grunt1
|
||||
$playercompat player male *land player/male/land1
|
||||
$playercompat player male *jump player/male/jump1
|
||||
$playercompat player male *gibbed player/male/gibbed
|
||||
$playercompat player male *fist player/male/fist
|
||||
|
||||
$playercompat player female *death player/female/death1
|
||||
$playercompat player female *death player/female/death2
|
||||
$playercompat player female *death player/female/death3
|
||||
$playercompat player female *death player/female/death4
|
||||
$playercompat player female *xdeath player/female/xdeath1
|
||||
$playercompat player female *pain100 player/female/pain100_1
|
||||
$playercompat player female *pain100 player/female/pain100_2
|
||||
$playercompat player female *pain75 player/female/pain75_1
|
||||
$playercompat player female *pain75 player/female/pain75_2
|
||||
$playercompat player female *pain50 player/female/pain50_1
|
||||
$playercompat player female *pain50 player/female/pain50_2
|
||||
$playercompat player female *pain25 player/female/pain25_1
|
||||
$playercompat player female *pain25 player/female/pain25_2
|
||||
$playercompat player female *grunt player/female/grunt1
|
||||
$playercompat player female *land player/female/land1
|
||||
$playercompat player female *jump player/female/jump1
|
||||
$playercompat player female *gibbed player/female/gibbed
|
||||
$playercompat player female *fist player/female/fist
|
||||
|
||||
$playercompat player other *death player/cyborg/death1
|
||||
$playercompat player other *death player/cyborg/death2
|
||||
$playercompat player other *death player/cyborg/death3
|
||||
$playercompat player other *death player/cyborg/death4
|
||||
$playercompat player other *xdeath player/cyborg/xdeath1
|
||||
$playercompat player other *pain100 player/cyborg/pain100_1
|
||||
$playercompat player other *pain100 player/cyborg/pain100_2
|
||||
$playercompat player other *pain75 player/cyborg/pain75_1
|
||||
$playercompat player other *pain75 player/cyborg/pain75_2
|
||||
$playercompat player other *pain50 player/cyborg/pain50_1
|
||||
$playercompat player other *pain50 player/cyborg/pain50_2
|
||||
$playercompat player other *pain25 player/cyborg/pain25_1
|
||||
$playercompat player other *pain25 player/cyborg/pain25_2
|
||||
$playercompat player other *grunt player/cyborg/grunt1
|
||||
$playercompat player other *land player/cyborg/land1
|
||||
$playercompat player other *jump player/cyborg/jump1
|
||||
$playercompat player other *gibbed player/cyborg/gibbed
|
||||
$playercompat player other *fist player/cyborg/fist
|
||||
|
||||
//
|
||||
// Weapons
|
||||
//
|
||||
|
||||
$pitchshiftrange 3
|
||||
weapons/sawup dssawup
|
||||
weapons/sawidle dssawidl
|
||||
weapons/sawfull dssawful
|
||||
weapons/sawhit dssawhit
|
||||
$pitchshiftrange 4
|
||||
|
||||
weapons/pistol dspistol
|
||||
weapons/shotgf dsshotgn
|
||||
weapons/shotgr dssgcock
|
||||
weapons/sshotf dsdshtgn
|
||||
weapons/sshoto dsdbopn
|
||||
weapons/sshotc dsdbcls
|
||||
weapons/sshotl dsdbload
|
||||
weapons/chngun dspistol
|
||||
weapons/rocklx dsbarexp
|
||||
weapons/rocklf dsrlaunc
|
||||
weapons/plasmaf dsplasma
|
||||
weapons/plasmax dsfirxpl
|
||||
weapons/bfgf dsbfg
|
||||
weapons/bfgx dsrxplod
|
||||
weapons/railgf railgf1
|
||||
weapons/grbnce dsbounce
|
||||
weapons/grenlx dsgrnexp
|
||||
weapons/grenlf dsglaunc
|
||||
|
||||
// Problem: weapons/rocklx needs to be unlimited but
|
||||
// is also used for the MAP30 brain explosion.
|
||||
// This alias remaps to the original but has its own limit
|
||||
// attached so that it doesn't become too loud.
|
||||
$alias misc/brainexplode weapons/rocklx
|
||||
$limit misc/brainexplode 4
|
||||
|
||||
$limit weapons/plasmaf 0
|
||||
$limit weapons/chngun 0
|
||||
$limit weapons/rocklf 0 // because normal running is almost as fast as a rocket
|
||||
$limit weapons/rocklx 0 // and the cyberdemon shoots 3 at once
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// MONSTER SOUNDS
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
misc/gibbed dsslop
|
||||
|
||||
// Zombie man
|
||||
|
||||
$random grunt/sight { grunt/sight1 grunt/sight2 grunt/sight3 }
|
||||
$random grunt/death { grunt/death1 grunt/death2 grunt/death3 }
|
||||
grunt/sight1 dsposit1
|
||||
grunt/sight2 dsposit2
|
||||
grunt/sight3 dsposit3
|
||||
grunt/active dsposact
|
||||
grunt/pain dspopain
|
||||
grunt/death1 dspodth1
|
||||
grunt/death2 dspodth2
|
||||
grunt/death3 dspodth3
|
||||
grunt/attack dspistol
|
||||
|
||||
// Shotgun guy
|
||||
|
||||
$random shotguy/sight { shotguy/sight1 shotguy/sight2 shotguy/sight3 }
|
||||
$random shotguy/death { shotguy/death1 shotguy/death2 shotguy/death3 }
|
||||
shotguy/sight1 dsposit1
|
||||
shotguy/sight2 dsposit2
|
||||
shotguy/sight3 dsposit3
|
||||
shotguy/active dsposact
|
||||
shotguy/pain dspopain
|
||||
shotguy/death1 dspodth1
|
||||
shotguy/death2 dspodth2
|
||||
shotguy/death3 dspodth3
|
||||
shotguy/attack dsshotgn
|
||||
|
||||
// Archvile
|
||||
|
||||
vile/sight dsvilsit
|
||||
vile/active dsvilact
|
||||
vile/pain dsvipain
|
||||
vile/death dsvildth
|
||||
vile/raise dsslop
|
||||
vile/start dsvilatk
|
||||
vile/stop dsbarexp
|
||||
vile/firestrt dsflamst
|
||||
vile/firecrkl dsflame
|
||||
|
||||
// Revenant
|
||||
|
||||
skeleton/sight dsskesit
|
||||
skeleton/active dsskeact
|
||||
skeleton/pain dspopain
|
||||
skeleton/melee dsskepch
|
||||
skeleton/swing dsskeswg
|
||||
skeleton/death dsskedth
|
||||
skeleton/attack dsskeatk
|
||||
skeleton/tracex dsbarexp
|
||||
|
||||
// Fatso
|
||||
|
||||
fatso/sight dsmansit
|
||||
fatso/active dsposact
|
||||
fatso/pain dsmnpain
|
||||
fatso/raiseguns dsmanatk
|
||||
fatso/death dsmandth
|
||||
fatso/attack dsfirsht
|
||||
fatso/shotx dsfirxpl
|
||||
|
||||
// Chainguy
|
||||
|
||||
$random chainguy/sight { chainguy/sight1 chainguy/sight2 chainguy/sight3 }
|
||||
$random chainguy/death { chainguy/death1 chainguy/death2 chainguy/death3 }
|
||||
chainguy/sight1 dsposit1
|
||||
chainguy/sight2 dsposit2
|
||||
chainguy/sight3 dsposit3
|
||||
chainguy/active dsposact
|
||||
chainguy/pain dspopain
|
||||
chainguy/death1 dspodth1
|
||||
chainguy/death2 dspodth2
|
||||
chainguy/death3 dspodth3
|
||||
chainguy/attack dsshotgn
|
||||
$limit chainguy/attack 0
|
||||
|
||||
// Imp
|
||||
|
||||
$random imp/sight { imp/sight1 imp/sight2 }
|
||||
$random imp/death { imp/death1 imp/death2 }
|
||||
imp/sight1 dsbgsit1
|
||||
imp/sight2 dsbgsit2
|
||||
imp/active dsbgact
|
||||
imp/pain dspopain
|
||||
imp/melee dsclaw
|
||||
imp/death1 dsbgdth1
|
||||
imp/death2 dsbgdth2
|
||||
imp/attack dsfirsht
|
||||
imp/shotx dsfirxpl
|
||||
$limit imp/active 6
|
||||
|
||||
// Demon
|
||||
|
||||
demon/sight dssgtsit
|
||||
demon/active dsdmact
|
||||
demon/pain dsdmpain
|
||||
demon/melee dssgtatk
|
||||
demon/death dssgtdth
|
||||
$limit demon/melee 4
|
||||
|
||||
// Spectre
|
||||
|
||||
spectre/sight dssgtsit
|
||||
spectre/active dsdmact
|
||||
spectre/pain dsdmpain
|
||||
spectre/melee dssgtatk
|
||||
spectre/death dssgtdth
|
||||
|
||||
// Cacodemon
|
||||
|
||||
caco/sight dscacsit
|
||||
caco/active dsdmact
|
||||
caco/pain dsdmpain
|
||||
caco/death dscacdth
|
||||
caco/attack dsfirsht
|
||||
caco/shotx dsfirxpl
|
||||
|
||||
// Baron of Hell
|
||||
|
||||
baron/sight dsbrssit
|
||||
baron/active dsdmact
|
||||
baron/pain dsdmpain
|
||||
baron/melee dsclaw
|
||||
baron/death dsbrsdth
|
||||
baron/attack dsfirsht
|
||||
baron/shotx dsfirxpl
|
||||
|
||||
// Hell Knight
|
||||
|
||||
knight/sight dskntsit
|
||||
knight/active dsdmact
|
||||
knight/pain dsdmpain
|
||||
knight/death dskntdth
|
||||
|
||||
// Lost Soul
|
||||
|
||||
skull/active dsdmact
|
||||
skull/pain dsdmpain
|
||||
skull/melee dssklatk
|
||||
skull/death dsfirxpl
|
||||
|
||||
// Spider Mastermind
|
||||
|
||||
spider/sight dsspisit
|
||||
spider/active dsdmact
|
||||
spider/pain dsdmpain
|
||||
spider/attack dsshotgn
|
||||
spider/death dsspidth
|
||||
spider/walk dsmetal
|
||||
|
||||
// Arachnotron
|
||||
|
||||
baby/sight dsbspsit
|
||||
baby/active dsbspact
|
||||
baby/pain dsdmpain
|
||||
baby/death dsbspdth
|
||||
baby/walk dsbspwlk
|
||||
baby/attack dsplasma
|
||||
baby/shotx dsfirxpl
|
||||
|
||||
$limit baby/attack 0
|
||||
|
||||
// Cyber Demon
|
||||
|
||||
cyber/sight dscybsit
|
||||
cyber/active dsdmact
|
||||
cyber/pain dsdmpain
|
||||
cyber/death dscybdth
|
||||
cyber/hoof dshoof
|
||||
|
||||
// Pain Elemental
|
||||
|
||||
pain/sight dspesit
|
||||
pain/active dsdmact
|
||||
pain/pain dspepain
|
||||
pain/death dspedth
|
||||
|
||||
// Wolfenstein SS
|
||||
|
||||
wolfss/sight dssssit
|
||||
wolfss/active dsposact
|
||||
wolfss/pain dspopain
|
||||
wolfss/death dsssdth
|
||||
wolfss/attack dsshotgn
|
||||
|
||||
// Commander Keen
|
||||
|
||||
keen/pain dskeenpn
|
||||
keen/death dskeendt
|
||||
|
||||
// Boss Brain
|
||||
|
||||
brain/sight dsbossit
|
||||
brain/pain dsbospn
|
||||
brain/death dsbosdth
|
||||
brain/spit dsbospit
|
||||
brain/cube dsboscub
|
||||
brain/cubeboom dsfirxpl
|
||||
$alias brain/spawn misc/teleport
|
||||
|
||||
|
||||
//============================================================================
|
||||
//
|
||||
// WORLD SOUNDS
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
world/barrelx dsbarexp
|
||||
|
||||
world/drip dsempty
|
||||
world/watersplash dsempty
|
||||
world/sludgegloop dsempty
|
||||
world/lavasizzle dsempty
|
||||
|
||||
//
|
||||
//
|
||||
// Platform Sounds
|
||||
//
|
||||
|
||||
plats/pt1_strt dspstart
|
||||
plats/pt1_stop dspstop
|
||||
plats/pt1_mid dsstnmov
|
||||
|
||||
//
|
||||
// Door Sounds
|
||||
//
|
||||
|
||||
doors/dr1_open dsdoropn
|
||||
doors/dr1_clos dsdorcls
|
||||
doors/dr2_open dsbdopn
|
||||
doors/dr2_clos dsbdcls
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// MISCELLANEOUS SOUNDS
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
misc/secret dssecret
|
||||
misc/w_pkup dswpnup // Pickup weapon
|
||||
misc/p_pkup dsgetpow // Pickup powerup
|
||||
misc/i_pkup dsitemup // Pickup item
|
||||
misc/k_pkup dsitemup // Pickup key
|
||||
misc/spawn dsitmbk // Item respawn
|
||||
misc/chat dsradio // Doom 2 chat sound
|
||||
misc/chat2 dstink // Chat sound for everything else
|
||||
|
||||
$limit misc/i_pkup 1
|
||||
$limit misc/k_pkup 1
|
||||
$limit misc/w_pkup 1
|
||||
$limit misc/p_pkup 1
|
||||
$pitchshift misc/i_pkup 0
|
||||
$pitchshift misc/k_pkup 0
|
||||
$pitchshift misc/chat2 0
|
||||
|
||||
switches/normbutn dsswtchn
|
||||
switches/exitbutn dsswtchx
|
||||
|
||||
misc/teleport dstelept
|
||||
|
||||
menu/activate dsswtchn // Activate a new menu
|
||||
menu/backup dsswtchn // Backup to previous menu
|
||||
menu/prompt dsswtchn // Activate a prompt "menu"
|
||||
menu/cursor dspstop // Move cursor up/down
|
||||
menu/change dsstnmov // Select new value for option
|
||||
menu/invalid dsoof // Menu not available
|
||||
menu/dismiss dsswtchx // Dismiss a prompt message
|
||||
menu/choose dspistol // Choose a menu item
|
||||
menu/clear dsswtchx // Close top menu
|
||||
|
||||
$random menu/quit1 { player/male/death1 demon/pain grunt/pain misc/gibbed misc/teleport grunt/sight1 grunt/sight3 demon/melee }
|
||||
$random menu/quit2 { vile/active misc/p_pkup brain/cube misc/gibbed skeleton/swing knight/death baby/active demon/melee }
|
||||
|
||||
$alias intermission/tick weapons/pistol
|
||||
$alias intermission/cooptotal *death
|
||||
$alias intermission/nextstage weapons/rocklx
|
||||
$alias intermission/paststats weapons/shotgr
|
||||
$alias intermission/pastcoopstats weapons/shotgr
|
||||
$alias intermission/pastdmstats *gibbed
|
291
wadsrc/static/filter/heretic/sndinfo.txt
Normal file
291
wadsrc/static/filter/heretic/sndinfo.txt
Normal file
|
@ -0,0 +1,291 @@
|
|||
/****************************************************************************/
|
||||
/* */
|
||||
/* HERETIC SOUNDS */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
$rolloff * custom 0 1600
|
||||
|
||||
$pitchshiftrange 2
|
||||
|
||||
$playersound player male *wimpydeath plrwdth
|
||||
$playersound player male *death plrdth
|
||||
$playersound player male *crazydeath plrcdth
|
||||
$playersound player male *gibbed gibdth
|
||||
$playersound player male *pain100 plrpai
|
||||
$playersounddup player male *pain75 *pain100
|
||||
$playersounddup player male *pain50 *pain100
|
||||
$playersounddup player male *pain25 *pain100
|
||||
$playersound player male *weaponlaugh wpnup
|
||||
$playersounddup player male *evillaugh *weaponlaugh
|
||||
$playersound player male *grunt plroof
|
||||
$playersounddup player male *usefail *grunt
|
||||
$playersounddup player male *land *grunt
|
||||
$playersound player male *jump plrjmp
|
||||
$playersound player male *burndeath hedat1
|
||||
|
||||
$playeralias chicken male *usefail chicken/peck
|
||||
$PlayerAlias Chicken Male *Grunt chicken/pain
|
||||
$PlayerAlias Chicken Male *Land chicken/pain
|
||||
$PlayerAlias Chicken Male *Jump chicken/active
|
||||
$PlayerAlias Chicken Male *EvilLaugh chicken/active
|
||||
|
||||
chicken/sight chicpai
|
||||
chicken/pain chicpai
|
||||
chicken/death chicdth
|
||||
chicken/attack chicatk
|
||||
|
||||
misc/burn hedat1
|
||||
|
||||
weapons/staffhit stfhit
|
||||
weapons/staffpowerhit stfpow
|
||||
weapons/staffcrackle stfcrk
|
||||
weapons/wandhit gldhit
|
||||
weapons/bowshoot bowsht
|
||||
weapons/bowhit hrnhit
|
||||
weapons/gauntletsactivate gntact
|
||||
weapons/gauntletsuse gntuse
|
||||
weapons/gauntletson gntful
|
||||
weapons/gauntletshit gnthit
|
||||
weapons/gauntletspowhit gntpow
|
||||
weapons/maceshoot lobsht
|
||||
weapons/macebounce bounce
|
||||
weapons/macehit lobhit
|
||||
weapons/macestop pstop
|
||||
weapons/maceexplode phohit
|
||||
weapons/blasterhit blshit
|
||||
weapons/blasterpowhit hrnhit
|
||||
weapons/blastershoot blssht
|
||||
weapons/hornrodshoot hrnsht
|
||||
weapons/hornrodhit hrnhit
|
||||
weapons/hornrodpowshoot hrnpow
|
||||
weapons/hornrodpowhit ramphit
|
||||
weapons/phoenixshoot phosht
|
||||
weapons/phoenixhit phohit
|
||||
weapons/phoenixpowshoot phopow
|
||||
|
||||
$limit weapons/gauntletson 0
|
||||
$limit weapons/gauntletshit 0
|
||||
$limit weapons/gauntletspowhit 0
|
||||
$limit weapons/gauntletsactivate 0
|
||||
$limit weapons/gauntletsuse 0
|
||||
$limit weapons/maceexplode 0
|
||||
$limit weapons/phoenixhit 0
|
||||
$limit weapons/phoenixpowshoot 1
|
||||
|
||||
// [RH] Heretic didn't have these limitless, but they can sound bad if they're not
|
||||
$limit weapons/bowhit 0
|
||||
$limit weapons/hornrodshoot 0
|
||||
$limit weapons/hornrodhit 0
|
||||
$limit weapons/maceshoot 0
|
||||
|
||||
himp/sight impsit
|
||||
himp/attack impat1
|
||||
himp/pain imppai
|
||||
himp/death impdth
|
||||
himp/active impsit
|
||||
himp/leaderattack impat2
|
||||
|
||||
misc/invuse artiuse
|
||||
|
||||
$limit misc/invuse 1
|
||||
|
||||
world/podexplode podexp
|
||||
world/podgrow newpod
|
||||
world/wind wind
|
||||
world/waterfall waterfl
|
||||
|
||||
$limit world/podexplode 0
|
||||
$limit world/podgrow 0
|
||||
$limit world/wind 1
|
||||
|
||||
misc/i_pkup itemup
|
||||
misc/k_pkup keyup
|
||||
misc/p_pkup artiup
|
||||
$alias misc/w_pkup *weaponlaugh
|
||||
|
||||
misc/rain ramrain
|
||||
misc/spawn respawn
|
||||
|
||||
$limit misc/spawn 1
|
||||
|
||||
//
|
||||
// Minotaur sounds
|
||||
//
|
||||
|
||||
minotaur/sight minsit
|
||||
minotaur/melee stfpow
|
||||
minotaur/attack1 minat1
|
||||
minotaur/attack2 minat2
|
||||
minotaur/attack3 minat3
|
||||
minotaur/pain minpai
|
||||
minotaur/death mindth
|
||||
minotaur/active minact
|
||||
minotaur/fx2hit phohit
|
||||
minotaur/fx3hit phohit
|
||||
|
||||
//
|
||||
// Wizard sounds
|
||||
//
|
||||
|
||||
wizard/sight wizsit
|
||||
wizard/attack wizatk
|
||||
wizard/death wizdth
|
||||
wizard/pain wizpai
|
||||
wizard/active1 wizact
|
||||
$random wizard/active { wizard/sight wizard/active1 }
|
||||
|
||||
//
|
||||
// Switch sounds
|
||||
//
|
||||
|
||||
switches/normbutn switch
|
||||
$alias switches/exitbutn switches/normbutn // Heretic has no special exit button sound
|
||||
|
||||
//
|
||||
//
|
||||
// Platform Sounds
|
||||
//
|
||||
|
||||
plats/pt1_strt pstart
|
||||
plats/pt1_stop pstop
|
||||
plats/pt1_mid dormov
|
||||
|
||||
//
|
||||
// Door Sounds
|
||||
//
|
||||
|
||||
doors/dr1_open doropn
|
||||
doors/dr1_clos dorcls
|
||||
doors/dr2_open doropn
|
||||
doors/dr2_clos dorcls
|
||||
|
||||
//
|
||||
// Ambient sounds
|
||||
//
|
||||
|
||||
world/amb1 amb1
|
||||
world/amb2 amb2
|
||||
world/amb3 amb3
|
||||
world/amb4 amb4
|
||||
world/amb5 amb5
|
||||
world/amb6 amb6
|
||||
world/amb7 amb7
|
||||
world/amb8 amb8
|
||||
world/amb9 amb9
|
||||
world/amb10 amb10
|
||||
world/amb11 amb11
|
||||
world/amb12 bstsit
|
||||
|
||||
$limit world/amb1 1
|
||||
$limit world/amb2 1
|
||||
$limit world/amb3 1
|
||||
$limit world/amb4 1
|
||||
$limit world/amb5 1
|
||||
$limit world/amb6 1
|
||||
$limit world/amb7 1
|
||||
$limit world/amb8 1
|
||||
$limit world/amb9 1
|
||||
$limit world/amb10 1
|
||||
$limit world/amb11 0
|
||||
|
||||
misc/chat chat
|
||||
misc/teleport telept
|
||||
misc/ripslop ripslop
|
||||
|
||||
$limit misc/chat 1
|
||||
|
||||
world/drip gloop
|
||||
world/watersplash gloop
|
||||
world/lavasizzle burn
|
||||
world/sludgegloop dsempty
|
||||
|
||||
mummy/sight mumsit
|
||||
mummy/attack1 mumat1
|
||||
mummy/attack2 mumat2
|
||||
mummy/pain mumpai
|
||||
mummy/death mumdth
|
||||
mummy/active mumsit
|
||||
mummy/head mumhed
|
||||
|
||||
beast/sight bstsit
|
||||
beast/attack bstatk
|
||||
beast/pain bstpai
|
||||
beast/death bstdth
|
||||
beast/active bstact
|
||||
|
||||
snake/attack snkatk
|
||||
snake/sight snksit
|
||||
snake/pain snkpai
|
||||
snake/death snkdth
|
||||
snake/active snkact
|
||||
|
||||
clink/sight clksit
|
||||
clink/attack clkatk
|
||||
clink/pain clkpai
|
||||
clink/death clkdth
|
||||
clink/active clkact
|
||||
|
||||
hknight/sight kgtsit
|
||||
hknight/attack kgtatk
|
||||
hknight/melee kgtat2
|
||||
hknight/pain kgtpai
|
||||
hknight/death kgtdth
|
||||
hknight/active kgtsit
|
||||
hknight/hit hrnhit
|
||||
hknight/axewhoosh kgtatk
|
||||
|
||||
misc/timebomb phohit
|
||||
world/volcano/blast lobhit
|
||||
world/volcano/shoot bstatk
|
||||
|
||||
ironlich/sight hedsit
|
||||
ironlich/attack1 hedat1
|
||||
ironlich/attack2 hedat2
|
||||
ironlich/attack3 hedat3
|
||||
ironlich/pain hedpai
|
||||
ironlich/death heddth
|
||||
ironlich/active hedact
|
||||
|
||||
dsparilserpent/sight bstsit
|
||||
dsparilserpent/attack bstatk
|
||||
dsparilserpent/pain sbtpai
|
||||
dsparilserpent/death sbtdth
|
||||
dsparilserpent/active sbtact
|
||||
|
||||
dsparil/sight sorsit
|
||||
dsparil/attack soratk
|
||||
dsparil/pain sorpai
|
||||
dsparil/active soract
|
||||
dsparil/rise sorrise
|
||||
dsparil/zap sorzap
|
||||
dsparil/scream sordsph
|
||||
dsparil/explode sordexp
|
||||
dsparil/bones sordbon
|
||||
|
||||
chicken/active chicact
|
||||
chicken/attack chicatk
|
||||
chicken/pain chicpai
|
||||
chicken/death chicdth
|
||||
chicken/peck1 chicpk1
|
||||
chicken/peck2 chicpk2
|
||||
chicken/peck3 chicpk3
|
||||
$random chicken/peck { chicken/peck1 chicken/peck2 chicken/peck3 }
|
||||
|
||||
menu/activate dorcls
|
||||
menu/backup switch
|
||||
menu/prompt chat
|
||||
menu/choose dorcls
|
||||
menu/cursor switch
|
||||
menu/change keyup
|
||||
menu/invalid plroof
|
||||
menu/dismiss dorcls
|
||||
menu/clear dorcls
|
||||
|
||||
misc/secret dssecret
|
||||
|
||||
$alias intermission/cooptotal *death
|
||||
$alias intermission/nextstage doors/dr1_clos
|
||||
$alias intermission/paststats plats/pt1_stop
|
||||
$alias intermission/pastcoopstats plats/pt1_stop
|
||||
$alias intermission/pastdmstats *gibbed
|
190
wadsrc/static/filter/hexen/sndinfo.txt
Normal file
190
wadsrc/static/filter/hexen/sndinfo.txt
Normal file
|
@ -0,0 +1,190 @@
|
|||
/****************************************************************************/
|
||||
/* */
|
||||
/* HEXEN SOUNDS */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
$rolloff * custom 0 2025
|
||||
|
||||
$pitchshiftrange 3
|
||||
|
||||
$random PlayerFighterExtremeDeathPicker { PlayerFighterExtreme1Death
|
||||
PlayerFighterExtreme2Death
|
||||
PlayerFighterExtreme3Death }
|
||||
|
||||
$playeralias fighter male *death PlayerFighterNormalDeath
|
||||
$playeralias fighter male *crazydeath PlayerFighterCrazyDeath
|
||||
$playeralias fighter male *burndeath PlayerFighterBurnDeath
|
||||
$playeralias fighter male *xdeath PlayerFighterExtremeDeathPicker
|
||||
$playeralias fighter male *pain100 PlayerFighterPain
|
||||
$playersounddup fighter male *pain75 *pain100
|
||||
$playersounddup fighter male *pain50 *pain100
|
||||
$playersounddup fighter male *pain25 *pain100
|
||||
$playeralias fighter male *grunt PlayerFighterGrunt
|
||||
$playeralias fighter male *land PlayerLand
|
||||
$playeralias fighter male *poison PlayerPoisonCough
|
||||
$playeralias fighter male *falling PlayerFighterFallingScream
|
||||
$playeralias fighter male *splat PlayerFallingSplat
|
||||
$playeralias fighter male *usefail PlayerFighterFailedUse
|
||||
$playeralias fighter male *puzzfail PuzzleFailFighter
|
||||
$playersound fighter male *jump fgtjump
|
||||
$playeralias fighter male *fistgrunt FighterGrunt
|
||||
|
||||
$random PlayerClericExtremeDeathPicker { PlayerClericExtreme1Death
|
||||
PlayerClericExtreme2Death
|
||||
PlayerClericExtreme3Death }
|
||||
|
||||
$playeralias cleric male *death PlayerClericNormalDeath
|
||||
$playeralias cleric male *crazydeath PlayerClericCrazyDeath
|
||||
$playeralias cleric male *burndeath PlayerClericBurnDeath
|
||||
$playeralias cleric male *xdeath PlayerClericExtremeDeathPicker
|
||||
$playeralias cleric male *pain100 PlayerClericPain
|
||||
$playersounddup cleric male *pain75 *pain100
|
||||
$playersounddup cleric male *pain50 *pain100
|
||||
$playersounddup cleric male *pain25 *pain100
|
||||
$playeralias cleric male *grunt PlayerClericGrunt
|
||||
$playeralias cleric male *land PlayerLand
|
||||
$playeralias cleric male *poison PlayerPoisonCough
|
||||
$playeralias cleric male *falling PlayerClericFallingScream
|
||||
$playeralias cleric male *splat PlayerFallingSplat
|
||||
$playeralias cleric male *usefail PlayerClericFailedUse
|
||||
$playeralias cleric male *puzzfail PuzzleFailCleric
|
||||
$playersound cleric male *jump plrjump
|
||||
|
||||
$random PlayerMageExtremeDeathPicker { PlayerMageExtreme1Death
|
||||
PlayerMageExtreme2Death
|
||||
PlayerMageExtreme3Death }
|
||||
|
||||
$playeralias mage male *death PlayerMageNormalDeath
|
||||
$playeralias mage male *crazydeath PlayerMageCrazyDeath
|
||||
$playeralias mage male *burndeath PlayerMageBurnDeath
|
||||
$playeralias mage male *xdeath PlayerMageExtremeDeathPicker
|
||||
$playeralias mage male *pain100 PlayerMagePain
|
||||
$playersounddup mage male *pain75 *pain100
|
||||
$playersounddup mage male *pain50 *pain100
|
||||
$playersounddup mage male *pain25 *pain100
|
||||
$playeralias mage male *grunt PlayerMageGrunt
|
||||
$playeralias mage male *land PlayerLand
|
||||
$playeralias mage male *poison PlayerPoisonCough
|
||||
$playeralias mage male *falling PlayerMageFallingScream
|
||||
$playeralias mage male *splat PlayerFallingSplat
|
||||
$playeralias mage male *usefail PlayerMageFailedUse
|
||||
$playeralias mage male *puzzfail PuzzleFailMage
|
||||
$playersound mage male *jump mgjump
|
||||
|
||||
$playeralias pig male *usefail PigActive1
|
||||
$playeralias pig male *puzzfail PigActive2
|
||||
$playeralias pig male *grunt PigActive1
|
||||
$playeralias pig male *land PigActive2
|
||||
$playeralias pig male *jump PigActive1
|
||||
$playeralias pig male *poison PigActive2
|
||||
$playeralias pig male *falling PigPain
|
||||
$playeralias pig male *splat PigDeath
|
||||
|
||||
$alias world/drip Ambient10
|
||||
$alias world/watersplash WaterSplash
|
||||
$alias world/lavasizzle LavaSizzle
|
||||
$alias world/sludgegloop SludgeGloop
|
||||
$alias world/wind Wind
|
||||
$alias world/quake Earthquake
|
||||
$alias world/thunder ThunderCrash
|
||||
|
||||
$alias misc/w_pkup PickupWeapon
|
||||
$alias misc/p_pkup PickupArtifact
|
||||
$alias misc/k_pkup PickupKey
|
||||
$alias misc/i_pkup PickupItem
|
||||
$alias misc/spawn Respawn
|
||||
$alias misc/teleport Teleport
|
||||
$alias misc/keytry DoorLocked
|
||||
$alias misc/invuse UseArtifact
|
||||
$alias misc/freeze FreezeDeath
|
||||
$alias misc/icebreak FreezeShatter
|
||||
|
||||
$alias misc/chat Chat
|
||||
$alias misc/chat2 Chat
|
||||
|
||||
$alias misc/fallingsplat PlayerFallingSplat
|
||||
|
||||
$alias minotaur/sight MaulatorSight
|
||||
$alias minotaur/pain MaulatorPain
|
||||
$alias minotaur/death MaulatorDeath
|
||||
$alias minotaur/active MaulatorActive
|
||||
$alias minotaur/attack1 MaulatorHamHit
|
||||
$alias minotaur/attack2 MaulatorHamSwing
|
||||
|
||||
$random BishopActiveSounds { BishopActive BishopSight }
|
||||
$random PigActive { PigActive1 PigActive2 }
|
||||
|
||||
$limit PlayerFighterFailedUse 1
|
||||
$limit PlayerClericFailedUse 1
|
||||
$limit PlayerMageFailedUse 1
|
||||
$limit SorcererBallWoosh 4
|
||||
$limit SorcererBallBounce 3
|
||||
$limit SorcererBallExplode 3
|
||||
$limit SorcererBallPop 3
|
||||
$limit SorcererBigBallExplode 3
|
||||
$limit Ambient1 1
|
||||
$limit Ambient2 1
|
||||
$limit Ambient3 1
|
||||
$limit Ambient4 1
|
||||
$limit Ambient5 1
|
||||
$limit Ambient6 1
|
||||
$limit Ambient7 1
|
||||
$limit Ambient8 1
|
||||
$limit Ambient9 1
|
||||
$limit Ambient10 1
|
||||
$limit Ambient11 1
|
||||
$limit Ambient12 1
|
||||
$limit Ambient13 1
|
||||
$limit Ambient14 1
|
||||
$limit Ambient15 1
|
||||
$limit MysticIncant 4
|
||||
|
||||
$pitchshift PlayerMageNormalDeath 0
|
||||
$pitchshift PlayerMageCrazyDeath 0
|
||||
$pitchshift PlayerMageExtreme1Death 0
|
||||
$pitchshift PlayerMageExtreme2Death 0
|
||||
$pitchshift PlayerMageExtreme3Death 0
|
||||
$pitchshift PlayerMageBurnDeath 0
|
||||
$pitchshift PlayerMagePain 0
|
||||
$pitchshift PlayerMageGrunt 0
|
||||
$pitchshift PlayerMageFallingScream 0
|
||||
$pitchshift PlayerMageFailedUse 0
|
||||
$pitchshift PickupWeapon 0
|
||||
$pitchshift PickupPiece 0
|
||||
$pitchshift WeaponBuild 0
|
||||
$pitchshift BellRing 0
|
||||
|
||||
$alias menu/activate DoorCloseLight
|
||||
$alias menu/backup PickupKey
|
||||
$alias menu/prompt Chat
|
||||
$alias menu/cursor FighterHammerHitWall
|
||||
$alias menu/change PickupKey
|
||||
$alias menu/invalid DoorCloseMetal // Hexen does not use this, but I do
|
||||
$alias menu/dismiss PlatformStop
|
||||
$alias menu/choose DoorCloseLight
|
||||
$alias menu/clear PlatformStop
|
||||
|
||||
// Hexen does not have ripslop sound like Heretic
|
||||
misc/ripslop dsempty
|
||||
misc/netnotch blddrp1
|
||||
|
||||
$alias intermission/cooptotal *death
|
||||
$alias intermission/nextstage DoorCloseLight
|
||||
$alias intermission/paststats PlatformStop
|
||||
$alias intermission/pastcoopstats PlatformStop
|
||||
$alias intermission/pastdmstats *gibbed
|
||||
|
||||
$limit DoorCloseLight 4
|
||||
|
||||
$limit PuppyBeat 0
|
||||
$limit CeantaurPain 0
|
||||
$limit BishopPain 0
|
||||
$limit SerpentPain 0
|
||||
$limit DemonPain 0
|
||||
$limit WraithPain 0
|
||||
$limit MaulatorPain 0
|
||||
$limit EttinPain 0
|
||||
$limit FireDemonPain 0
|
||||
$limit SorcererPain 0
|
||||
$limit DragonPain 0
|
314
wadsrc/static/filter/strife/sndinfo.txt
Normal file
314
wadsrc/static/filter/strife/sndinfo.txt
Normal file
|
@ -0,0 +1,314 @@
|
|||
/****************************************************************************/
|
||||
/* */
|
||||
/* STRIFE SOUNDS */
|
||||
/* */
|
||||
/****************************************************************************/
|
||||
|
||||
$rolloff * 200 1200
|
||||
|
||||
$playersound player male *death dspldeth
|
||||
$playersound player male *xdeath dspdiehi
|
||||
$playersound player male *gibbed dsslop
|
||||
$playersound player male *pain100 dsplpain
|
||||
$playersounddup player male *pain75 *pain100
|
||||
$playersounddup player male *pain50 *pain100
|
||||
$playersounddup player male *pain25 *pain100
|
||||
$playersound player male *grunt dsoof
|
||||
$playersounddup player male *land *grunt
|
||||
$playersound player male *jump dsjump
|
||||
$playersound player male *fist dspunch
|
||||
$playersound player male *usefail dsnoway
|
||||
|
||||
$playersound player female *death dsfldeth
|
||||
$playersound player female *xdeath dsfdiehi
|
||||
$playersound player female *gibbed dsslop
|
||||
$playersound player female *pain100 dsflpain
|
||||
$playersounddup player female *pain75 *pain100
|
||||
$playersounddup player female *pain50 *pain100
|
||||
$playersounddup player female *pain25 *pain100
|
||||
$playersound player female *grunt dsfoof
|
||||
$playersounddup player female *land *grunt
|
||||
$playersound player female *jump dsfjump
|
||||
$playersound player female *fist dspunch
|
||||
$playersound player female *usefail dsfnoway
|
||||
|
||||
$playersound player other *death dscldeth
|
||||
$playersound player other *xdeath dscdiehi
|
||||
$playersound player other *gibbed dsslop
|
||||
$playersound player other *pain100 dsclpain
|
||||
$playersounddup player other *pain75 *pain100
|
||||
$playersounddup player other *pain50 *pain100
|
||||
$playersounddup player other *pain25 *pain100
|
||||
$playersound player other *grunt dscoof
|
||||
$playersounddup player other *land *grunt
|
||||
$playersound player other *jump dscjump
|
||||
$playersound player other *fist dspunch
|
||||
$playersound player other *usefail dscnoway
|
||||
|
||||
weapons/xbowshoot dsxbow
|
||||
weapons/xbowhit dsfirxpl
|
||||
weapons/assaultgun dsrifle
|
||||
weapons/minimissile dsrlaunc
|
||||
weapons/minimissilehit dsmislht
|
||||
weapons/flamethrower dsflburn
|
||||
weapons/flameidle dsflidl
|
||||
weapons/mauler1 dspgrdat
|
||||
weapons/mauler2charge dsproton
|
||||
weapons/mauler2fire dsprotfl
|
||||
weapons/mauler2hit dsexplod
|
||||
weapons/hegrenadeshoot dsphoot
|
||||
weapons/hegrenadebang dsexplod
|
||||
weapons/phgrenadeshoot dsphoot
|
||||
weapons/phgrenadebang dsexplod
|
||||
weapons/sigil dssigil
|
||||
weapons/sigilhit dssglhit
|
||||
weapons/sigilcharge dssiglup
|
||||
|
||||
monsters/rifle dsrifle
|
||||
|
||||
switches/normbutn dsswtchn
|
||||
$alias switches/exitbutn switches/normbutn
|
||||
switches/chain dspulchn
|
||||
switches/knob dsswknob
|
||||
switches/keycard dskeycrd
|
||||
switches/stone dsswston
|
||||
switches/bolt dsswbolt
|
||||
switches/boltback dsempty
|
||||
switches/scanner dsswscan
|
||||
switches/fool dsdifool
|
||||
switches/valve dsvalve
|
||||
switches/sizzle dsfirxpl
|
||||
|
||||
world/glassbreak dsbglass
|
||||
world/barrelx dsbarexp
|
||||
world/smallfire dssmfire
|
||||
world/largefire dslgfire
|
||||
world/river dswriver
|
||||
world/waterfall dswfall
|
||||
world/waterdrip dswdrip
|
||||
world/watersplash dswsplsh
|
||||
|
||||
$limit world/river 1
|
||||
$limit world/waterfall 1
|
||||
$limit world/waterdrip 1
|
||||
|
||||
world/drip dsempty // These four satisfy the Heretic/Hexen terrain definitions
|
||||
world/sludgegloop dsempty
|
||||
world/lavasizzle dsempty
|
||||
world/lavasizzle dsempty
|
||||
|
||||
menu/activate dsswtchn // Activate a new menu
|
||||
menu/backup dsswtchn // Backup to previous menu
|
||||
menu/prompt dsswtchn // Activate a prompt "menu"
|
||||
menu/cursor dspstop // Move cursor up/down
|
||||
menu/change dsstnmov // Select new value for option
|
||||
menu/invalid dsoof // Menu not available
|
||||
menu/dismiss dsswish // Dismiss a prompt message
|
||||
menu/choose dsrifl // Choose a menu item
|
||||
menu/clear dsmtalht // Close top menu
|
||||
|
||||
misc/startupdone dspsdtha
|
||||
misc/teleport dstelept
|
||||
misc/swish dsswish
|
||||
misc/meathit dsmeatht
|
||||
misc/metalhit dsmtalht
|
||||
misc/pcrush dspcrush
|
||||
misc/gibbed dsslop
|
||||
misc/explosion dsexplod
|
||||
misc/reactor dsreactr
|
||||
misc/missileinflight dsrflite
|
||||
misc/static dsstatic
|
||||
misc/chant dschant
|
||||
misc/alarm dsalarm
|
||||
misc/disruptordeath dsdsrptr
|
||||
$singular misc/alarm
|
||||
|
||||
misc/secret dsyeah
|
||||
misc/w_pkup dswpnup
|
||||
misc/p_pkup dsyeah
|
||||
misc/i_pkup dsitemup
|
||||
misc/k_pkup dsitemup
|
||||
misc/spawn dsitmbk
|
||||
misc/chat dsradio
|
||||
misc/invuse dsitemup
|
||||
misc/mask dsmask
|
||||
|
||||
plats/pt1_strt dspstart
|
||||
plats/pt1_stop dspstop
|
||||
plats/pt1_mid dsstnmov
|
||||
|
||||
doors/dr2_open dsbdopn
|
||||
doors/dr2_clos dsbdcls
|
||||
|
||||
doors/stone_open dsdrston
|
||||
doors/stone_close dsdrston
|
||||
|
||||
doors/large_metal_open dsdrlmto
|
||||
doors/large_metal_close dsdrlmtc
|
||||
|
||||
doors/small_metal_open dsdrsmto
|
||||
doors/small_metal_close dsdrsmtc
|
||||
|
||||
doors/large_wood_open dsdrlwud
|
||||
doors/large_wood_close dsdrlwud
|
||||
|
||||
doors/small_wood_open dsdrswud
|
||||
doors/small_wood_close dsdrswud
|
||||
|
||||
doors/airlock_open dsairlck
|
||||
doors/airlock_close dsairlck
|
||||
|
||||
doors/chain_open dsdrchno
|
||||
doors/chain_close dsdrchnc
|
||||
|
||||
woodenbarrel/death dswbrldt
|
||||
|
||||
human/imonfire dsburnme
|
||||
|
||||
ambient/alien1 dsamaln1
|
||||
ambient/alien2 dsamaln2
|
||||
ambient/alien3 dsamaln3
|
||||
ambient/alien4 dsamaln4
|
||||
ambient/alien5 dsamaln5
|
||||
ambient/alien6 dsamaln6
|
||||
|
||||
reaver/sight dsrevsee
|
||||
reaver/pain dsreavpn
|
||||
reaver/death dsrevdth
|
||||
reaver/active dsrevact
|
||||
reaver/attack dsreavat
|
||||
reaver/blade dsrevbld
|
||||
|
||||
crusader/sight dsrb2see
|
||||
crusader/pain dsrb2pn
|
||||
crusader/death dsrb2dth
|
||||
crusader/active dsrb2act
|
||||
crusader/misl dsrlaunc
|
||||
crusader/mislx dsmislht
|
||||
|
||||
bishop/sight dsrb2see
|
||||
bishop/pain dsrb2pn
|
||||
bishop/death dspgrdth
|
||||
bishop/active dsrb2act
|
||||
bishop/misl dsrlaunc
|
||||
bishop/mislx dsmislht
|
||||
|
||||
sentinel/sight dssntsee
|
||||
sentinel/death dssntdth
|
||||
sentinel/active dssntact
|
||||
sentinel/plasma dsplasma
|
||||
|
||||
$random peasant/pain { peasant/pain1 peasant/pain2 peasant/pain3 peasant/pain4 }
|
||||
peasant/pain1 dspespna
|
||||
peasant/pain2 dspespnb
|
||||
peasant/pain3 dspespnc
|
||||
peasant/pain4 dspespnd
|
||||
|
||||
//$random peasant/death { peasant/death1 peasant/death2 peasant/death3 }
|
||||
$alias peasant/death peasant/death1
|
||||
peasant/death1 dspsdtha
|
||||
peasant/death2 dspsdthb
|
||||
peasant/death3 dspsdthc
|
||||
|
||||
peasant/sight dsrebact
|
||||
peasant/attack dsmeatht
|
||||
peasant/active dsrebact
|
||||
|
||||
beggar/attack dsmeatht
|
||||
$alias beggar/pain peasant/pain
|
||||
$alias beggar/death peasant/death
|
||||
|
||||
rebel/sight dswpnup
|
||||
$alias rebel/pain peasant/pain
|
||||
rebel/death dsrebdth
|
||||
rebel/active dsrebact
|
||||
|
||||
barkeep/pain dsambbar
|
||||
barkeep/active dsambppl
|
||||
$singular barkeep/pain
|
||||
$singular barkeep/active
|
||||
|
||||
$alias smith/pain peasant/pain
|
||||
$alias armorer/pain peasant/pain
|
||||
$alias medic/pain peasant/pain
|
||||
$alias zombie/death peasant/death
|
||||
$alias becoming/death peasant/death
|
||||
zombie/spawner dstelept
|
||||
|
||||
acolyte/sight dsagrsee
|
||||
acolyte/pain dsagrdpn
|
||||
acolyte/death dsagrdth
|
||||
acolyte/rifle dsrifle
|
||||
$random acolyte/active { acolyte/active1 acolyte/active2 acolyte/active3 acolyte/active4 }
|
||||
acolyte/active1 dsagrac1
|
||||
acolyte/active2 dsagrac2
|
||||
acolyte/active3 dsagrac3
|
||||
acolyte/active4 dsagrac4
|
||||
|
||||
macil/sight dsagrsee
|
||||
$alias macil/pain peasant/pain
|
||||
macil/active dsrebact
|
||||
macil/slop dsslop
|
||||
|
||||
alienspectre/sight dsalnsee
|
||||
alienspectre/blade dsrevbld
|
||||
alienspectre/pain dsalnpn
|
||||
alienspectre/death dsalndth
|
||||
alienspectre/active dsalnact
|
||||
|
||||
turret/death dsmislht
|
||||
|
||||
ore/explode dsexplod
|
||||
|
||||
rat/sight dsratact
|
||||
rat/death dsratact
|
||||
rat/active dsratact
|
||||
$singular rat/sight
|
||||
|
||||
loremaster/chain dschain
|
||||
loremaster/swish dsswish
|
||||
loremaster/sight dslorsee
|
||||
loremaster/attack dsrevbld
|
||||
loremaster/pain dslorpn
|
||||
loremaster/death dsslop
|
||||
loremaster/active dstend
|
||||
|
||||
stalker/sight dsspisit
|
||||
stalker/attack dsspdatk
|
||||
stalker/pain dsspdatk
|
||||
stalker/death dsspidth
|
||||
stalker/active dsspisit
|
||||
stalker/walk dsspdwlk
|
||||
|
||||
templar/sight dspgrsee
|
||||
templar/pain dspgrdpn
|
||||
templar/death dspgrdth
|
||||
templar/active dspgract
|
||||
templar/shoot dspgrdat
|
||||
|
||||
inquisitor/sight dsinqsee
|
||||
inquisitor/death dsinqdth
|
||||
inquisitor/active dsinqact
|
||||
inquisitor/walk dsinqact
|
||||
inquisitor/jump dsinqjmp
|
||||
inquisitor/attack dsphoot
|
||||
inquisitor/atkexplode dsexplod
|
||||
|
||||
programmer/clank dsmtalht
|
||||
programmer/attack dsrevbld // Unused?
|
||||
programmer/pain dsprgpn
|
||||
programmer/death dsrb2dth
|
||||
programmer/active dsprogac
|
||||
|
||||
entity/sight dsmnalse
|
||||
entity/melee dsrevbld
|
||||
entity/pain dsalnpn
|
||||
entity/death dsmnaldt
|
||||
entity/active dsalnact
|
||||
|
||||
$alias intermission/tick weapons/assaultgun
|
||||
$alias intermission/cooptotal *death
|
||||
$alias intermission/nextstage misc/explosion
|
||||
$alias intermission/paststats world/barrelx
|
||||
$alias intermission/pastcoopstats world/barrelx
|
||||
$alias intermission/pastdmstats *gibbed
|
|
@ -33,6 +33,7 @@ IWad
|
|||
Name = "Hacx 2.0"
|
||||
Game = "Doom"
|
||||
Config = "Hacx"
|
||||
Autoname = "Hacx2"
|
||||
Mapinfo = "mapinfo/hacxharm.txt"
|
||||
MustContain = "MAP01", "HACX-E"
|
||||
BannerColors = "ff ff ff", "00 88 22"
|
||||
|
@ -43,6 +44,7 @@ IWad
|
|||
Name = "Hacx: Twitch'n Kill"
|
||||
Game = "Doom"
|
||||
Config = "Hacx"
|
||||
Autoname = "Hacx12"
|
||||
Mapinfo = "mapinfo/hacxharm.txt"
|
||||
MustContain = "MAP01", "HACX-R"
|
||||
BannerColors = "00 00 a8", "a8 a8 a8"
|
||||
|
@ -97,6 +99,7 @@ IWad
|
|||
Name = "Strife: Teaser (New Version)"
|
||||
Game = "Strife"
|
||||
Config = "Strife"
|
||||
Autoname = "Strifeteaser2"
|
||||
Mapinfo = "mapinfo/strife.txt"
|
||||
Compatibility = "Shareware", "Teaser2"
|
||||
MustContain = "MAP33", "ENDSTRF", "INVCURS"
|
||||
|
@ -108,6 +111,7 @@ IWad
|
|||
Name = "Strife: Teaser (Old Version)"
|
||||
Game = "Strife"
|
||||
Config = "Strife"
|
||||
Autoname = "Strifeteaser1"
|
||||
Mapinfo = "mapinfo/strife.txt"
|
||||
Compatibility = "Shareware"
|
||||
MustContain = "MAP33", "ENDSTRF"
|
||||
|
@ -119,6 +123,7 @@ IWad
|
|||
Name = "Hexen: Beyond Heretic"
|
||||
Game = "Hexen"
|
||||
Config = "Hexen"
|
||||
Autoname = "Hexen1"
|
||||
Mapinfo = "mapinfo/hexen.txt"
|
||||
Compatibility = "Poly1"
|
||||
MustContain = "TITLE", "MAP01", "MAP40", "WINNOWR"
|
||||
|
@ -177,6 +182,7 @@ IWad
|
|||
Name = "Heretic"
|
||||
Game = "Heretic"
|
||||
Config = "Heretic"
|
||||
Autoname = "Heretic1"
|
||||
Mapinfo = "mapinfo/heretic.txt"
|
||||
MustContain = "E1M1", "E2M1", "TITLE", "MUS_E1M1"
|
||||
BannerColors = "fc fc 00", "a8 00 00"
|
||||
|
|
|
@ -26,6 +26,12 @@ DoomEdNums
|
|||
1408 = "$SSeqOverride", 8
|
||||
1409 = "$SSeqOverride", 9
|
||||
1411 = "$SSeqOverride"
|
||||
1500 = "$VavoomFloor"
|
||||
1501 = "$VavoomCeiling"
|
||||
1502 = none
|
||||
1503 = none
|
||||
1504 = "$VertexFloorZ"
|
||||
1505 = "$VertexCeilingZ"
|
||||
5001 = PointPusher
|
||||
5002 = PointPuller
|
||||
5004 = FS_Mapspot
|
||||
|
@ -73,6 +79,28 @@ DoomEdNums
|
|||
9301 = "$PolySpawn"
|
||||
9302 = "$PolySpawnCrush"
|
||||
9303 = "$PolySpawnHurt"
|
||||
9500 = "$SlopeFloorPointLine"
|
||||
9501 = "$SlopeCeilingPointLine"
|
||||
9502 = "$SetFloorSlope"
|
||||
9503 = "$SetCeilingSlope"
|
||||
9510 = "$CopyFloorPlane"
|
||||
9511 = "$CopyCeilingPlane"
|
||||
9800 = none
|
||||
9801 = none
|
||||
9802 = none
|
||||
9803 = none
|
||||
9804 = none
|
||||
9810 = none
|
||||
9811 = none
|
||||
9812 = none
|
||||
9813 = none
|
||||
9814 = none
|
||||
9820 = none
|
||||
9821 = none
|
||||
9822 = none
|
||||
9823 = none
|
||||
9824 = none
|
||||
9825 = none
|
||||
9982 = SecActEyesAboveC
|
||||
9983 = SecActEyesBelowC
|
||||
9988 = CustomSprite
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1942,6 +1942,10 @@
|
|||
RelativePath=".\src\win32\fb_ddraw.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\g_doomedmap.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\src\win32\hardware.cpp"
|
||||
>
|
||||
|
|
Loading…
Reference in a new issue