- Fixed crash on startup in music_midi_out.cpp by preventing division by Tempo if Tempo is zero.
- Fixed crash on startup in gl_vertexbuffer.cpp when trying to access the sectors array though it was NULL. (It shouldn't even happen given numsectors is zero so the for iteration shouldn't even start, but it happened anyway for some mysterious reason.)
* Updated to ZDoom r2677:
- Cleaned up the ugly MIDI song creating code a little.
- Added a generic Standard MIDI File creator that works with any of the sequencers. mus2midi.cpp is no longer used but is kept around as a reference.
- Fixed: When the game nodes were the same as the render nodes, their pointers would not be NULLed.
- Renamed music_midi_midiout.cpp to music_smf_midiout.cpp.
- Moved MIDI precaching logic into MIDIStreamer so that SMF and HMI files can both use the same implementation.
- Added a player for HMI midi files.
- Set 'setslopeoverflow' compatibility flag for all maps in Massmouth2.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@932 b0f79afe-0144-0410-b225-9a4edf0717df
- Added the am_zoom command to zoom the automap by a specific step and set default mouse wheel bindings for it.
- Fixed: The mouse pointer stayed hidden on startup because the CursorState variable was not set until the mouse was grabbed.
- Disable framebuffer debug spew. All those OutputDebugString messages from DCanvas::DrawLine()'s Lock and Unlock calls were slowing things down extremely when looking at a software-drawn automap.
- Fixes to compile with GCC 4.5.0.
- Fix an ICE when compiling with GCC 4.5.0.
- Added drawshadow flag to drawstring.
- Added kgsws-cz's FBF_NOFLASH submission.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@929 b0f79afe-0144-0410-b225-9a4edf0717df
- BOOM compatibility fix: Allow voodoo dolls to spawn inside narrow pits.
- Added new sector special 195 to set the 'hidden' sector flag in non-UDMF maps.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@924 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: P_LineAttack mixed up two flags variables.
- Added PinkSilver's LOF_NOJUMP submission for A_LookEx.
- Fixed: Clearing a pickup message for inventory items was not possible. Changed it so that "You got a pickup" is AInventory's pickup message and not a default returned when nothing valid is set.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@921 b0f79afe-0144-0410-b225-9a4edf0717df
- Added 'nospriterename' key to GAMEINFO lump so that PWADs have a means to disable this feature without having to specify a command line switch.
- Fixed: Subsectors which are the origin of polyobjects should not be drawn on the textured automap because the vertices no longer are where they'd be expected to be.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@919 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2621:
- Fixed: -nosfx deactivated the entire sound system which also made music inoperable. Changed it so that all it does is block sound effects from being started.
- Fixed: armor factor application was done wrong.
- Fixed: APROP_Invulnerable could only be set and unset but not checked.
- Fixed: Two-sided polyobjects applied thrust to sectors in a way that did not work.
- Fixed: Hexen's CorpseBloodDrip was missing its death sound.
- Fixed: The textured automap node initialization code could crash on maps that only have single isolated sectors.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@918 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed: Extraction of partner segs was broken in the internal node builder.
- removed some obsolete code for a never implemented render data caching system.
- made output of 'dumpgeometry' CCMD only go to the log file because printing it to the console takes several minutes, even for small maps.
- version bump to 1.5.02.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@916 b0f79afe-0144-0410-b225-9a4edf0717df
- Added: Let the kill CCMD also kill replacements of the monster that is specified.
- Add a GetReplacement method to PClass to clean up some really ugly code
- Who wrote the 'kill' CCMD? The way it checked if two classes were identical was horrendously overcomplicated.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@908 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The UDMF check for dialogues without owning class needs to be relaxed. A dialogue with an id and no class is a valid construct.
- Fixed: Trying to assign a non-existent dialogue to an actor in UDMF partially overwrote the default dialogue.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@906 b0f79afe-0144-0410-b225-9a4edf0717df
- Externalized the "You seem to have enough" string to language lump.
- Allow all texts in conversations to reference the string table.
- Fixed: If no dialogue is found for the current map, SCRIPT00 should still be loaded.
- MinGW did not like this assignment in the FluidSynth loader.
* Also externalized the "Go away!" string for consistency.
* Fixed minor typo in UDMF specs changelog.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@905 b0f79afe-0144-0410-b225-9a4edf0717df
- Removed FActorInfo::ConversationID which was development garbage of the USDF branch.
- Fixed: The USDF CheckActorType function did not return the class object for ZDoom namespace.
- Fixed: The binary check for dialogue lumps must only rewind the file by 4 bytes, not completely to the start.
- Added UMDF property to assign conversation dialogues to mapthings.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@903 b0f79afe-0144-0410-b225-9a4edf0717df
- Merged USDF branch into trunk.
- Added USDF specs.
- Fixed: The check for old incompatible savegames with dialogues was wrong.
* Adjusted the SaveVersion number to its accurate value.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@901 b0f79afe-0144-0410-b225-9a4edf0717df
- Merge the shared code for the softsynths into a common base class.
- Expose more FluidSynth settings through these cvars:
* fluid_samplerate
* fluid_threads
* fluid_reverb_roomsize
* fluid_reverb_damping
* fluid_reverb_width
* fluid_reverb_level
* fluid_chorus_voices
* fluid_chorus_level
* fluid_chorus_speed
* fluid_chorus_depth
* fluid_chorus_type
- Added a dlopen() version of on-demand FluidSynth loading and exposed it to CMake through the DYN_FLUIDSYNTH option.
- Add on-demand loading for fluidsynth.dll. This also lets you build with FluidSynth support without actually having the FluidSynth development files installed.
- Add a default search for Creative's CT4MGM.SF2 on Windows if fluid_patchset is unspecified. Also check for CT2MGM.SF2 if CT4MGM.SF2 is not found.
- Use fluid_patchset to specify the SoundFont(s) for FluidSynth instead of doubling up with snd_midipatchset, which is already used by FMOD.
- Increase the fluid_voices default to 128. It apparently has a poor voice cutting algorithm which is painfully apparent on hexen.wad MAP01's music, which hits around 90 voices.
- Patch from Chris:
* Add FluidSynth to the menu.
* Enable FluidSynth for MIDI as well as MUS.
* Fix CmakeLists.txt.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@898 b0f79afe-0144-0410-b225-9a4edf0717df
- The Wiki seems to imply that FMod 4.28 is not the best choice for ZDoom so mention this in fmod_version.txt.
- Moved tag strings into the language file and adding tags for all weapons and inventory items.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@897 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2543:
- Added a compatibility option to render all segs of a polyobject in the center's subsector and automatically set it for Hexen MAP36 and HEXDD MAP47.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@894 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The center flag for drawimage didn't work.
- Fixed: GCC didn't like casting from seg_t* to unsigned int on 64-bit systems.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@893 b0f79afe-0144-0410-b225-9a4edf0717df
- Added PinkSilver's ACS Checksight submission.
- Added TheShooter7/Aroenai's patch for switch on pickup menu option.
- Added TheShooter7's patch for NOPITCH flags for hitscan attacks.
- Enable backpatching on non-Windows machines.
- Maybe enable assembly on Intel Macs?
- Make the Cocoa IWAD picker behave like the others: Double-clicking an entry starts it, as does pressing Return, and pressing Escape is equivalent to the Cancel button.
- Fixed byte swapping the script count for new-style ACS. My 2poly.wad now works on PPC.
- Fixed more byte swapping lackage in p_acs.cpp. A cursory run through Hexen seems to have scripting working now.
- Fixed a number of places in p_acs.cpp that did not do byte swapping but should have.
- Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@886 b0f79afe-0144-0410-b225-9a4edf0717df
- Update to ZDoom r2509:
* Set explicit positioning for the gameplay options menu instead of relying on the automatic positioning.
* Fix compilation with MinGW + w32api and clean up warnings.
* Clean up vid_listadapters code.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@880 b0f79afe-0144-0410-b225-9a4edf0717df
- Added: If a PowerFlight item got a valid icon don't use the spinning wings for the HUD display
- Added Polyobj_MoveToSpot action specials. They are functionally identical to Polyobj_MoveTo but get the target coordinate from a map spot instead.
- Added GetPolyobjX and GetPolyobjY ACS functions.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@879 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Changing APROP_Friendly in ACS did not adjust the monster count.
- Fixed: AActor::CanSeek had the check for the visibility of the target actor's alpha reversed.
- Added an Alt HUD icon for Hexen's fighter's fist.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@878 b0f79afe-0144-0410-b225-9a4edf0717df
- #ifndef'ed out Tom Seddon's multimonitor code for Unix since the untested SDL part did not work.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@877 b0f79afe-0144-0410-b225-9a4edf0717df
- Add a NULL FrontCopySurface check to D3DFB::GetCurrentScreen, because this can apparently be NULL when starting with -timedemo or -playdemo. (But it never happened for me in the debugger.)
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@863 b0f79afe-0144-0410-b225-9a4edf0717df
- separated hitlist generation for texture precaching into a virtual function of DFrameBuffer.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@859 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2462:
- Added automap enhancements but made the new key icon optional.
- Use side_t::RightSide in IterFindPolySides() instead of the SideListHead array.
- Added Pink Silver's DrawString/Number alignment patch (with one minor change).
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@855 b0f79afe-0144-0410-b225-9a4edf0717df
- Added DavidPH's A_Teleport submission but removed the now redundant GetSpotWithMinDistance functions.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@849 b0f79afe-0144-0410-b225-9a4edf0717df
* Updated to ZDoom r2450:
- Added DavidPH's Poison damage extension but changed it so that the metadata can be removed.
- Added Firebrand's patch to rename 'swap' due to naming conflicts in newer MSVC compilers.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@848 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The x64 project configuration had not been kept synced with the Win32 configuration and did not exclude sbarinfo_commands.cpp from the build.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@845 b0f79afe-0144-0410-b225-9a4edf0717df
- Release Objective-C objects (since I found out the garbage collector is opt-in). [Again, doesn't matter much until compilation on Mac platforms is possible.]
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@844 b0f79afe-0144-0410-b225-9a4edf0717df
- Added an optional parameter to DamageScreenColor to scale the amount of damage for pain flash calculations. This can range from 0.0 to 1.0.
- Sounds that define a loop no longer play looped by default. They must be started with CHAN_LOOP so that the higher level sound code knows they loop and can handle them accordingly.
- Added support for a LOOP_BIDI tag. Set it to "1", "On", "True", or "Yes" to use a bidirectional loop. This only works with sounds and not music, because music is streamed so does not support them.
- Extended custom loop support to work with samples as well as music.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@839 b0f79afe-0144-0410-b225-9a4edf0717df
- Added support for custom loop points for songs. This does not work with MP3 because of the way MP3 obfuscates custom tags. Vorbis and FLAC are fine. (I could make it work with MP3, but you should be using Vorbis instead.) They are:
* LOOP_START: Start time for the loop. If omitted, the song repeats from the beginning.
* LOOP_END: End time for the loop. If omitted, the song loops at the end. (If you need to specify this, why aren't you using a shorter song.)
You only need to specify one of these tags to set the custom loop. Naturally, you can set them both, as well. The format for each tag is the same:
* If it contains a colon (:), it specifies by time. This may be of the form 00:00:00.00 (HH:MM:SS.ss) to specify by play. Various parts may be left off. e.g. To start the loop at 20 seconds in, you can use ":20", 0:20", "00:00:20", ":20.0", etc. Values after the decimal are fractions of a second and accurate to one millisecond.
* If you don't include a colon but just have a raw number, then it's the number of PCM samples at which to loop.
* Any characters other than digits (0-9), colons (:), or a single decimal point for the seconds portion will result in the tag being ignored.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@838 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: FMugShotFrame::GetTexture() needs to NULL-check skin_face. (default_face might also be empty. I don't know if that deserves special handling, but it doesn't crash, so I'll let blzut3 worry about it.)
- Don't give health for "give all".
- "Give artifacts" and "give puzzlepieces" now use the amount value to decide how much of each item to give you. 0 means to give you the max. The old behavior can be obtained by explicitly stating 1. (Since "give all" encompasses these as well, this also applies to that.)
- Added "give everything" cheat to give everything. This is like "give all" but ignores the WIF_CHEATNOTWEAPON flag. (Note that this flag has valid uses, but that doesn't stop people from abusing it anyway.)
- Added multimonitor support, as per Tom Seddon's code. vid_adapter controls which one to use, and vid_listadapters prints them. [Does not work with OpenGL rendering, though. I didn't try to adapt the code to the renderer as I do not have the time, nor have I any extra monitor for testing.]
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@836 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Hexen's melee weapons were missing some NULL pointer checks in the code that determines whether they hit something or not.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@835 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: the Hexen statusbar should assume you are the fighter if you are not one of the known classes.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@833 b0f79afe-0144-0410-b225-9a4edf0717df