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
* port most input-related code from Chocolate Doom 3.0
* implement prev/next weapon switching with the mouse wheel
* Currently hard-wired to MB4/MB5, respectively.
* use up to 8 joystick buttons
* Bind buttons 4 and 5 to strafe left/right, respectively. These
correspond to the shoulder buttons of my SNES-style gamepad.
* add the ability to clear key bindings in the menu with the DEL key
* make prev/next weapon available in the kex binding menu
* actually use the prev/next weapon key bindings
* declare the new functions as static
* comments \o/
* Include stdint.h for intptr_t types.
* Check for more headers and data types in configure.ac.
* Use a union of integer and string pointer to store config values, instead
of type-punning string pointers to integers which won't work on
64-bit systems anyway.
* Silence some "incompatible pointer types" GCC warnings, as
pointers to integer and union config_u are in fact
interchangeable.
* Fix memcpy() size parameters and pointer progression.
* Fix BMP screenshots by changing some variables from ambigious long
to corresponding int types.
* Silence the last remaining "cast pointer from/to integer of
different size" warnings.
Automake manual says:
"You can’t put a configure substitution (e.g., ‘@FOO@’ or ‘$(FOO)’
where FOO is defined via AC_SUBST) into a _SOURCES variable. The
reason for this is a bit hard to explain, but suffice to say that it
simply won’t work. Automake will give an error if you try to do this."
Well, okay.
* Call the binary by the package name.
* Add header files to sources.
* Optionally build with support for helper dogs and beta emulation
(enabled by default).
* Build with config.h instead of passing all defines on the command line.