Commit graph

90 commits

Author SHA1 Message Date
Christoph Oelckers
8e4448adc8 Update to ZDoom r3640
*Moved the regeneration powerup's effect out of P_PlayerThink() and into APowerRegeneration::DoEffect().
*Did some restructuring of FMultiPatchTexture::CopyTrueColorPixels() so that it composites to a temporary bitmap before copying to the destination bitmap if any fancy stuff is going on. This simplifies the part drawing, since it doesn't need to check if each     
*Added new patch style "Overlay" for TEXTURES. This is the same as CopyAlpha, except it only copies the patch's alpha channel where it has a higher alpha than what's underneath.
*Added a new patch style: CopyNewAlpha. This works just like Copy except it multiplies each pixel's alpha channel by the specified Alpha property.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1391 b0f79afe-0144-0410-b225-9a4edf0717df
2012-05-11 10:44:37 +00:00
gez
de5a304337 * Updated to ZDoom r3603:
- Fixed: The player's position was only predicted during the duration of R_SetupFrame(). Consequently, if somebody used the chasecam while predicting, they would appear to lag behind the camera, because their actor would be at its unpredicted position by the time sprites were processed.
- Fixed: 3D floors partitioning the world into different "HeightLevels" could strip a midtexture of its clipping information before it was drawn. (On the other hand, I have no idea what this ds->bkup and refreshing stuff is about, so I might have broken something somewhere else.)

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1369 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-28 12:05:44 +00:00
gez
a42d2559e2 * Updated to ZDoom r3601:
- Fixed P_CheckSwitchRange() should not force range checking of lines flagged with ML_3DMIDTEX if they do not have a midtexture.
- Fixed: sector_t::GetHeightSec() was too aggressive about not returning heightsec.
- Fixed: PowerTimeFreezer needs to use different bits to mark timefreezing initiated by different players, or overlapping uses of PowerTimeFreezer will malfunction.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1368 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-27 13:54:44 +00:00
gez
8939431087 * Updated to ZDoom r3563:
- Fix type conversion warning.
- In P_SpawnMapThing(), pass the same flags to P_FindFloorCeiling() as the respawn functions do.
- Rename FFCF_3DMIDTEXRESTRICT to FF_3DRESTRICT and make it work with 3D floors too.
- Fixed: Do not play skinned sounds when the player has the NOSKIN flag set.
- Fixed: If a player has the NOSKIN flag set, do not change their appearance to that of the skin when spawning or changing the skin.
- Fixed: DSBarInfo did not declare its object pointers for the garbage collector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1358 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-14 07:39:28 +00:00
gez
e263d46ff7 * Updated to ZDoom r3542:
- Added another flag to P_FindFloorCeiling() to get it to do its standard processing but without resetting the actor's sector. The 3D floor checks in P_NightmareRespawn() and A_RestoreSpecialPosition now use this.
- Fixed: P_NightmareRespawn() did its Z clamping before checking for 3D floors.
- Fixed: Respawning actors were not clamped to the ceiling.
- Fixed: Passing hexdd.wad with a path to the -iwad parameter would disable searching the standard paths for hexen.wad.
- Fixed: Stereo sound volume reduction should only be done for stereo sounds played in 3D. Head-relative ones should remain full volume.
- Fixed: RunScript() ignored the always parameter.
- Don't call secfriction() twice in the normal part of P_GetFriction().
- Fixed: The 3D floors part of P_GetFriction() did not check for friction still being set to ORIG_FRICTION, so it only worked with lower frictions.
- Clamp maximum particle count to 65535.
- Fixed: The inner railgun trail ignored the RGF_FULLBRIGHT flag.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1351 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-08 10:39:30 +00:00
gez
e3a40a26fc * Updated to ZDoom r3515:
- Check for overflows when giving inventory items.
- Fixed: A_Respawn also needs to use P_SpawnMapThing-like sector finding. Since it is exactly the same situation A_RestoreSpecialPosition, it now just calls that to do the moving. This also means it is no longer limited to respawning things on the floor.
- Make DF2_BARRELS_RESPAWN work in all game modes without the need for alwaysapplydmflags.
- Implement multitick viewpitch centering logic.
- Fixed: DEM_CENTERVIEW also needs to reset the LocalViewPitch if it's for the consoleplayer.
- Fixed: Monster respawning did not redo floorz/ceilingz for 3D floors after positioning the item.
- Fixed: Monster respawning used the newly spawned monster's SpawnPoint to determine what to shift the Z position by. This is, naturally, always 0.
- Fixed: Item respawning did not redo floorz/ceilingz for 3D floors after positioning the item.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1340 b0f79afe-0144-0410-b225-9a4edf0717df
2012-04-03 12:57:18 +00:00
gez
af22020682 * Updated to ZDoom r3480:
- Fixed: Sprites drawn with the shaded render style were always fullbright.
- Remove unused FRICTION definition.
- Fixed: Switching maps using the ResetHealth flag while dead would prevent proper reinitialization of the player on the new map.
- Fixed: If the znodes were based on a map with more vertexes than the one it is being loaded for, reject them.
- Fixed: Prematurely closing a Door_Raise-type door now properly examines the actual sound sequence to determine if it should start the closing sequence.
- Fixed: Poison damage lost damage type information if the poisoner was destroyed before poisoncount reached 0.
- Fixed: Poisoners without a PainType should use their own DamageType to pick the Pain state to make the target enter, not the target's DamageType.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1323 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-24 10:14:51 +00:00
gez
51fa45e167 * Updated to ZDoom r3468:
- Fixed: Trying to init FMOD with profiling enabled when the network socket was in use would fail. We now fallback to no profiling when this happens.
- Fixed: Bots did not process KEYCONF weapons. As far as I know, this is only relevant for the owned-weapons display on the status bar.
- Fixed: Deus Vult II uses fullscreen level name patches (which are mostly blank) for the intermission. This caused the net scoreboard to be drawn off the bottom of the screen.
- Added A_ClearLastHeard action function.
- Similar fix to the previous: The child TiMidity++ process quitting would not necessarily be detected, so S_ChangeMusic() would not restart one-shot songs that had finished if it was the MIDI device.
- Fixed: S_ChangeMusic() would not necessarily restart non-looping songs that had finished playing.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1321 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-22 23:28:47 +00:00
gez
2991963489 - Fixed: with high mouse sensitivity, it was possible to overflow the view pitch value.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1318 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-18 15:28:40 +00:00
gez
c67c51614b * Updated to ZDoom r3450:
- Fix signed/unsigned mismatch warned by GCC.
- Moved "Go away!" text into language.enu.
- In conjunction with all the below changes, attempt to fix A_CheckSightOrRange and A_CheckSight for multiplayer: They now always check through the eyes of every player. For players whose cameras are not players, they also check through the eyes of those cameras.
- Using spynext/spyprev to switch from a non-player to a player now writes a command to the network stream and lets Net_DoCommand() take care of it later. The logic here is that if a player is viewing from something that isn't another player, then every player needs to know about it for sync purposes. Consequently, when they stop viewing from a non-player and switch to a player, everybody needs to know about that too. But if they are viewing from a player, it doesn't matter which player it is, so they can spynext/spyprev all they want without letting the other players know about it (and without potentially breaking demos--due to the above-mentioned two codepointers--while doing it during demo playback).
- Replaced the instances of checking players[consoleplayer].camera for a valid pointer to ones that do it for every player.
- Fixed: Upon changing levels, all players but the consoleplayer would have their cameras NULLed.
- Fixed: player_t::FixPointers() needs to bypass the read barriers, or it won't be able to do substitutions of old objects that are pending deletion.
- Revised the fix from r3442: Make the line a nonrepeatable Door_Open instead of completely clearing the line's special.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1315 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-17 18:48:17 +00:00
gez
0b513a0098 * Updated to ZDoom r3435:
- Restored savegame compatibility that was removed in r3427.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1312 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-13 13:57:48 +00:00
gez
b67490cbc5 * Updated to ZDoom r3427:
- Added Xaser's submission for accessing accuracy and stamina from DECORATE and ACS.
- Added DECORATE properties for accuracy and stamina.
- Since these changes move properties from player_t to AActor all savegame compatibility code was removed and the min. savegame version bumped.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1307 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-11 09:25:57 +00:00
Christoph Oelckers
d4275907f4 - moved the FRenderer::StateChanged call from AActor::StaticSpawn to AActor::PostBeginPlay. When AActor::StaticSpawn is called at the start of a map not everything has been set up yet, resulting in access to uninitialized data. In particular the partner segs were not set up which are needed by the dynlight code that gets called from StateChanged.
- ensured that all classes reach AActor's PostBeginPlay method. Some were missing a Super call.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1302 b0f79afe-0144-0410-b225-9a4edf0717df
2012-03-07 01:05:59 +00:00
gez
e6e6f45a91 * Updated to ZDoom r3350:
- Fixed compilation with FMOD 4.38+. The removal of hardware voices and EAX was a fairly major change, so I'm making no provisions for using older FMOD DLLs when compiled with the 4.38 API. However, sound positioning is still broken like in 4.28, so you are recommended to continue building with 4.26. Also, the Freeverb-based DSP unit is no longer present in FMOD, so the underwater effect is currently unavailable when using 4.38 until I can figure out how to make it work with the SFX Reverb unit instead. (And on that topic, the Freeverb DSP was officially only for stereo outputs, so I really shouldn't have been using it in the first place.)
- Since I would like to eventually figure out the sound positioning issues with the FMODs, the following have been added:
  # snd_drawoutput now labels its outputs with the speakers they represent.
  # DCanvas::DrawTextA was added as an alias for DrawText, since the Windows headers #define DrawText to a Unicode/non-Unicode variant.
  # The loopsound console command was added to spawn an actor at the player's location and have it loop a sound infinitely.
  Hopefully I can figure it out. FMOD's 3D example works, so I assume the problem lies with my code, though I don't really know where to begin looking for the problem.
