- give Blood's sounds well defined names so they can be defined via SNDINFO.

This commit is contained in:
Christoph Oelckers 2023-01-15 16:15:28 +01:00
parent 841402a776
commit bb7f00988a
8 changed files with 974 additions and 26 deletions

View file

@ -97,6 +97,7 @@ constexpr FSoundID INVALID_SOUND = FSoundID::fromInt(-1);
bool bUsed = false;
bool bSingular = false;
bool bTentative = true;
bool bExternal = false;
TArray<int> UserData;

View file

@ -106,8 +106,8 @@ static void SerializeGlobals(FSerializer& arc)
static void SerializeSession(FSerializer& arc)
{
// In Duke we now have reliable sound names.
if (isDukeEngine()) arc.SetUniqueSoundNames();
// In Duke and Blood we now have reliable sound names.
if (isDukeEngine() || isBlood()) arc.SetUniqueSoundNames();
arc.ReadObjects(false);
SerializeMap(arc);

View file

@ -386,7 +386,7 @@ void SEQINST::Update()
if (snd.isvalid())
{
auto udata = soundEngine->GetUserData(snd);
int relVol = udata ? udata[2] : 255;
int relVol = udata ? udata[0] : 255;
sfxPlay3DSoundCP(actor, sndId, -1, 0, 0, (surfSfxMove[surf][2] != relVol) ? relVol : surfSfxMove[surf][3]);
}
}

View file

