Half-Life Alpha 0.52 dem1, dem2, demogrunts and demohet3
 

0 Members and 1 Guest are viewing this topic.

  • Citizen
  • *
  • Posts: 22
    • View Profile
    • The PMTK_MILK Website
I would like to make some final clarifications on why render looks like this.

The demo file contains a list of models, list of sound and list of decals.
It also contains information on entities changes:
entnum - identificator
frame - animation frame
origin - position in the world
angle - rotation
model - what model from the list mentioned earlier should be applied
Also decal info, like what decal should be applied to what entnum.
What sound from the list should play and when.

So!
The entnum is hardcoded in the DEM file, and it is also hardcoded in BSP.
Since BSPs are wrong, this leads to a mismatch we are seeing in the renders.

"decals must hit mod_brush!"
because indeed, game tries to put decal on something wrong.

In "demohet3" we can see how most props are misplaced or disappeared.
That's because something like a func_breakable Box got a HGrunt model and Origin, and is now trying to pretend attacking the player.

Same happens with the invisible catwalk in the dem2.
func_breakable is simply moved somewhere else, and the catwalk entity is either nothing or wrong entity.
Fan we see instead of lever near the Vent puzzle on "demohet3" - same story.

And now we can also answer a question on why monster_human_assault is clearly seen in the demo (original working ones) but not in the game itself.

It does indeed exist on the maps, but game does not known how to handle it, because it has no implementation whatsoever! Simply no code in HL.DLL

Demos on the other hand, has all the info to create illusion of it acting.
Sounds are played, model is applied, animations are activated, firing is emulated.

I checked all the demos and maps, and "monster_human_assault" is the only such "complete ghost" entity.

List of all entities in HL.DLL:
Code: [Select]
worldspawn

trigger_push
trigger_once
trigger_multiple
trigger_monsterjump
trigger_hurt
trigger_counter
trigger_changelevel
trigger_cdaudio
trigger

train_info
path_corner
multisource
multi_manager

monster_turret # has A.I
monster_tentacle_beak
monster_tentacle
monster_scientist
monster_polyrobo # NO A.I.

#
monster_panther # NO A.I.
monster_m44 # vehicle, NO A.I
monster_human_sarge # throws shade sprite into player on damage
monster_human_grunt # HAS A.I
monster_houndeye # HAS A.I
monster_headcrab # HAS A.I

# techdemo - panther eating scientist
monster_cine_scientist
monster_cine_panther
monster_cine_barney

# c1a2a - barney/scientist dragged into vent
monster_cine3_scientist
monster_cine3_barney

# missing scene
monster_cine2_slave
monster_cine2_scientist
monster_cine2_hvyweapons

monster_bullchicken # HAS A.I
monster_boid_flock
monster_boid
monster_barney
monster_alien_slave # NO A.I.
monster_alien_grunt # HAS A.I.

momentary_rot_button
momentary_door

light_spot
light
john_train # only like 5-9 lines of code, speeding up player?
item

info_player_start
info_player_deathmatch
info_null
info_landmark

hint_stairsup
hint_stairsdown

func_water
func_wall
func_train
func_rotating
func_rot_button
func_pushable
func_plat
func_pendulum
func_ladder
func_illusionary
func_glass
func_friction
func_door_rotating
func_door
func_button
func_breakable

explode
env_sound

# shoot - change animation dummy
cycler_turret
cycler_secure
cycler_scientist
cycler_reddoc
cycler_prdroid
cycler_panther
cycler_olive
cycler_human_grunt
cycler_human_assault
cycler_houndeye
cycler_headcrab
cycler_greendoc
cycler_doctor
cycler_desert
cycler_bullchicken
cycler_bluedoc

And the last part I want to share is model classification:
This build contains two types of MDL files.
The ones Alpha supports (v6) and the older (v4) which cannot be displayed in our build.

