Next
Previous
Contents
LMPC started in the good old DOOM days as a very small Turbo Pascal 6.0
program to show me what's in these LMP files. It is now a ``fat'' C
application and has way too many command-line switches.
DEMcut is not as widely used as LMPC but it started
the DEM editing hype. DBS (I really have to change this name)
gave the Keygrip authors
(
http://www.planetquake.com/keygrip) the starting point for their
internal fake Quake server.
- 1.0 (8/30/1994)
lmpc10.zip
(8/31/1994 posted in
alt.binaries.doom
,
alt.games.doom
)
- General: first public version.
- 1.01 (8/31/1994)
lmpc101.arj
(9/1/1994 posted in
alt.binaries.doom
,
alt.games.doom
)
- LMP: bug fixed in
WT
statistics.
- Docu: LS description / LMPC program reference splitted in
LS.DOC / LMPC.DOC.
- LMP: New heuristic algorithm to discover former version changes.
- Docu: History added in LMPC.DOC.
- General:
Terry (
terry@usis.com)
wrote also a DOOM utility (I don't know it)
with the archive name
lmpc10.zip
. Therefore I changed to the ARJ
archive.
- 2.0 (10/11/1994)
lmpc20.arj
(internal beta test release)
- LMP: the LMP compiler is ready after all!
- 2.01 (10/12/1994)
lmpc201.arj
(internal beta test release)
- LMP: decompiler bug fixed (
UT
/FW
and NW
in the same game tic).
- LMP: compiler parser improved (token length test).
- LMP:
NW8
(8 gives you the chain saw directly) added.
- 2.1 (10/24/1994)
lmpc21.arj
(10/25/1994 posted in
alt.binaries.doom
)
- General: after a error free beta test phase nothing changed, new public
version.
- 2.20 ... 2.26 (never published)
- General: rewritten from scratch (Turbo Pascal 6.0 -> ANSI C).
- 2.27 (2/25/1995)
lmpc-2.27.tar.gz
(internal beta test release)
- LMP: LS format improved (new HERETIC movements).
- LMP: can handle DOOM ][ and HERETIC LMP files.
- LMP:
GAME
-token in the LS Header.
- LMP: version change expects now the real version byte.
- LMP: 1.5 times faster (2.27/2.1, checked with a >300K LMP).
- General: includes now an executable for MS-DOS and Linux.
- 2.3 (4/29/1995)
lmpc-2.3.tar.gz
/lmpc23.zip
- General: full source code included.
- LMP: version change expects a real version string or the version byte.
- General: zip and tar.gz release.
- General: includes now go32.exe and stub.exe too.
- 2.4 (8/7/1995)
lmpc-2.4.tar.gz
/lmpc24.zip
(public release)
- General: MS-DOS binary cross compiled with go32crs.
- Docu: documentation in HTML and plain text (created with Mosaic from the
HTML version).
- LMP: Ultimate DOOM with 4th episode tested (nothing changed).
- 2.5 (8/23/1995)
lmpc-2.5.tar.gz
/lmpc25.zip
(internal beta test release)
- General: command line parsing now with
getopt_long
and long
option names are allowed too.
- General: to compile lmpc.exe (MS-DOS binary) I included the
getopt-package
from the GNU C library (my copy of djgpp doesn't include getopt).
- General:
--info
can handle many files on the command line.
- LMP:
--lmp-to-ls
can decompile a specific part of the LMP file
(the new --tic
option).
- LMP: the buggy version number string function repaired.
- LMP: the new option
--game
to force the game type of the LMP
file.
- 2.6 (8/26/1995)
lmpc-2.6.tar.gz
/lmpc26.zip
(internal beta test release)
- LMP:
--ls-to-lmp
converts now several LS files to a LMP file.
- LMP: new option
--add-WT
to add WT
at the end of a
LMP file.
- 2.6.1 (8/28/1995)
lmpc-2.6.1.tar.gz
/lmpc261.zip
(internal beta release)
- General: 3 parts of the version number.
- LMP:
--gametic FROM(,|:)TO
: colon is allowed as a separator too.
- LMP:
--ls-to-lmp
keeps track of PS
and PE
.
- LMP:
--remove-pause
to remove the Pause game tics.
- 2.7.0 (9/3/1995)
lmpc-2.7.0.tar.gz
(internal alpha release)
- LMP:
--gametic
changed to --tic
- LMP: total new code to convert LMP files (all in one).
- LMP: do multiple LMP file changes at the same time.
- LMP: convert LMP files with the help of a temporary file (if necessary).
- 2.7.1 (9/5/1995)
lmpc-2.7.1.tar.gz
/lmpc271.zip
(internal beta release)
- LMP: small bug fixes in the new code.
- LMP: MS-DOS binary converts now all filenames to lower case.
- 2.7.2 (9/6/1995)
lmpc-2.7.2.tar.gz
/lmpc272.zip
(internal beta release)
- LMP: small bug in the MS-DOS binary corrected.
- 2.8.0 (10/5/1995)
lmpc-2.8.0.tar.gz
/lmpc280.zip
(public release)
- General: Nothing important changed after one month of intensive beta
testing. The code is stable.
- 2.9.1 (10/9/1995)
lmpc-2.9.1.tar.gz
/lmpc291.zip
(internal beta release)
- General: from now on I use a version number scheme similar to Linux:
second number odd means test.
- LMP: HEXEN support (rudimentary).
- 2.9.2 (10/9/1995)
lmpc-2.9.2.tar.gz
/lmpc292.zip
(internal beta release)
- LMP: correct names of all HEXEN artifacts.
- 2.9.3 (11/19/1995)
lmpc-2.9.3.tar.gz
/lmpc293.zip
(internal beta release)
- LMP: new option
--clear-save
to clear the SG
tics.
- Docu: documentation in Linux-SGML.
- LMP: small multi-player bug corrected, thanks to Rob McCartney
(
argon@netcom.com)
for his bug report.
- 2.9.4 (12/6/1995)
lmpc-2.9.4.tar.gz
/lmpc294.zip
(internal beta release)
- new option
--mark-step
to mark only every STEP
th
game tic
- General: MS-DOS version uses
CR/LF
instead of LF
for LS files.
- 2.9.5 (2/10/1996)
lmpc-2.9.5.tar.gz
/lmpc295.zip
(internal alpha release)
- DMO: rudimentary support for Duke Nukem 3D DMO files (alpha code!).
- 2.9.6 (2/12/1996)
lmpc-2.9.6.tar.gz
/lmpc296.zip
(internal alpha release)
- DMO: reliable version of
lzw.c
/unlzw.c
included.
- DMO: all DMO header bytes decoded.
- General: new WWW directory structure.
- 2.9.7 (2/13/1996)
lmpc-2.9.7.tar.gz
/lmpc297.zip
(internal beta release)
- DMO: version 1.1 of
lzw.c
/unlzw.c
included.
- DMO: DMO support in
-s
and -i
.
- Docu: documentation structure changed.
- 2.9.8 (2/19/1996)
lmpc-2.9.8.tar.gz
/lmpc298.zip
(internal beta release)
- DMO: Chunk header removed from DS format.
- DMO: multi-player size/tics/time corrected.
- DMO: Pause is AC21.
- 2.9.9 (3/6/1996)
lmpc-2.9.9.tar.gz
/lmpc299.zip
(internal beta release)
- LMP: STRIFE support included.
- 2.9.10 (4/7/1996)
lmpc-2.9.10.tar.gz
/lmpc2910.zip
(internal beta release)
- LMP: HEXEN 1.1 (8 player) support included.
- LMP: considerable changes in the
-g
code.
- 2.9.11 (4/14/1996)
lmpc-2.9.11.tar.gz
/lmpc2911.zip
(internal bug fix release)
- LMP: version string scan routine improved (buggy since 2.9.9).
- LMP: game type determine routine corrected (buggy since 2.9.10).
- LMP: HEXEN version change (1.0 <-> 1.1) now possible.
- 2.9.12 (4/21/1996)
lmpc-2.9.12.tar.gz
/lmpc2912.zip
(internal beta release)
- DMO: macro-block error fixed.
- LMP: STRIFE player colour names included.
- 2.9.13 (7/1/1996), never released
(internal incomplete alpha release)
- DEM: coding started for Quake DEM files, nothing completed.
- 2.9.14 (7/2/1996), never released
(internal incomplete alpha release)
- Quake DEM files: coding continued, something completed.
- 2.9.15 (7/3/1996), never released
(internal incomplete alpha release)
- DEM: coding continued, structure mostly completed.
- General: new recursive Makefiles, MS-DOS compiling not supported anymore.
- General: new Linuxdoc-SGML 1.5 options.
- General: Linux binary is ELF finally.
- General: MS-DOS binary is djgpp V2.0 compatible (and runs in dosemu).
- 2.9.16 (7/4/1996), never released
(internal incomplete alpha release)
- DEM: CD track identified.
- DEM: player movement identified.
- 2.9.17 (7/7/1996),
lmpc-2.9.17.tar.gz
/lmpc2917.zip
(beta release)
- DEM: cross reference to DEM specs.
- DEM: clientdata with more information.
- DEM: entities: ModNum with reference to the model names.
- 2.9.18 (7/8/1996),
lmpc-2.9.18.tar.gz
/lmpc2918.zip
(beta release)
- DEM: stupid spawnstatic error corrected.
- DEM: code beautified.
- 2.9.19 (7/14/1996),
lmpc-2.9.19.tar.gz
/lmpc2919.zip
(beta release)
- DEM: many new values explained.
- DEM: strings can contain unprintable characters.
- 2.9.20 (7/17/1996),
lmpc-2.9.20.tar.gz
/lmpc2920.zip
(beta release)
- DEM: some new values explained.
- DEM: code rearranged.
- DEM: corresponds (more or less) to dem-0.0.5.
- 2.9.21 (7/23/1996),
lmpc-2.9.21.tar.gz
/lmpc2921.zip
(beta release)
- DEM: some new values explained.
- DEM: massive code rearrangements.
- 2.9.22 (8/7/1996),
lmpc-2.9.22.tar.gz
/lmpc2922.zip
(beta release)
- DEM: almost all explained.
- DEM: text file parser is ready (lex, yacc), first check.
- DEM: -s may now decompile a DEM txt file to a DEM txt file.
- DEM: massive code rearrangements.
- 2.9.23 (8/14/1996),
lmpc-2.9.23.tar.gz
/lmpc2923.zip
(beta release)
- DEM: the ``to bin converter'' is ready. Not very stable.
- General: all messages (not getopt) go to stderr.
- DEM: write to - means stdout.
- General: new command line options:
--to-txt
and --to-bin
- Docu: some terms changed.
- 2.9.24 (10/6/1996),
lmpc-2.9.24.tar.gz
/lmpc2924.zip
(beta release)
- DEM: all float output (time inclusive) with g-format (9 digits).
- DEM: more internal errors corrected.
- 2.9.25 (10/13/1996),
lmpc-2.9.25.tar.gz
/lmpc2925.zip
(beta release)
- DEM: memory problem solved: LMPC needs now only 400-500K RAM.
- Docu: version table reorganised, README, INSTALL slightly changed.
- Makefiles: new targets, easier to make packages and my web-page.
- DEMA: first working version.
- 2.9.26 (11/17/1996),
lmpc-2.9.26.tar.gz
/lmpc2926.zip
(bug fix release)
- DEM: MS-DOS binary can read in DEM text files.
- DEM:
attack_state
->effects
,
ang_ofs_1
->punchangle_x
.
- LMP: MS-DOS binary prints now the correct statistics.
- General: new E-mail address.
- 2.9.27 (11/20/1996),
lmpc-2.9.27.tar.gz
/lmpc2927.zip
(public beta release)
- General: many thanks to
Eric Gordon Fowler
(
efowler@jove.acs.unt.edu) and
Paolo Perrotta
(
nan0744@iperbole.bologna.it)
for all their bug reports.
- DEM: string in and out handles special characters better (not perfect).
- DEM: text parser allows digits after an octal escape sequence.
- DEM: \n, \r, \\ and \" are allowed
character escape sequences in DEM text files.
- DEM: binary file read is byte-order independent (unchecked).
- DEM: binary file write is byte-order independent (unchecked).
- DEM: float numbers may contain exponents.
- DEM:
updateentity
with an entity > 255 works.
- General: my code survives
-Wall
-pedantic
without
warnings.
- Docu: Old LMPC history a bit reformatted.
- 2.9.28 (11/30/1996),
lmpc-2.9.28.tar.gz
/lmpc2928.zip
(public beta release)
- DEM: put an
items
entry in binary DEM files even if it is 0.
This modification enables an error-free decompile/compile of CAMPER3.DEM by
``United Rangers Films'' after all.
- 2.9.29 (12/15/1996),
lmpc-2.9.29.tar.gz
/lmpc2929.zip
(public beta release)
- DEM:
--info
detects DEM text files.
- DEM: binary file read reorganised (coding just started).
- DEMcut: coding started. First working version.
- 2.9.30 (1/5/1997),
lmpc-2.9.30.tar.gz
/lmpc2930.zip
(alpha test release)
- DEM: binary file read totally rewritten. I use now for binary files the
same internal node tree representation as for text files. The text output part
is a bit slower now but the whole project is much easier to maintain.
- DEM:
--to-bin
can handle binary DEM files too. It should create
an identically copy of the input file (if I didn't make any mistakes).
- DEM: binary write: last (I hope so) endian-dependence removed.
- DEM: binary write: suppresses ``camera only'' blocks.
- DEM: text write: suppresses ``camera only'' blocks.
- DEM: text write: stops at file write errors (e.g. device full).
- DEMcut: almost all new coded. The interface remains identical.
I can now include very easy new commands.
- DEMcut: the time message can be anywhere in a block.
- DEMcut: new ``m'' command to prepare multi-player DEM file
concatenations.
- DEMcut: new ``i'' command to improve the interactive work: range may
be interrupted, output is time-synchronised.
- Docu: Formatted with SGML-Tools 0.99.0.
- General: Orthographical check with
ispell
(British English).
- 2.9.31 (1/7/1997),
lmpc-2.9.31.tar.gz
/lmpc2931.zip
(bug fix release)
- DEM: text write: CD track was never printed: totally stupid bug.
- 2.9.32 (2/9/1997) (alpha test release)
- DEMcut: more info on running ranges in interactive mode.
- DEMcut: ``d'' command don't need files from the command line.
- General: includes executables for Win32 (untested).
- General: new packaging system.
- General: all messages go to stderr.
- 2.9.33 (2/16/1997) (alpha test release)
- DMO: Redneck Rampage support started. Info works, decompression not.
- DMO: Duke Nukem 3D 1.3D DMO files supported. This incompatible version
exists since April 1996 but nobody said it to me.
- DMO: endian-dependence should be removed. Never checked this.
- 2.9.34 (3/23/1997) (beta test release)
- DEM:
--info
prints the number of game tics (or frames)
for binary DEM files.
- DEM: new option
--fix-multi
for in-place editing.
- DEM: new option
--fix-multi
as additional option for
--to-bin
and --to-txt
.
- DEM: bin read: type check was endian-dependent (no longer).
- DEM: bin read: CD track at the beginning can be anything, that Quake
itself likes. Read the DEM specs (>=1.0.4) for details. The full CD track
string will be included in a DEM text file but LMPC can cope with the old
format as well.
- DEMcut: CD track commands expects the `\n' character as well.
The old syntax continues to work.
- Docu: Demolition and DemoStat mentioned.
- 3.0.0 (3/31/1997) (public beta release)
- DEM: text read: hours in time stamps didn't work (bug report by
James Stephenson (
james@BETAus.com)).
- DEMcut: CD track command works now correctly.
--game
option repaired.
- Docu: general clean-up.
- 3.0.1 (5/15/1997) (public release)
- General: text write: Win32 versions make MS-DOS style
line breaks (hint by
David Wright (
wgwright@mnsinc.com)).
- General: Minimalist GNU Win32 (Mingw32) version ready (untested).
- Win32: The
syserror
function was always broken. Why didn't
somebody give me a hint?
- DEM: bin read: `new' (version > 1.06) DEM format.
- DEM: bin write: stupid error in clientdata removed.
It was there since 2.9.23 (hint by
Yonatan Donner (
ruthd@post.tau.ac.il)).
- DEM: entry clientdata->weapon may contain invalid values
(more than 1 bit set).
- Packaging: Win32 versions with standard file names. Only the `MS-DOS
Binary Package' use the short 8.3 name scheme.
- 3.1.1 (7/20/1997) (internal alpha test release)
- QWD: bin read: coding started. Nothing completed.
- Docu: all tables now floating in TeX.
- Conf: all is now Autoconf configured.
- 3.1.2 (7/28/1997) (alpha test release)
- DEMcut: interactive mode is removed in systems without named pipes.
- DBS: alpha code.
- Conf: Autoconf rules newly written. Really everything is Autoconf
configured.
- Docu: DBS mentioned.
- Docu: rename INSTALL in COMPILE.
- Docu: new file: Autoconf generic INSTALL.
- 3.1.3 (8/17/1997) (alpha test release)
- General: package renamed: LMP/DMO/DEM/QWD Control Centre ->
Little Movie Processing Centre
- QWD: QuakeWorld 2.00 support included.
- Docu: back again to SGML-Tools 0.99.0.
- Docu: chapters restructured.
- 3.1.4 (12/29/1997) (alpha test release)
- Conf:
Makefile.in
created from Makefile.am
by
GNU Automake. Much easier to maintain!
- General: Hexen II support just started. Not complete. Can't even
decompile correctly a single file.
- Compile: some general routines in a library.
- General: Quake II support just started. Not complete. Can't even
decompile deltapacketentities.
- 3.1.5 (1/1/1998) (alpha test release)
- DM2: text output: many comments included.
- Docu: SGML-Tools 1.0.2 ready after all.
- Conf: Automake 1.2 compliant. Some yacc/lex changes were needed.
- 3.1.6 (3/12/1998) (alpha test release)
- DM2: binary read: nasty malloc/free bug removed.
- DM2: some new commands got better names.
- DEM: binary read: CD track totally rewritten.
- LMP: can handle -v1.10 (for the released DOOM source code distribution)
- Web: PlanetQuake is the new home.
- Docu: SGML-Tools 1.0.5 used.
- 3.1.7 (6/17/1998) (alpha test release)
- DBS: subtle sync problem solved. Thanks to Paul Baker
(
pbaker@idle.com) for his bug
report.
- DM2: text in: parser implemented.
- DM2: some command names changed.
- DM2: binary out: implementation started.
- 3.1.8 (7/15/1998) (intermediate beta release)
- DM2: server record files implemented.
- Conf: dist target for source package is working now.
- Conf: more checks for more platforms.
- Docu: SGML-Tools 1.0.7 used.
- QWD: binary in: up to QuakeWorld 2.29BETA.
- 3.1.9 (8/16/1998) (beta release)
- QWD: text in: written.
- QWD: binary out: written. Due to the ongoing demand by many users
I implemented now the QWD binary write routine. This gives together with the
text read routine the first really working QWD editor.
- DM2: Visual Weapon (VWep) support.
- DM2: some really bad errors corrected.
- Conf: After many fights with the Automake system, `make distcheck'
works finally without problems.
- 3.2.0 (9/6/1998) (stable release)
- DM2: binary read and binary write: long vwep corrected. Now works
massive1.dm2
.
- DM2: binary write:
timeofs
in sound wasn't even
implemented.
- DM2: text read: allows now empty packetentities. Many users
reported this problem in reease 3.1.9. Thanks to all of you.
- QWD: text read: allows now empty packetentities like in DM2
text read.
- text read: useless terminals removed.
- DM2: unused bits in bit mask (sound, spawnbaseline,
packetentities) detected. It's a real mess that Keygrip 2 set unused
bits in DM2 files but I implemeted an easy way to cope with it.
Now works
latenite.dm2
.
- DM2: text read: allows now empty playerinfo. Now works
grenbfg.dm2
.
- DEM: Hexen II support (it was always only a small subset) totally
removed.
- 3.2.1 (9/8/1998) (stable release)
- DEM: text write: didn't write the CD track. A stupid integration
error. I know, I actually have to make a software quality test with all my
test demos before the upload.
- DEM: to text: problems with
--game QUAKE
switch. Not really
solved. Just a kludge inserted, which even slows the program down a bit.
- 3.2.2 (1/9/1999) (public release)
- QWD: bin read: protocol version 27 (game version 2.29BETA and up)
corrected.
- QWD: read text: many small but important parsing problems
removed. This was possible because Joel Baxter
(
jbaxter@lemur.stanford.edu)
provided me with a problematic QWD file (recorded with game version 2.21) and
many good hints.
- QWD: updatepl better.
- DM2: updated up to game version 3.20.
- DM2: bin read: temp_entity parse code directly
calculated from the DM2 specs.
- Docu: SGML-Tools 1.0.9 used.
- Compile: Cygwin and Mingw32 binaries are cross-compiled with the
Cygwin toolset version B20.1.
- DM2cat: The DM2 file concatenator included.
- 3.2.3 (1/12/1999) (public release)
- Compile: udm2-te[123].c are created directly in the source
directory.
- Package: udm2-te[123].c are included in the source and full
package.
I forgot them in the last release. Thanks to Stefan Schwoon (
schwoon@informatik.tu-muenchen.de) for mention this error.
- The script to extract the C-Source out of the specs file is included
too.
- WWW: upload script uploads now the packages to the right place to
deliver them to all
http://www.cdrom.com mirrors. In the last
release this was totally wrong.
- 3.2.4 (1/19/1999) (public release)
- QWD: bin read: new serverinfo message wrong handled.
Thanks to Michale Hofele (
michael@i603.hadiko.de) for the bug-report.
- 3.2.5 (4/6/1999) (public release)
- Conf: Autoconf 2.13 and Automake 1.4 used.
- DEMcut: interactive mode corrected. Thanks to Vasily Kuznetsov
(
VKuznetsov@microtest.ru) for the bug-report and patch.
- QWD: bin read: setpause corrected.
Thanks to Christer Sandin (
czsuch@ocag.ch) for his bug report.
- DM2: multi-level repair corrected. Thanks to Zerox
(
zerox@prism.ne.mediaone.net) for the bug-report and a short demo
file.
- 3.2.6 (4/30/1999) (public release)
- QWD: bin read: initialization of the precache lists for game version
2.20 and higher corrected.
- QWD: maxspeed and entgravity corrected.
- Thanks to R. Quaak (
jaqua00@direct.a2000.nl) for the useful bug report and a
short demo file.
Remember: with a good bug report and a short demo file, I can correct a bug
really fast.
- 3.2.7 (5/24/1999) (bug fix release)
- Compile: source can be compiled with C++ compilers too. No C++
specific feature used up to now. Many new C++ related warnings corrected.
- General: severe buffer overflow problems corrected.
Thanks to Nathan Whitaker (
naif@3dcoder.freeserve.co.uk) for the bug report and a demo file.
- Compile: Linux binaries are glibc finally. I updated my main development
system from SuSE Linux 4.2 (about 4 years old) to SuSE Linux 6.1 to do
this.
- 3.2.8 (6/3/1999) (bug fix release)
- QWD: modellist and soundlist corrected.
Thanks to Hoffy
(
ripple@powerup.com.au)
for the bug report and a demo file.
- 3.2.9 (8/18/1999) (public release)
- DM2: multi-level repair method improved.
Thanks to Mike Dowell
(
mdowell@Mike-D.com)
for the bug report and a demo file.
- DM3: some code fragments prepared but nothing compiled in.
- Compile: MS-DOS binaries cross-compiled with egcs-2.91.66.
- 3.3.0 (1/23/2000) (public release)
- DM2: RLA (Quake II Relay) support.
- Docu: Some links updated.
Plan for 4.0.0 in order of importance
- Block-oriented rewrite of the text parse routines.
- Object-oriented demo handling. This is really necesary for further recording
formats.
- More code generation out of the XML specs source.
- Strict separation of the different recording types and the main program.
Maybe something like
librecord.so
.
--split-multi
option to split multi-level recordings.
- Half-Life (DEM), Heretic II (DM2) and Sin (DM2) support.
- DEMcut and DBS with QWD and DM2 support.
- File-IO from
stdin
and to stdout
, really difficult is the
file type detection.
- Redneck Rampage decompression.
Ideas finally dropped out:
- Hexen II and HexenWorld support.
Open problems
- Does someone know the difference between the Redneck Rampage compression
algorithm and the one used in Duke Nukem 3D?
A new regular version of LMPC (like 3.3.0) will be announced on
BluesNews and on
PlanetQuake.
You can download LMPC from my
Demo Specs page.
There you will find always the latest release with new features
and brand new bugs.
Next
Previous
Contents