* bring back the flashing disk icon (Fixes#13)
* further refinements to the disk icon code
* get away with only one static variable
* add a non hires-scaling variant of V_DrawBlock()
* add a comment to the new function prototype
When reading a TRANMAP lump in from a file, only the first 256 bytes
of the current palette are compared to the palette for which the
TRANMAP was created. An entire palette, though, consists of 256 RGB
tripel and is thus 3*256 bytes long. Thus, only the first third of
both palettes are compared and if these happen to match, translucency
will look glitched.
Fix this by comparing and writing out the entire palette to the cache
file.
This reverts the previous commit which only handled the case of an
absent REJECT table. No attempts are made to simulate REJECT buffer
overflows in Vanilla Doom, because MBF is a different EXE anyway.
* Define a user-writeable directory with a little help from SDL_GetPrefPath()
* Save config files, translation tables and savegames into this
directory.
* Screenshots are still saved into the "current" directory, i.e. the
user's $HOME on Unix.
* unconditionally create the user-writable directory
* adapt to pending inclusion of m_misc2.c
* add a dynamically growing list of IWAD search directories
This is all taken from Chocolate Doom's src/d_iwad.c.
Also, take some helper functions from Chocolate Doom's src/m_misc.c
and put them into a separate m_misc2.c file. These will be useful for
further ported code, e.g. writable user directory and drag-n-drop
support.
Fixes#6.
* add support for a build-time configurable data directory
* add some more helper functions to m_misc2.c
This converts some variables to their unsidged types, which enables
the port to load all maps which use the regular Doom BSP nodes format.
This enables the port to load some maps that it would normally choke
upon, e.g. Nova Maps 30 and 31; Eviternity Map 15 and Sunlust Maps 16,
18, 20, 24, 28 and 31.
It does still not support DeePBSP and ZDBSP nodes, and will probably
never do.
Fixes#23.
This appends a "Fullscreen Mode" entry to the Video menu.
While at it, clean up the previous menu changes a bit. Added menu entries are always appended to the end of a menu. Remove the now useless sound and music card selection entries.
More specifically, add support for the FreeDoom IWADs and for the
IWADs that are shipped with the Doom Classic engine that is used for
the Doom 3: BFG Edition.
* Add the three FreeDoom IWADs to the standard_iwads[] array.
* Improve the gamemissions detection, because freedoom2.wad contains
characteristic lumps of both Plutonia and TNT.
* Fixes#4.
* Identify the BFG Edition IWADs by their unique DMENUPIC lump.
* The BFG Edition IWADs have a PWAD signature, so be more forgiving
in CheckIWAD().
* Since the BFG Edition IWADs are missing the TITLEPIC lump, use the
DMENUPIC lump instead.
* Since the BFG Edition IWADs have their M_SCRNSZ menu graphic lump
read "Gamepad:", use the unused M_DISP lump instead which reads
"Display".
* Fixes#3.
* am_map.h: include m_fixed.h for the fixed_t typedef
* d_french.h: fix line continuation
* d_main.h: include doomdef.h for the skill_t typedef
* doomstat.h: remove redundant pitched_sounds declaration
* g_game.h: remove redundant G_CheckDemoStatus() declaration
remove redundant G_InitNew() declaration
remove redundant dprintf() declaration
* m_cheat.h: include doomtype.h for the ULong64 and boolean typedefs
* m_misc.h: include doomdef.h for the ss_types typedef
* p_inter.h: remove redundant god_health, idfa_armor, idfa_armor_class, idkfa_armor and idkfa_armor_class declarations
* p_pspr.h: include doomdef.h for the NUMWEAPONS definition
* p_saveg.h: include doomtype.h for the byte typedef
* p_setup.h: include doomdef.h for the skill_t typedef
* p_spec.h: remove redundant T_FireFlicker() and P_RemoveActiveCeiling() declarations
* p_tick.h: include p_mobj.h for the mobj_t typedef
* r_bsp.h: include r_defs.h for the seg_t, side_t, line_t, sector_t, etc. typedefs
* r_draw.h: remove redundant R_DrawTLColumn() declaration
* r_main.h: remove redundant viewwidth, viewheight, *fullcolormap and **colormaps declarations
* r_segs.h: include r_defs.h for the drawseg_t typedef
* r_things.h: include doomdef.h for the MAX_SCREENWIDTH definition
include m_fixed.h for the fixed_t typedef
include r_defs.h for the column_t, sector_t and vissprite_t typedefs
* s_sound.h: include p_mobj.h for the mobj_t typedef
* st_stuff.h: remove redundant ST_Responder() declaration
* wi_stuff.h: include d_player.h for the wbstartstruct_t typedef