Code: [Select]
Alpha V6:
agrunt.mdl
barney.mdl
boid.mdl
bullchik.mdl
ceilinggibs.mdl
cindergibs.mdl
cine-barney.mdl
cine-panther.mdl
cine-scientist.mdl
cine3-barney.mdl
cine3-scientist.mdl
debris.mdl
doctor.mdl
GIB_B_Bone.mdl
GIB_B_Gib.mdl
GIB_Legbone.mdl
GIB_Lung.mdl
GIB_Skull.mdl
grenade.mdl
hassault.mdl
headcrab.mdl
hgrunt.mdl
hornet.mdl
houndeye.mdl
islave.mdl
m44.mdl
panther.mdl
polyrobo.mdl
prdroid.mdl
scientist.mdl
shell.mdl
shrapnel.mdl
spit.mdl
tentacle.mdl
turret.mdl
v_crowbar.mdl
v_glock.mdl
v_mp5.mdl
woodgibs.mdl

OLD v4:
panthereat.mdl
bluedoc.mdl
desert.mdl
greendoc.mdl
hsarge.mdl
olive.mdl
PLAYER.MDL
reddoc.mdl
scienceeat.mdl

We can assume that everything under "OLD v4" is coming from even older build of the game.

My interpretation on how leaked build was created:
1. On the Alpha++ version(newer network protocol), 4 broken demos were recorded for trailers.
2. This demos moved back into the Alpha+(which has monster_human_assault) and someone recorded 15 additional demos.
3. Alpha+ got recompiled into Alpha(we have), without monster_human_assault, and probably other unseen entities.
4. Model folder of Alpha also has remaining models of Alpha- (which supported v4 models).

Alpha++ = VERSION 1.07 SERVER (57997 CRC)
Alpha+ = VERSION 1.07 SERVER (48136 CRC) but different HL.DLL
Alpha = VERSION 1.07 SERVER (48136 CRC) - what we have
Alpha- = older build

This info is my tribute to this amazing Alpha build B-)
I played with it for four days, and I think checked everything I wanted, that was not covered before.

I am also giving confirmation, that game is working in both Software and OpenGL modes on Windows 11, and even on Windows 11 for ARM. (some magic needs to be applied)

Hey!

monster_cine2_slave, monster_cine2_scientist and monster_cine2_hvyweapons Refers to a possible scripted sequence from early alphas like 0.52, where a heavy weapons guy defends a scientist about to be attacked by a Vortigaunt. Tyler McVicker also mentions that this is one of the first, or even the very first, scripted sequences from the development of Half-Life, although I think that if this were the case, the scientist would be the model who appears exaggeratedly frightened.

If you go to minute 4:03 you can see the sequence


I was going to ask if it was possible to somehow implement the sequence in alpha or half-life retail, but those are files I don't understand, since I only know .smd files and these are .qcx and .max for the models and animation.  !rolleyes
Last Edit: 07 Jun 2026, 04:31:34 by pmtk_milk
I know that you have a Alpha CD, but you dont want to leak it.
  • True Citizen
  • *
  • Posts: 144
    • View Profile
monster_cine2_slave, monster_cine2_scientist and monster_cine2_hvyweapons Refers to a possible scripted sequence from early alphas like 0.52, where a heavy weapons guy defends a scientist about to be attacked by a Vortigaunt. Tyler McVicker also mentions that this is one of the first, or even the very first, scripted sequences from the development of Half-Life, although I think that if this were the case, the scientist would be the model who appears exaggeratedly frightened.
McVicker is wrong, cine2_ uses SCI1, which is already an improved Scientist model seen in Alpha 0.52, not the pre-alpha one.
was going to ask if it was possible to somehow implement the sequence in alpha or half-life retail, but those are files I don't understand, since I only know .smd files and these are .qcx and .max for the models and animation.  !rolleyes
Maybe. .QCX file is just for model compilation, .MAX is 3DS Max format.
You can in theory just compile the SMD files into models and put them in Alpha 0.52, all it lacks for that scripted sequence is those dedicated models, but i've never tried that.
If panthers are part of the cat family, are panthereyes part of it aswell?

SimplePortal 2.3.7 © 2008-2026, SimplePortal