Skip to content

Commit

Permalink
Fixed|Heretic|Hexen: Out of date material definitions
Browse files Browse the repository at this point in the history
Outdated material definitions in Heretic and Hexen resulted in
rather odd looking, "strobing" glow lighting effects in-game.
  • Loading branch information
danij-deng committed Mar 19, 2013
1 parent 3f75846 commit 27adc40
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 13 deletions.
12 changes: 10 additions & 2 deletions doomsday/plugins/doom64/defs/materials.ded
Expand Up @@ -70,9 +70,17 @@ Material Mods "textures:CYTRAKA" {
}

Material Mods "textures:SEXIT" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
}

This comment has been minimized.

Copy link
@skyjake

skyjake Mar 19, 2013

Owner

I guess the rationale here is that each animation stage of the material needs its own Glow definition? My intuition would've been (conforming to earlier behavior) that the animation stages without a Material.Layer.Stage would've just used the latest defined Stage.

This comment has been minimized.

Copy link
@danij-deng

danij-deng Mar 19, 2013

Author Collaborator

Its actually because of the earlier behavior that this is implemented in this way. The original behavior for the glowing textures is that each frame of a texture animation could be configured independently as glowing/non-glowing. Consequently this had to be incorporated into the layer animation's stages.

Ultimately yes I would like a mechanism which takes values from previous Stages if they aren't defined for the current stage. However, as switching to this model was such a large shift from previous releases I decided to keep things simple for the first iteration.

This comment has been minimized.

Copy link
@skyjake

skyjake Mar 19, 2013

Owner

Ah I see. However, I'm worried about leaving this as-is because it introduces a regression for existing material definitions, as exemplified by our own libhexen.pk3 being broken like this. Any chance of addressing this for 1.10?

This comment has been minimized.

Copy link
@danij-deng

danij-deng Mar 19, 2013

Author Collaborator

I'll see what can be done to address this for 1.10.

As the material concept was such a late addition, there is a fair amount of conflicts within the legacy definition methods to consider when attempting to merge them into a single conceptual unit. For example, animations may be defined by the original game (or not), with multiple flavors of animation (smoothed, first-only), or animated/overridden with Group definitions, or animated completely using the new Material syntax. Its all a bit messy really.

}

Material Mods "textures:SEXITA" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
}
}
53 changes: 46 additions & 7 deletions doomsday/plugins/heretic/defs/heretic/materials.ded
Expand Up @@ -16,33 +16,72 @@ SkipIf -nodefaultfx;
#

Material Mods "flats:FLATHUH1" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "flats:FLATHUH2" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "flats:FLATHUH3" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "flats:FLATHUH4" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

#
# Glowing textures:
#

Material Mods "textures:LAVAFL1" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "textures:LAVAFL2" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "textures:LAVAFL3" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}
45 changes: 41 additions & 4 deletions doomsday/plugins/hexen/defs/hexen/materials.ded
Expand Up @@ -16,7 +16,13 @@ SkipIf -nodefaultfx;
#

Material Mods "flats:X_001" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "flats:X_002" {
Expand All @@ -36,7 +42,13 @@ Material Mods "flats:X_004" {
#

Material Mods "textures:X_FIRE01" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
Stage { Glow = 1.8; Glow Rnd = .8; }
}
}

Material Mods "textures:X_FIRE02" {
Expand All @@ -52,7 +64,21 @@ Material Mods "textures:X_FIRE04" {
}

Material Mods "textures:X_FAC01" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
}
}

Material Mods "textures:X_FAC02" {
Expand Down Expand Up @@ -100,7 +126,18 @@ Material Mods "textures:X_FAC12" {
}

Material Mods "textures:TPORT1" {
Layer { Stage { Glow = 1.8; } }
Layer
{
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
Stage { Glow = 1.8; }
}
}

Material Mods "textures:TPORT2" {
Expand Down

0 comments on commit 27adc40

Please sign in to comment.