Commit graph

19 commits

Author SHA1 Message Date
Christoph Oelckers
4e74a881b6 - update to ZDoom r 3261:
Removed unneeded includes of r_local.h.
    Removed more r_ header dependencies from the rest of the code.
    took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
    Changed AlterWeaponSprite so that it doesn't take a full vissprite as parameter.
    FCoverageBuffer is only used in r_things.cpp, so its declaration does not need to be in a global header that's included everywhere.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1223 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 18:59:20 +00:00
gez
5540b6fefc * Updated to ZDoom r3257:
- Removed some unnecessary r_ header #includes.
- Separated sprite and skin maintenance code from r_things.cpp into a separate file.
- Moved r_interpolate.cpp and r_translate.cpp to r_data.
- Merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.
- Rename src/resources to src/r_data.
- Fixed: p_sectors.cpp wouldn't compile.
- Moved side_t::GetLightLevel out of software rendering code.
- Moved render style and border drawing code out of r_draw.cpp.
- Moved all code not specific to the software renderer out of r_bsp.cpp.
* Adapted GL files to changes.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1222 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-06 15:39:10 +00:00
gez
e6750550a5 * Updated to ZDoom r3038 (IWAD selection dialog already fixed in previous commit):
- 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
2010-12-14 22:53:44 +00:00
gez
e074ec65a0 Update to ZDoom r2284:
- Fixed crash when parsing invalid DECALDEF lumps.
- Added blzut3's morphed status bar patch.
- Reverted accidental change to fmodsound.cpp from revision 2273.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@771 b0f79afe-0144-0410-b225-9a4edf0717df
2010-04-17 08:10:01 +00:00
Christoph Oelckers
30c977090c Update to ZDoom r2198:
- let players check MF2_NOTRANSLATE so that mods can create player classes which are not subject to
  default player color handling.
- fixed: The ChexPlayer was missing default colorset definitions.
- Final Doom needs its finale flats changed, too.
- It's "BGCASTCALL", not "BOSSBACK".
- Added BOOM/MBF BEX-style narrative background text substitution. There are two changes because
  of this:
  * A cluster's flat definition can now be preceded by a $ to do a string table lookup.
  * Since the standard flat names are now in the LANGUAGE lump, the normal Dehacked substitution
    for these is no longer handled specially and so will not be automatically disabled merely
    by providing your own MAPINFO.
- Setting a Player.ColorRange now completely disables the translation rather than just
  making it an identity map.
- Added support for the original games' player translations, including Hexen's table-based ones.
- Fixed: CheckActorClass needed a NULL check.
- Fixed: FFont::StringWidth() counted the ']' character of a named color escape sequence in
  its width calculation.
- Fixed: FSinglePicFont should set the character size by the scaled size of the texture.
- Fixed: snd_musicvolume needs to check GSnd for NULL, since somebody might have set an
  atexit for it, which gets executed after the sound system shuts down.
- Fixed: FPlayList::Backup() failed to wrap around below entry 0 because Position is
  unsigned now.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@744 b0f79afe-0144-0410-b225-9a4edf0717df
2010-03-06 11:03:55 +00:00
Christoph Oelckers
83e866b866 - Update to ZDoom r1855.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@463 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-17 21:51:33 +00:00
Christoph Oelckers
2352d102e9 Update to ZDoom r1831:
fixed: The Dehacked flags parser fix from May 31 (r1624) was undone by
  yesterday's additions. Changed it so that the parser first checks for 
  the presence of a '-' sign before deciding whether to use strtol or
  strtoul to convert the string into a number.
