Age | Commit message (Collapse) | Author |
|
This fixes #442, a crash caused by adding a new WAD file after a
lump has been loaded (and cached) from a previous WAD. This
manifested when playing using the Freedoom IWADs and also loading
a PWAD at the same time. The Freedoom IWADs have DEHACKED lumps
that are loaded from within the IWAD file.
The ultimate cause (thanks to Fabian Greffrath for uncovering it)
is that lumpinfo is realloc()ed after each new WAD load to store
the lumpinfo_t structures from the new WAD. If a lump has been read
and cached from a previous WAD file, it may end up having an invalid
'user' pointer that points to somewhere in the old lumpinfo[] array,
not the new one.
I think this bug was masked because realloc() will often not move
data if the previous location can simply be extended. The bug was
discovered when loading BTSX as a PWAD, probably because it's a
large WAD that contains a lot of lumps, and forced a move during
realloc.
|
|
This change rewrites and simplifies the copyright headers at the top
of all source files:
* Remove "Emacs style mode select" line; this line was included in
the headers for the originally released source files and appears
to be to set the file type for old versions of Emacs. I'm not sure
entirely why it was required but I don't think it is any more.
* Remove "You should have received a copy of..." text from copyright
header. This refers to the old 59 Temple Place address where the
FSF headquarters used to be located and is no longer correct.
Rather than change to the new address, just remove the paragraph
as it is superfluous anyway. This fixes #311.
* Remove ---- separator lines so that the file headers are barer
and more simplified.
|
|
Having multiple binaries can cause some confusion - some users try to
run chocolate-doom with hexen.wad, thinking it is supported. Add a
startup check that makes sure the user is not trying to start the game
using the wrong IWAD file for the binary being run.
This fixes #382.
|
|
Heretic and Hexen use WAD path lookup.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1368
|
|
level.
Subversion-branch: /branches/raven-branch
Subversion-revision: 1204
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1140
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1136
|
|
cache when it is no longer needed. Switch existing code to use the new
API instead of Z_ChangeTag.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1134
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1133
|
|
screenshot code into v_video.c Add M_FileLength common function for
finding the length of an open file.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 1102
|
|
fixes architectures where structure fields are aligned differently to
optimise reads, causing the game to crash.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 960
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 908
|
|
to i_swap.h.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 857
|
|
Allow multiple directories to be specified in DOOMWADDIR, in the same
way as PATH.
Make -iwad search through all search paths for the specified IWAD.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 799
|
|
files on non-little-endian machines).
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 749
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 706
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 704
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 630
|
|
don't crash if numlumps = 0 (which is caused when an iwad has an invalid path)
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 629
|
|
does is load a PWAD, then search through the IWAD sprites list, removing lumps
where there are lumps of the same name in the PWAD. The PWAD must then be
loaded again with the normal -file option.
This is needed to run TiC's Obituary TC:
chocolate-doom -nwtmerge obtic2.wad -file obtic1.wad obtic2.wad -deh obtic1.deh
Also add W_PrintDirectory debug function, W_AddFile changed to return handle.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 596
|
|
O(n) rather than O(n^2) algorithm: faster loading maps like sid.wad map03
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 558
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 437
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 436
|
|
cope with this.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 434
|
|
Restructure WAD loading so that merged WADs are always loaded before
normal PWADs. Remove W_InitMultipleFiles().
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 362
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 342
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 280
|
|
to header.
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 167
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 58
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 57
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 37
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 33
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 15
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 8
|
|
Subversion-branch: /trunk/chocolate-doom
Subversion-revision: 4
|