- Fixed: Line type 49 was wrong for all games. Fixed by adding a new Ceiling_CrushAndRaiseDist special.
- Fixed: If an episode skips the skill menu, it should also skip the confirm skill menu   if the default skill requests confirmation.
- Fixed: Episodes with NoSkillMenu defined had their own idea of default skill that differed   from episodes with skill menus (and completely ignored whichever skill is explicitly defined   as the default skill).
- Remove all restrictions on what you can do with tags as line special arguments in xlat. Something like 「(tag & 5) + (tag & 2) / 2」 is now a valid argument for a standard line translation.
- Added modulus to FParseContext/xlat.
- Fixed: Division of tag arguments for xlat was in the wrong order.
- Added more tag operators for xlat: * / & | ^
- Improve tag support for xlat: Any combination of arguments can now be tags, and you can add (or subtract) a constant to them. If you do wish to add a constant, tag must come first. e.g. tag+3 is good, but 3+tag will not work. (As a bonus, the parser is simpler, too.)
- Fixed: Totally freezing a player did not ignore crouch toggling.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1283 b0f79afe-0144-0410-b225-9a4edf0717df
2012-02-20 12:02:36 +00:00
gez
4f2244b891 * Updated to ZDoom r3333:
- Fixed: Must not try to draw null flats in the textured automap.
- Fixed: Player pitch limits were reset to 0 when changing levels and loading saved games.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1280 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-14 12:01:26 +00:00
gez
8c93739a3d - Revert temporary fix from r1273.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1278 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-14 11:48:53 +00:00
gez
debbb4f919 - Possibly temporary fix so that player pawns stop losing their min/max pitches when traveling.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1273 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-12 16:37:53 +00:00
gez
ddc9ca3f4f * Updated to ZDoom r3328:
- Fixed: Pressing a key to advance an intermission screen only worked on the local computer.
- Be less verbose when attempting to play non-ZDoom demos.
- Do nothing in D_DoAdvanceDemo if gameaction is not ga_nothing.
- Need to bump demo/gameversion due to DEM_SETPITCHLIMIT. MINDEMOVERSION also needs to be touched, since the default limits are now 0.
- A_SetPitch now clamps the player's pitch within the valid range. It can be made to clamp other actors' pitches to within the range (-90,+90) degrees with the SPF_FORCECLAMP flag.
- Transmit the local viewpitch limits to the other players.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1271 b0f79afe-0144-0410-b225-9a4edf0717df
2011-12-10 23:20:32 +00:00
gez
7038a4ee5b * Updated to ZDoom r3315:
- Added flag ALF_NOFRIENDS and a friend-basis pointer to P_AimLineAttack(). A_DeathBallImpact uses these to avoid aiming at friends when the death ball bounces. (The pointer is needed because the missile itself does the aiming, not the player that shot it, and missiles are nobody's friends.)
- Allow subclasses when checking for PowerWeaponLevel2.
- Fixed: Starting in a sector with a musinfo thing would not trigger the thing.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1264 b0f79afe-0144-0410-b225-9a4edf0717df
2011-11-07 11:10:18 +00:00
gez
6aa69e1279 * Updated to ZDoom r3295:
- 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
2011-09-21 22:29:19 +00:00
Christoph Oelckers
4e154276c4 - separation of software renderer from the rest of the code complete. All external access to the renderer is routed through the FRenderer interface class now, with two exceptions (2D texture drawing to a canvas and polymost testing code) that are handled by #defines. There's also no special GL code paths in the main game code anymore.
- updated FS code with most recent changes done for ZDoom.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1225 b0f79afe-0144-0410-b225-9a4edf0717df
2011-07-07 15:41:32 +00:00
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
Christoph Oelckers
95f966faf5 Update to ZDoom r3088:
* Added "special" console command for executing action specials.
    * Fixed buffer overflow attack for DEM_RUNSCRIPT(2).
    * Fixed: FMODSoundRenderer::DrawWaveDebug() only allocated enough space for the wavearray based on the window_size, so for large numbers of output channels, it would not allocate enough space for the spectrum data (which is definied by SPECTRUM_SIZE, not the window_size) and write junk on the stack when drawing the spectrums, causing a crash.
    * Merge voxels back into trunk. Even if it needs further tweaking, it should at least be stable now.
    * Added 'player.flechettetype' property so that the appropriate flechette type can be set per player class.
    * bumped savegame version for flechette type changes.
    * Added Chris's KDE IWAD picker submission.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1153 b0f79afe-0144-0410-b225-9a4edf0717df
2011-01-02 22:29:16 +00:00
gez
d2cef2f3be * Updated to ZDoom r3042:
- Added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
- Fixed handling of missing backgrounds for intermission text screens for real this time.
- Added automap patch to mark trigger lines.
- Fixed: The TouchedActors array in the Dehacked parser was not freed after parsing was done.
- Initialize the alt HUD explicitly in D_DoomMain.
- Don't let S_UnloadReverbDef leave a broken list of sound environments behind.
- Added more code to explicitly delete data before initializing it.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1129 b0f79afe-0144-0410-b225-9a4edf0717df
2010-12-15 16:32:37 +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
Christoph Oelckers
0dd982ce41 Update to ZDoom r2980:
* Use the so-called SafeTerminateProcess() function to kill the child TiMidity++ process instead of signaling an event. I would have preferred to use GenerateConsoleCtrlEvent(), but since it requires the caller be attached to the same console as the process it wants to kill, it's pretty much worthless. We will continue to look for the presence of the event name in the TiMidity++ binary despite no longer using it, because standard TiMidity++ builds do not write to stdout in binary mode on Windows systems.
    * Tweaked jumpTics again. As before, it now counts down whenever it is non-zero. If the player is on the ground and it counts below -18, it is zeroed so that the player can jump again. This handles cases where either the player did not actually jump when they pressed +jump (because there was a ceiling in the way) or when they land on something other than the floor.
    * Fixed: With the Buddha cheat active the health of the real player actor was not synchronized with the player data if a voodoo doll received damage that would have killed it.
    * Fixed: The message for trying to quickload in netgames used the wrong display mode for the message menu.
    * Fixed: AdjustPusher compared a sector's index with a tag to check for existing pushers in that sector.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1070 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-04 07:53:18 +00:00
gez
f099b670a1 * Updated to ZDoom r2975:
- Added a new AmbientSoundNoGravity actor with doomednum 14067. This is identical in every respect to the existing AmbientSound actor, except it also has the NOGRAVITY flag set.
- Fixed: Pressing left or right on a video mode option line should play "menu/cursor", not "menu/change".
- Modify AimingCamera so that it can pick up targets after spawning, since this is the only way for it to aim at players, who cannot be spawned with TIDs.
- Fixed: Options selected in Strife dialogues using the number keys were off by one.
- Fixed: The minimum velocity for player landing in effects in P_ZMovement should be -8, not -9.
- Revised usage of jumpTics. In Hexen, it went like this:
  * When you jump, it gets set to 18.
  * When you land, it gets set to 7.
  * As long as it is non-zero, it counts down, and you cannot jump.
  Of note here, is that setting it to 18 upon jumping seems useless, since you can't jump unless you're on the ground, and when you reach the ground, it will always be set to 7. With that in mind, the new behavior is:
  * When you jump, it gets set to -1.
  * When you land, if it is less than zero or you fall far enough to squat, jumpTics will
    be set to 7. Otherwise, jumpTics is left alone.
  * If jumpTics is positive, it will count down each tic.
  * As long as JumpTics is non-zero, you cannot jump.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1069 b0f79afe-0144-0410-b225-9a4edf0717df
2010-11-03 09:06:26 +00:00
gez
71e6229dc1 * Updated to ZDoom r2911:
- Merged finale branch back into trunk.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@1025 b0f79afe-0144-0410-b225-9a4edf0717df
2010-10-06 14:20:13 +00:00
Christoph Oelckers
64d02b7ecf Update to ZDoom r2847:
* Fixed: The check for savegames without picture was reversed.
    * Fixed: Savegames that were saved without picture did not display the 'No picture' message because the empty PNG container was still recognized as image.
    * Added a NULL skins[] check to AActor::SetState().
    * Fixed: ACS's GetActorX, GetActorY, GetActorZ, GetActorFloorZ, GetActorCeilingZ, GetActorAngle, and GetActorPitch did not have NULL pointer checks for the TID == 0 case.
    * Fixed: GCC warnings.
    * Fixed: The aspectratio SBarInfo command never ticked its contents.
    * Fixed some texture priorititing problems with Hexen's player displays for the menu. The patches for these should not be placed in the TEX_WallPatch namespace because it's not what modders might expect from them.
    * Added automatic centering of Hexen's skill menu so that it can adjust automatically to the different player classes.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@989 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-23 07:58:51 +00:00
Christoph Oelckers
9ca84376fa - added player class definition through the GAMEINFO section in MAPINFO. Also added a NOMENU flag that can be set for a player class. This means that the use of KEYCONF is now deprecated except for its original purpose: To define mod specific key binding options.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@980 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-19 08:31:17 +00:00
gez
00845f2bb3 * Updated to ZDoom r2794:
- Added Demolisher's APROP_Target/TracerTID [fixed] submission.
- Reverted r2783 because it was causing problems.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@965 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-16 09:06:42 +00:00
gez
4244a48923 * Updated to ZDoom r2786:
- Fixed: The class selection menu crashed when no item in the menu was selected.
- Added Khamsin's fix for visible mouse cursors in Linux fullscreen mode with mouse disabled.
- Changed ACS's print n: cast to use an actor's tag for non-players instead of the class name.
- Added Spleen's fix for not running 2 frames of the weapon when the player spawns.
- Added Edward-san's 'changemus' submission for printing the currently playing music track.
- Fixed: Lines in the option menu that covered the same vertical space as the back button rendered the back button inoperable.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@961 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-15 20:57:27 +00:00
gez
67fb643a5f * Updated to ZDoom r2697:
- Added some NULL pointer checks to the kill CCMD and APlayerPawn::PostBeginPlay.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@936 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-06 09:24:58 +00:00
gez
4dab616af2 * Updated to ZDoom r2663:
- Added the am_zoom command to zoom the automap by a specific step and set default mouse wheel bindings for it.
- Fixed: The mouse pointer stayed hidden on startup because the CursorState variable was not set until the mouse was grabbed.
- Disable framebuffer debug spew. All those OutputDebugString messages from DCanvas::DrawLine()'s Lock and Unlock calls were slowing things down extremely when looking at a software-drawn automap.
- Fixes to compile with GCC 4.5.0.
- Fix an ICE when compiling with GCC 4.5.0.
- Added drawshadow flag to drawstring.
- Added kgsws-cz's FBF_NOFLASH submission.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@929 b0f79afe-0144-0410-b225-9a4edf0717df
2010-09-01 06:57:40 +00:00
gez
5306b85558 * Updated to ZDoom r2641:
- 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
2010-08-30 08:09:21 +00:00
gez
81fa721abc * Updated to ZDoom r2562:
- 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
2010-08-21 08:49:56 +00:00
gez
4cb0e1c360 * Updated to ZDoom r2345:
- Added an optional parameter to DamageScreenColor to scale the amount of damage for pain flash calculations. This can range from 0.0 to 1.0.
- Sounds that define a loop no longer play looped by default. They must be started with CHAN_LOOP so that the higher level sound code knows they loop and can handle them accordingly.
- Added support for a LOOP_BIDI tag. Set it to "1", "On", "True", or "Yes" to use a bidirectional loop. This only works with sounds and not music, because music is streamed so does not support them.
- Extended custom loop support to work with samples as well as music.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@839 b0f79afe-0144-0410-b225-9a4edf0717df
2010-07-16 06:15:56 +00:00
gez
46bdcdb47d * Updated to ZDoom r2373:
- Fixed: All melee attack functions only used the target acquired by P_AimLineAttack for all subsequent calculations, not the actual victim of the attack. 
- Set +NEVERRESPAWN flag for several Strife monsters that should not respawn in Bloodbath skill.
- Fixed: Setting +NOCLIP for a player class did not work.
- Fixed: A_Print and related functions should not make a use state chain succeed.
- Fixed: APowerIronFeet must continuously reset the player's air supply.
- Fixed: Stopping music did not clear the variable used to restart the last played song.
- Fixed: Classes inherited from PowerScanner didn't work anymore.
- Added some options to A_CustomPunch, including calling Strife's dagger alert function.
- Added support for Risen3D/PrBoom+'s MUSINFO lump.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@816 b0f79afe-0144-0410-b225-9a4edf0717df
2010-06-13 13:33:27 +00:00
Christoph Oelckers
d9503655f1 Update to ZDoom r2204:
- fixed: Items spawned internally by ADehackedPickup::TryPickup must not count towards item statistics.
- fixed: The color sliders on the player setup menu were not disabled when a predefined colorset was selected.
- added a 'player.clearcolorset' property so that inherited color sets can be removed.
- fixed: Player color sets were not inheritable.
- Some minor changes to DUMB to match http://kode54.foobar2000.org/foo_dumb-dumb-lib_source.rar
  dated 2009-10-18. This version also added DSMI AMF support, but since I can't find a single
  song in this format, I'll hold off on including that unless somebody specifically requests it.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@746 b0f79afe-0144-0410-b225-9a4edf0717df
2010-03-07 11:20:10 +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
3d55375a01 - fixed: The sound table could not be reallocated because the low level sound data referenced its contents by pointer.
Update to ZDoom r2113:

    * Added full stops to more Strife messages.
    * Change StrifePlayer's RunHealth to 15.
    * Fixed: DORWS04 should not make a sound when it switches off.
    * Fixed copy-paste fail for DoorCloseSmallWood.
    * I guess I can't completely trust Strife1.exe's switch list. Not everything that plays the glass break sound is actually defined with it.
    * Fixed: The MAPINFO keyword resetinventory only worked when traveling to a redirected map.
    * Fixed: Two Strife pickup messages were off by one character each.
    * Fixed: Macil2 and the Oracle need to be immune to SpectralLightningV2 as well as V1, since they are both created by the first-stage Sigil. AlienSpectre3 should have also been immune to them but was not. In addition, Macil1 was erroneously immune to V1, when he should not be immune to any spectral damage. (Though, since he's immortal, all that really amounts to is that he can enter his pain state.)
    * Fixed: Don't color the teleporter beacon's rebels in single player.
    * Fixed: I forgot to reimplement the number keys for Strife's dialogues when I redid the menus to work with controllers.
    * Split conversation initiation out of P_UseTraverse() and into a separate function. It no longer piggy-backs off of Hexen's puzzle item traversal but instead works like Strife, using P_AimLineAttack() to find something to talk to and includes some slight left and right "autoaim". I can think of a few consequences of this:
          o Using puzzle items on actors has been restored to its original range of 64.
          o Since talking now depends on P_AimLineAttack() instead of a line use traversal, you can probably set up situations where you can talk to somebody that you couldn't talk to before because some special line was in the way.
          o You don't need to stick a guard flush against the wall to block players from using a switch behind them, because now the autoaim will get the player.
    * Corrected several Strife switches that had the wrong sounds.
    * Fixed: Action Doom 2 and Harmony IWADs were missing the GI_MAPxx flag.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@716 b0f79afe-0144-0410-b225-9a4edf0717df
2010-01-16 07:38:12 +00:00
Christoph Oelckers
3911475e2f - Added full sound definitions for Heretic's ChickenPlayer and Hexen's
PigPlayer (submitted by NeuralStunner.)
- Added unmorph fix by Gez.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@685 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-28 22:42:42 +00:00
Christoph Oelckers
912b94dd6f - fixed usedown code from this morning.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@674 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-25 16:23:26 +00:00
Christoph Oelckers
7d5c48606b Update to ZDoom r2047:
- Fixed: Decals could spread to walls which had a decal-less texture or
  were flagged not to have decals.
- Fixed: DBaseDecal/DImpactDecal::CloneSelf never checked the return value
  from their StickToWall call and left unplaced decals behind if that happened.
- Reintroduced Doom.exe's player_t::usedown variable so that respawning a
  player does not immediately activate switches. oldbuttons was not usable
  for this. This also required that CopyPlayer preserves this info.
- Fixed: When restarting the music there was a NULL pointer check missing
  so it crashed when the game was started wi
- Fixed: If the Use key is used to respawn the player it must be cleared
  so that it doesn't trigger any subsequent actions after respawning.
- Fixed: Resurrecting a monster did not restore flags5 and flags6.
- Fixed: Projectiles which killed a non-monster were unable to determine
  what precisely they hit because MF_CORPSE is only valid for monsters.
  A new flag, MF6_KILLED that gets set for all objects that die, was added
  for this case.
- Added a generic A_Weave function that exposes all possible options of
  A_BishopMissileWeave and A_CStaffMissileSlither. These 2 functions are
  no longer needed from DECORATE and therefore deprecated.
- The options menu no longer scales up so quickly, so it can fit wider text
  onscreen. In addition, it now uses the whole height available to it. Also,
  at lower resolutions, items on the compatibility options menu now cut off
  the beginning of the option label rather than the option setting, making
  this menu useable where previously it was not.
- Added a channel parameter to the sector overload of SN_StopSequence() so
  it can be properly paired with calls to SN_StartSequence().
- Fixed: P_CheckPlayerSprites() ignored the MF4_NOSKIN flag.  It now also sets
  the X scale, so switching skins while morphed does not produce weird
  stretching upon unmorphing.
- Fixed: Calling S_ChangeMusic() with the same song but a different looping
  flag now restarts the song so that the new looping setting can be applied.
  (This was easier than modifying every music handler to support modifying
  loop changes on the fly, which seems like overkill.)
- Fixed: savepatchsize was declared incorrectly in d_dehacked.cpp:DoInclude().
- Changed AFastProjectile::Effect() so that it sets the spawned trail to face
  same direction as the projectile.

git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@672 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-25 12:10:12 +00:00
Christoph Oelckers
f531ae17a9 Update to ZDoom r2027:
- Fixed: Morphed players tried endlessly to switch to a weapon they picked up.
- fixed: P_DamageMobj just set an ice corpse's velocity to 0 to make it shatter.
  But that's insufficient because it doesn't factor in any subsequent velocity
  change that happens between the damaging and the next call to A_FreezeDeathChunks.
- fixed: The TimeFreezer did not freeze other players' controls in a
  multiplayer game.
- fixed: DECORATE's 'gravity' property incorrectly messed around with the
  NOGRAVITY flag.
- fixed: Hitscan attacks didn't check the puff's replacement for damage types.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@661 b0f79afe-0144-0410-b225-9a4edf0717df
2009-12-17 14:16:00 +00:00
Christoph Oelckers
0a8ac6a153 - added: DECORATE now allows definitions of dynamic light attachments per state.
These are fully inheritable by subclasses unlike lights defined in GLDEFS.
  The light itself still needs to defined the old way in GLDEFS though. It's only the 
  attachment that can now be done in DECORATE.

Update to ZDoom r1935:

- Removed the Actor uservar array and replaced it with user-defined variables.
  A_SetUserVar/SetUserVariable/GetUserVariable now take a variable name
  instead of an array index. A_SetUserArray/SetUserArray/GetUserArray
  have been added to access elements in user-defined arrays.
- Rewrote wide sky texture scaling again. This time, it should work for any
  size textures at any scale. I also tried doing sky scrolling on the sky
  cylinder, but that didn't look so good, so I left it in screen space.


git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@577 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-25 15:31:09 +00:00
Christoph Oelckers
2a14e24d23 Update to ZDoom r1893:
- fixed: Savegames stored the global fixed light levels when saving a player.



git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@515 b0f79afe-0144-0410-b225-9a4edf0717df
2009-10-03 08:35:53 +00:00
Christoph Oelckers
4e442c49d2 - Update to ZDoom r1859 including adjustments for all the changes that were only made for the software renderer.
git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@467 b0f79afe-0144-0410-b225-9a4edf0717df
2009-09-20 20:51:32 +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