Commit graph

2222 commits

Author SHA1 Message Date
Christoph Oelckers
3afa8149de - added a fix from GZDoom to handle levels with compressed sidedefs that were processed by older ZDBSPs.
SVN r2612 (trunk)
2010-08-27 16:53:11 +00:00
Christoph Oelckers
2152bc88d6 - fixed CROSSHAIR_INDEX in m_options.cpp.
SVN r2611 (trunk)
2010-08-27 16:06:10 +00:00
Christoph Oelckers
a11e70bf5f - changed savegame version check for automap stuff.
SVN r2610 (trunk)
2010-08-27 15:22:21 +00:00
Christoph Oelckers
9a4abe0915 - merged automap branch into trunk.
SVN r2609 (trunk)
2010-08-27 15:20:05 +00:00
Christoph Oelckers
9102200771 - 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.

SVN r2601 (trunk)
2010-08-26 20:59:15 +00:00
Christoph Oelckers
ffa58aadbe - added Aroenai's snd_menuvolume submission.
SVN r2600 (trunk)
2010-08-26 18:08:09 +00:00
Christoph Oelckers
06a35dea11 - added: offset the trail actors spawned by AFastProjectile by missileheight.
SVN r2599 (trunk)
2010-08-26 18:03:15 +00:00
Christoph Oelckers
eed5812799 - added 'fluidsynth' option for $mididevice command.
SVN r2598 (trunk)
2010-08-26 16:46:01 +00:00
Christoph Oelckers
6c57441bcd - 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.


SVN r2579 (trunk)
2010-08-24 13:57:17 +00:00
Christoph Oelckers
f08c66d664 - 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.


SVN r2577 (trunk)
2010-08-24 09:53:10 +00:00
Randy Heit
c058c644a4 - MinGW did not like this assignment in the FluidSynth loader.
SVN r2573 (trunk)
2010-08-24 02:35:10 +00:00
Christoph Oelckers
9073b8cdea - removed FActorInfo::ConversationID which was development garbage of the USDF branch.
SVN r2569 (trunk)
2010-08-22 17:49:28 +00:00
Christoph Oelckers
ec71635ca1 - 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.


SVN r2568 (trunk)
2010-08-22 17:31:42 +00:00
Christoph Oelckers
883510efe2 - added UMDF property to assign conversation dialogues to mapthings.
SVN r2567 (trunk)
2010-08-22 17:18:46 +00:00
Christoph Oelckers
96a8f1ceee - fixed: The SaveVersion check for the USDF related changes for the current dialogue did not have the correct version number.
- fixed: All blood spawning functions checked the ALLOWPARTICLES flag on the class defaults before actor replacement instead of after.


SVN r2563 (trunk)
2010-08-21 19:50:07 +00:00
Christoph Oelckers
1460b8feed - fixed: The check for old incompatible savegames with dialogues was wrong.
SVN r2562 (trunk)
2010-08-20 19:10:02 +00:00
Christoph Oelckers
b452bec0ee - merge USDF branch into trunk.
- add USDF spexs.


SVN r2561 (trunk)
2010-08-20 12:20:51 +00:00
Randy Heit
6f82db47b8 - Merge the shared code for the softsynths into a common base class.
SVN r2560 (trunk)
2010-08-20 04:21:53 +00:00
Randy Heit
eafb0ab7cf - 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

SVN r2559 (trunk)
2010-08-19 23:11:16 +00:00
Randy Heit
a68e9c8fa6 - Added a dlopen() version of on-demand FluidSynth loading and exposed it
to CMake through the DYN_FLUIDSYNTH option.



SVN r2558 (trunk)
2010-08-19 20:46:19 +00:00
Randy Heit
f389cd8b0f - Add on-demand loading for fluidsynth.dll. This also lets you build with FluidSynth support
without actually having the FluidSynth development files installed.

SVN r2557 (trunk)
2010-08-19 16:49:43 +00:00
Randy Heit
2136ef2aba - Also check for CT2MGM.SF2 if CT4MGM.SF2 is not found.
SVN r2556 (trunk)
2010-08-19 15:51:07 +00:00
Randy Heit
2c397b1aac - Add a default search for Creative's CT4MGM.SF2 on Windows if fluid_patchset is unspecified.
- Use fluid_patchset to specify the SoundFont(s) for FluidSynth instead of doubling up with
  snd_midipatchset, which is already used by FMOD.

SVN r2555 (trunk)
2010-08-19 15:46:49 +00:00
Randy Heit
576e597d2b - 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.


SVN r2554 (trunk)
2010-08-19 15:31:44 +00:00
Christoph Oelckers
f9523a01e3 - Added Gez's patch for moving tag strings into the language file and adding tags for all weapons and inventory items.
SVN r2552 (trunk)
2010-08-18 20:26:25 +00:00
Braden Obrzut
050b82f543 - Fixed: ZDoom wouldn't compile without FluidSynth.
SVN r2548 (trunk)
2010-08-17 04:22:17 +00:00
Randy Heit
d53ef3f38a - Oops. These changes didn't belong in the repository.
SVN r2547 (trunk)
2010-08-15 20:05:35 +00:00
Randy Heit
ea4ac390d9 - Forgot to include this music_fluidsynth_mididevice.cpp.
SVN r2546 (trunk)
2010-08-15 19:55:40 +00:00
Randy Heit
1fa4bbf69c - Added FluidSynth support as snd_mididevice -5. Only tested with Linux. I will have
to try compiling it myself on Windows to see if it's really that slow or if
  Ubuntu just ships an unoptimized version, because performance is pretty pathetic
  when compared to the other options. (I understand that it's a complete SoundFont2
  renderer, so it is understandably slower than something like TiMidity++, but still.
  Does it really need to be around 10x slower? I played with the chorus, reverb, and
  interpolation settings, and none of them seemed to make much difference in
  performance.)



