the cutting room mirror

July 22nd, 1996 Source Code

This article has a talk page!
view on tcrf.net

This is a sub-page of Development:Blood.

'This page or section details content from the2022-2023 x0r_jmp Leaks.'''

On January 4th, 2023, a snapshot of the Blood source code dated to July 22nd, 1996 was leaked by x0r_jmp. Besides the source code, this also includes Q Studios' own internal developer tools, QTools.

Sadly, there are no assets included with this code thus making it unplayable if complied. Assets from other builds (like the April 1996 build for example) can be used to create a franken build. Grainy prerelease screenshots from this month also give insight into what the game looked like at this point.

To do:
Document these:

  • Qtools.
  • Various txt files detailing changes.
  • Images in the PAL directory.

Modified Files#

As noted by the leaker, a few files had not retained era-accurate dates and were potentially modified.

In blood directory of the leak:

  • BLOOD.CFG
  • SHPLAY.INI
  • VGA.DAT

In qtools directory of the leak:

  • VGA.DAT

Source Code#

The password to BSOURCE.ZIP is "damnation".

Credits#

CREDITS.CPP contains the text-based credits that was removed in the final release. There have been some slight changes from version featured in the Aprill 1996 build and this.

April 1996

July 1996

3D Engine
Ken Silverman
Excellent 3D Engine
Ken Silverman
Executive Producer
George Broussard
Executive Producer
George Broussard / 3D Realms

N/A

COMMIT/Setup
Mark Dochterman

QAVs/SEQs#

To do:
there are backup versions (.BAK), have a look at these.

The QAV and SEQ directories list various .QAV and .SEQ files. There also exists some text files listing all of the files here, along with a short description.

Due to the lack of assets, it not very obvious what these animations would've definatively looked like at this point in time.

QAVS.TXT

