Skip to content

Commit

Permalink
Fixed All Games: Due to the different approach taken by Doomsday and …
Browse files Browse the repository at this point in the history
…DOOM.exe in defining texture/flat animations and the numerous PWADS which exist that exploit DOOM.exe behaviour; it is not possible to use Group definitions to externalize the IWAD animations. All default Group definitions have been removed and instead the default animations are registered by each game during startup (and engine reset) in P_InitPicAnims. This fixes the long-standing problem of PWADS which abused the DOOM.exe behaviour not working correctly when played with jDoom/jHeretic.

Note: This fix depends upon an assumption that will need to be resolved; Materials for textures defined in TEXTURE(1) lumps are created in the same order in which they are defined and thus their indices are the same (relatively) to one another. This is due to there being no current means to resolve a material num given a texture id.
  • Loading branch information
danij committed Oct 25, 2008
1 parent fa34c3f commit c514873
Show file tree
Hide file tree
Showing 8 changed files with 456 additions and 460 deletions.
204 changes: 11 additions & 193 deletions doomsday/plugins/jdoom/defs/anim.ded
@@ -1,200 +1,18 @@
# jDoom: Animation Sequences

Header { Version = 6 }

Group
{
Flags = smooth;
Flat { ID = "NUKAGE1"; Tics = 8; };
Flat { ID = "NUKAGE2"; Tics = 8; };
Flat { ID = "NUKAGE3"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "FWATER1"; Tics = 8; };
Flat { ID = "FWATER2"; Tics = 8; };
Flat { ID = "FWATER3"; Tics = 8; };
Flat { ID = "FWATER4"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "SWATER1"; Tics = 8; };
Flat { ID = "SWATER2"; Tics = 8; };
Flat { ID = "SWATER3"; Tics = 8; };
Flat { ID = "SWATER4"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "LAVA1"; Tics = 8; };
Flat { ID = "LAVA2"; Tics = 8; };
Flat { ID = "LAVA3"; Tics = 8; };
Flat { ID = "LAVA4"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "BLOOD1"; Tics = 8; };
Flat { ID = "BLOOD2"; Tics = 8; };
Flat { ID = "BLOOD3"; Tics = 8; };
}

# DOOM II flat animations.
Group
{
Flags = smooth;
Flat { ID = "RROCK05"; Tics = 8; };
Flat { ID = "RROCK06"; Tics = 8; };
Flat { ID = "RROCK07"; Tics = 8; };
Flat { ID = "RROCK08"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "SLIME01"; Tics = 8; };
Flat { ID = "SLIME02"; Tics = 8; };
Flat { ID = "SLIME03"; Tics = 8; };
Flat { ID = "SLIME04"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "SLIME05"; Tics = 8; };
Flat { ID = "SLIME06"; Tics = 8; };
Flat { ID = "SLIME07"; Tics = 8; };
Flat { ID = "SLIME08"; Tics = 8; };
}

Group
{
Flags = smooth;
Flat { ID = "SLIME09"; Tics = 8; };
Flat { ID = "SLIME10"; Tics = 8; };
Flat { ID = "SLIME11"; Tics = 8; };
Flat { ID = "SLIME12"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "BLODGR1"; Tics = 8; };
Texture { ID = "BLODGR2"; Tics = 8; };
Texture { ID = "BLODGR3"; Tics = 8; };
Texture { ID = "BLODGR4"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "SLADRIP1"; Tics = 8; };
Texture { ID = "SLADRIP2"; Tics = 8; };
Texture { ID = "SLADRIP3"; Tics = 8; };
Texture { ID = "SLADRIP4"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "BLODRIP1"; Tics = 8; };
Texture { ID = "BLODRIP2"; Tics = 8; };
Texture { ID = "BLODRIP3"; Tics = 8; };
Texture { ID = "BLODRIP4"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "FIREWALA"; Tics = 8; };
Texture { ID = "FIREWALB"; Tics = 8; };
Texture { ID = "FIREWALL"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "GSTFONT1"; Tics = 8; };
Texture { ID = "GSTFONT2"; Tics = 8; };
Texture { ID = "GSTFONT3"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "FIRELAV3"; Tics = 8; };
Texture { ID = "FIRELAVA"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "FIREMAG1"; Tics = 8; };
Texture { ID = "FIREMAG2"; Tics = 8; };
Texture { ID = "FIREMAG3"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "FIREBLU1"; Tics = 8; };
Texture { ID = "FIREBLU2"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "ROCKRED1"; Tics = 8; };
Texture { ID = "ROCKRED2"; Tics = 8; };
Texture { ID = "ROCKRED3"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "BFALL1"; Tics = 8; };
Texture { ID = "BFALL2"; Tics = 8; };
Texture { ID = "BFALL3"; Tics = 8; };
Texture { ID = "BFALL4"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "SFALL1"; Tics = 8; };
Texture { ID = "SFALL2"; Tics = 8; };
Texture { ID = "SFALL3"; Tics = 8; };
Texture { ID = "SFALL4"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "WFALL1"; Tics = 8; };
Texture { ID = "WFALL2"; Tics = 8; };
Texture { ID = "WFALL3"; Tics = 8; };
Texture { ID = "WFALL4"; Tics = 8; };
}