SVN r2545 (trunk)
2010-08-15 19:54:59 +00:00
Christoph Oelckers
0657121847 - Backport from GZDoom: P_LoopSidedefs() needed another fix as it shouldn't try to report errors found on the second loop.
SVN r2544 (trunk)
2010-08-15 14:09:17 +00:00
Christoph Oelckers
66f6115c86 - 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.
SVN r2543 (trunk)
2010-08-15 10:02:10 +00:00
Braden Obrzut
a0d16bc99a - 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.

SVN r2542 (trunk)
2010-08-14 21:01:49 +00:00
Christoph Oelckers
1fda9421ac Backported from GZDoom:
- Fixed: P_LoopSidedefs() needs to clean out sidetemp[] because when it's called a second time, the maximum of the number of vertices and that of sides may have increased compared to when P_AllocateSideDefs() created the array, which led to access violations.

SVN r2541 (trunk)
2010-08-14 20:00:47 +00:00
Christoph Oelckers
b288a7a416 - added option to set item pickup color through MAPINFO's GAMEINFO block.
SVN r2539 (trunk)
2010-08-14 06:25:38 +00:00
Randy Heit
1063a98c47 - Maybe allow assembly on Intel Macs? - attempt 2
SVN r2537 (trunk)
2010-08-13 22:12:42 +00:00
Christoph Oelckers
09bd076b17 - added PinkSilver's ACS Checksight submission.
SVN r2532 (trunk)
2010-08-13 06:31:22 +00:00
Christoph Oelckers
564fb6a723 - added TheShooter7/Aroenai's patch for switch on pickup menu option.
SVN r2531 (trunk)
2010-08-13 06:27:22 +00:00
Christoph Oelckers
d904d8276e - added TheShooter7's patch for NOPITCH flags for hitscan attacks.
SVN r2530 (trunk)
2010-08-13 06:22:49 +00:00
Randy Heit
dab3ff000e - Enable backpatching on non-Windows machines.
SVN r2528 (trunk)
2010-08-13 04:11:21 +00:00
Randy Heit
30ffe1d4b8 - Maybe enable assembly on Intel Macs?
SVN r2527 (trunk)
2010-08-13 03:14:05 +00:00
Randy Heit
4f03442a7a - 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.



SVN r2526 (trunk)
2010-08-13 00:08:51 +00:00
Randy Heit
a27304baac - Fixed byte swapping the script count for new-style ACS. My 2poly.wad now works on PPC.
SVN r2525 (trunk)
2010-08-12 22:56:08 +00:00
Randy Heit
3cf25ad8e5 - Fixed more byte swapping lackage in p_acs.cpp. A cursory run through Hexen seems to have scripting
working now.



SVN r2524 (trunk)
2010-08-12 22:39:06 +00:00
Randy Heit
7d40b8a9a4 - Fixed a number of places in p_acs.cpp that did not do byte swapping but should have.
SVN r2523 (trunk)
2010-08-12 22:15:32 +00:00
Randy Heit
c3fa9a54a0 - Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.



SVN r2522 (trunk)
2010-08-12 21:28:16 +00:00
Christoph Oelckers
185bd2f15d - backported some 3D floor changes from GZDoom.
SVN r2517 (trunk)
2010-08-12 07:05:31 +00:00
Christoph Oelckers
e9c43fe908 - fixed: P_LoopSidedefs must be called again before setting up the polyobjects if the nodes were rebuilt. The original data is no longer valid in case vertexes were merged by the node builder.
SVN r2516 (trunk)
2010-08-12 06:43:12 +00:00
Braden Obrzut
99e0adaf45 - Fixed some issues with compiling on the Mac. Some options were added to force compilation of internal libraries and added checks for building ppc binaries on x86.
SVN r2515 (trunk)
2010-08-12 02:32:03 +00:00
Christoph Oelckers
096edb0817 - move vid_listadapters CCMD into common code.
SVN r2509 (trunk)
2010-08-11 06:31:47 +00:00
Randy Heit
ed5a8e597c - Version bump to 2.5.0.
SVN r2507 (trunk)
2010-08-11 04:01:26 +00:00
Randy Heit
0749466d2d - Set explicit positioning for the gameplay options menu instead of relying on the automatic
positioning.

SVN r2506 (trunk)
2010-08-11 04:00:38 +00:00
Randy Heit
3416a7fc47 - Fix compilation with MinGW + w32api and clean up warnings.
SVN r2505 (trunk)
2010-08-11 03:56:31 +00:00
Christoph Oelckers
e0bd67de5a - added: If a PowerFlight item got a valid icon don't use the spinning wings for the HUD display
SVN r2504 (trunk)
2010-08-10 19:22:43 +00:00
Christoph Oelckers
482d7631f4 - sorted zspecials.acs properly so one can find all the specials.
- added Polyobj_MoveToSpot action specials. They are functionally identical to Polyobj_MoveTo but get the target coordinate from a map spot instead.


SVN r2503 (trunk)
2010-08-10 19:06:33 +00:00
Christoph Oelckers
25cb3593ce - Added GetPolyobjX and GetPolyobjY ACS functions.
SVN r2502 (trunk)
2010-08-10 18:30:18 +00:00
Christoph Oelckers
5d5f25fdab - 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.


SVN r2501 (trunk)
2010-08-10 16:22:57 +00:00
Christoph Oelckers
79ff9ae3ae - fixed: FNodeBuilder::ExtractMini needs to check for segs that were created from minisegs.
- made polyobject node building code more update friendly for GZDoom by making R_BuildPolyBSP public.