- Added PinkSilver's A_LookEx fix.
- added resources needed for MBF support.
- removed unused score items from DECORATE file.
- Fixed: Argument count for UsePuzzleItem was wrong.
- Added a few things from Gez's experimental build:
  * MBF Dehacked emulation but removed the COMPATF_MBFDEHACKED flag because
    it wouldn't work and is more or less useless anyway.
  * MBF's dog (definition only, no sprites yet.)
  * User variables. There's an array of 10. They can be set and checked in
    both DECORATE and ACS.
  * Made the tag name changeable but eliminated the redundancy of having
    both the meta property and the individual actor's one. Having one is
	fully sufficient. TO BE FIXED: Names are case insensitive but this
	should better be case sensitive. Unfortunately there's currently nothing
	better than FName to store a string inside an actor without severely
	complicating matters. Also bumped savegame version to avoid problems
	with this change.
  * MBF grenade and bouncing code.
  * several compatibility options.
  * info CCMD to print extended actor information (not fully implemented yet)
  * summonmbf CCMD.
  * Beta BFG code pointer (but not the related missiles yet.)
  * PowerInvisibility enhancements.
  * ScoreItem with one significant change: Added a score variable that can be
    checked through ACS and DECORATE. The engine itself will do nothing with it.
  * Nailgun option for A_Explode.
  * A_PrintBold and A_Log.
  * A_SetSpecial.
  * Beta Lost Soul (added DoomEdNum 9037 to it)
  * A_Mushroom extensions
  * Vavoom compatible MAPINFO keynames.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@452 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-15 06:19:39 +00:00
Christoph Oelckers
cfc3853718 - version bump to 1.2.0.
- fixed: Some of the dynamic light definitions for Hexen's switchable items were not correct.
- fixed: Weapon sprites were all drawn fullbright if only one of the layers was set to bright.


Update to ZDoom r1456 (2.3.0 plus one additional fix):

- Fixed: AActor::SetOrigin must call P_FindFloorCeiling to get the true
  floor and ceiling heights. Otherwise the actor will fall right through
  3DMidtex textures (and 3D-floors.)

- Fixed: The TeleporterBeacon tried to enter its See state rather than its
  Drop state. Also changed it to fade out when it's done rather than
  disappearing abruptly.
- Fixed: Strife's quest based line actions also work in Deathmatch.
- Fixed: Gravity application was not correct. For actors with no vertical 
  momentum the initial pull is supposed to be twice as strong as when 
  vertical movement already takes place.
- added invquery CCMD like in Strife. Also removed all underscores from the
  tag strings so that they can be printed properly.
- Fixed: Skill baby was missing 'autousehealth' for all games.
- Added a new CVAR: sv_disableautohealth
- Autouse of health items is no longer hardwired to the default item classes. 
  There's a new property HealthPickup.Autouse. 0 means no autouse, 1 a small 
  Raven health item, 2 a large Raven health item and 3 a Strife item.
- Removed an early-out in wallscan_striped() that is invalid when drawing a
  skybox.
- fixed: nextmap and nextsecret CCMDs set skill to 0.
- fixed: level.flags2 was not stored in savegames. Also bumped min. savegame
  version and removed old compatibility handlings.
- The SFX Reverb unit is now moved so that it serves as an input to the water
  effect rather than as an input to the ChannelGroup Target Unit. This means
  the water effect is now applied after any room reverb, rather than in
  parallel with it.
- Fixed: UI sounds should not have reverb applied to them.
- Removed the delay for starting all sounds from one tic at exactly the same
  DSP position. Without also synchronizing the stopping of sounds, it can
  cause problems with things like the chainsaw where the sound is stopped and
  immediately restarted, causing occassional gaps between the stopping of the
  sound and the starting of the new one. (I added the start synchronization to
  combat flanging of paired moving polyobjects when moving around, but I think
  just removing velocity from the player for sound calculations takes care of
  that well enough.)
- Added GCC headers for intptr_t to tarray.h.
- Added MF5_PAINLESS flag for projectiles that don't make the target go into
  the pain state.
- Changed DEM_ADDSLOTDEFAULT, DEM_ADDSLOT, and DEM_SETSLOT to be more space-
  efficient.
- Fixed: player->oldbuttons was copied from the current button set at the end
  of P_PlayerThink(), well before ACS could ever get at it with GetPlayerInput.
- Fixed: The map name display on the automap was incomplete.
- Added FakeInventory.Respawns DECORATe property
- Fixed: Unsetting the MF5_INCONVERSATION flag did not work when quitting the
  conversation by pressing Escape.
- added ML_BLOCKPROJECTILE flag to lines.
- Fixed: With opl_onechip set the second OPL chip was never set to anything valid
  so it contained an invalid pointer. There were also a few other places that
  simply assumed that the second chip is set to something valid.
