- Updated USDF spec to version 2.1
- Fixed: BobStyle was assigned as if they were flags.
- Fixed: If AInventory::SpecialDropAction returns true the item should be destroyed.
- Fixed: Building with SSE disabled triggered an error.
- Fixed: 0 duration A_Lower loops could cause an infinite loop since A_Lower checked if the player was dead in two different ways and returned before the second one.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1506 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Player sounds that explicitly use dsempty will now properly silence the sound instead of looking for a more audible version.
- Remove deleted file a_macil.cpp from the project file.
- Use an FString to store demoname instead of a fixed-size array.
- Fixed: Masked mid textures should get their light level from the frontsector they reference, not from the sector they appear in.
- Fixed: Corpse queue accounting went awry once things started being kicked out of it.
- Added a new UDMF sidedef flag: lightfog.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1464 b0f79afe-0144-0410-b225-9a4edf0717df
- Let puke and pukename take up to four script parameters.
- Pass ACS_ExecuteWithResult's fifth argument as a fourth script parameter.
- Simplify P_StartScript()'s usage.
- Enable arg0str for UDMF things and named scripts.
- Allow for ACS_NamedExecute and friends to be used with SetThingSpecial.
- Use a signed integer for the script number when loading the transitional ACS binary format in order to be congruent with the present-day binary format.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1290 b0f79afe-0144-0410-b225-9a4edf0717df
- Added support for using named scripts with UDMF maps. On lines with ACS specials (i.e. ACS_Execute, etc.), set the arg0str property to the name of the script to execute. The standard numeric arg0 property will be ignored in this case.
- Allow for using ACS_NamedExecute and friends with SetLineSpecial.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1286 b0f79afe-0144-0410-b225-9a4edf0717df
- Added proper splash checks with 3D-floors.
- Fixed crash when trying to play a MIDI file with no notes.
- Fix warnings reported by gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4)
- Fixed MSVC warning.
- Adjust VisibleToPlayerClass to accept multiple classes as well as work with inheritance.
- Backported VisibleToTeam and VisibleToPlayerClass from Skulltag with some modifications.
- Backported kgsws's weapon dropitem changes from Skulltag.
- Fix more errors found with static code analysis.
- Fix uninitialized string buffer in bot code.
- Fixed some more potential NULL pointer accesses.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1257 b0f79afe-0144-0410-b225-9a4edf0717df
- Backported FMOD Ex 4.34 fixes from gzdoom-macosx. (With changes to continue to allow compilation with 4.22-4.28.)
- Added ammo1capacity and ammo2capacity to drawnumber.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1239 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: Sector_SetLink did incorrect checks for the returned control sector
- Added Sector_SetTranslucent special so set translucency of portal planes at run time.
- Added 'additive' information for portal planes. This is no-op at the moment because the flat drawers can't handle additive translucency yet though.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1195 b0f79afe-0144-0410-b225-9a4edf0717df
- Added a 'block sight' line flag.
- Updated UDMF spec for player class and skill amount because the old menu limits no longer apply.
- Fixed: FloorAndCeiling_LowerRaise needs to consider 4 args in maps to account for the Boom compatibility hack parameter.
- Fixed: 3DMidtextures did not work correctly in sectors with slopes.
- Added a check to output a clear error message if no IWAD definitions could be loaded.
- Added fix for timing of the boss cube while a time freezer is active.
- Added cursor support for SDL.
- Let's not be so quick to break savegame compatibility...
- Fixed some incorrect P_CheckSight flag use in p_enemy.cpp.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1183 b0f79afe-0144-0410-b225-9a4edf0717df
- Added DavidPH's submission for specifying vertex heights directly in UDMF.
- Move static AM color initialization into the AM_StaticInit function.
- Move D_LoadWadSettings to keysections.cpp.
- Made some more data reloadable.
- Data structures filled by P_SetupLevel should be cleared before loading the level. They can remain non-empty in case of an error. There's probably more to fix here...
- Fixed: MidiDevices and MusicAliases were not cleared before reloading local SNDINFOs.
- Fixed signed/unsigned warnings in AddSwitchPair for real (GCC really allows -1u? MSVC prints a warning for that.)
- Fixed: GCC compiler warnings.
- Zipdir will no longer store files ending in '~' on Linux.
- Added st_oldouch which restores the old ouch face behavior of only showing when health increases by 20 while taking damage.
- Changed some data init code to delete the data it wants to initialize first.
- The 'savebuffer' variable still existed?
- Changed AInventory::Destroy to NULL SendItemUse and SendItemDrop if they point to the destroyed object. Although unlikely it can't be ruled out completely that this can happen with delayed CCMDs.
- Fixed: Starting a new game did not clear the hub statistics array.
- Cleaned up D_DoomMain a little. It's still far too large though.
- Added explicit initialization of console background texture instead of letting C_InitConsole doing it as needed.
- Added 'clearaliases' CCMD.
- Init bot specific actor properties right after parsing DECORATE, not when spawning the first bot (which is too late.)
- Changed automap initialization so that static data only gets initialized once upon startup instead of each time a level starts.
- Initialize AUTOPAGE only once when the level starts, not each time the automap is switched on.
- Cleaned up switch code and fixed several problems:
* savegames stored an index in the switch table and performed no validation when loading a savegame.
* setting of a random switch animation duration was broken.
* separated the 2 values stored in the Time variable into 2 separate variables.
* defining a switch with one texture already belonging to another switch could leave broken definitions in the switch table.
- Added function for serializing switch and door animation pointers.
- Bumped min. savegame versions due to changes to DButtonThinker and removed all current savegame compatibility code.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1128 b0f79afe-0144-0410-b225-9a4edf0717df
- fixed typo in Firemace obituary
- Added DavidPH's AProp_ScaleX/Y / A_SetScale submission.
- added Edward-san's fix for the turbo CCMD.
- Changed savegame versioning for SVN-less builds to use a SAVEVER value of 999999 so that it is guaranteed that such a build can load its own savegames - even if it is at the cost of losing the ability to handle older savegames. People should build ZDoom with revision info anyway. ;)
- fixed: Sector_SetPortal did not set the portal's alpha value.
- added 'flooralpha' and 'ceilingalpha' sector properties. They only have meaning if a sector stack portal is defined in this sector. If set to anything less than 1.0 these will override the alpha set by a portal. This is mostly for Sector_SetPortal to avoid defining multiple portals that only differ by their plane translucency.
- fixed: Explosions may not spawn splashes in sectors with a Transfer_Heights effect. Due to the way it handles floor textures it cannot spawn them correctly there.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1077 b0f79afe-0144-0410-b225-9a4edf0717df
- Fixed: The DUMB specific options should be grayed out when using FMod for playing back modules.
- Fixed: The newly accelerated mousewheel scrolling code did not check for the end of the list and could scroll one item too far. It also incremented VisBottom by 3 instead of 2.
- changed lock failsound lookup so that for each sound it tries to resolve it as a player sound before deciding if it is valid.
- Fixed: FOptionMenuItemJoyMap::SetSelection() did not convert from menu selection number to joyaxis number.
- Scroll two rows at a time with the mouse wheel in the options menu.
- Remove extra *usefail definition for the pig player.
- Locks can now define more than one LockedSound by separating them with commas. The default setting for this property is now "*keytry", "misc/keytry". The first sound that is defined is the one that will be played for the lock. Thus, for standard locks, if the player class defines *keytry, that will be played. Otherwise, misc/keytry will be played as before.
- Added a ClearCounters function to AActor that handles everything necessary to un-count an item that is not supposed to be counted but has some of the COUNT* flags set.
- Merged all places where secrets are credited into one common function.
- Added the Doom64 COUNTSECRET actor flag.
- Fixed: AInventory::CreateCopy did not clear the COUNTITEM flag.
- Fixed: Dropping an item did not increase the item count but the dropped item could still have the COUNTITEM flag. Now this flag gets cleared when the item gets picked up so that dropped items don't count a second time.
- Merged Thing_Destroy extension from Doom64 branch into trunk and extended it by a tid=0, tag!=0 case which will kill all shootable actors in sectors with the specified tag.
- Fixed: Compilation errors on Mac OS X.
- Fixed Linux compilation issue with statistics.cpp
- Resurrected some old statistics code I had and made some minor enhancements to be of more use.
- Fixed: The subsector serializing code accessed the subsector array before validating the index.
- Added episode names to episode definitions of Doom 1 and Chex Quest.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@979 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
- 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
- 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
- Shorten the description of DF2_KILLBOSSMONST in the menu.
- 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.)
- 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.)
- 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.
- pr_hom shouldn't have a name, since we don't care about it for save games or network sync.
- Added SoundSequence sector property to udmf_zdoom.txt.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@867 b0f79afe-0144-0410-b225-9a4edf0717df
- Added a new 'playeruseback' linedef trigger type that allows using lines from the back side.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@784 b0f79afe-0144-0410-b225-9a4edf0717df
- UDMF node format specification change for portability reasons.
- 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.
However, the function P_LoadZNodes() in p_setup.cpp had to be changed from static to non-static or it caused unresolved externals in gl_nodes.cpp. It's strange because it was static as well before the update, with the exact same signature, and compiled just fine anyway.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@774 b0f79afe-0144-0410-b225-9a4edf0717df
- Yet another piece of essentially broken code that has to go back in because some people had to abuse it:
Reinstated Doom's original code that made projectiles with the MF_NOCLIP flag set continue to exist even
though the movement itself was never properly handled.
Fortunately the game mode check formerly associated with this can be removed because none of the other games have
any projectiles using MF_NOCLIP so at least it's no longer restricted to Doom...
- The console separator bars now get converted to something printable in Unicode for the log.
- Fixed: Only the last line of multi-line log output received Unicode treatment.
- Add the game log to the crash report. I don't know why I didn't think to do this sooner.
Since we're already sending everything to a rich edit control hidden in the background,
we can just grab its contents for the report.
- Use code page 1252 when previewing text files in the crash dialog.
- Everything on the command line before the first switch with an unrecognized switch is
now added to -file. This was previously restricted to only .wad, .zip, .pk3, and .txt.
- You can now pass -file/-deh/-bex more than once on the command line, and they will all
have effect.
- Changed DArgs to use a TArray of FStrings instead of doing its own string vector management
in preparation for doing GatherFiles the "right" way.
- Fixed: DrawHudText() needs to verify that the character glyph is valid before accessing
its fields.
- V_GetFont() needs to check the font header.
- Added BMF (ByteMap Font) support. This was complicated somewhat by the fact that BMF can
specify a character advance separately from the glyph width. GetChar and GetCharWidth now
return this value in place of the glyph width. (For non-BMF fonts, these should still
return the same values as before.)
- Added A_CheckSightOrRange, with changes.
- Explicitly setting the charset for the EM_SETCHARFORMAT message seems to do what I want.
- Use the Unicode RichEdit control instead of the MBCS version, so as to enforce the use
of code page 1252 for output text. This is noticeable, for example, with the FMOD copyright
notice where the copyright symbol appears as ? (halfwidth katakana small U) with code page 932.
- Change the log window to use DejaVu Sans instead of Bitstream Vera Sans, because
Silverex's X-Chat comes with the former now. Unfortunately, I can't seem to actually
set the font when my system default code page is 932, since it wants to use some Kanji-
compatible font instead. I wonder if I can still use the Unicode RichEdit control with
Windows 9x. (Does it even matter? Windows 9x users make up less than 0.1% of all visitors
to zdoom.org these days.)
- Added -nostartup switch to disable the more graphical startup screens of Heretic, Hexen,
and Strife.
- Pretty sure the minimum FMOD version is 4.22.
- added an option to disable player translations in single player games.
- added a file 'fmod_version.txt' so that the source always comes with the information which FMod version to use.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@743 b0f79afe-0144-0410-b225-9a4edf0717df