SVN r2500 (trunk)
2010-08-10 08:13:23 +00:00
Randy Heit
100731e3ab - Shorten the description of DF2_KILLBOSSMONST in the menu.
SVN r2498 (trunk)
2010-08-08 02:19:40 +00:00
Randy Heit
6234e7445b - Added m_hidepointer cvar to control whether or not the mouse pointer is hidden when it's
grabbed. At least if the pointer is visible when the debugger break happens, I don't worry
  about it getting stuck hidden. (Note that that seems to be related to Alt+Tabbing out of the
  game and coming back. I wish I knew what's going on.)

SVN r2497 (trunk)
2010-08-08 02:04:47 +00:00
Randy Heit
6000217889 - Hide the cursor by overriding WM_SETCURSOR, as seen in the IDirect3DDEvice9::ShowCursor()
example. Do not modify the window class pointer. I still had an instance where I was left with
  an invisible pointer no matter where I moved it, so hopefully this takes care of that. (edit:
  it doesn't.)

SVN r2496 (trunk)
2010-08-08 01:53:41 +00:00
Randy Heit
d32d8b4f9f - Removed TheInvisibleCursor, since passing NULL to SetCursor() has exactly the same effect.
- Two tweaks to raw mouse input to make it better behaved when the window suddenly has focus
  removed (e.g. because of a debugger break):
  * Keep the pointer centered in the window, as for Win32Mouse. Even though it's not generating
    any traditional input events, it's still moving all over the screen. e.g. If we have focus
    yanked away and you're pressing the right mouse button as it happens, you can suddenly find
    yourself with a popup menu open.
  * Use SetCursorState() like the other mouse modes instead of ShowCursor() to hide the
    pointer. This way, we don't need to worry about being stuck with trying to use the system
    with an invisible pointer, because only the game window will be pointer-less.

SVN r2495 (trunk)
2010-08-08 01:28:20 +00:00
Randy Heit
f5a1aa994b - pr_hom shouldn't have a name, since we don't care about it for save games or network sync.
SVN r2494 (trunk)
2010-08-08 00:59:40 +00:00
Randy Heit
9137ef04f6 - Added "SoundSequence" UDMF sector property. This is the name of the sound sequence to play for
the sector. Note that this contrasts with sound sequence things in that it takes a name and
  not a number. Also, placing a sound sequence thing in a sector will override this property.

SVN r2492 (trunk)
2010-08-07 04:32:18 +00:00
Randy Heit
cb6e9b90fb - Added r_clearbuffer cvar. Valid values are:
* 0. Do not clear. This is the standard behavior.
  * 1. Clear to black.
  * 2. Clear to white.
  * 3. Alternate between black and white every 128 ms.
  * 4. Step through the palette one color at a time every 32 ms.
  * 5. Epileptic seizure inducing random colors every frame.

SVN r2491 (trunk)
2010-08-07 03:57:22 +00:00
Randy Heit
b59162a33a - Fixed: Floor_RaiseAndCrush did not subtract 8 from the lowest ceiling's height when determining
a destination height. (It did subtract 8, but in the wrong place.)

SVN r2490 (trunk)
2010-08-07 03:36:56 +00:00
Randy Heit
9a025fbb23 - Changed xtoviewangle[] calculation so that when it mirrors the array to the left half, it
does not include xtoviewangle[centerx] in the mirroring so that the two columns at the center
  of the screen do not map to the same angle. (BTW, this array is only used for the sky drawing.)

SVN r2487 (trunk)
2010-08-01 20:21:04 +00:00
Randy Heit
b2d018eccd - Made SBARINFO more tolerant of certain error conditions. (Why is there so much duplication of
code? It felt like I was changing the same lines over and over and over.)

SVN r2486 (trunk)
2010-08-01 20:05:52 +00:00
Randy Heit
fc6e48dd3f - Fixed: FPolyObj::LinkPolyobj() did not add the polyobject's first side to the polyobject's
bounding box. It should also add both vertices from each side, since non-closed polyobjects
  are possible with PolyObj_ExplicitLine.

SVN r2485 (trunk)
2010-08-01 19:50:41 +00:00
Randy Heit
b9ea9a415e - Added Polyobj_MoveTo, Polyobj_OR_MoveTo, and Polyobj_Stop.
- Cleaned up a couple of warnings.

SVN r2483 (trunk)
2010-08-01 19:14:10 +00:00
Randy Heit
58269a18f0 - Use a flood-fill algorithm to define polyobjects with PolyObj_StartLine instead of a simple
loop-following algorithm. This fixes the polyobjects in http://www.doomworld.com/idgames/index.php?id=6291

SVN r2482 (trunk)
2010-08-01 05:16:09 +00:00
Randy Heit
8ce9e178d4 - Changed the four-byte fillers in asm_x86_64/tmap3.s from 0x88888888 to 0x44444444 because
newer version of gas complained about it.

SVN r2481 (trunk)
2010-08-01 04:31:18 +00:00
Randy Heit
677d07f837 - Merge BSP-able polyobjects back into the trunk.
SVN r2480 (trunk)
2010-08-01 02:41:56 +00:00
Randy Heit
8d5ca6501a - 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.)

SVN r2474 (trunk)
2010-07-30 03:21:13 +00:00
Christoph Oelckers
1b531f0ffc - missed this one...
SVN r2470 (trunk)
2010-07-29 06:54:00 +00:00
Christoph Oelckers
30ffffd904 - fixed: Checks for poison damage were not correct.
SVN r2469 (trunk)
2010-07-29 06:53:20 +00:00
Christoph Oelckers
e1f06da5e3 - separated hitlist generation for texture precaching into a virtual function of DFrameBuffer.
SVN r2466 (trunk)
2010-07-28 21:48:24 +00:00
Christoph Oelckers
6f4ed40496 - added TIHan's ArmorFactor submission.
SVN r2465 (trunk)
2010-07-27 18:32:10 +00:00
Christoph Oelckers
2cf19f436a - added Gez's dumpactors patch.
SVN r2463 (trunk)
2010-07-26 17:10:43 +00:00
Christoph Oelckers
35ba99ed31 - Added Gez's automap enhancements but made the new key icon optional.
SVN r2462 (trunk)
2010-07-25 21:46:51 +00:00
Randy Heit
1bda16cc45 - Use side_t::RightSide in IterFindPolySides() instead of the SideListHead array.
SVN r2461 (trunk)
2010-07-25 21:38:34 +00:00
Braden Obrzut
006fb343b0 - Added Pink Silver's DrawString/Number alignment patch (with one minor change).
SVN r2460 (trunk)
2010-07-25 20:46:14 +00:00
Christoph Oelckers
a373c3858e - fixed: A_Teleport's RNG had the same name as the one used by SelectTeleDest.
SVN r2458 (trunk)
2010-07-25 10:17:16 +00:00
Christoph Oelckers
9ca1de6435 - added PinkSilver's APROP_MasterTid submission.
SVN r2456 (trunk)
2010-07-24 06:38:57 +00:00
Christoph Oelckers
2b381babed - added DavidPH's A_JumpIfTargetInLOS extension submission.
SVN r2455 (trunk)
2010-07-24 06:30:52 +00:00
Christoph Oelckers
37f55c6539 - added DavidPH's A_RailAttack extension submission.
SVN r2454 (trunk)
2010-07-24 06:27:13 +00:00
Christoph Oelckers
a6499a6efb - added DavidPH's A_Saw extension submission.
SVN r2453 (trunk)
2010-07-24 06:21:53 +00:00
Christoph Oelckers
58be666c9c - added DavidÃœH's explicit angle submission for A_CustomBulletAttack function.
SVN r2452 (trunk)
2010-07-24 06:15:07 +00:00
Christoph Oelckers
bc47f7133b - Added DavidPH's A_Teleport submission but removed the now redundant GetSpotWithMinDistance functions.
SVN r2451 (trunk)
2010-07-23 21:55:01 +00:00
Christoph Oelckers
f430881a54 - Added DavidPH's Poison damage extension but changed it so that the metadata can be removed.
SVN r2450 (trunk)
2010-07-23 21:36:17 +00:00
Christoph Oelckers
545a892faa - added Firebrand's patch to rename 'swap' due to naming conflicts in newer MSVC compilers.
SVN r2449 (trunk)
2010-07-23 21:19:59 +00:00
Christoph Oelckers
4ac64b6df7 - merged polyobject branch into trunk and made some adjustments for savegame compatibility.
SVN r2448 (trunk)
2010-07-23 05:56:25 +00:00
Braden Obrzut
921c950bad - Release Objective-C objects (since I found out the garbage collector is opt-in).
SVN r2441 (trunk)
2010-07-18 09:23:33 +00:00
Braden Obrzut
1cf12693ba - Added Cocoa IWAD picker for Mac OS X.
SVN r2440 (trunk)
2010-07-18 08:00:12 +00:00
Randy Heit
5b63fd0675 - 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.

SVN r2435 (trunk)
2010-07-16 03:46:20 +00:00
Randy Heit
c29639426f - 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.

SVN r2434 (trunk)
2010-07-15 23:07:41 +00:00
Randy Heit
99a2014ead - 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.

SVN r2424 (trunk)
2010-07-10 02:59:34 +00:00
Randy Heit
305a03d7c8 - Fixed copy-pasta error for "give everything".
SVN r2420 (trunk)
2010-07-10 00:51:38 +00:00
Randy Heit
a401779715 - 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.)