- Fixed: NPCs which are engaged in a conversation should not move.
- Fixed: Player movement animation was not stopped when starting a conversation.
- Added selective compression of network packets. Interestingly, most packets
  don't actually compress all that well, even the ones that aren't too short
  to possibly compress. (Maybe make the whole thing one long, never-ending
  zlib data stream with Z_SYNC_FLUSH used to chunk things at packet
  boundaries? That would probably help the compression ratio, but it would
  require changing the way the netcode determines sequence, which would be
  a much more invasive change.)
- Fixed: Heretic's fullscreen HUD crashed when the player had armor without
  a valid icon.
- Fixed: The StrifePlayer was missing a RunHealth setting.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@303 b0f79afe-0144-0410-b225-9a4edf0717df
2009-03-01 10:19:26 +00:00
Christoph Oelckers
64a48e1f4e Update to ZDoom r1433:
- Fixed: Untranslated colors in fonts had an alpha value of 0 but need 255.
- Fixed: The Doom status bar's ammo display may not use the INDEXFONT for 
  the alternative HUD. Instead it has to create a separate one out of the
  STYSNUM characters.
- Fixed: skins can not be sorted for binary search because the player class
  code depends on the original indices.
- Fixed: P_StartConversation set the global dialog node variable for all
  players, not just the consoleplayer.
- Fixed: AWeapon::PickupForAmmo assumed that any weapon having a secondary
  ammo type also has a primary one.
- Bumped netgame, demo and min demo version for the weapon slot changes.
- changed weapon slots to be stored per player. Information is now transmitted
  across the network so that all machines know each player's current weapon
  configuration so that it can be used by cheats or HUD display routines.
- fixed: level_info_t::mapbg was not initialized
- Fixed: Player names and chat macros that end with incomplete \c escapes now
  have those escapes stripped before printing so that they do not merge with
  subsequent text.
- Fixed: The CHARFORMAT structure that is used to set the color in a Windows
  Rich Edit control was not fully initialized resulting in incorrect colors
  being set.
- Moved default weapon slot assignments into the player classes.
  Weapon.SlotNumber is now used solely for mods that want to add new weapons
  without completely redoing the player's arsenal. Restored some config-based
  weapon slot customization, though slots are no longer automatically saved
  to the config and section names have changed slightly. However, unlike
  before, config slots are now the definitive word on slot assignments and
  cannot be overridden by any other files loaded.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@302 b0f79afe-0144-0410-b225-9a4edf0717df
2009-02-21 17:07:32 +00:00
Christoph Oelckers
ad59f4da77 - Update to ZDoom r1401:
- Made improvements so that the FOptionalMapinfoData class is easier to use.
- Moved the MF_INCHASE recursion check from A_Look() into A_Chase(). This
  lets A_Look() always put the actor into its see state. This problem could
  be heard by an Archvile's resurrectee playing its see sound but failing to
  enter its see state because it was called from A_Chase().
- Fixed: SBARINFO used different rounding modes for the background and
  foreground of the DrawBar command.
- Bumped MINSAVEVER to coincide with the new MAPINFO merge.
- Added a fflush() call after the logfile write in I_FatalError so that the
  error text is visible in the file while the error dialog is displayed.
- moved all code related to global ACS variables to p_acs.cpp where it belongs.
- fixed: The nextmap and nextsecret CCMDs need to call G_DeferedInitNew instead of G_InitNew.
- rewrote the MAPINFO parser:
  * split level_info_t::flags into 2 DWORDS so that I don't have to deal with 64 bit values later.
  * split off skill code into its own file
  * created a parser class for MAPINFO
  * replaced all uses of ReplaceString in level_info_t with FStrings and made the specialaction 
    data a TArray so that levelinfos can be handled without error prone maintenance functions.
  * split of parser code from g_level.cpp
  * const-ified parameters to F_StartFinale.
  * Changed how G_MaybeLookupLevelName works and made it return an FString.
  * removed 64 character limit on level names.
- Changed DECORATE replacements so that they aren't overridden by Dehacked.
- Fixed: The damage factor for 'normal' damage is supposed to be applied to
  all damage types that don't have a specific damage factor.
- Changed FMOD init() to allocate some virtual channels.
- Fixed clipping in D3DFB::DrawTextureV() for good by using a scissor test.
- Fixed: D3DFB::DrawTextureV() did not properly adjust the texture coordinate
  for lclip and rclip.
