366 lines
14 KiB
Text
366 lines
14 KiB
Text
Marine's Best Friend
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
Programmer: Lee Killough
|
|
|
|
Artist: Len Pitre
|
|
|
|
PlayTesters: Ky (Rez) Moffet, Len Pitre, James (Quasar) Haley
|
|
|
|
Canine Consulting: Longplain Kennels, Reg'd
|
|
|
|
Sound Code: Shawn Hargreaves & Allegro Team
|
|
|
|
Additional Credit: id Software, TeamTNT
|
|
|
|
Special Thanks To: John Romero, Joel Murdoch
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
Marine's Best Friend is a modification of the Doom source.
|
|
|
|
Features
|
|
|
|
* Friendly Monster AI
|
|
+ Friends attack enemies like players
|
|
+ Friendliness is a mobj property, like NOGRAVITY or SOLID
|
|
+ Friendly single-player helpers (dogs) can fill in coop starts
|
|
+ Friendliness is transferred by Arch-Vile, Pain Elemental, and Boss Spawner
|
|
+ Player autoaiming avoids friends if enemies are in range
|
|
+ Friends with missiles return one shot if shot by friends
|
|
+ Friends stay a "comfortable distance" away from players
|
|
+ Friends indicated by different color in automap
|
|
|
|
* AI Improvements
|
|
+ Avoid hazards (e.g. crushing ceilings)
|
|
+ Stop what they're doing and rescue dying friends
|
|
+ Follow enemies up lifts, instead of wandering off randomly
|
|
+ Back away from nearby enemies if advantageous
|
|
+ Avoid shooting friends who get in their way
|
|
+ Infighting when provoked by own kind (i.e. Doom's behavior) made optional
|
|
+ (Development) Code and data restructured to allow more efficient AI
|
|
|
|
* Doom Pre-Beta ("Press Release") Version Emulation
|
|
+ Classic BFG, Plasma Rifle, Chaingun, Rocket Launcher
|
|
+ Classic BFG allowed in regular (non-emulation) mode
|
|
+ Original Flaming Skulls
|
|
+ The 3 demo levels, "remastered"
|
|
+ Nightvision goggles, skullchests, demonic daggers, unholy bibles, etc.
|
|
+ Other Press Release version behaviors (e.g. invisibility, invulnerability)
|
|
|
|
* Improved Video Options
|
|
|
|
+ 640x400 high-detail mode, without bad side effects:
|
|
- Doom world scenes and automap are rendered in 640x400 for higher detail
|
|
- Doom's aspect ratio is preserved exactly (no elongated textures/sprites)
|
|
- Status bar, menus, text, intermission screens all remain full-sized
|
|
- Optional hardware page-flipping
|
|
|
|
+ Wait-free page-flipped 320x200 ModeX for smoother play on slow machines
|
|
|
|
+ Doom flashing disk icon reimplemented (was removed in linux port)
|
|
|
|
+ Video options can be changed in realtime in General menu
|
|
- Hires
|
|
- Page-flipping
|
|
- Wait for vertical retrace
|
|
- Translucency enable
|
|
- Translucency percentage
|
|
- PCX vs. BMP screenshots
|
|
- Doom flashing disk icon
|
|
- HOM cheat code optionally flashing or solid red
|
|
|
|
* DEH/BEX files embedded inside of wads (DEHACKED lump)
|
|
|
|
* OPTIONS lump for overriding config settings inside wads
|
|
+ Allows wad authors to set game options inside wads
|
|
+ Options are still editable by player, and are remembered on a per-wad basis
|
|
+ Doesn't interfere with the player's own defaults when not playing the wad
|
|
|
|
* Menu option to load up to two WAD and two DEH/BEX files at program startup
|
|
+ -noload command-line override switch
|
|
|
|
* Improved Menus
|
|
|
|
+ Informative warnings printed on menu screens when:
|
|
- changed option doesn't take effect until next new game or idclev
|
|
- changed option doesn't take effect until entire program is restarted
|
|
- option's current setting (e.g. loadgame) differs from its default setting
|
|
|
|
+ New "General" option menu, allows changing of many settings inside game
|
|
- Video
|
|
- Sound & Music
|
|
- Input Devices
|
|
- .WAD and .DEH/.BEX Files Preloaded at Startup
|
|
- Miscellaneous
|
|
|
|
+ New "Doom Compatibility" setup menu allows fine-control of all Doom
|
|
compatibility settings, instead of having only one "compatibility"
|
|
variable.
|
|
|
|
+ Numeric input improved
|
|
- Negative values are allowed
|
|
- Setup does not change game variables until input is "committed"
|
|
- Illegal or aborted input leaves game variables unchanged
|
|
- Backspace allowed during input
|
|
|
|
+ SSG weapon preferences allowed to be edited while playing Ultimate Doom
|
|
|
|
+ New hotkey for entering Setup Menu in one stroke during game
|
|
|
|
+ (Development) Filenames allowed to be entered
|
|
|
|
+ (Development) Menu items can span multiple lines on the screen
|
|
|
|
+ (Development) Action functions can be called after items are edited,
|
|
such as to change video mode in real-time
|
|
|
|
* Shotgun and Fist may be selected without toggling with the SSG/Chainsaw
|
|
|
|
* .lmp extension optional with -file if .wad file doesn't also exist
|
|
|
|
* Improved Automap
|
|
+ Option to display pointer coordinates instead of player coordinates
|
|
+ Automap setup menu rearranged for easier use
|
|
|
|
* Improved Demos
|
|
+ Pause allowed during demo playback
|
|
+ Single-player games can be saved during demo playback, to take snapshots
|
|
+ -recordfrom option added back, allowing demos to start from a saved game
|
|
+ Demos don't desync just because menu is accessed during recording
|
|
+ During demo playback, automap and menu are easier to use
|
|
+ No switching out of automap when player dies during demo playback
|
|
+ (Development) demo_version global variable to help preserve demo sync
|
|
|
|
* Improved Movement Clipping
|
|
+ Players can get out of 1s or 2s walls when they are otherwise stuck
|
|
+ Monsters do not get stuck hanging partially off of tall ledges
|
|
+ Monsters can move up and down stairs more easily (compatibility-optioned)
|
|
|
|
* More Realism (compatibility-optioned)
|
|
+ Non-sentient objects fall down under their own weight when their balance
|
|
is upset and they are more than halfway off of a ledge
|
|
+ Objects falling off tall ledges follow parabolic trajectory
|
|
+ Live monsters may be pushed off ledges, and intelligently try to recover
|
|
|
|
* New Bouncy Things (mobj) Flag
|
|
+ Missiles bounce off of floors and ceilings, such as classic BFG fireballs
|
|
+ Floating "bouncy" monsters bounce up and down if under gravity
|
|
+ Solid objects bounce off of walls and roll up and down stairs
|
|
+ DEH frames support bouncing grenades/pipebombs
|
|
|
|
* Touchy Things (mobj) Flag
|
|
+ Mines which detonate when touched or disturbed
|
|
+ Monsters which die when touched
|
|
|
|
* Doom Bugs Fixed (compatibility-optioned, where appropriate)
|
|
+ Fireballs (especially Mancubus) going through walls
|
|
+ Monsters stuck at doortracks or hanging over tall ledges
|
|
+ Slime trails reduced (caused by WAD coordinate system's limited precision)
|
|
+ Zombie players exiting levels, forever remaining zombies
|
|
+ Sky is unaffected by invulnerability colormap
|
|
+ On MAP30, any monster can telefrag anyone else
|
|
+ Boss spawners can't telefrag on any levels except MAP30
|
|
+ Soundtargets not remembered across savegames
|
|
+ Flickering light not remembered across savegames
|
|
+ Fractional floor & ceiling heights and xy offsets not saved in savegames
|
|
+ Revenant Tracers' tracking state not preserved across savegames
|
|
+ Raise to shortest texture considers "-" == "AASHITTY"
|
|
+ SSG shows reload frame while firing frame is still displayed
|
|
+ SSG neck is not lit up correctly when SSG is fired in a dark room
|
|
+ Demo desync if menu is accessed in the middle of recording a demo
|
|
+ Illegal menu activities during demos (e.g. loadgame during recording)
|
|
+ Arch-Vile hellfire spawned in wrong position
|
|
+ Voodoo dolls push up against wall as long as the real player is moving
|
|
+ Deleted thinkers referenced by monster targets/tracers, or soundtargets
|
|
+ Top of pistol appears at the bottom of screen when game starts
|
|
+ Monsters sometimes fire missiles back at wrong player when hit painfully
|
|
+ Extra-hard player death sound not working in Registered / Ultimate Doom
|
|
|
|
* Boom Bugs Fixed (Note: these are not TeamTNT fixes)
|
|
|
|
+ Doom incompatibilities fixed, with new option switches
|
|
- Stairbuilding
|
|
- Cheat code infinite duration
|
|
- God mode cheat is absolute
|
|
- Linedef effects with tag 0, e.g. all-lights-off effects
|
|
|
|
+ Bobbing / friction
|
|
- Bobbing based only on player-applied thrust, instead of total speed
|
|
- Friction algorithm made more efficient, and made sector-based
|
|
- Fixed bug which stopped all momentum when up against wall
|
|
- Friction (and wall-bouncing on ice) work on all objects, not just players
|
|
- Bobbing does not jerk when player moves in and out of icy sectors (v2.02)
|
|
- Sludge slowdown fixed
|
|
- Wall-running restored to Doom efficiency
|
|
|
|
+ Wind affects all sentient / shootable objects
|
|
|
|
+ Player corpse queue =traversal order= (caused weapon pickup problems in DM)
|
|
|
|
+ Fix opening limit removal
|
|
|
|
+ Response files
|
|
- Optional .rsp extension
|
|
- Correct error-handling (page faulted before)
|
|
|
|
+ Fix underwater slowdown
|
|
|
|
+ Fix sudden light changes over water sectors
|
|
|
|
+ Fix things disappearing over water sectors
|
|
|
|
+ Fix underwater sprite lighting (Two bugs: One in v2.01, another in v2.02)
|
|
|
|
+ Menu reset-to-defaults code made more robust, to prevent "false resets"
|
|
|
|
+ Monsters-stuck-on-doortracks have less turning (v2.02 bug)
|
|
|
|
+ Fixed message review w/ background messing up in smaller screen size
|
|
|
|
+ Aliasing of wall scrolling speeds > a certain speed, due to silent overflow
|
|
|
|
+ Fix new map thing flags' causing incompatibility with certain Doom wads
|
|
|
|
+ Fix filehandle leak in translucency code
|
|
|
|
+ Default skill level not remembered correctly across multiple games
|
|
|
|
+ Netgame inconsistencies if options are chosen differently (v2.02)
|
|
|
|
+ Referencing freed data pointed to by monsters' lastenemy field
|
|
|
|
+ Tagged DR doors' lighting effects made gradual, instead of totally on/off
|
|
|
|
+ Menu confirmation messages (yes/no) no longer limited to 40 characters
|
|
(Garbage at end of QuickLoad message fixed)
|
|
|
|
+ Sounds heard randomly in wrong locations (e.g. weapons fire, player death)
|
|
|
|
+ HUD counter update problem
|
|
|
|
+ Coop mode slowdown, a.k.a. Monster Medusa
|
|
|
|
+ Inconsistent use of stdout/stderr in output messages
|
|
|
|
+ SegViol if key_enter held down during program startup (message review)
|
|
|
|
+ Verbose "missing patch" error messages not printed unless -devparm used
|
|
|
|
+ Setup menu backspace
|
|
|
|
+ Indigo/Brown default chat keys reversed
|
|
|
|
+ Final Doom support
|
|
|
|
+ DEH
|
|
- Writing to dehout.txt replaced with -dehout option
|
|
- Fixed thing flag mnemonics bugs (TRANSLATION1/2, error detection)
|
|
- Hex allowed in numeric input (e.g. 0x1234abcd)
|
|
- Blank separation-line handling fixed
|
|
- Fixed memory leak
|
|
- Several SegViols fixed
|
|
- -bex may be used as a synonym of -deh
|
|
|
|
+ Screenshot, .cfg file, and savegame error-handling improved
|
|
- User-friendly messages printed when error occurs (e.g. "Disk Full")
|
|
- Original .cfg file left intact if new one cannot be written safely
|
|
|
|
+ Music
|
|
- Random noise heard in music (e.g. MM2 MAP23)
|
|
- MUS2MID programming errors (array size too small & undefined C behavior)
|
|
- Overall music quality improved
|
|
|
|
* WAD error autocorrection, to prevent game crashes
|
|
+ Clear 2s flag in one-sided linedefs
|
|
+ Fill in missing right sidedefs with dummy sidedef
|
|
|
|
* Improved Messages
|
|
+ Message review list may scroll up or down
|
|
+ Message review list may be temporary or permanent when activated
|
|
+ Message review list and normal Doom messages toggled more intuitively
|
|
+ Message timers are configurable (normal, review, chat)
|
|
|
|
* Blockmap
|
|
+ Blockmap generation algorithm rewritten (Note: this is not TeamTNT's)
|
|
+ Improved dynamic blockmap list maintenance (more robust and faster)
|
|
|
|
* Multiple -file and -deh options may be used on command-line / response file
|
|
|
|
* User-comments allowed to be embedded inside of .cfg files, and are preserved
|
|
|
|
* Performance Tuning
|
|
+ Assembly blit routines tuned for machines above and below P6-class
|
|
+ Monster target searches made faster by way of a multithreaded target list
|
|
+ Fixed-point arithmetic made faster
|
|
+ Sprite edge sorting made faster
|
|
+ Tuned register allocation and other compiler optimization flags
|
|
+ Sound FX code rewritten to be more efficient (in both memory and speed)
|
|
+ Gameplay more responsive
|
|
|
|
* Mobj pointer reference-counting added, to fix bugs and make game faster
|
|
|
|
* New code pointers
|
|
+ Variable-damage explosion
|
|
+ Mushroom cloud explosion
|
|
+ Linedef activation via code pointers
|
|
+ Object spawning code pointer
|
|
|
|
* New sky property-transfer linedef types (271-272)
|
|
+ Arbitrary opaque wall textures can be transferred to skies
|
|
+ Unlimited number of sky textures per level
|
|
+ No external info lumps necessary, no "per-level" programming required
|
|
+ Textures optionally flipped horizontally (as in Doom)
|
|
+ Long-period rotating skies (e.g. moon's orbit, starfield)
|
|
+ Animated skies
|
|
|
|
* Removed all references to TeamTNT/Boom (except in source comments and docs)
|
|
|
|
+ TNT cheat code prefixes removed
|
|
- TNTEM replaced with KILLEM
|
|
- TNTKA replaced with IDK, without introducing .deh incompatibilities
|
|
|
|
+ "Boom" filename strings replaced (boomsav[0-7].dsg, boom.cfg, etc.)
|
|
|
|
+ ENDBOOM lump replaced with ENDOOM, restoring Doom behavior on end screens
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
MBF Files
|
|
|
|
File Description
|
|
|
|
mbf.exe MBF executable
|
|
betagrph.wad Graphics for beta emulation
|
|
betalevl.wad The 3 Demo levels for beta emulation
|
|
mbfedit.txt Describes the WAD/DEH editing features new to MBF
|
|
options.txt Describes the command-line/setup menu options new to MBF
|
|
mbffaq.txt FAQ about MBF
|
|
mbf.txt This file
|
|
asetup.exe Allegro setup program
|
|
snddrvr.txt Notes concerning sound drivers (from Boom distribution)
|
|
doom17.dat DCK2.2-f configuration file for editing MBF wads
|
|
common.cfg DETH configuration file for editing MBF wads
|
|
cwsdpmi.exe CWS DPMI host
|
|
examples.zip Small demonstrations of MBF features
|
|
copying.dj DJ Delorie Copyleft stuff
|
|
copying GPL license stuff
|
|
|
|
-------------------------------------------------------------------------------
|
|
|
|
DISCLAIMERS
|
|
|
|
MBF is unsupported software. There are no warranties as to its fitness for any
|
|
particular purpose. There are also no plans for future updates.
|
|
|
|
MBF is a single-player game. Multiplayer games may or may not work (some people
|
|
say they do work). Support files for multiplayer games (e.g. sersetup.exe) are
|
|
not included, but might be available elsewhere.
|
|
|
|
MBF is based on the Boom v2.02 source, but it is not supported by TeamTNT or
|
|
id Software. Don't ask them about MBF.
|
|
|
|
-------------------------------------------------------------------------------
|
|
Lee Killough Last Updated 12/22/1998
|
|
|