SVN r2419 (trunk)
2010-07-09 03:04:43 +00:00
Randy Heit
5a4dad1205 - 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.)

SVN r2418 (trunk)
2010-07-09 01:57:46 +00:00
Randy Heit
e379658143 - Added multimonitor support, as per Tom Seddon's code. vid_adapter controls which one to use,
and vid_listadapters prints them.

SVN r2417 (trunk)
2010-07-08 23:59:45 +00:00
Christoph Oelckers
5bb4ca5bc6 - fixed: Hexen's melee weapons were missing some NULL pointer checks in the code that determines whether they hit something or not.
SVN r2415 (trunk)
2010-07-08 21:16:01 +00:00
Christoph Oelckers
ea04d2bbdf - fixed: ZDoom aborted on old WADs containing a binary LANGUAGE lump.
SVN r2414 (trunk)
2010-07-06 20:32:24 +00:00
Christoph Oelckers
e1e7cebd01 - fixed: The SBARINFO parser insisted that all player classes being specified have to exist. This, however, made it impossible to redefine the player classes in Hexen.
SVN r2401 (trunk)
2010-07-01 20:57:11 +00:00
Christoph Oelckers
6df5e6f9cb - added Gez's anti-crossinclude submission but made some changes. Cross-includes overriding core files will produce fatal errors but cross-includes between PWADs will be tolerated. For DECORATE a command line override switch exists so that for testing the error can be disabled.
SVN r2400 (trunk)
2010-07-01 09:35:39 +00:00
Christoph Oelckers
853b8f8963 - did some profiling of P_InterceptVector. Here's the results I got:
* the unaltered floating point version is 10% faster than the 64 bit integer version.
  * using doubles instead of floats increases performance by another 25%.
  * another 15% can be gained by manually optimizing the code.