- Added weapdrop ccmd.
- Centered the compatibility mode option in the comptibility options menu.
- Added button mappings for 8 mouse buttons on SDL. It works with my system,
  but Linux being Linux, there are no guarantees that it's appropriate for
  other systems.
- Fixed: SDL input code did not generate GUI events for the mousewheel, so it
  could not be used to scroll the console buffer.
- Added Blzut3's statusbar maintenance patch.
- fixed sound origin of the Mage Wand's missile.
- Added APROP_Dropped actor property.
- Fixed: The compatmode CVAR needs CVAR_NOINITCALL so that the compatibility 
  flags don't get reset each start.
- Fixed: compatmode Doom(strict) was missing COMPAT_CROSSDROPOFF
- More GCC warning removal, the most egregious of which was the security
  vulnerability "format not a string literal and no format arguments".
- Changed the CMake script to search for fmod libraries by full name instead
  of assuming a symbolic link has been placed for the latest version. It can
  also find a non-installed copy of FMOD if it is placed local to the ZDoom
  source tree.
- Fixed: Some OPL state needs to be restored before calculating rhythm. Also,
  since only the rhythm section uses the RNG, it doesn't need to be advanced
  for the normal voice processing.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@297 b0f79afe-0144-0410-b225-9a4edf0717df
2009-02-05 00:06:30 +00:00
Christoph Oelckers
b2ae48bb67 Update to ZDoom r1358:
- Added a CopyInfo function to FTexture that contains all code required to 
  clone a texture. Used for creating warping textures.
- Fixed: P_FindFloorCeiling should not be called before setting the actor's z-
  coordinate. For testing 3D Midtex lines and 3D floors the proper position
  needs to be set first.
- Added option to specify the amount of ammo to be given by a WeaponGiver.
- fixed: Identification of Doom1 Freedoom IWAD did not work.
- fixed: UDMF did not initialize a sector's light colors.
- fixed implementation of DF2_NOAUTOAIM flag.
- fixed: Parsing of color strings with 6 characters and spaces did not work.
- fixed: State labels must be evaluated for the state's owner, not the calling actor.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@294 b0f79afe-0144-0410-b225-9a4edf0717df
2009-01-18 09:42:37 +00:00
Christoph Oelckers
9446999c4c - Added Skulltag's HQ resite feature
- removed special handling for old ZSBSPs that threw out overlapping linedefs.
  If such nodes are encountered now a rebuild is forced instead of trying to
  work with the broken data.

- Update to ZDoom r1333:

- Added Karate Chris's new DMFlags submission.
- Fixed: The correct player class was not remembered when the menu had both
  a player class selection menu and an episode menu.
- Fixed: AddToConsole could write outside its working buffer.
- Fixed: 0 was no longer recognized as placeholder for 'no state' in A_Chase.
- Fixed: When picking up weapons the code did not check if it should switch away
  from weak weapons.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@279 b0f79afe-0144-0410-b225-9a4edf0717df
2008-12-28 13:27:13 +00:00
Christoph Oelckers
cac80858f4 Update to ZDoom r1146 (warning: massive changes ahead!)
- Removed DECORATE's ParseClass because it was only used to add data to fully
  internal actor classes which no longer exist.
- Changed the state structure so that the Tics value doesn't need to be hacked
  into misc1 with SF_BIGTIC anymore. 
- Changed sprite processing so that sprite names are converted to indices 
  during parsing so that an additional postprocessing step is no longer needed.
- Fixed: Sprite names in DECORATE were case sensitive.
- Exported AActor's defaults to DECORATE and removed all code for the 
  internal property parser which is no longer needed.
- Converted the Heresiarch to DECORATE.
- Added an Active and Inactive state for monsters.
- Made the speed a parameter to A_RaiseMobj and A_SinkMobj and deleted
  GetRaiseSpeed and GetSinkSpeed.
- Added some remaining DECORATE conversions for Hexen by Karate Chris.
- Changed Windows to use the performance counter instead of rdtsc.
- Changed Linux to use clock_gettime for profiling instead of rdtsc. This
  avoids potential erroneous results on multicore and variable speed
  processors.
- Converted the last of Hexen's inventory items to DECORATE so that I could
  export AInventory.