qav----------description
___________________________________
2shotdwn.qav-2 shotguns down
2shotfir.qav-2 shotguns firing
2shoti.qav---2 shotguns idle
2shotup.qav--2 shotguns up
bstatak1.qav-beast hands attacking
bstatak2.qav-beast hands attacking
bstatak3.qav-beast hands attacking
bstatak4.qav-beast hands attacking
bstdown.qav--beast hands down
bstidle.qav--beast hands idle
bstidle2.qav-beast hands idle 
bstup.qav----beast hands up
bthrow2.qav--throwing bundle of dynamite
bthrow2b.qav-throwing bundle and bringing another bundle up
bthrow2c.qav-throwing bundle and dropping lighter 
bundown.qav--bundle of dynamite down leaving lighter
bundown2.qav-bundle and lighter down at same time
bundrop.qav--dropping bundle of dynamite
bunfuse.qav--fuse burning down bundle
bunidle.qav--idle bundle of dynamite
bunthro.qav--throwing bundle of dynamite
bunup.qav----bundle up (lighter already up)
bunup2.qav---bundle and lighter up at same time
candown.qav--spraycan down, lighter stays in frame
candown2.qav-spraycan and lighter down
canfire.qav--firing spraycan
canfire1.qav-
canfire2.qav-
canfire3.qav-
canidle.qav--spraycan idle
canpref.qav--spraycan up to lighter
canup.qav----spraycan and lighter up at same
darkdown.qav-darkdown down
darkf.qav----
darkfire.qav-darkgun fire
darkidle.qav-darkgun idle
darkup.qav---darkgun up
dyndown.qav--dynamite stick down 
dyndown2.qav-stick and lighter down
dyndrop.qav--dropping stick of dynamite
dynexplo.qav-dynamite exploding in hands
dynfuse.qav--fuse burning down one stick
dynidle.qav--stick and lighter idle
dynlita.qav--lighting stick and dropping stick and lighter out of frame
dynpre.qav---bringing stick up to lighter
dynrdown.qav-remote bundle down
dynrdrop.qav-dropping remote bundle
dynrthro.qav-throwing remote bundle
dynrup.qav---bringing remote bundle up (remote detonator already in frame)
dynthro.qav--throwing one stick
dynup.qav----stick up to lighter
dynup2.qav---stick and lighter up at same time
flar2dwn.qav-2 flareguns down
flar2f.qav---2 flareguns firing (2 shots)
flar2fir.qav-2 flareguns firing (4 shots)
flar2i.qav---2 flareguns idle
flar2up.qav--2 flareguns up
flardown.qav-flaregun down
flarfir2.qav-flaregun firing
flarfire.qav-flaregun firing (slower)
flaridle.qav-flaregun idle
flarup.qav---flaregun up
forkdown.qav-pitchfork down
forkidle.qav-pitchfork idle
forkup.qav---pitchfork up
hand.qav-----hand choking player
liteclo2.qav-lighter down with flame
liteclos.qav-lighter down without flame
liteflam.qav-flicking lighter with flame
liteidle.qav-lighter idle
liteopen.qav-lighter up and opening
litesprk.qav-flicking lighter with spark
pfork.qav----firing pitchfork
pfork2.qav---
pforkold.qav-
proxdown.qav-proximity bomb down
proxdrop.qav-dropping proximity bomb
proxidle.qav-proximity bomb idle
proxthro.qav-proximity bomb thrown
proxup.qav---proximity bomb up
rdyndown.qav-remote bundle and detonator down
rdynidle.qav-remote bundle and detonator idle
rdynup.qav---remote bundle and detonator up
remdown1.qav-remote bundel down leaving detonator
remdown2.qav-remote bundle and detonator down
remdown3.qav-detonator down
remdrop.qav--dropping remote bundle
remfire.qav--pushing button on detonator
remidle1.qav-remote bundle and detonator idle
remidle2.qav-detonator only idle
remodown.qav-detonator down (no bundle)
remofire.qav-same as remfire
remoidle.qav-same as remidle
remoup.qav---detonator up
remthro.qav--throwing remote bundle
remup1.qav---remote bundle up to detonator
remup2.qav---remote bundle and detonator up at same time
remup3.qav---detonator up
sgundown.qav-speargun down
sgunfire.qav-speargun fire
sgunidl1.qav-speargun idle
sgunidl2.qav-spaergun idle
sgunup.qav---speargun up
shotdown.qav-speargun down
shotf1.qav---firing left barrel of shotgun
shotf2.qav---firing right barrel of shotgun
shoti1.qav---shotgun idle no barrels shot
shoti2.qav---shotgun idle one barrel shot
shoti3.qav---shotgun idle both barrels shot
shotl1.qav---reload 
shotup.qav---shotgun up
spider.qav---spider on screen attacking
throw.qav----hand only throwing
throw2.qav---throwing one stick leaving lighter
throw2b.qav--throwing one stick and bringing another one up
throw2c.qav--throwing one stick and bringing lighter out of frame
tomdown.qav--tommygun down
tomfire.qav--tommygun fire
tomidle.qav--tommygun idle
tomspred.qav-tommygun spreadfire
tomup.qav----tommygun up
vddown.qav---voodoo doll down
vdfire1.qav--stabbing chest
vdfire2.qav--stabbing shoulder
vdfire3.qav--stabbing eye
vdfire4.qav--stabbing groin-yowch!
vdfire5.qav--stabbing players finger
vdfire6.qav--doll falls apart
vdidle1.qav--voodoo doll idle
vdidle2.qav--voodoo doll idle (wiggling)
vdspel1.qav--casting spell on voodoo doll
vdup.qav-----voodoo doll up

SEQS.TXT



sequence-----description 
___________________________