- P_InterceptVector now uses the optimized floating point version which is almost twice as fast as the 64bit integer version.

SVN r2395 (trunk)
2010-06-30 15:20:18 +00:00
Braden Obrzut
9bf543af99 - Fixed: Episodes starting on a map with 8 characters in its lump name would not work.
SVN r2394 (trunk)
2010-06-30 06:09:49 +00:00
Randy Heit
551f0d3148 - Remove fakedblocker, since it was unused.
SVN r2391 (trunk)
2010-06-27 20:49:02 +00:00
Randy Heit
86b17d6d9f - Sync debugging output between ZDBSP and ZDoom's internal node builder.
SVN r2389 (trunk)
2010-06-27 20:21:07 +00:00
Randy Heit
7069ea88bb - Fixed erroneous allocation of class defaults using new to M_Malloc to match the rest of them.
SVN r2386 (trunk)
2010-06-21 01:49:35 +00:00
Christoph Oelckers
b8db84b6bc - added a new dmflag to allow killing all monsters spawned by a boss brain's cubes after killing the brain (for those who like clean level statistics.)
SVN r2385 (trunk)
2010-06-20 17:57:32 +00:00
Randy Heit
503b934938 - Added better error messages for MIDI playback failure than just "MIDI playback failure".
SVN r2383 (trunk)
2010-06-20 04:41:23 +00:00
Randy Heit
e379d24388 - Fixed: The intensity scalar for building DesaturateColormaps was off by one.
SVN r2380 (trunk)
2010-06-18 04:10:05 +00:00
Randy Heit
141cf825cf - Fixed: iCopyColors() should not invert the grayscale value for special colormaps, since
this is already handled by the GrayscaleToColor array for the one colormap that needs it.

SVN r2379 (trunk)
2010-06-18 03:52:04 +00:00
Randy Heit
34d8212d64 - Changed G_ChangeLevel()'s parameter list to match the ACS version's.
- Added resethealth to complement resetinventory.

SVN r2377 (trunk)
2010-06-18 03:35:41 +00:00
Randy Heit
1bbae4a8f2 - Fixed: PClass::InitializeActors() did not initialize the ActorInfo's ColorSets. Why this only caused
problems on PPC Macs, I do not know.



SVN r2374 (trunk)
2010-06-13 16:50:54 +00:00
Christoph Oelckers
e535b40a9e - fixed: All melee attack functions only used the target acquired by P_AimLineAttack for all subsequent calculations, not the actual victim of the attack.
SVN r2373 (trunk)
2010-06-13 11:14:01 +00:00
Christoph Oelckers
6ff2abc53d - fixed: Setting +NOCLIP for a player class did not work.
SVN r2371 (trunk)
2010-06-13 10:44:06 +00:00
Christoph Oelckers
e2ce20a445 - fixed: A_Print and related functions should not make a use state chain succeed.
- fixed: APowerIronFeet must continuously reset the player's air supply.


SVN r2370 (trunk)
2010-06-13 10:38:38 +00:00
Christoph Oelckers
32f3d00514 - fixed: Stopping music did not clear the variable used to restart the last played song.
SVN r2369 (trunk)
2010-06-13 10:24:56 +00:00
Christoph Oelckers
b2cef54d72 - fixed: Classes inherited from PowerScanner didn't work anymore.
SVN r2368 (trunk)
2010-06-13 10:11:50 +00:00
Christoph Oelckers
ec44397881 - added some options to A_CustomPunch, including calling Strife's dagger alert function.
SVN r2367 (trunk)
2010-06-13 09:06:12 +00:00
Christoph Oelckers
4d86ebddf9 - Added support for Risen3D/PrBoom+'s MUSINFO lump.
SVN r2366 (trunk)
2010-06-13 08:47:38 +00:00
Braden Obrzut
2aa7cdc5a8 - Fixed: drawbar didn't work right when scaled.
SVN r2361 (trunk)
2010-06-08 23:32:01 +00:00
Braden Obrzut
afd9bcb59a - Fixed: drawstring didn't properly align itself when variable strings were used.
SVN r2360 (trunk)
2010-06-07 15:45:09 +00:00
Randy Heit
ed81b4718b - Revert r2235 so that all DECORATE member accesses are consistent. It didn't work as intended
anyway.

SVN r2358 (trunk)
2010-06-06 05:41:09 +00:00
Randy Heit
41bd0f5369 - Fixed: "Disallow Suicide" gameplay menu option should be labeled as "Allow Suicide".
SVN r2356 (trunk)
2010-06-06 05:00:30 +00:00
Randy Heit
2090c03d88 - Fixed: D3DFB::GetScreenshotBuffer() must not offset the buffer pointer for letterboxed modes,
since the screenwipe speedup fixes also mean that this function no longer operates directly
  with the front buffer, but rather with a copy that is not letterboxed.

SVN r2355 (trunk)
2010-06-06 04:53:19 +00:00
Braden Obrzut
d7686d0c26 - Added optional offset parameters to the drawshadow flag.
- Added character alignment parameter to font monospacing.
- Fixed: character shadows were not scaled.
- Heretic keys now have an icon associated with them so that they can be drawn through drawkeybar.
- Replaced the built in Heretic and Hexen status bars with SBarInfo equivalents.

SVN r2353 (trunk)
2010-06-02 20:26:27 +00:00
Braden Obrzut
d29123c511 - Added a HexenStrict DrawInventoryBar style due to some alignment errors I noticed with the Hexen style.
SVN r2352 (trunk)
2010-05-31 20:04:49 +00:00
Braden Obrzut
b8cb1f0cfb - Fixed: The alpha property of status bars didn't work anymore.
- Added: alpha command to SBarInfo which allows you to increase the translucency for certain parts of the status bar.
- Added: reverse flag for drawkeybar which reverses the order in which rows are filled with keys.
- Changed a gamemode statement to an else in the Doom hud since the frag count and keys should never be shown at the same time.