- Removed AT_GAME_SET because it's no longer used anywhere.
- Converted the last remaining global classes to DECORATE.
- Fixed: Inventory.PickupFlash requires an class name as parameter not an
  integer. Some Hexen definitions got it wrong.
- Converted Hexen's Pig to DECORATE.
- Replaced the ActorInfo definitions of all internal inventory classes with 
  DECORATE definitions.
- Added option to specify a powerup's duration in second by using a negative
  number.
- Added Gez's Freedoom detection patch.
- SBARINFO update:
  * Added: The ability to have drawkeybar auto detect spacing.
  * Added: Offset parameter to drawkeybar to allow two key bars with
    different keys.
  * Added: Multi-row/column keybar parameters.  Spacing can also be auto.
    These  defualt to left to right/top to bottom but can be switched.
  * Added: Drawshadow flag to drawnumber.  This will draw a solid color and
    translucent number under the normal number.
  * Added: hexenarmor to drawimage.  This takes a parameter for a hexen
    armor type and will fade the image like the hexen status bar.
  * Added: centerbottom offset to draw(switchable)image.
  * Added: translucent flag to drawinventorybar.
  * Fixed: Accidentally removed flag from DrawTexture that allowed negative
    coordinates to work with fullscreenoffsets.  Hopefully this is the last
    major bug in the fullscreenoffsets system.
- Ported vlinetallasm4 to AMD64 assembly. Even with the increased number of
  registers AMD64 provides, this routine still needs to be written as self-
  modifying code for maximum performance. The additional registers do allow
  for further optimization over the x86 version by allowing all four pixels
  to be in flight at the same time. The end result is that AMD64 ASM is about
  2.18 times faster than AMD64 C and about 1.06 times faster than x86 ASM.
  (For further comparison, AMD64 C and x86 C are practically the same for
  this function.) Should I port any more assembly to AMD64, mvlineasm4 is the
  most likely candidate, but it's not used enough at this point to bother.
  Also, this may or may not work with Linux at the moment, since it doesn't
  have the eh_handler metadata. Win64 is easier, since I just need to
  structure the function prologue and epilogue properly and use some
  assembler directives/macros to automatically generate the metadata. And
  that brings up another point: You need YASM to assemble the AMD64 code,
  because NASM doesn't support the Win64 metadata directives.
- Replaced the ActorInfo definitions of several internal classes with DECORATE definitions
- Converted teleport fog and destinations to DECORATE.
- AActor::PreExplode is gone now that the last item that was using it has been converted.
- Converted the Sigil and the remaining things in a_strifeitems.cpp to DECORATE.
- Exported Point pushers, CustomSprite and AmbientSound to DECORATE.
- Changed increased lightning damage for Centaurs into a damage factor.
- Changed PoisonCloud and Lightning special treatment in P_DamageMobj to use damage
  types instead to keep dependencies on specific actor types out of the main engine code.
- Added Korax DECORATE conversion by Gez and a few others by Karate Chris.
- Removed FourthWeaponClass and based Hexen's fourth weapons on the generic weapon
  pieces.
- Added DECORATE conversions for Hexen's Fighter weapons by Karate Chris.
- Added aWeaponGiver class to generalize the standing AssaultGun.
- converted a_Strifeweapons.cpp to DECORATE, except for the Sigil.
- Added an SSE version of DoBlending. This is strictly C intrinsics.
  VC++ still throws around unneccessary register moves. GCC seems to be
  pretty close to optimal, requiring only about 2 cycles/color. They're
  both faster than my hand-written MMX routine, so I don't need to feel
  bad about not hand-optimizing this for x64 builds.
- Removed an extra instruction from DoBlending_MMX, transposed two
  instructions, and unrolled it once, shaving off about 80 cycles from the
  time required to blend 256 palette entries. Why? Because I tried writing
  a C version of the routine using compiler intrinsics and was appalled by
  all the extra movq's VC++ added to the code. GCC was better, but still
  generated extra instructions. I only wanted a C version because I can't
  use inline assembly with VC++'s x64 compiler, and x64 assembly is a bit
  of a pain. (It's a pain because Linux and Windows have different calling
  conventions, and you need to maintain extra metadata for functions.) So,
  the assembly version stays and the C version stays out.
