From e4281454ceebb8714020e6bf1a2c0274d72e5723 Mon Sep 17 00:00:00 2001 From: Marisa Heit Date: Sat, 15 Oct 2016 21:40:24 -0500 Subject: [PATCH] Split ANIMATED into three parts, filtered by game that uses them - ANIMATED contained definitions for Doom, Heretic, and Strife, all crammed into a single file. This meant that animations from one game could erroneously make their way into maps for another game that provided custom textures with names that matched textures that animated in the other game. There are now three separate ANIMATED lumps with only the animations defined for the original game and no others. The one that gets loaded depends on the game being played. - Added documentation for the ANIMATED file format to the comment for FTextureManager::InitAnimated(), since I had to figure it out from the code. --- src/textures/animations.cpp | 10 ++++++++++ wadsrc/static/animated.lmp | Bin 1450 -> 0 bytes wadsrc/static/filter/game-doomchex/animated.lmp | Bin 0 -> 507 bytes wadsrc/static/filter/game-heretic/animated.lmp | Bin 0 -> 185 bytes wadsrc/static/filter/game-strife/animated.lmp | Bin 0 -> 760 bytes 5 files changed, 10 insertions(+) delete mode 100644 wadsrc/static/animated.lmp create mode 100644 wadsrc/static/filter/game-doomchex/animated.lmp create mode 100644 wadsrc/static/filter/game-heretic/animated.lmp create mode 100644 wadsrc/static/filter/game-strife/animated.lmp diff --git a/src/textures/animations.cpp b/src/textures/animations.cpp index 74f9b1f55..f46289f07 100644 --- a/src/textures/animations.cpp +++ b/src/textures/animations.cpp @@ -161,6 +161,16 @@ FAnimDef *FTextureManager::AddComplexAnim (FTextureID picnum, const TArray entries, terminated by a 0xFF byte. Each entry +// is 23 bytes long and consists of the following fields: +// Byte 0: Bit 1 set for wall texture, clear for flat texture. +// Bytes 1-9: '\0'-terminated name of first texture. +// Bytes 10-18: '\0'-terminated name of last texture. +// Bytes 19-22: Tics per frame (stored in little endian order). +// //========================================================================== CVAR(Bool, debuganimated, false, 0) diff --git a/wadsrc/static/animated.lmp b/wadsrc/static/animated.lmp deleted file mode 100644 index 100c804c8a8aa4148ed05df34bccf8de671248b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1450 zcmY+E%Z{Tk5Jio8G@939J|zbFwKN2iC=Nu11oevl|B9J=t89|A6zTYM<+^N&nBjVI zeODQyV2$}<@aGpdcd^cp^^~7!(CG$m{~M7V#J=lfas9lD$r?8{&uY3a?qSY==%( zf!z0c;gVXwn%@s0=tM&_yI?XW(+FVJB)gcFIi7oDCwQ#p(~)Z4HybS4@qFPN8-Zud zY|+e?Q*y;QR*gB91|`J4C2jc<{lQ0cxy$`HfTY3S<*vjvT7r+VR>F5f_P{5_A#)Ib}j0fN}D{5Xx}B0vMhK8OOVQ;iq5~*h1po1-!3*6;S=}KTg2= AssI20 diff --git a/wadsrc/static/filter/game-doomchex/animated.lmp b/wadsrc/static/filter/game-doomchex/animated.lmp new file mode 100644 index 0000000000000000000000000000000000000000..016ce1fa3ff2b51f2f3f9b30f7919609cfdae182 GIT binary patch literal 507 zcmY+AOAdlS5Ja1}@i@R>qRU1GLKwizfZYEi+S4DRtR63wqA6JR2?y^01S)_l(9<8d z`PdkkPNoG+2Ye%C0Wy%(k~XYsN7cZPJ$J{rKBw{yAaGNi!Z`bqY6PrX-Y6~bm#%8l z4=K6Om%1U}EubZr6tIiq%TWnK#g}lJbi-)^(M3N-e_#lpfRY~4*00OvK;b8y|C`eU zj?-K+ccd{sk=7fxKN9LZu0p8 Dh$dJa literal 0 HcmV?d00001 diff --git a/wadsrc/static/filter/game-heretic/animated.lmp b/wadsrc/static/filter/game-heretic/animated.lmp new file mode 100644 index 0000000000000000000000000000000000000000..80102c88e203ad1ccffd5f13a6e480f81111b5b1 GIT binary patch literal 185 zcmYL>K@NZ*39gl6-&O=>w zaqkjr+>67nou_Jyd12t)o9dpPTEM#x)e=%#h?kIzGT);>U;|)wHcVr@o{*j3e|2fq z-m2@{wa=*q)|%O(nf;0{AdKiKfp z*s$slR8Q5V$I%9tz`HND#A-uUUFr&BDBw_3T`)6Rs{5-Wr