SVN r2351 (trunk)
2010-05-31 07:01:04 +00:00
Christoph Oelckers
eadc539bc6 - fixed: Poison clouds spawned by the PoisonShroom should not be pushable by the Disc of Repulsion.
SVN r2350 (trunk)
2010-05-30 20:12:32 +00:00
Randy Heit
14b71ede11 - Added support for DRO version 2 files.
SVN r2349 (trunk)
2010-05-30 19:23:53 +00:00
Braden Obrzut
9716e1aea7 - Changed DrawSelectedInventory's alternateonempty flag to draw the subblock before itself. This allows an else statement to be more useful in practice.
- Fixed: Added offsets to the wrong variable in SBarInfo.

SVN r2348 (trunk)
2010-05-30 18:34:59 +00:00
Christoph Oelckers
5535f98218 - fixed: The code drawing the chess pieces for Hexen's finale used floating point paeameters with integer fields for drawing the texture.
SVN r2347 (trunk)
2010-05-30 08:00:27 +00:00
Christoph Oelckers
bdd2ebfe14 - added a new dmflag for allowing switching to weapons without ammo.
SVN r2346 (trunk)
2010-05-30 07:47:08 +00:00
Braden Obrzut
e848fa3c4c - Switched SBarInfo to floating point math.
SVN r2345 (trunk)
2010-05-30 00:12:46 +00:00
Christoph Oelckers
cd1104e80c - changed: Maps with missing first sidedefs no longer abort. THey now print a console warning and use the first sidedef in the map.
SVN r2344 (trunk)
2010-05-29 09:11:12 +00:00
Christoph Oelckers
042e913022 - added Boom's fix for finding the highest neighboring light level per sector (compatibility optioned by COMPATF_LIGHT.)
SVN r2343 (trunk)
2010-05-29 07:07:39 +00:00
Christoph Oelckers
862d6551bc - fixed: Heretic's 666 lower floor must be of type LowerToHighest unlike Doom which is LowerToLowest.
SVN r2342 (trunk)
2010-05-28 21:29:28 +00:00
Christoph Oelckers
6c4d070095 - restored original Doom behavior for hitscans to only check actors which have their center in the blockmap cells being checked, compatibility optioned by COMPATF_HITSCAN.
SVN r2341 (trunk)
2010-05-28 21:07:45 +00:00
Christoph Oelckers
8f881be0fb - added a Boom (strict) compatibility mode.
- Restored some original Doom behavior that received complaints from users:
* reactivated the old sliding against diagonal walls code and compatibility optioned it with COMPATF_WALLRUN.
* re-added the original hitscan checking code using a cross-section of the actor instead of the bounding box, compatibility optioned with COMPATF_HITSCAN.


SVN r2340 (trunk)
2010-05-28 11:15:05 +00:00
Braden Obrzut
9dfdf2ecdd - Fixed some issues with high resolution status bars.
SVN r2339 (trunk)
2010-05-26 00:51:06 +00:00
Christoph Oelckers
2b211f99a8 - fixed: The intermission text screen background should not animate
SVN r2338 (trunk)
2010-05-25 20:19:09 +00:00
Randy Heit
4480a508b3 - Changed AActor::GetTag() to use language lookups for strings that start with $.
SVN r2337 (trunk)
2010-05-25 03:53:13 +00:00
Randy Heit
709414e606 - Fixed: Animated doors should only leave ML_BLOCKING set if the door was created with it set.
Otherwise, monsters will be unable to open it after it has been used once if it isn't set
  for push activation.

SVN r2336 (trunk)
2010-05-25 03:40:37 +00:00
Randy Heit
61d2a808d7 - Response file improvements:
* Fixed: Trying to use a response file would result in infinite looping until memory was
    exhausted.
  * Fixed: Response files were read after coalescing file parameters, which would lead to
    non-coalesced parameters if the original command line and response file both had them.
  * You can now use more than one response file.
  * Response files can include other response files.

SVN r2334 (trunk)
2010-05-25 02:30:05 +00:00
Braden Obrzut
adcf26d2b5 - Fixed MSVC compiler warnings in sbarinfo.cpp
SVN r2333 (trunk)
2010-05-22 14:00:36 +00:00
Braden Obrzut
9611e7310a - Added resolution setting to SBarInfo.
- Fixed: Mug shot was not reset at the start of a new game.

SVN r2332 (trunk)
2010-05-21 19:56:13 +00:00
Christoph Oelckers
c4efbeb515 - fixed: Both Boom and MBF compatibility mode need COMPATF_MISSILECLIP set.
SVN r2331 (trunk)
2010-05-14 20:27:57 +00:00
Christoph Oelckers
896a77327a - fixed fake contrast menu option.
SVN r2330 (trunk)
2010-05-14 20:12:21 +00:00
Randy Heit
e9bbe4f1ff - Added more logging for D3DFB CreateDevice() attempts.
SVN r2329 (trunk)
2010-05-14 04:13:59 +00:00
Randy Heit
24f23718b7 - Added GetHR support to D3DFB for querying the error code when device creation fails.
- Should still check for a NULL device when CreateDevice() returns D3DERR_DEVICELOST.

SVN r2328 (trunk)
2010-05-14 04:06:30 +00:00
Randy Heit
30ec646ba5 - Removed spurious log warnings when retrying in CreateFrameBuffer().
SVN r2327 (trunk)
2010-05-14 03:58:23 +00:00
Randy Heit
b2a4ffc718 - Fixed: IDirect3D9::CreateDevice() can return D3DERR_DEVICELOST if you want exclusive mode and
some other application already has it. While technically this is a failure, the device is
  still created, so we can continue using it anyway.