- Converted the rest of a_strifestuff.cpp to DECORATE.
- Fixed: AStalker::CheckMeleeRange did not perform all checks of AActor::CheckMeleeRange.
  I replaced this virtual override with a new flag MF5_NOVERTICALMELEERANGE so that
  this feature can also be used by other actors.
- Converted Strife's Stalker to DECORATE.
- Converted ArtiTeleport to DECORATE.
- Removed the NoBlockingSet method from AActor because everything using it has been
  converted to DECORATE using DropItem instead.
- Changed: Macil doesn't need the StrifeHumanoid's special death states so he might
  as well inherit directly from AActor.
- Converted Strife's Coin, Oracle, Macil and StrifeHumanoid to DECORATE. Also moved
  the burning hand states to StrifePlayer where they really belong.
- Added Gez's dropammofactor submission with some necessary changes. Also merged
  redundant ammo multiplication code from P_DropItem and ADehackedPickup::TryPickup.
- Restricted native action function definitions to zdoom.pk3.
- Fixed. The Firedemon was missing a game filter.
- Added: disablegrin, disableouch, disablepain, and disablerampage flags to
  drawmugshot.
- Fixed: LowerHealthCap did not work properly.
- Fixed: Various bugs I noticed in the fullscreenoffsets code.
- Removed all the pixel doubling r_detail modes, since the one platform they
  were intended to assist (486) actually sees very little benefit from them.
- Rewrote CheckMMX in C and renamed it to CheckCPU.
- Fixed: CPUID function 0x80000005 is specified to return detailed L1 cache
  only for AMD processors, so we must not use it on other architectures, or
  we end up overwriting the L1 cache line size with 0 or some other number
  we don't actually understand.
- The x87 precision control is now explicitly set for double precision, since
  GCC defaults to extended precision instead, unlike Visual C++.
- Converted Strife's Programmer, Loremaster and Thingstoblowup to DECORATE.
- Fixed: Attacking a merchant in Strife didn't alert the enemies.
- Removed AT_GAME_SET(PowerInvulnerable) due to the problems it caused. The two
  occurences in the code that depended on it were changed accordingly.
  Invulnerability colormaps are now being set by the items exclusively.
- Changed many checks for the friendly Minotaur to a new flag MF5_SUMMONEDMONSTER
  so that it can hopefully be generalized to be usable elsewhere later.
- Added Gez's submission for converting the Minotaur to DECORATE.
- Fixed a few minor DECORATE bugs.
- Changed coordinate storage for EntityBoss so that it works properly even
  when the pod is not used to spawn it.
- Converted Strife's Spectres and Entity to DECORATE.
- Added: fullscreenoffsets flag for status bars.  This changes the coordinate
  system to be relative to the top left corner of the screen.  This is useful
  for full screen status bars.
- Changed: drawinventorybar will use the width of artibox or invcurs (strife)
  to determine the spacing.  Let me know if this breaks any released mods.
- Fixed: If a status bar height of 0 was specified in SBarInfo the wrong bar
  would be shown.
- Fixed: If a static inventory bar was used the user still had to press invuse
  in order to get rid of the "overlay".
- Fixed: forcescaled would not work if the height of the bar was 0.
- Added: keyslot to drawswitchableimage.
- Fixed: The transition effects for the log and keys popups were switched.
- Converted Strife's Crusader, Inquisitor and spectral missiles to
  DECORATE.
- Converted Strife's Acolytes, Rebels, Sentinel, Reaver and Templar to
  DECORATE.
- Added DECORATE conversions for Hexen's Cleric weapons by Karate Chris.
- Added a check to Zipdir that excludes files with a .orig extension. These
  can be left behind by patch.exe and create problems.
- fixed: Unmorphing from chicken caused a crash when reading non-existent
  meta-data strings.
- Converted the ScriptedMarines to DECORATE.
- Fixed: DLightTransfer and DWallLightTransfer were declared as actors.
- Converted the PhoenixRod and associated classes to DECORATE to make
  the Heretic conversion complete.
- Converted the Minotaur's projectiles to DECORATE so that I can get
  rid of the AT_SPEED_SET code.
- Converted Heretic's Blaster and SkullRod to DECORATE.
- Converted the mace and all related actors to DECORATE and generalized
  the spawn function that only spawns one mace per level.