barrel.seq---rolling barrel
bat1d1.seq---bat exploding
bat1d3.seq---bat burning
bat1i1.seq---hanging bat
bat1m1.seq---bat flying
best1a1.seq--beast attacking with claws
best1d1.seq--beast normal death
best1d3.seq--beast burning death
best1i1.seq--beast standing idle
best1m1.seq--beast running
best1r1.seq--beast recoiling
besttran.seq-beast transforming to cultist
bigweb.seq---breaking web
bldspray.seq-blood spray
blood01.seq--blood pool
bone.seq-----gargoyle's throwing bone
breath.seq---breath for cold weather
burntre1.seq-tree burning
burntre2.seq-pine tree burning
canfire.seq--spraycan flame
canfire1.seq-
canfire2.seq-
cerb1a1.seq--cerberus attacking
cerb1d1.seq--cerberus' first head dying
cerb1i1.seq--cerberus standing idle
cerb1m1.seq--cerberus walking
cerb1r1.seq--cerberus recoiling
cerb2a1.seq--cerberus attacking (one head dead)
cerb2d1.seq--cerberus' second head dying
cerb2i1.seq--cerberus standing idle (one head dead)
cerb2m1.seq--cerberus walking (one head dead)
cerb2r1.seq--cerberus recoiling (one head dead)
cult1a1.seq--tommygun cultist firing
cult1a2.seq--tommygun cultist throwing dynamite
cult1d1.seq--tommygun cultist normal death
cult1d2.seq--tommygun cultist exploding death
cult1d3.seq--tommygun cultist burning death
cult1i1.seq--tommygun cultist standing idle
cult1m1.seq--tommygun cultist running
cult1m2a.seq-tommygun cultist jumping (prejump)
cult1m2b.seq-tommygun cultist jumping (in air)
cult1m2c.seq-tommygun cultist jumping (landing)
cult1m3.seq--tommygun cultist swimming
cult1r1.seq--tommygun cultist recoiling
cult2a1.seq--shotgun cultist firing
cult2a2.seq--shotgun cultist throwing dynamite
cult2d1.seq--shotgun cultist normal death
cult2d2.seq--shotgun cultist exploding
cult2d3.seq--shotgun cultist burning
cult2i1.seq--shotgun cultist standing idle
cult2m1.seq--shotgun cultist running
cult2m2a.seq-shotgun cultist jumping (prejump)
cult2m2b.seq-shotgun cultist jumping (in air)
cult2m2c.seq-shotgun cultist jumping (landing)
cult2m3.seq--shotgun cultist swimming
cult2r1.seq--shotgun cultist recoil
culttran.seq-cultist transforming to beast
eel1d1.seq---eel dying underwater
eel1d2.seq---eel dying above water
eel1m1.seq---eel swimming
eel1m2.seq---eel jumping out of water
expl01.seq---
explc1l.seq--large explosion on ground
explc1m.seq--medium explosion on ground
explc1s.seq--small explosion on ground
explc2l.seq--large explosion in air
explc2m.seq--medium explosion in air
explc2s.seq--small explosion in air
explo1.seq---
explo2.seq---
explo3.seq---
explo4.seq---
explo5.seq---
explo6.seq---explosion for spraycan
fire01.seq---
fireball.seq-fireball
firegib.seq--spark thrown from explosion
flargib.seq--gib for flar
firetest.seq-
flare1.seq---flare for flaregun
flolite.seq--flourescent light getting shot out
footfade.seq-fading footsteps
fsmoke.seq---smoke for fireball
ftrap1.seq---fireball face trap
ftrap2.seq---fireball face trap
garg1a1.seq--flesh gargoyle attack
garg1d1.seq--flesh gargoyle normal death
garg1d2.seq--flesh gargoyle exploding
garg1d3.seq--flesh gargoyle burning death
garg1m1.seq--flesh gargoyle flying
garg1m2a.seq-flesh gargoyle going into swoop
garg1m2b.seq-flesh gargoyle swooping
garg1m2c.seq-flesh gargoyle coming out of swoop
garg1r1.seq--flesh gargoyle recoiling
garg1tr.seq--flesh gargoyle transforming from statue
garg2a1.seq--stone gargoyle attacking
garg2d1.seq--stone gargoyle normal death
garg2d2.seq--stone gargoyle exploding
garg2m1.seq--stone gargoyle flying
garg2m2a.seq-stone gargoyle going into swoop
garg2m2b.seq-stone gargoyle swooping
garg2m2c.seq-stone gargoyle coming out of swoop
garg2r1.seq--stone gargoyle recoiling
garg2tr.seq--stone gargoyle transforming from statue
gargbone.seq-same as bone.seq
gill1a1.seq--gillbeast attacking abovewater
gill1a2.seq--gillbeast attacking underwater
gill1d1.seq--gillbeast dying above water
gill1d2.seq--gillbeast exploding
gill1d3.seq--gillbeast burning death
gill1d4.seq--gillbeast dying underwater
gill1i1.seq--gillbeast standing idle 
gill1m1.seq--gillbeast walking
gill1m2.seq--gillbeast swimming
gill1r1.seq--gillbeast recoiling above water
gill1r2.seq--gillbeast recoiling underwater
glass.seq----glass breaking
gost1a1.seq--ghost attacking
gost1d1.seq--ghost dying      
gost1m1.seq--ghost floating (transparent)
gost1m2.seq--ghost floating (solid)
gost1r1.seq--ghost recoiling (transparent)
gost1r2.seq--ghost recoiling (solid)
gwing.seq----gargoyle wing flying through air
hand1d1.seq--hand exploding
hand1d3.seq--hand burning
hand1i1.seq--hand idle
hand1m1.seq--hand running
hand1m2.seq--hand jumping
headroll.seq-axe zombie's head rolling or flying through air
hell1a1.seq--hellhound biting
hell1a2.seq--hellhound breathing fire
hell1d1.seq--hellhound normal death
hell1d2.seq--hellhound exploding
hell1i1.seq--hellhound standing idle
hell1m1.seq--hellhound running
hell1r1.seq--hellhound recoiling
hellfire.seq-hellhound's fire breath
jarexplo.seq-exploding jar
mgclose.seq--machinegun trap closing
mgdead.seq---machinegun trap blowing up
mgfire.seq---machinegun trap firing
mgflare.seq--flare coming off of machinegun
mgopen.seq---machinegun trap opening
padlock.seq--padlock opening
pod1clos.seq-green plant pod closing
pod1d1.seq---green plant pod dying
pod1d2.seq---green plant pod exploding
pod1open.seq-green plant pod opening
pod2clos.seq-firepod closing
pod2d1.seq---firepod dying
pod2d2.seq---firepod exploding
pod2open.seq-firepod opening
predrip1.seq-bead of water before it falls
rat1d1.seq---rat exploding
rat1d3.seq---rat burning
rat1i1.seq---rat standing idle
rat1m1.seq---rat running
respawn.seq--respawn
ricoch01.seq-ricochet metal or stone
ricoch02.seq-ricochet clay or wood
ricoch03.seq-smoke ricochet
sglass.seq---stained glass breaking
skull.seq----ghostly skull
skull2.seq---skull hitting wall
spid1a2.seq--red spider attacking
spid1d1.seq--red spider dying
spid1d2.seq--red spider exploding
spid1d3.seq--red spider burning
spid1i1.seq--red spider standind idle
spid1m1.seq--red spider running
spid1m2.seq--red spider jumping
spid2a2.seq--brown spider attacking
spid2d1.seq--brown spider dying
spid2d2.seq--brown spider exploding
spid2d3.seq--brown spider burning
spid2i1.seq--brown spider standing idle
spid2m1.seq--brown spider running
spid2m2.seq--brown spider jumping
spid3a2.seq--gray spider attacking
spid3d1.seq--gray spider dying
spid3d2.seq--gray spider exploding
spid3d3.seq--gray spider burning
spid3i1.seq--gray spider idle
spid3m1.seq--gray spider running
spid3m2.seq--gray spider jumping
spike.seq----spike trap
splash1.seq--
splash2.seq--
splash3.seq--
squib01.seq--blood squib
squib1.seq---blood squib
squib2.seq---blood squib
squib3.seq---blood squib
squib4.seq---blood squib
tent1a1.seq--green tentacle attacking
tent1d2.seq--green tentacle exploding
tent1dow.seq-green tentacle down into ground
tent1i1.seq--green tentacle idle (underground)
tent1up.seq--green tentacle coming up out of ground
tent2a1.seq--firepod tentacle attacking
tent2d2.seq--firepod tentacle exploding
tent2dow.seq-firepod tentacle down into ground
tent2i1.seq--firepod tentacle idle (underground)
tent2up.seq--firepod tentacle coming up out of ground
vase1.seq----blue glass vase exploding
vase2.seq----brown clay vase exploding
wateroff.seq-water off of rising floor texture
wateron.seq--water onto lowering floor texture
webburn1.seq-burning web
woodbeam.seq-wood crossbeams exploding
zbones.seq---bones from butcher zombie crumbling
zomb1a1.seq--axe zombie attacking 
zomb1d1.seq--axe zombie normal death
zomb1d2.seq--axe zombie exploding
zomb1d3.seq--axe zombie burning
zomb1d4.seq--axe zombie's head blowing off
zomb1i1.seq--axe zombie standing idle
zomb1i2.seq--ground where zombie comes out 
zomb1m1.seq--axe zombie running
zomb1m2.seq--axe zombie coming up out of ground
zomb1r1.seq--axe zombie recoiling
zomb1up.seq--axe zombie getting up after being knocked down
zomb2a1.seq--butcher zombie attacking
zomb2d1.seq--butcher zombie normal death
zomb2d2.seq--butcher zombie exploding
zomb2d3.seq--butcher zombie burning
zomb2d4.seq--same as zbones.seq
zomb2i1.seq--butcher zombie standing idle
zomb2m1.seq--butcher zombie walking
zomb2r1.seq--butcher zombie recoiling