SVN r2326 (trunk)
2010-05-14 03:54:35 +00:00
Randy Heit
1c8397e86d - Fixed: PacketGet() can receive WSAECONNRESET after startup is complete, so it needs to check
for a NULL before using NetMessage.

SVN r2325 (trunk)
2010-05-14 03:37:44 +00:00
Randy Heit
5a71dea746 - Added A_JumpIfTracerCloser and A_JumpIfMasterCloser, based on DavidPH's A_JumpIfCloser patch.
SVN r2324 (trunk)
2010-05-14 02:34:25 +00:00
Randy Heit
2d4502018a - Added DavidPH's FBF_EXPLICITANGLE extension.
SVN r2323 (trunk)
2010-05-14 02:18:27 +00:00
Christoph Oelckers
d050973fa4 - added blockmap verification code.
SVN r2320 (trunk)
2010-05-12 10:17:08 +00:00
Christoph Oelckers
3e5a32b554 - copy-paste error in TNT stairs fix.
SVN r2319 (trunk)
2010-05-12 09:44:44 +00:00
Christoph Oelckers
b61b761e28 - added DavidPH's randomization patch for hitscan attacks.
SVN r2318 (trunk)
2010-05-12 07:11:56 +00:00
Christoph Oelckers
6a57a43277 - added DavidPH's LifeSteal patch for A_CustomPunch/A_Saw.
SVN r2317 (trunk)
2010-05-12 07:08:39 +00:00
Christoph Oelckers
942108f7ea - added DavidPH's A_FaceTarget patch but modified it so that if a turn angle is set the MF_SHADOW flag is ignored.
SVN r2316 (trunk)
2010-05-12 07:02:23 +00:00
Christoph Oelckers
68fa08ca52 - fixed: TNT MAP30 needs the stairbuilding compatibility option.
SVN r2315 (trunk)
2010-05-12 06:54:59 +00:00
Christoph Oelckers
69861688dc - expanded r_smoothlighting into a r_fakecontrast CVAR that allows to set all 3 options: off, standard and smooth.
SVN r2314 (trunk)
2010-05-12 06:52:03 +00:00
Braden Obrzut
24aa1abf14 - Added: else statements to SBarInfo. In addition braces are no longer required for blocks consisting of a single statement.
SVN r2313 (trunk)
2010-05-11 22:27:50 +00:00
Braden Obrzut
5a4be4b62b - Added partial support for a signal based timer under Linux/Mac OS X in order to make cl_capfps effective at limiting CPU usage.
SVN r2310 (trunk)
2010-05-06 20:32:03 +00:00
Braden Obrzut
b7cb3ffa88 - Fixed: If a weapon didn't use ammo the result of weaponammo was accidentally negated.
SVN r2309 (trunk)
2010-05-01 21:17:11 +00:00
Christoph Oelckers
80f5a58e34 - fix automap cheat to avoid division by 0.
SVN r2308 (trunk)
2010-05-01 20:34:28 +00:00
Christoph Oelckers
1b0756e170 - added a am_showalllines cheat CVAR as countermeasure for maps that intentionally disable the full automap.
SVN r2307 (trunk)
2010-05-01 17:29:25 +00:00
Randy Heit
d070e04ff6 - Added Gez's patch for A_TakeInventory flag for taking ammo, with TIF_AMMO renamed to TIF_NOTAKEINFINITE.
SVN r2306 (trunk)
2010-04-26 02:05:11 +00:00
Randy Heit
36c4b39688 - Added DavidPH's A_FadeTo patch:
A_FadeTo(float target, float amount = 0.10, bool remove = false)
  Alters transparency towards target by amount. If remove is true, the actor is destroyed if it reaches target.

SVN r2305 (trunk)
2010-04-26 01:56:25 +00:00
Randy Heit
4e693e1c98 - Added Gez's RandomSpawner patch: If a randomspawner is given a Z-height in the map editor, and the spawned object has a spawn height flag, it is ignored by the spawned object. This little patch fixes that.
SVN r2304 (trunk)
2010-04-26 01:49:29 +00:00
Christoph Oelckers
5fc654dac2 - fixed: Heretic's sludge damage sector does 4 points damage, not 5 like Doom's.
SVN r2303 (trunk)
2010-04-25 20:12:50 +00:00
Christoph Oelckers
bdc5d941c2 - added a new 'playeruseback' linedef trigger type that allows using lines from the bxck side.
SVN r2302 (trunk)
2010-04-25 07:21:35 +00:00
Christoph Oelckers
674c63d66c - fixed: A_KeenDie should not drop items.
SVN r2300 (trunk)
2010-04-23 08:12:47 +00:00
Braden Obrzut
bd40bba37c - Added levellump, skillname, playerclass, playername, ammo1tag, ammo2tag, weapontag, inventorytag, globalvar <int>, and globalarray <int> to drawstring.
- String constants starting in '$' will cause drawstring to reference the language lump.
- Added pushup transition for strife popups.  This elulates the stats screen from hexen 2.  This behaves identical to slideinbottom if the primary statusbar has fullscreenoffsets set.