- Moved Mace respawning code into AInventory so that it works properly
  for replacement actors.
- Added more DECORATE conversions by Karate Chris.
- Cleaned up the new bridge code and exported all related actors to
  DECORATE so that the exported code pointers can be used.
- Separated Heretic's and Hexen's invulnerability items for stability 
  reasons.
- Fixed spurious warnings on 32-bit VC++ debug builds.
- Made the subsong (order) number a proper parameter to MusInfo::Play()
  instead of requiring a separate SetPosition() call to do it.
- Added Gez's submission for custom bridge things.
- Fixed: ASpecialSpot must check the array's size before dividing by it.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@151 b0f79afe-0144-0410-b225-9a4edf0717df
2008-08-10 15:12:58 +00:00
Christoph Oelckers
d65fc51c06 Update to ZDoom r1083. Not fully tested yet!
- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code.
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@138 b0f79afe-0144-0410-b225-9a4edf0717df
2008-07-23 18:35:55 +00:00
Christoph Oelckers
c04b6de294 - Fixed: Warped textures didn't work anymore because the default speed was 0.
- Fixed: When a suspended FraggleScript script was restarted all its variables were
  destroyed.

Update to ZDoom r952:

- Fixed: FString::StripRight() stripped the final character of the string if
  there were no designated characters to strip at the end of it.
- Added support for Shoutcast/Icecast playlists.
- Added an error message when a playlist could not be opened.
- Added support for PLS format playlists, in addition to M3U.
- Changed FPlayList to use an array of FStrings.
- Fixed: Playlists required every song to be specified by an absolute path.
- Fixed a copy-and-paste error in win32/i_main.cpp for 64-bit mode.
- Tweaked OPL centering a little.
- Added dynamic recentering for the OPL synth. The chip has four basic
  waveforms, and three of them are non-negative. This can cause a tendency
  for the resulting output waveform to go into very high ranges depending on
  the timbres used, and Heretic's exemplify this problem.
- Reduced the OPL volume level slightly.
- Fixed: The waveform view from snd_drawoutput was upside-down.
- Various fixes for compiling working 64-bit binaries with Visual C++. The
  number of changes was pleasantly small, and a cursory check seems to show
  everything working alright.
- Separated the skin scale values into separate X and Y values so that skins
  automatically generated for different player classes can use both the
  scaling values that can be set for the actor.
- Fixed: Any MIDI ticks that contain only events that are interpreted by
  the MIDI parser and not passed on to the MIDI device would mess up timing
  for future events.
- Changed EMIDI controller 110-113 handling to more accurately match the
  EMIDI specs: Track designations and exclusions should be ignored past
  the initial beat, and EMIDI program change and volume events should be
  ignored unless they were used in the initial beat.
- Fixed: When FMOD::System::init() returns FMOD_ERR_OUTPUT_CREATEBUFFER, it
  could also be because the user selected PCM-Float output, but the driver
  doesn't support it (even if it claims to *cough*Audigy XP drivers*cough*).


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@101 b0f79afe-0144-0410-b225-9a4edf0717df
2008-05-01 21:45:22 +00:00
Christoph Oelckers
30c4fbf193 - Update to ZDoom r763
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@31 b0f79afe-0144-0410-b225-9a4edf0717df
2008-02-22 09:00:45 +00:00
Christoph Oelckers
7004ac5705 - added branches folder
- updated to ZDoom r755.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@24 b0f79afe-0144-0410-b225-9a4edf0717df
2008-02-20 16:51:40 +00:00
Christoph Oelckers
0394c5d9a4 - Updated to ZDoom r744
- fixed: Fog didn't work with Line_Horizon
- fixed: Using ExtraFloor_LightOnly in a skybox with non-black fog caused rendering
- fixed: Apparently it is possible that AActor::Tick is called after the 3D floor data has been deleted.
- fixed: The desaturation shader must first desaturate and then light. It did it in reverse order.
- fixed: gl_billboard_mode used an incorrect default value.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@17 b0f79afe-0144-0410-b225-9a4edf0717df
2008-02-14 13:07:19 +00:00
Christoph Oelckers
72ae7fa01b Initial import - version 1.0.32
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1 b0f79afe-0144-0410-b225-9a4edf0717df
2008-01-27 11:25:03 +00:00