Group
{
Flags = smooth;
Texture { ID = "DBRAIN1"; Tics = 8; };
Texture { ID = "DBRAIN2"; Tics = 8; };
Texture { ID = "DBRAIN3"; Tics = 8; };
Texture { ID = "DBRAIN4"; Tics = 8; };
}
# jDoom: Additional Animation Sequences
#
# DOOM has predefined texture animation sequences.
# In order to remain compatible with existing WADs, jDoom builds
# animations from these predefined sequences and creates texture
# animation groups for them. The flags "tgf_smooth" and
# "tgf_first_only" are set for each group.
#
# Additional sequences can be defined using Group definitions.

Header { Version = 6; }

IncludeIf doom1 "doom1anim.ded";
IncludeIf doom1-ultimate "doom1anim.ded";
IncludeIf doom1-share "doom1anim.ded";

IncludeIf doom2 "doom2anim.ded";
IncludeIf doom2-plut "plutanim.ded";
IncludeIf doom2-tnt "tntanim.ded";
35 changes: 0 additions & 35 deletions doomsday/plugins/jdoom/defs/plutanim.ded
Expand Up @@ -2,41 +2,6 @@

Header { Version = 5; }

Group
{
Flags = "tgf_smooth";
Texture { ID = "FIREBLU1"; Tics = 8; };
Texture { ID = "AROCK2"; Tics = 8; };
Texture { ID = "AROCK3"; Tics = 8; };
Texture { ID = "AROCK4"; Tics = 8; };
Texture { ID = "AROCK5"; Tics = 8; };
Texture { ID = "FIREBLU2"; Tics = 8; };
}

Group
{
Flags = "tgf_smooth";
Texture { ID = "DBRAIN1"; Tics = 8; };
Texture { ID = "MC2"; Tics = 8; };
Texture { ID = "MC3"; Tics = 8; };
Texture { ID = "MC4"; Tics = 8; };
Texture { ID = "MC5"; Tics = 8; };
Texture { ID = "MC6"; Tics = 8; };
Texture { ID = "MC7"; Tics = 8; };
Texture { ID = "MC8"; Tics = 8; };
Texture { ID = "MC10"; Tics = 8; };
Texture { ID = "MC11"; Tics = 8; };
Texture { ID = "MC12"; Tics = 8; };
Texture { ID = "MC13"; Tics = 8; };
Texture { ID = "MC14"; Tics = 8; };
Texture { ID = "MC15"; Tics = 8; };
Texture { ID = "MC16"; Tics = 8; };
Texture { ID = "MC17"; Tics = 8; };
Texture { ID = "MC18"; Tics = 8; };
Texture { ID = "MC19"; Tics = 8; };
Texture { ID = "DBRAIN4"; Tics = 8; };
}

#
# Precache groups.
#
Expand Down
38 changes: 0 additions & 38 deletions doomsday/plugins/jdoom/defs/tntanim.ded

This file was deleted.

0 comments on commit c514873

Please sign in to comment.