SVN r2299 (trunk)
2010-04-22 23:38:11 +00:00
Christoph Oelckers
82af1640fd - fixed: HI_START/HI_END must be checked after parsing the TEXTURES lump, not before it.
SVN r2297 (trunk)
2010-04-21 17:39:52 +00:00
Christoph Oelckers
e0419dde15 - fixed: Camera textures may not be used as patch.
SVN r2296 (trunk)
2010-04-21 06:42:48 +00:00
Randy Heit
f6cd776e2d - Extended state sprite/frame repetition to psprites.
SVN r2295 (trunk)
2010-04-21 01:40:03 +00:00
Christoph Oelckers
14fc5516a8 - Extended ACS's 'n' print format specifier to allow printing some other info than the player's name.
It will use negative indices for this. Currently supported strings are level name, level lump name and
  skill name.
- Extended skill definitions so that printable name and image lump name are separate fields so that a 
  printable name can be specified for Doom, too.


SVN r2294 (trunk)
2010-04-20 11:03:31 +00:00
Braden Obrzut
d719671579 - Added levelname to drawstring.
SVN r2292 (trunk)
2010-04-20 02:16:06 +00:00
Randy Heit
178587fff2 - Merged SetState and SetStateNF into a single function.
- Added new sprite #### and frame character # to specify the behavior of sprite ---- on a
  per-sprite and per-frame basis respectively.

SVN r2291 (trunk)
2010-04-19 02:46:50 +00:00
Christoph Oelckers
c85a602546 - allow loading uncompressed version of compressed nodes.
- extended FileReader hierarchy so that FileReader, FileReaderZ etc. all inherit from one
  base class so that the same code can be used to read from both uncompressed and compressed streams.


SVN r2287 (trunk)
2010-04-17 20:49:18 +00:00
Christoph Oelckers
da99577cbf - added support for loading DeepBSP's V4 nodes.
- disabled writing the nodes with the dumpmap command. ZDoom doesn't need the nodes to load a map and this only worked if the original
  map had standard nodes but trying to write out nodes loaded from any other format would have caused broken data.

SVN r2285 (trunk)
2010-04-17 08:53:32 +00:00
Randy Heit
64fe29bf0e - Fixed crash when parsing invalid DECALDEF lumps.
SVN r2284 (trunk)
2010-04-17 02:42:50 +00:00
Randy Heit
87a7ff7b6d - Add blzut3's morphed status bar patch.
SVN r2283 (trunk)
2010-04-17 02:06:26 +00:00
Randy Heit
08b931006f - Reverted accidental change to fmodsound.cpp from revision 2273.
SVN r2282 (trunk)
2010-04-17 01:55:33 +00:00
Christoph Oelckers
e4d0d6bcdb - added a Sector_CopyScroller special to allow setting scrollers to sectors with special tags.
- extended compatibility text to allow changing line flags and setting line specials on specific linedefs.
- removed Strain MAP07 hack and replaced it by a clean 'clearlineflags' option.
- Added Doomo format translations for Sector_CopyScroller because this looks like something that might be useful for making
  some Boom maps work without having to resort to compatibility.txt.
- added a compatibility setting for UAC Ultra MAP07 which exploited some undefined scrolling behavior in Boom.
  (What lengths are we going to make sloppily created maps work? This entire commit was just to address this particular problem...)


SVN r2280 (trunk)
2010-04-11 11:18:33 +00:00
Christoph Oelckers
c7272075d3 - added a few NULL pointer checks to protect against problems caused by actors being spawned during engine shutdown.
SVN r2279 (trunk)
2010-04-11 06:43:42 +00:00
Christoph Oelckers
d916127ecf - made the recent change to P_SeekerMissile an option because it affected critical gameplay behavior and may not be used for existing actors.
SVN r2278 (trunk)
2010-04-10 11:12:29 +00:00
Christoph Oelckers
a5e422020e - fixed: Two stage texture compositing did not clear the intermediate buffer before using it.
SVN r2277 (trunk)
2010-04-09 20:03:18 +00:00
Randy Heit
f101b45d9a - Changed P_SeekerMissile() to compute a proper 3D trajectory.
SVN r2276 (trunk)
2010-04-07 03:37:07 +00:00
Randy Heit
d6d2ce6b24 - Fixed: maxitems calculation for MKEY_Up in M_OptButtonHandler() used the unscaled text height
instead of the scaled text height to calculate the bottom-most usable row.

SVN r2275 (trunk)
2010-04-07 02:16:51 +00:00
Randy Heit
2772786a7e - Added MUS header scan to mus2midi.
- Fixed buffer overflow when reading a MUS song from a compressed file.

SVN r2274 (trunk)
2010-04-07 02:02:53 +00:00
Randy Heit
114412d5a2 - Search for the MUS header within the first 32 bytes of the song so that the music in
diescum.wad works.

SVN r2273 (trunk)
2010-04-06 03:12:32 +00:00
Christoph Oelckers
d875a0c674 - fixed: Loading a savegame with music switched off forced a restart of the map's default music
because starting an empty music was considered an error.


SVN r2272 (trunk)
2010-04-05 09:17:34 +00:00
Randy Heit
7bd741a644 - Fixed compiling with FMOD Ex 4.30.00. I get no 3D sound effects, and it's crashing on me, too.
Am I doing something wrong?

SVN r2271 (trunk)
2010-04-04 17:48:26 +00:00
Randy Heit
d53fdb418b - Fixed: P_LookForMonsters() had not been updated for the new species check.
SVN r2268 (trunk)
2010-04-04 03:03:01 +00:00
Christoph Oelckers
6f9b035df8 - Changed: The monster refiring functions should use the same sight checking mode as the code that triggers
the attack.


SVN r2266 (trunk)
2010-04-03 07:10:52 +00:00
Christoph Oelckers
7da0badf3c - fixed: The thing id in Hexen map things needs to be treated as a signed short. This is how Hexen defined it and
how older ZDooms before the implementation of UDMF used them internally.


SVN r2263 (trunk)
2010-04-02 07:24:57 +00:00