@ -147,13 +147,12 @@ void GameInterface::UpdateSounds()
//
//---------------------------------------------------------------------------
FSoundID getSfx(FSoundID soundId, float& attenuation, int& pitch, int& relvol)
FSoundID getSfx(FSoundID soundId, float& attenuation, int& relvol)
{
auto udata = soundEngine->GetUserData(soundId);
if (pitch < 0) pitch = udata ? udata[0] : 0x10000;
if (relvol < 0) relvol = 0;
else if (relvol == 0) relvol = udata && udata[2] ? udata[2] : 80;
else if (relvol == 0) relvol = udata && udata[0] ? udata[0] : 80;
if (relvol > 255) relvol = 255;
// Limit the attenuation. More than 2.0 is simply too much.
attenuation = relvol > 0 ? clamp(80.f / relvol, 0.f, 2.f) : 1.f;
@ -177,7 +176,7 @@ void sfxPlay3DSound(const DVector3& pos, int soundId, sectortype* pSector)
float attenuation;
int pitch = -1;
int relvol = 0;
sid = getSfx(sid, attenuation, pitch, relvol);
sid = getSfx(sid, attenuation, relvol);
auto sfx = soundEngine->GetSfx(sid);
EChanFlags flags = CHANF_OVERLAP;
if (sfx && sfx->LoopStart >= 0) flags |= CHANF_LOOP;
@ -194,14 +193,14 @@ void sfxPlay3DSound(const DVector3& pos, int soundId, sectortype* pSector)
void sfxPlay3DSoundCP(DBloodActor* pActor, int soundId, int playchannel, int playflags, int pitch, int volume)
{
if (!SoundEnabled() || soundId < 0 || !pActor) return;
if (!SoundEnabled() || soundId <= 0 || !pActor) return;
auto sid = soundEngine->FindSoundByResID(soundId);
if (!sid.isvalid()) return;
auto svec = GetSoundPos(pActor->spr.pos);
float attenuation;
sid = getSfx(sid, attenuation, pitch, volume);
sid = getSfx(sid, attenuation, volume);
if (volume == -1) volume = 80;
if (playchannel >= 0)

View file

@ -62,24 +62,42 @@ void ByteSwapSFX(SFX* pSFX)
//
// S_AddBloodSFX
//
// Registers a new sound with the name "<lumpname>.sfx"
// Actual sound data is searched for in the ns_bloodraw namespace.
//
//==========================================================================
static void S_AddBloodSFX(int lumpnum)
{
FSoundID sfxnum;
int resid = fileSystem.GetResourceId(lumpnum);
sfxinfo_t* soundfx = nullptr;
sfxnum = soundEngine->FindSoundByResIDNoHash(resid);
if (sfxnum.isvalid())
{
soundfx = soundEngine->GetWritableSfx(sfxnum);
if (soundfx->UserData.Size() == 0)
{
soundfx->UserData.Resize(1);
soundfx->UserData[1] = 80; // default for RelVol
}
if (!soundfx->bTentative) return; // sound was already defined.
}
auto sfxlump = fileSystem.ReadFile(lumpnum);
SFX* sfx = (SFX*)sfxlump.GetMem();
ByteSwapSFX(sfx);
FStringf rawname("%s.raw", sfx->rawName);
auto rawlump = fileSystem.FindFile(rawname);
FSoundID sfxnum;
if (rawlump != -1)
{
sfxnum = soundEngine->AddSoundLump(sfx->rawName, rawlump, 0, fileSystem.GetResourceId(lumpnum), 6);
auto soundfx = soundEngine->GetWritableSfx(sfxnum);
if (!sfxnum.isvalid())
{
sfxnum = soundEngine->AddSoundLump(FStringf("SfxSound@%04d", resid), rawlump, 0, resid, 6); // use a generic name here in case sound replacements are being used.
soundfx = soundEngine->GetWritableSfx(sfxnum);
soundfx->UserData.Resize(1);
}
if (sfx->format < 5 || sfx->format > 12)
{ // [0..4] + invalid formats
soundfx->RawRate = 11025;
@ -92,14 +110,18 @@ static void S_AddBloodSFX(int lumpnum)
{ // [9..12]
soundfx->RawRate = 44100;
}
soundfx->NearLimit = 6;
soundfx->lumpnum = rawlump;
soundfx->bLoadRAW = true;
soundfx->bExternal = true;
soundfx->bTentative = false;
soundfx->LoopStart = LittleLong(sfx->loopStart);
//S_sfx[sfxnum].Volume = sfx->relVol / 255.f; This cannot be done because this volume setting is optional.
soundfx->UserData.Resize(3);
// pitchrange is unused.
if (sfx->pitch != 0x10000) soundfx->DefPitch = sfx->pitch / 65536.f;
else soundfx->DefPitch = 0;
int* udata = (int*)soundfx->UserData.Data();
udata[0] = sfx->pitch;
udata[1] = sfx->pitchRange;
udata[2] = sfx->relVol;
udata[0] = sfx->relVol;
}
}
@ -122,8 +144,7 @@ void sndInit(void)
auto type = fileSystem.GetResourceType(i);
if (!stricmp(type, "SFX"))
{
if (soundEngine->FindSoundByResID(fileSystem.GetResourceId(i)) == NO_SOUND)
S_AddBloodSFX(i);
S_AddBloodSFX(i);
}
else if (!stricmp(type, "WAV") || !stricmp(type, "OGG") || !stricmp(type, "FLAC") || !stricmp(type, "VOC"))
{
@ -193,7 +214,7 @@ void sndStartSample(unsigned int nSound, int nVolume, int nChannel, bool bLoop,
if (nVolume < 0)
{
auto udata = soundEngine->GetUserData(snd);
if (udata) nVolume = min(Scale(udata[2], 255, 100), 255);
if (udata) nVolume = min(Scale(udata[0], 255, 100), 255);
else nVolume = 255;
}
if (bLoop) chanflags |= CHANF_LOOP;

View file

@ -209,7 +209,7 @@ int S_DefineSound(unsigned index, const char *filename, int minpitch, int maxpit
if (sfx->UserData.Size() >= kMaxUserData)
{
auto& sndinf = sfx->UserData;
settable = !!(sndinf[kFlags] & SF_CONDEFINED);
settable = sfx->bExternal;
}
}
if (!settable)
@ -229,8 +229,9 @@ int S_DefineSound(unsigned index, const char *filename, int minpitch, int maxpit
sfx->ResourceId = index;
sfx->UserData.Resize(kMaxUserData);
sfx->bExternal = true;
auto& sndinf = sfx->UserData;
sndinf[kFlags] = (type & SF_CON_MASK) | SF_CONDEFINED;
sndinf[kFlags] = (type & SF_CON_MASK);
// Take care of backslashes in sound names. Also double backslashes which occur in World Tour.
FString fn = filename;

View file

@ -18,10 +18,9 @@ enum {
SF_TALK = 4,
SF_ADULT = 8,
SF_GLOBAL = 16,
SF_CON_MASK = 31,
SF_CONDEFINED = 64,
SF_DTAG = 128,
SF_CON_MASK = 159,
};
enum esound_t

View file

@ -0,0 +1,927 @@
$conreserve AMB1 1
$conreserve AMB2 2
$conreserve AMB3 3
$conreserve AMB4 4
$conreserve AMB5 5
$conreserve AMB6 6
$conreserve AMB7 7
$conreserve AMB8 8
$conreserve AMB9 9
$conreserve AMB10 10
$conreserve AMB11 11
$conreserve AMB12 12
$conreserve AMB13 13
$conreserve AMB14 14
$conreserve AMB15 15
$conreserve AMB16 16
$conreserve AMB17 17
$conreserve AMB18 18
$conreserve AMB19 19
$conreserve AMB20 20
$conreserve AMB21 21
$conreserve AMB22 22
$conreserve AMB24 24
$conreserve AMB25 25
$conreserve AMB26 26
$conreserve RAIN2 27
$conreserve QAMB1 28
$conreserve QAMB2 29
$conreserve QAMB3 30
$conreserve QAMB4 31
$conreserve QAMB5 32
$conreserve QAMB6 33
$conreserve QAMB7 34
$conreserve QAMB8 35
$conreserve QAMB9 36
$conreserve QAMB10 37
$conreserve QAMB11 38
$conreserve QAMB12 39
$conreserve WATERLAP 40
$conreserve WATER2 41
$conreserve UNDERWAT 42
$conreserve CHAIN1 43
$conreserve CHAIN2 44
$conreserve CHAIN4 46
$conreserve CHAIN5 47
$conreserve ERIEDRNE 48
$conreserve SWAMP 49
$conreserve TORCH 50
$conreserve MTLDRN 52
$conreserve HOWLING 54
$conreserve GRGLNG 56
$conreserve DRONE 57
$conreserve 1WIND 58
$conreserve CHANT 59
$conreserve HRTBT 60
$conreserve TRAIN1 61
$conreserve CHAIN6 62
$conreserve ICHANT 63
$conreserve ELCLOOP1 64
$conreserve MUZAK22 65
$conreserve ERTHLOOP 66
$conreserve FANLUP2 67
$conreserve DORCREAK 100
$conreserve DOOROPEN 101
$conreserve RUSTDOOR 102
$conreserve DOORSLID 103
$conreserve GEARSTAR 104
$conreserve ELEVMOVE 105
$conreserve SLABMOVE 106
$conreserve QAIRDOOR 107
$conreserve QDOORMV1 110
$conreserve QHYDRO1 111
$conreserve QMEDPLAT 112
$conreserve QPLAT1 113
$conreserve CRYPTLP1 114
$conreserve QTRAIN1 115
$conreserve QWINCH2 116
$conreserve CREAKSML 117
$conreserve CREAKROT 118
$conreserve CREAKSLD 119
$conreserve SLIDOOR1 120
$conreserve SLIDOOR2 121
$conreserve FLSHDOR1 122
$conreserve FLSHDOR2 123
$conreserve CRYPTLP 124
$conreserve GEARHALT 150
$conreserve ELEVSTOP 151
$conreserve ELEVSTRT 152
$conreserve ELSTOP2 153
$conreserve QBASESE2 155
$conreserve QDDOOR2 156
$conreserve QDRCLOS4 157
$conreserve HYDRO2A 158
$conreserve QPLAT2 159
$conreserve QSTNDR2 160
$conreserve DOORCLOS 162
$conreserve ELSTOP3 163
$conreserve HYDRO2 164
$conreserve HYDRO3 165
$conreserve HYDRO4 166
$conreserve ELVSTR2 167
$conreserve SLIDSTP1 168
$conreserve SLIDSTP2 169
$conreserve FLSHSTP1 170
$conreserve FLSHSTP2 171
$conreserve FART1 172
$conreserve FART2 173
$conreserve CRYPTSTP 174
$conreserve SWITCH5 200
$conreserve QBASETRY 201
$conreserve BASEUSE 202
$conreserve QLATCH2 203
$conreserve RUNETRY 206
$conreserve RUNEUSE 207
$conreserve FLICK 208
$conreserve SWTCHWRK 209
$conreserve SWTCHBRK 210
$conreserve SWITCH1 211
$conreserve SWITCH2 212
$conreserve SWITCH3 213
$conreserve RUNETRY2 214
$conreserve ICEVIO 218
$conreserve CHANT1LP 219
$conreserve CHANT2LP 220
$conreserve 13CHA 221
$conreserve 13CHU 222
$conreserve 13DEATH 223
$conreserve 13KILL 224
$conreserve BUZZ2 225
$conreserve SIREN1 226
$conreserve FLYBY1 227
$conreserve FLYBY2 228
$conreserve MACHGUN2 229
$conreserve MACHGUN3 230
$conreserve TANK2 231
$conreserve JEEP1 232
$conreserve JEEP2 233
$conreserve SHELL1 234
$conreserve SHELL2 235
$conreserve BCREAK1 236
$conreserve BCREAK2 237
$conreserve BCREAK3 238
$conreserve BCREAK4 239
$conreserve BRGLOOP 240
$conreserve ICEMELO1 241
$conreserve ICEMELO2 242
$conreserve ICEMELO3 243
$conreserve ICEMELLP 244
$conreserve CRACK2 245
$conreserve MOAN4 246
$conreserve MOAN3 247
$conreserve MOAN2LP 248
$conreserve SPARK 249
$conreserve ARC1 250
$conreserve ARC2 251
$conreserve ARC3 252
$conreserve SEWAGE 253
$conreserve THUNDER1 254
$conreserve THUNDER2 255
$conreserve QTHUNDER 256
$conreserve CLOCK 257
$conreserve GUST1 258
$conreserve GUST2 259
$conreserve GUST3 260
$conreserve GUST4 261
$conreserve CREAK 262
$conreserve BUBRISE 263
$conreserve ERTHRMBL 265
$conreserve SINEWAVE 266
$conreserve WHISPERS 267
$conreserve MOANS 268
$conreserve LAUGH 269
$conreserve BELL 270
$conreserve 1OWL 271
$conreserve 2OWL 272
$conreserve TRNCRASH 274
$conreserve TRNBRAKE 275
$conreserve TRNHRN 276
$conreserve TRAINSTP 277
$conreserve HUM 278
$conreserve RIFF1 279
$conreserve RIFF2 280
$conreserve RIFF3 281
$conreserve TICKET 282
$conreserve HEYSTOP 283
$conreserve PING 284
$conreserve FLATLIN1 285
$conreserve FLATLIN2 286
$conreserve MOAN2 287
$conreserve SCREAM 288
$conreserve HELPME 289
$conreserve SOBBING 290
$conreserve ELECGEN2 291
$conreserve TURBGEN2 292
$conreserve SMALWOOF 293
$conreserve SMALPAIN 294
$conreserve AMBULONG 295
$conreserve AMBUSHRT 296
$conreserve BUZSLOW2 297
$conreserve ELECPOP2 298
$conreserve ELECPOP4 299
$conreserve GLASHIT2 300
$conreserve POTTERY 301
$conreserve MGDIE 302
$conreserve EXPLODCS 303
$conreserve EXPLODCM 304
$conreserve EXPLODCL 305
$conreserve EXPLODFS 306
$conreserve EXPLODFM 307
$conreserve EXPLODFL 308
$conreserve EXPLODUS 309
$conreserve EXPLODUM 310
$conreserve EXPLODUL 311
$conreserve SPLNTWOD 312
$conreserve SHATSTON 313
$conreserve RENMETAL 314
$conreserve SHRED1 315
$conreserve SHRED2 316
$conreserve BALLNPOP 317
$conreserve HEADSQ 318
$conreserve GIBSQ 319
$conreserve NAPLMEX2 320
$conreserve RESPAWN 350
$conreserve BURN 351
$conreserve SIZZLE 352
$conreserve SIZZLE2 353
$conreserve DRIP1 354
$conreserve DRIP2 355
$conreserve DRIP3 356
$conreserve PUNT 357
$conreserve BOULDERS 358
$conreserve MGFIRE 359
$conreserve PADLOCK 360
$conreserve BURSTFLM 361
$conreserve BLDSPRY1 362
$conreserve RING 363
$conreserve SNAKEHIS 364
$conreserve SNAKEPIT 365
$conreserve CASHREG 366
$conreserve DIALTONE 367
$conreserve BUSYSIG 368
$conreserve TOILET 369
$conreserve RECSCRAP 370
$conreserve DRIP4 371
$conreserve DRIP5 372
$conreserve DRIP6 373
$conreserve PAILKICK 374
$conreserve SIZZLE1 375
$conreserve SAWRUN 376
$conreserve SAWCUT 377
$conreserve SAWCOCK1 378
$conreserve REAPPEAR 379
$conreserve RESPAWN2 380
$conreserve BLDSPT2 381
$conreserve BLADEDRP 382
$conreserve BDYPRTIM 383
$conreserve BDYPTIM2 384
$conreserve BLUDSPLT 385
$conreserve ZIPOPEN 400
$conreserve ZIPCLOSE 401
$conreserve ZIPLIGHT 402
$conreserve SHOTCOCK 410
$conreserve SHOTFIRE 411
$conreserve SHOTFIR2 412
$conreserve SHOTLOAD 413
$conreserve FLAREF 420
$conreserve FLAREFUW 421
$conreserve FLARAIR2 422
$conreserve FLAR_WAT 423
$conreserve TOMCOCK 430
$conreserve _TOM 431
$conreserve SPRAYCAN 440
$conreserve SPRAYFIR 441
$conreserve TNTFUSE 450
$conreserve PROXARM 451
$conreserve PROXDET 452
$conreserve REMFIRE 453
$conreserve REMDET 454
$conreserve TNTTOSS 455
$conreserve VOOSTAB 460
$conreserve VOOCHANT 461
$conreserve VOOBURN 462
$conreserve VOOLAUGH 463
$conreserve TESSNGFR 470
$conreserve TESALTFR 471
$conreserve ROTBAREL 472
$conreserve SNGAIR2 473
$conreserve ALTAIR2 474
$conreserve TESALTF2 475
$conreserve TESLA1 476
$conreserve TALTAC3 477
$conreserve TESLAZ1 478
$conreserve TESLAZ2 479
$conreserve BLASTER 480
$conreserve BLASTARC 481
$conreserve STAFFIRE 489
$conreserve LLSNGFR3 490
$conreserve LLALTFR2 491
$conreserve LLCHARGE 492
$conreserve SKULAIR4 493
$conreserve LALTFR1 494
$conreserve ACIDHIT1 495
$conreserve ACIDHIT2 496
$conreserve BEASTCLW 499
$conreserve PSTONE 500
$conreserve PMETAL 501
$conreserve PWOOD 502
$conreserve PFLESH 503
$conreserve UPSTONE 504
$conreserve UPMETAL 505
$conreserve UPWOOD 506
$conreserve UPFLESH 507
$conreserve BSTONE 510
$conreserve BMETAL 511
$conreserve BWOOD 512
$conreserve BFLESH 513
$conreserve BWATER 514
$conreserve RICOCHT1 515
$conreserve RICOCHT2 516
$conreserve RICOCHT3 517
$conreserve TESSNGHT 518
$conreserve TESALTHT 519
$conreserve ELECDAM2 520
$conreserve LLSNGHT2 521
$conreserve LLALTHT 522
$conreserve CLAW 530
$conreserve LNDSTONE 600
$conreserve LNDMETAL 601
$conreserve LNDWOOD 602
$conreserve LNDFLESH 603
$conreserve LNDWATER 604
$conreserve LNDDIRT 605
$conreserve BODYHIT1 607
$conreserve MTSHLS 608
$conreserve SHTSHL 609
$conreserve SHTSHL2 610
$conreserve SHTSHL3 611
$conreserve SHTSHL4 612
$conreserve JUMP 700
$conreserve LAND 701
$conreserve HUNT1 702
$conreserve HUNT2 703
$conreserve HUNT3 704
$conreserve HUNT4 705
$conreserve UWBREATH 706
$conreserve FRBREATH 707
$conreserve SWIM 708
$conreserve SWIMUW 709
$conreserve PAIN1 710
$conreserve PAIN2 711
$conreserve PAIN3 712
$conreserve PAIN4 713
$conreserve PAIN5 714
$conreserve PAIN6 715
$conreserve DIE1 716
$conreserve DIE2 717
$conreserve DIE3 718
$conreserve FALL 719
$conreserve SUBMERGE 720
$conreserve EMERGE 721
$conreserve GASP 722
$conreserve INHALE 723
$conreserve UNDCHOKE 724
$conreserve PLAY1100 725
$conreserve PLAY1101 726
$conreserve PLAY1102 727
$conreserve PLAY1103 728
$conreserve PLAY1104 729
$conreserve PLAY1105 730
$conreserve PLAY1106 731
$conreserve PLAY1107 732
$conreserve PLAY1108 733
$conreserve PLAY1109 734
$conreserve PLAY1110 735
$conreserve PLAY1111 736
$conreserve PLAY1112 737
$conreserve PLAY1113 738
$conreserve PLAY1114 739
$conreserve PLAY1115 740
$conreserve PLAY1116 741
$conreserve PLAY1118 742
$conreserve PLAY1119 743
$conreserve PLAY1120 744
$conreserve BST_FLSH 745
$conreserve PLAYCHOK 746
$conreserve PLAYCHK2 747
$conreserve PICKUP 775
$conreserve POWERUP 776
$conreserve WEAPONUP 777
$conreserve MESSAGE 778
$conreserve PICKARMR 779
$conreserve PICKHEAL 780
$conreserve PICKKEY 781
$conreserve AMMO 782
$conreserve FFSTONE1 802
$conreserve FFSTONE2 803
$conreserve FFMETAL1 804
$conreserve FFMETAL2 805
$conreserve FFWOOD1 806
$conreserve FFWOOD2 807
$conreserve FFFLESH1 808
$conreserve FFFLESH2 809
$conreserve FFWATER1 810
$conreserve FFWATER2 811
$conreserve FFDIRT1 812
$conreserve FFDIRT2 813
$conreserve FFCLAY1 814
$conreserve FFCLAY2 815
$conreserve FFSNOW1 816
$conreserve FFSNOW2 817
$conreserve FFICE1 818
$conreserve FFICE2 819
$conreserve FFLEAF1 820
$conreserve FFLEAF2 821
$conreserve FFCLOTH1 822
$conreserve FFCLOTH2 823
$conreserve FFPLANT1 824
$conreserve FFPLANT2 825
$conreserve FFGOO1 826
$conreserve FFGOO2 827
$conreserve FFLAVA1 828
$conreserve FFLAVA2 829
$conreserve CULTTOSS 1000
$conreserve CULTATT1 1001
$conreserve CULTATT2 1002
$conreserve CULTSPT1 1003
$conreserve CULTSPT2 1004
$conreserve CULTSPT3 1005
$conreserve CULTSPT4 1006
$conreserve CULTSPT5 1007
$conreserve CULTROM1 1008
$conreserve CULTROM2 1009
$conreserve CULTROM3 1010
$conreserve CULTROM4 1011
$conreserve CULTROM5 1012
$conreserve CULTPAN1 1013
$conreserve CULTPAN2 1014
$conreserve CULTPAN3 1015
$conreserve CULTPAN4 1016
$conreserve CULTPAN5 1017
$conreserve CULTDIE1 1018
$conreserve CULTDIE2 1019
$conreserve CULTDIE3 1020
$conreserve CULTGLO1 1021
$conreserve CULTGLO2 1022
$conreserve CULTGLO3 1023
$conreserve CULTGLO4 1024
$conreserve CULTFIR1 1031
$conreserve CULTFIR2 1032
$conreserve CULTFIR3 1033
$conreserve TCLTTOSS 4000
$conreserve TCLTATT1 4001
$conreserve TCLTATT2 4002
$conreserve TCLTSPT1 4003
$conreserve TCLTSPT2 4004
$conreserve TCLTSPT3 4005
$conreserve TCLTSPT4 4006
$conreserve TCLTSPT5 4007
$conreserve TCLTROM1 4008
$conreserve TCLTROM2 4009
$conreserve TCLTROM3 4010
$conreserve TCLTROM4 4011
$conreserve TCLTROM5 4012
$conreserve TCLTPAN1 4013
$conreserve TCLTPAN2 4014
$conreserve TCLTPAN3 4015
$conreserve TCLTPAN4 4016
$conreserve TCLTPAN5 4017
$conreserve TCLTDIE1 4018
$conreserve TCLTDIE2 4019
$conreserve TCLTDIE3 4020
$conreserve TCLTGLO1 4021
$conreserve TCLTGLO2 4022
$conreserve TCLTFIR1 4031
$conreserve TCLTFIR2 4032
$conreserve TCLTFIR3 4033
$conreserve AZOMRISE 1100
$conreserve AZOMSWIP 1101
$conreserve AZOMSTND 1102
$conreserve AZOMSPOT 1103
$conreserve AZOMROAM 1104
$conreserve AZOMMOAN 1105
$conreserve AZOMPAIN 1106
$conreserve AZOMDIE1 1107
$conreserve AZOMDIE2 1108
$conreserve AZOMDIE3 1109
$conreserve FZOMSPOT 1200
$conreserve FZOMROAM 1201
$conreserve FZOMPAIN 1202
$conreserve FZOMPUKE 1203
$conreserve FZOMDIE1 1204
$conreserve FZOMDIE2 1205
$conreserve FZOMDIE3 1206
$conreserve CLEAVER 1207
$conreserve CERBSPOT 1300
$conreserve CERBPAIN 1302
$conreserve CERBDIE1 1303
$conreserve CERBDIE2 1304
$conreserve CERBDIE3 1305
$conreserve HOUNDBIT 1306
$conreserve HOUNDBT2 1307
$conreserve HOUNDBT3 1308
$conreserve FIRBALL 1309
$conreserve GARGSPOT 1400
$conreserve GARGROAM 1401
$conreserve GARGPAIN 1402
$conreserve GARGDIE1 1403
$conreserve GARGDIE2 1404
$conreserve GARGDIE3 1405
$conreserve GARGCLAW 1406
$conreserve GARGBLST 1407
$conreserve GARGTHRO 1408
$conreserve SARGSPOT 1450
$conreserve SARGROAM 1451
$conreserve SARGPAIN 1452
$conreserve SARGDIE1 1453
$conreserve SARGDIE2 1454
$conreserve SARGDIE3 1455
$conreserve SARGCLAW 1456
$conreserve SARGBLST 1457
$conreserve SARGTHRO 1458
$conreserve EELSPOT 1500
$conreserve EELROAM 1501
$conreserve EELPAIN 1502
$conreserve EELDIE1 1503
$conreserve EELDIE2 1504
$conreserve EELDIE3 1505
$conreserve PHANSPOT 1600
$conreserve PHANROAM 1601
$conreserve PHANPAIN 1602
$conreserve PHANDIE1 1603
$conreserve PHANDIE3 1604
$conreserve PHANDIE3A 1605
$conreserve GILLSPOT 1700
$conreserve GILLROAM 1701
$conreserve GILLPAIN 1702
$conreserve GILLDIE1 1703
$conreserve GILLDIE2 1704
$conreserve GILLDIE3 1705
$conreserve SPIDSPOT 1800
$conreserve SPIDROAM 1801
$conreserve SPIDPAIN 1802
$conreserve SPIDDIE1 1803
$conreserve SPIDDIE2 1804
$conreserve SPIDDIE3 1805
$conreserve MSPIDIE 1850
$conreserve MSPIPAN1 1851
$conreserve MSPIPAN2 1852
$conreserve MSPISPT1 1853
$conreserve MSPISPT2 1854
$conreserve HANDSPOT 1900
$conreserve HANDROAM 1901
$conreserve HANDPAIN 1902
$conreserve HANDDIE1 1903
$conreserve HANDDIE2 1904
$conreserve HANDDIE3 1905
$conreserve BATSPOT 2000
$conreserve BATROAM 2001
$conreserve BATPAIN 2002
$conreserve BATDIE1 2003
$conreserve BATDIE2 2004
$conreserve BATDIE3 2005
$conreserve BAT 2006
$conreserve RATSPOT 2100
$conreserve RATROAM 2101
$conreserve RATPAIN 2102
$conreserve RATDIE1 2103
$conreserve RATDIE2 2104
$conreserve RATDIE3 2105
$conreserve PODSQUIS 2200
$conreserve PODOPEN 2201
$conreserve PODDIE1 2203
$conreserve PODDIE2 2204
$conreserve PODDIE3 2205
$conreserve PODSWISH 2206
$conreserve CERBSPOTA 2300
$conreserve CERBROAM 2301
$conreserve CERBPAIN2 2302
$conreserve CERBPAIN3 2303
$conreserve CERBDIE2A 2304
$conreserve CERBDIE3A 2305
$conreserve CERBDIE4 2306
$conreserve TBBOW1 2350
$conreserve TBBOW2 2351
$conreserve TBKNEEL1 2352
$conreserve TBKNEEL2 2353
$conreserve TBKNEEL3 2354
$conreserve TBKNEEL4 2355
$conreserve TBWAIT1 2356
$conreserve TBWAIT2 2357
$conreserve TBLAUGH1 2360
$conreserve TBLAUGH2 2361
$conreserve TBLAUGH3 2362
$conreserve TBLAUGH4 2363
$conreserve TBLAUGH5 2364
$conreserve TBSACRI1 2365
$conreserve TBSACRI2 2366
$conreserve TBSACRI3 2367
$conreserve TBWORSH1 2368
$conreserve TBWORSH2 2369
$conreserve TBPAIN1 2370
$conreserve TBPAIN2 2371
$conreserve TBPAIN3 2372
$conreserve TBPAIN4 2373
$conreserve TBPAIN5 2374
$conreserve TBPAIN6 2375
$conreserve TBPAIN7 2377
$conreserve TBDIES 2380
$conreserve TCHNEVAP 2381
$conreserve FLYBUZZ 2400
$conreserve MFLY 2401
$conreserve FPODCLOS 2450
$conreserve FPODCOL2 2451
$conreserve FPODEXP2 2452
$conreserve FPODOPEN 2453
$conreserve FPODSPIT 2454
$conreserve FPODCLOS2 2470
$conreserve PODCOL2 2471
$conreserve PODEXP2 2472
$conreserve NPODOPEN 2473
$conreserve PODSPIT1 2474
$conreserve PODSPIT2 2475
$conreserve TENTDWN3 2500
$conreserve TENTEXP 2501
$conreserve TENTSWP4 2502
$conreserve TENTUP3 2503
$conreserve 1001 3000
$conreserve 1002 3001
$conreserve 1003 3002
$conreserve 1004 3003
$conreserve 1005 3004
$conreserve 1006 3005
$conreserve 1007 3006
$conreserve 1008 3007
$conreserve 1009 3008
$conreserve 1010 3009
$conreserve 1011 3010
$conreserve 1012 3011
$conreserve 1013 3012
$conreserve 1014 3013
$conreserve 1015 3014
$conreserve 1016 3015
$conreserve 1017 3016
$conreserve 1018 3017
$conreserve 1019 3018
$conreserve 1020 3019
$conreserve 1021 3020
$conreserve 1022 3021
$conreserve 1023 3022
$conreserve 1024 3023
$conreserve 1025 3024
$conreserve 1026 3025
$conreserve 1027 3026
$conreserve 1028 3027
$conreserve 1029 3028
$conreserve 1030 3029
$conreserve 1031 3030
$conreserve 1032 3031
$conreserve 1033 3032
$conreserve 1034 3033
$conreserve 1035 3034
$conreserve 1036 3035
$conreserve 1037 3036
$conreserve 1038 3037
$conreserve 1039 3038
$conreserve 1040 3039
$conreserve 1041 3040
$conreserve 1042 3041
$conreserve 1043 3042
$conreserve 1044 3043
$conreserve 1045 3044
$conreserve 1046 3045
$conreserve 1047 3046
$conreserve 1048 3047
$conreserve 1049 3048
$conreserve 1050 3049
$conreserve 1051 3050
$conreserve 1052 3051
$conreserve 1053 3052
$conreserve 1054 3053
$conreserve 1055 3054
$conreserve 1056 3055
$conreserve 1057 3056
$conreserve 1059 3058
$conreserve 1060 3059
$conreserve 1061 3060
$conreserve 1062 3061
$conreserve 1063 3062
$conreserve 1064 3063
$conreserve 1065 3064
$conreserve 1066 3065
$conreserve 1067 3066
$conreserve 1068 3067
$conreserve 1069 3068
$conreserve 1070 3069
$conreserve 1071 3070
$conreserve 1072 3071
$conreserve 1073 3072
$conreserve 1074 3073
$conreserve 1075 3074
$conreserve 1076 3075
$conreserve 1077 3076
$conreserve 1078 3077
$conreserve 1079 3078
$conreserve 1080 3079
$conreserve 1081 3080
$conreserve 1082 3081
$conreserve 1083 3082
$conreserve 1084 3083
$conreserve 1085 3084
$conreserve 1093 3100
$conreserve 1094 3101
$conreserve 1095 3102
$conreserve 1097 3103
$conreserve VO3011 3104
$conreserve VO3024 3105
$conreserve VO3026 3106
$conreserve VO3030 3107
$conreserve VO3033 3108
$conreserve VO3034 3109
$conreserve VO3035 3110
$conreserve VO3039 3111
$conreserve 2100 3200
$conreserve 2101 3201
$conreserve 2102 3202
$conreserve 2103 3203
$conreserve 2104 3204
$conreserve 2105 3205
$conreserve 2106 3206
$conreserve 2107 3207
$conreserve 2108 3208
$conreserve 2109 3209
$conreserve ZOMBIE 3210
$conreserve 2111 3211
$conreserve 2112 3212
$conreserve 2113 3213
$conreserve 2114 3214
$conreserve 2116 3216
$conreserve VO1 3300
$conreserve VO2 3301
$conreserve VO3 3302
$conreserve VO4 3303
$conreserve VO5 3304
$conreserve VO6 3305
$conreserve VO7 3306
$conreserve VO8 3307
$conreserve VO9 3308
$conreserve VO10 3309
$conreserve VO12 3310
$conreserve VO13 3311
$conreserve VO14 3312
$conreserve VO15 3313
$conreserve VO16 3314
$conreserve VO17 3317
$conreserve VO18 3318
$conreserve VO19 3319
$conreserve VO20 3320
$conreserve VO21 3321
$conreserve VO22 3322
$conreserve VO23 3323
$conreserve VO24 3324
$conreserve VO25 3325
$conreserve VO26 3326
$conreserve VO27 3327
$conreserve VO28 3328
$conreserve VO29 3329
$conreserve VO30 3330
$conreserve VO31 3331
$conreserve VO32 3332
$conreserve VO33 3333
$conreserve VO34 3334
$conreserve VO35 3335
$conreserve VO36 3336
$conreserve VO37 3337
$conreserve VO38 3338
$conreserve VO39 3339
$conreserve VO40 3340
$conreserve VO41 3341
$conreserve VO42 3342
$conreserve VO43 3343
$conreserve VO44 3344
$conreserve ALIVE 3345
$conreserve BONED 4100
$conreserve CASTRA 4101
$conreserve CREAMED 4102
$conreserve DESTRO 4103
$conreserve DICED 4104
$conreserve DISEMBO 4105
$conreserve FLATTE 4106
$conreserve JUSTICE 4107
$conreserve MADNESS 4108
$conreserve DECIMAT 4109
$conreserve KILLED 4110
$conreserve MINCMEAT 4111
$conreserve MASSACR 4112
$conreserve MUTILA 4113
$conreserve REAMED 4114
$conreserve RIPPED 4115
$conreserve SLAUGHT 4116
$conreserve SLICED 4117
$conreserve SMASHED 4118
$conreserve SODOMIZ 4119
$conreserve SPLATT 4120
$conreserve SQUASH 4121
$conreserve THROTTL 4122
$conreserve WASTED 4123
$conreserve 10 4124
$conreserve OMNI24 4125
$conreserve OMNI25 4126
$conreserve OMNI26 4127
$conreserve OMNI27 4128
$conreserve OMNI32 4129
$conreserve OMNI34 4130
$conreserve OMNI35 4141
$conreserve OMNI36 4132
$conreserve OMNI37 4133
$conreserve OMNI41 4134
$conreserve OMNI43 4135
$conreserve OMNI44 4136
$conreserve OMNI5 4200
$conreserve OMNI7 4202
$conreserve OMNI8 4203
$conreserve OMNI9 4204
$conreserve OMNI12 4206
$conreserve OMNI13 4207
$conreserve OMNI16 4208
$conreserve OMNI20 4210
$conreserve OMNI21 4211
$conreserve OMNI22 4212
$conreserve OMNI23 4213
$conreserve OMNI15A 4300
$conreserve TAUNT0 4400
$conreserve TAUNT1 4401
$conreserve TAUNT2 4402
$conreserve TAUNT3 4403
$conreserve TAUNT4 4404
$conreserve TAUNT5 4405
$conreserve TAUNT6 4406
$conreserve TAUNT7 4407
$conreserve TAUNT8 4408
$conreserve TAUNT9 4409
$conreserve 3000 4500
$conreserve 3001B 4502
$conreserve 3002A 4503
$conreserve 3002B 4504
$conreserve 3002C 4505
$conreserve 3002D 4506
$conreserve 3003 4507
$conreserve 3004B 4509
$conreserve 3006 4511
$conreserve 3007 4512
$conreserve 3008 4513
$conreserve 3009 4514
$conreserve 3010 4515
$conreserve 3011 4516
$conreserve 3012 4517
$conreserve 3013 4518
$conreserve 3014 4519
$conreserve 3015 4520
$conreserve 3016A 4521
$conreserve 3017 4523
$conreserve 3018B 4525
$conreserve 3019 4526
$conreserve 3020 4527
$conreserve 3021 4528
$conreserve 3022B 4530
$conreserve 3023A 4531
$conreserve 3024 4533
$conreserve 3025 4534
$conreserve 3026 4535
$conreserve 3027 4536
$conreserve 3028 4537
$conreserve 3029 4538
$conreserve 3030 4539
$conreserve 3031 4540
$conreserve 3032 4541
$conreserve 3033 4542
$conreserve 3034 4543
$conreserve 3035 4544
$conreserve 3036 4545
$conreserve 3037 4546
$conreserve 3038 4547
$conreserve 3039 4548
$conreserve ICRYING 7000
$conreserve ICRYING2 7001
$conreserve IDONHME 7002
$conreserve IGOAWAY2 7003
$conreserve IGOAWAY3 7004
$conreserve INOPLACE 7005
$conreserve IPLEASE 7006
$conreserve ISCREAM1 7007
$conreserve ISCREAM2 7008
$conreserve 8000 8000
$conreserve 8001 8001
$conreserve 8002 8002
$conreserve 8003 8003
$conreserve 8004 8004
$conreserve 8005 8005
$conreserve 8006 8006
$conreserve 8007 8007
$conreserve BEASTD4 9000
$conreserve BEASTD3 9001
$conreserve BEASTD2 9002
$conreserve BEASTD1 9003
$conreserve BEAST1 9004
$conreserve BEAST2 9005
$conreserve BEAST3 9006
$conreserve CALEBM1 9007
$conreserve CULTMO1 9008
$conreserve ROAR1 9009
$conreserve ROAR2 9010
$conreserve ROAR3 9011
$conreserve SLASH1 9012
$conreserve SLASH2 9013
$conreserve SLASH3 9014
$conreserve T1005 10001
$conreserve T1002 10000
$conreserve STOMP3 9017
$conreserve STOMP4 9016
$conreserve STOM5 9015
$conreserve T1006 10002
$conreserve T1010 10003
$conreserve T1011 10004
$conreserve T1015 10005
$conreserve T1051 10006
$conreserve T1003 11000
$conreserve T1013 11001