Commit graph

1140 commits

Author SHA1 Message Date
Christoph Oelckers
5175d56129 - made adjustments to P_LineAttack and P_RailAttack to deal with altered angles by passing through a non-parallel portal.
- fixed: P_FindFloorCeiling set the floorsector for a new ceilingheight.

Note: P_DrawRailTrail still needs to be changed, at the moment rail trails through portals will not work correctly.
2016-03-06 21:58:36 +01:00
Christoph Oelckers
b9c72e372b - fixed bad loop handling in FWeaponSlots::SetFromGameInfo(). 2016-03-04 16:25:23 +01:00
Michael Labbe
97821a3036 21:9 aspect ratio support
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
e11da06e69 - some preparations for actor interpolation through wall portals. 2016-02-25 00:41:31 +01:00
Christoph Oelckers
21c55a090a - fixed: "take armor" cheat should only deplete the armor, not destroy it.
- fixed: Hexen armor cannot be depleted by the common function, it needs an override to achieve that.
2016-02-24 10:50:42 +01:00
alexey.lysiuk
8ba6f6ced5 Fixed crash when spawning decal without texture
See http://forum.zdoom.org/viewtopic.php?t=50977
2016-02-24 10:37:14 +01:00
Christoph Oelckers
884a265d4a - refactored P_FindFloorCeiling to be portal aware and cleaned up its interface.
A big problem with this function was that some flags required setting up some variables before calling it and others did not. It will now set everything up itself so all initializations to AActor::floorz and ceilingz that were made before these calls (which were all identical to begin with) could be removed and the internal initialization logic streamlined.
2016-02-17 21:57:52 +01:00
Christoph Oelckers
0948448988 - some more checking and refactoring of ZatPoint calls.
- removed Plane/Floor/CeilingAtPoint functions because they are overkill for the problem they were meant to solve. Calling ZatPoint with adjusted coordinates created with AActor::PosRelative is just as easy in the few places where this is needed.
- made P_HitWater and P_CheckSplash portal aware.
2016-02-17 02:21:26 +01:00
Christoph Oelckers
1b88052bba - started refactoring ZatPoint calls which need to be portal aware.
To summarize, anything that just works with map geometry doesn't need to bother, as does the renderer. (i.e. nearly all r_* files, p_floor.cpp, p_ceiling.cpp et.al)
But all calls that are somehow related to actor positions need to be made aware of potential portal transitions:

 * added FloorAtPoint, CeilingAtPoint and PlaneAtPoint methods to sector_t, which can be used to calculate a plane's height with relation to a given actor, even if that actor is on the other side of a portal.
 * added HighestCeilingAt and LowestFloorAt methods which traverse all ceiling/floor portals until they find an impassable plane.
2016-02-16 16:40:53 +01:00
Christoph Oelckers
f24bf7e622 - separated FCheckPosition and its FPortalGroupTable substructure into its own header because this was creating too many dependencies on other headers with FCheckPosition in p_local.h and FPortalGroupTable in portals.h. 2016-02-15 13:40:31 +01:00
Christoph Oelckers
afc631b537 - this wasn't saved for last night's commit. 2016-02-15 09:25:48 +01:00
Christoph Oelckers
6adb069506 - rewrote p_local.h so that it doesn't pull in the entire bunch of headers.
This was to resolve some circular dependencies with the portal code.
The most notable changees:

 * FTextureID was moved from textures.h to doomtype.h because it is frequently needed in files that don't want to do anything with actual textures.
 * split off the parts from p_maputl into a separate header.
 * consolidated all blockmap related data into p_blockmap.h
 * split off the polyobject parts into po_man.h
2016-02-15 02:14:34 +01:00
Christoph Oelckers
d5a1004c41 - some preparations for portal stuff:
* set up linked sector portals so that everything that will eventually have to be considered is present, even though the software renderer currently can't handle those adequately.
* tag all skybox things with a type so that they can easily be distinguished at run time.
* fill in the linked portal types in xlat/eternity.txt.
2016-02-14 13:12:03 +01:00
Christoph Oelckers
158caf78a0 - more float to double conversion.
In particular this removes all assignments of FIXED2FLOAT to double variables because they not only lose precision but also generate unnecessary code.
2016-02-11 21:33:30 +01:00
Christoph Oelckers
b5029e0976 - call the native A_BossDeath directly instead of going through the VM-enabled action function.
- undo some formatting screwup in a_clericstaff.cpp.
2016-02-10 13:57:21 +01:00
Christoph Oelckers
bc616dbf06 - fixed: APowerupGiver::PowerupType also needs replacement handling for placeholder classes. 2016-02-10 10:04:52 +01:00
Christoph Oelckers
3358181f18 - cleaned up the class data organization:
* moved RestrictedToPlayerClass and ForbiddenToPlayerClass arrays to AInventory.
 * moved all copy-from-parent code into DeriveData functions.
2016-02-10 00:46:51 +01:00
Christoph Oelckers
6ce0c9f78e - split up PClass::Derive and its child functions because part of them is also needed when initializing an inherited native class with the properties of its parent - but calling the base version in PClass is not possible.
- moved a few AActor properties out of the EXE so that I could easily test if it works.
2016-02-10 00:17:00 +01:00
Christoph Oelckers
b484cbf18a - fixed: It is not guaranteed that the class object that is created by FindClassTentative actually matches the real object that is required later, so it needs to be replaced wherever it could be referenced once the real object is created.
- removed some unneeded code from earlier attempts to fix the class type resolving issue.
2016-02-09 23:08:51 +01:00
Christoph Oelckers
4d2a52418f - added an errorlog option.
This cuts down on as much message noise as possible, outputs everything to a file specified as a parameter and then quits immediately, allowing this to run from a batch that's supposed to check a larger list of files for errors.
Multiple outputs get appended if the file already exists.
2016-02-09 14:20:49 +01:00
Randy Heit
8d159b8506 Add OF_StateChanged handling to NoDelay 2016-02-08 22:11:42 -06:00
Christoph Oelckers
6d0ef7a9da - added conversion macros to convert floating point angles to angle_t, using xs_Float.h, and replaced all occurences in the code with them (let's hope I found everything.)
Converting a floating point value that is out of range for a signed integer will result in 0x80000000 with SSE math, which is used exclusively for this purpose on modern Visual C++ compilers, so this cannot be used anywhere.
On ARM there's problems with float to unsigned int conversions.

xs_Float does not depend on these
2016-02-08 12:10:53 +01:00
Christoph Oelckers
8da6483223 - fixed some places where FStrings were incorrectly used.
- replace all implicit conversions from FString to const char * in the header files (so that it can be test compiled with the implicit type conversion turned off without throwing thousands of identical errors.)
2016-02-05 10:40:45 +01:00
Christoph Oelckers
c8d25378d5 - fixed type confusion with ?: operator in FMugShot::GetFace. 2016-02-05 10:08:49 +01:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
alexey.lysiuk
b9b0029373 Fixed overlapping of active artifacts with time/latency
Active artifacts are now displayed below time and/or latency on alternative HUD
2016-02-03 12:06:32 +02:00
alexey.lysiuk
1bf1fc199b Adjust latency position depending on time visibility
Latency placement is no longer fixed:
* If time is visible, it is placed on top of the screen and latency is placed below
* If time is not visible, latency is placed on top of the screen
Both are displayed on alternative HUD only
2016-02-03 12:06:20 +02:00
Christoph Oelckers
46024398fe - fixed: Change FCheckPosition::LastRipped to a TMap so that it can track multiple overlapping actors being ripped during the same tic. 2016-01-30 22:06:04 +01:00
Braden Obrzut
5d6e8a7338 - Fixed: Possible timer overflow in PowerTimeFreezer. 2016-01-30 00:18:38 -05:00
Randy Heit
b22a909829 Add nodelay handling to FastProjectile 2016-01-27 13:08:23 -06:00
Christoph Oelckers
d2beec4585 - ensure that AInventory::Touch attributes everything to the correct player, even if the touching action results in a morph. 2016-01-27 00:56:40 +01:00
Braden Obrzut
fc15be8689 - Improved DrawSwitchableImage keyslot condition to include key species.
- Fixed: currentpos command would crash if not in game.
2016-01-23 22:24:12 -05:00
Braden Obrzut
5abacf0b2f - Fixed: Uninitialized variable on DrawSelectedInventory. 2016-01-23 21:40:19 -05:00
Christoph Oelckers
c4377b7039 - removed the implicit fixedvec -> TVector conversions because they caused too many problems. Also reviewed all uses of these and made the necessary adjustments. Problems were present in P_SpawnMissileXYZ and P_Thing_Projectile.
- replaced some single precision float math with doubles.
2016-01-23 20:44:33 +01:00
Christoph Oelckers
4b9647e539 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_hexenspecialdecs.cpp
	src/g_strife/a_thingstoblowup.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-20 11:45:57 +01:00
Christoph Oelckers
500bc2b852 - fixed two refactoring errors:
* A_BridgeOrbit had its radius as an int, not a fixed_t.
* PIT_CheckThing used the wrong coordinate for checking actor distance.
2016-01-20 11:39:41 +01:00
Christoph Oelckers
e9b23cf833 - keep evaluation order of Random() calls defined. 2016-01-20 09:25:30 +01:00
Christoph Oelckers
97620b0645 - fixed some leftover unused variable warnings.
- match the variable names in thingdef_codeptr.cpp to the ones in the scripting branch to reduce the amount of merge conflicts in upcoming changes.
2016-01-19 16:09:44 +01:00
Christoph Oelckers
1faf68794b - fixed the merge. 2016-01-19 13:59:53 +01:00
Christoph Oelckers
bc63b70d88 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/fragglescript/t_func.cpp
	src/g_doom/a_bossbrain.cpp
	src/g_doom/a_revenant.cpp
	src/g_heretic/a_hereticartifacts.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_knight.cpp
	src/g_hexen/a_bishop.cpp
	src/g_hexen/a_clericholy.cpp
	src/g_hexen/a_dragon.cpp
	src/g_hexen/a_firedemon.cpp
	src/g_hexen/a_flechette.cpp
	src/g_hexen/a_heresiarch.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/g_hexen/a_iceguy.cpp
	src/g_hexen/a_korax.cpp
	src/g_hexen/a_magelightning.cpp
	src/g_hexen/a_serpent.cpp
	src/g_hexen/a_spike.cpp
	src/g_hexen/a_wraith.cpp
	src/g_raven/a_minotaur.cpp
	src/g_shared/a_bridge.cpp
	src/g_shared/a_pickups.cpp
	src/g_shared/a_randomspawner.cpp
	src/g_strife/a_alienspectres.cpp
	src/g_strife/a_crusader.cpp
	src/g_strife/a_entityboss.cpp
	src/g_strife/a_inquisitor.cpp
	src/g_strife/a_loremaster.cpp
	src/g_strife/a_programmer.cpp
	src/g_strife/a_sentinel.cpp
	src/g_strife/a_spectral.cpp
	src/g_strife/a_strifestuff.cpp
	src/g_strife/a_strifeweapons.cpp
	src/g_strife/a_thingstoblowup.cpp
	src/p_local.h
	src/r_utility.cpp
2016-01-19 13:43:11 +01:00
Christoph Oelckers
27aeb6a656 - g_shared refactored 2016-01-19 13:26:05 +01:00
Christoph Oelckers
9f78bcd1e6 - Strife game code refactored for coordinates. 2016-01-19 11:50:07 +01:00
Christoph Oelckers
bf747075e8 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_clericstaff.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
Conflicts:
	src/p_pspr.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
fbaab5044d Merge commit '38df0665e3a2018cf1d0028a36357df6c7e908e9' into scripting
Conflicts:
	src/d_dehacked.cpp
	src/decallib.cpp
	src/g_hexen/a_clericstaff.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:50:34 +01:00
Christoph Oelckers
5207aa6cc0 Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
Conflicts:
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Christoph Oelckers
37f18055af - turned sector_t::FloorSkyBox and CeilingSkyBox into an array.
- removed unused SpreadCeilingPortal function.
2016-01-12 21:34:41 +01:00
Christoph Oelckers
7115590c1d - moved setup code for Eternity-style skyboxes to p_spec.cpp and consolidated most of it with nearly identical parts of the stacked sector portal setup code. 2016-01-11 15:29:44 +01:00
Christoph Oelckers
918a2ed562 -fixed: Eternity-style skyboxes must check if some portal copy definitions have been set for them. 2016-01-10 22:26:08 +01:00
Christoph Oelckers
2c0f64cf9f - refactoring of R_PointToAngle2 when used to calculate direction between two actors. 2016-01-10 20:46:26 +01:00
Christoph Oelckers
1e2ce9a622 - some refactoring of P_AproxDistance calls into newly defined AActor method AproxDistance.
The main reason here is to reduce the number of instances where AActor::x and AActor::y are being referenced.
2016-01-10 17:52:41 +01:00
Christoph Oelckers
bd8513c063 - made sector_t::damageamount an int so that it can hold TELEFRAG_DAMAGE.
- marked all places where sector_t::special needs to be addressed for the damage overhaul.

NOTE: This commit will not compile!
2016-01-06 12:56:35 +01:00
Randy Heit
c86cd53753 Merge branch 'master' of https://github.com/crimsondusk/zdoom into crimsondusk-master
Conflicts:
	src/am_map.cpp
2015-12-31 20:18:54 -06:00
Randy Heit
1d759283c0 Cleanup the zoom/reload/userX handling for A_WeaponReady
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
MajorCooke
eed6680a67 Added support for weapon states User#.
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
ad0e71942d - added GetAspectRatio function to ACS.
- added a sixth parameter for SetHUDClipRect so that the forced aspect ratio fudging this function performs can be disabled.
2015-12-06 09:59:02 +01:00
Christoph Oelckers
f7cdb28eac - added a HealthFactor skill property. 2015-11-29 12:58:17 +01:00
Christoph Oelckers
6efc2a0ec7 - fixed positioning of map name on Hexen automap. 2015-11-25 13:47:04 +01:00
Christoph Oelckers
355f70986a - fixed: 'give' inventory functions ignored an items MaxAmount setting. 2015-11-25 13:36:42 +01:00
Christoph Oelckers
99fbb55296 Merge branch 'master' of https://github.com/rheit/zdoom 2015-11-25 11:50:03 +01:00
Christoph Oelckers
7b017f472a - fixed: Due to the default skybox being moved to the global level data, there was insufficient information to distinguish between using the default skybox or the regular sky. Fixed by adding two new sector flags which get set by a 0-tid SkyPicker. 2015-11-25 11:49:34 +01:00
alexey.lysiuk
fe61b8064a Fixed MSVC warning in a_randomspawner.cpp
...\src\g_shared\a_randomspawner.cpp(32): warning C4800: 'DWORD' : forcing value to bool 'true' or 'false' (performance warning)
See http://forum.zdoom.org/viewtopic.php?t=49737
2015-10-11 09:28:38 +03:00
alexey.lysiuk
96ff716046 Added error message about missing class to drop from RandomSpawner 2015-09-19 18:29:59 +03:00
alexey.lysiuk
49519db257 Fixed crash in RandomSpawner with -nomonsters
See http://forum.zdoom.org/viewtopic.php?f=2&t=49520
2015-09-19 18:29:07 +03:00
Teemu Piippo
2f027504b6 Show sector action boundaries on the automap like line specials are. 2015-09-12 04:47:49 +03:00
Christoph Oelckers
2d58a28cc3 - fixed: In Heretic an active Tome of Power should not freeze a teleporting player.
This was implemented by adding a new inventory flag INVENTORY.NOTELEPORTFREEZE so that the effect can both be activated for other items and deactivated for the two that currently have it.
2015-08-16 08:50:22 +02:00
Christoph Oelckers
7ba577e1b0 Merge branch 'master' into scripting
Conflicts:
	src/g_heretic/a_hereticweaps.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-06-07 09:43:54 +02:00
Christoph Oelckers
4444d3c0c5 - removed the _3DFLOOR #define because we really do not want to comment this out anymore, right? 2015-06-07 09:41:44 +02:00
Braden Obrzut
c9214c1ce9 - Fixed: Hexen's status bar top graphic was drawn 1 pixel too low.
- Fixed: Artiflash played on initial save loading. I seem to recall this looking like an intentional change, but perhaps I broke it since it's completely pointless to play the animation only on the first load of a save game if nothing has been loaded beforehand.
2015-05-20 13:10:08 -04:00
Braden Obrzut
e46b25f628 - Fixed: god2 didn't trigger invulnerability in SBarInfo. 2015-05-20 12:54:13 -04:00
Christoph Oelckers
5f1c4d157c Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_sharedglobal.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
Christoph Oelckers
84351419a3 Merge branch 'master' of https://github.com/crimsondusk/zdoom
Conflicts:
	src/actor.h
2015-04-30 10:03:50 +02:00
coelckers
691855e19b Merge pull request #304 from MajorCooke/morphundoalways
- Added MORPH_UNDOALWAYS for morph powerups.
2015-04-30 09:05:41 +02:00
coelckers
c2e91293d2 Merge pull request #310 from MajorCooke/telefogfix
- Allow teleport fogs to set the teleporting actors as their targets, so...
2015-04-30 09:02:10 +02:00
Christoph Oelckers
646c135eff Merge branch 'master' into scripting
Conflicts:
	src/m_cheat.cpp
	src/p_acs.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp
2015-04-28 23:04:10 +02:00
Edoardo Prezioso
b51fac344d Little TakeInventory refactoring.
Introduce AActor::TakeInventory, which unifies DoTakeInv from ACS and DoTakeInventory from Decorate, and AInventory::DepleteOrDestroy, which is extracted from the DoTakeInv core function, and use both where they're needed.
I don't know if the differences between DoTakeInv and DoTakeInventory were intentional, so I kept both behaviors.
2015-04-28 15:45:11 +02:00
Christoph Oelckers
2e0f999fea Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/shared/inventory.txt
	zdoom.vcproj
2015-04-28 14:45:13 +02:00
Christoph Oelckers
8447990889 Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
Conflicts:
	src/info.h
	src/thingdef/thingdef_codeptr.cpp

(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00
Christoph Oelckers
d6e3fc0567 Merge commit 'fb9231a38db2025eb77bfd246f36d985cbbccd2e' into scripting
Conflicts:
	src/info.cpp
	src/thingdef/thingdef_expression.cpp
	wadsrc/static/actors/constants.txt

(Scripting branch update part 2)
2015-04-28 09:57:01 +02:00
Christoph Oelckers
56989d3422 Merge commit 'ec5817869592660af6837b9f4e20ed140972a2b2' into scripting
Conflicts:
	src/p_enemy.cpp
	src/p_enemy.h
	wadsrc/static/actors/constants.txt

(Scripting branch update part 1)
2015-04-28 09:34:51 +02:00
MajorCooke
43053b89a5 - Set the morphing and unmorphing actor as target for the teleport fog. This will allow for better interactions on what should happen between the morphee without needing to make monster AI needing to search for them in particular or rely upon TIDs. 2015-04-26 10:06:13 -05:00
Randy Heit
d6b8603cb6 Ignore sv_unlimited_pickup on items that stay
- See http://forum.zdoom.org/viewtopic.php?f=2&t=47790
2015-04-22 22:27:56 -05:00
Christoph Oelckers
3cb4eb44a8 - fixed: APowerRegeneration::DoEffect did not call the super method. 2015-04-16 08:29:21 +02:00
Christoph Oelckers
425e5b9ffc - replaced P_FindSectorFromTag with an FSectorTagIterator class.
This is done to encapsulate the gory details of tag search in one place so that the implementation of multiple tags per sector remains contained to a few isolated spots in the code.
This also moves the special 'tag == 0 -> activate backsector' handling into the iterator class.
2015-04-14 22:39:57 +02:00
arezey
e40f3c7350 Merge branch 'master' of https://github.com/crimsondusk/zdoom 2015-04-12 02:16:34 +03:00
Edoardo Prezioso
0c5d55d0a3 - More GAMENAME replacements in strings.
These changes will change only some displayed messages.
2015-04-09 21:16:59 +02:00
Teemu Piippo
ca012bc9be - adapted AActor to use TFlags 2015-04-04 19:40:43 +03:00
MajorCooke
087d564343 - Added MORPH_UNDOALWAYS for morph powerups. 2015-04-03 12:16:27 -05:00
Randy Heit
433744d0fd Fix old warning on VC 2005 2015-03-12 13:41:38 -05:00
Randy Heit
156d1e61fd Use sub-tic accuracy for smooth sine quakes
- Converting the wave speed back to floats, since I'm using sin() instead
  of the finesine table now.
- Pre-shift the quake intensities to avoid extra shifting in GetModIntensity.
- Loading old saves will shift the intensities to fixed point but will not
  convert the fixed wave speeds to floats. The chances of this
  being in a savegame where the speeds are non-zero is pretty much nil,
  and int and floating point 0 are bitwise identical (not counting -0.0).
2015-03-02 19:23:24 -06:00
MajorCooke
6b83dcab89 - Fixed broken regular quakes. 2015-03-01 21:40:03 -06:00
Randy Heit
dca5f0e908 Added QF_SINE
- Squashed commit of the following:

commit bc45fe3263d34ef5f746f524687999c19bf7b779
Author: Randy Heit <rheit@users.noreply.github.com>
Date:   Sun Mar 1 18:51:05 2015 -0600

    wave scale -> wave speed

commit ff96388b128c724c1198757bfa52f1935a263356
Author: Randy Heit <rheit@users.noreply.github.com>
Date:   Sun Mar 1 18:45:32 2015 -0600

    More sine quake fixes

commit 2a89749a6fe6d271b9fbdc218779f680afcf4cb6
Merge: 719dfbe 5456074
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 20:37:22 2015 -0600

    Added QF_WAVE to A_QuakeEx.
    - Changes the random quakes into a sine wave (see Shadow Warrior/Rise of the Triad reboots, Hard Reset, etc.)
    - Added 3 properties to control waves per second along each individual axis. Only works with QF_WAVE.
    - Intensity X/Y/Z property becomes the amplitude of the wave.
    - Stacks with regular quakes, allowing shaking along the camera which must be called using A_QuakeEx WITHOUT the flag, or the other quaking functions.
    - Uses the youngest quake's time for positioning.

commit 54560741581e8d15cc7060e8e068cf85e9a4b432
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 20:21:19 2015 -0600

    Recommitted recommended changes by Randi, with some modifications. Now, we should be finished!

commit 6f4473013411686d88fc185bdc1cc58b1035b0f1
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 12:52:57 2015 -0600

    Finish this revert.

commit 467e53f9400f588a2ada9b32e7634cb1f4ad5066
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sat Feb 28 12:46:02 2015 -0600

    Reverted back to what was working.

commit da9de56a67efda08036e481fd5fccd5392ce6810
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Thu Feb 26 18:53:20 2015 -0600

    Forgot this bit, for testing.

commit c5093d9bb97caf8478cefc32abc56a036feeea58
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Thu Feb 26 18:52:46 2015 -0600

    Some more progress, but...
    - This did not solve anything. In fact, it did the opposite -- completely broke wave quakes. Now they only happen whenever a random quake is in progress.
    - Left in the commented code on purpose so Randi can test it.

commit 7e526405d2127cbb279f66008c8f8e55a5d497f3
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Wed Feb 25 17:50:42 2015 -0600

    - Use newest waveform timer, not oldest.

commit 1356443609dbc6c7f46e081d0846816dc0836124
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Wed Feb 25 17:32:09 2015 -0600

    - Got regular quakes to multiply onto sine quakes, but the vice versa needs fixing too.

commit d95796c94c70cd0229d4a6d30f69e3a7568b9588
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Wed Feb 25 16:46:21 2015 -0600

    - Last hurdle. Now just need to figure out how to properly scale up and down.

commit 4bc3458e689155ce72c09776604d9eb4fa73d8be
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Tue Feb 24 23:18:03 2015 -0600

    - Fixed the quakes being unstackable.

commit b51012d6d4ea065bf7f6fc9c1a0472966491f7af
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Mon Feb 23 23:48:34 2015 -0600

    QF_WAVE renamed from SINE.
    - Lots of ground covered, but still more to go.
    - Still need to figure out how to make the camera properly shudder.

commit 427e4893193470bbf45415ffec70a0b69b8cccfd
Author: MajorCooke <paul.growney22@gmail.com>
Date:   Sun Feb 22 16:52:30 2015 -0600

    - Begin the groundworks for QF_SINE.
    - Need to figure out how to rework and manipulate the sine wave to move faster, and to allow going below 0 without breaking it too much.
2015-03-01 18:53:34 -06:00
Randy Heit
a41af2de73 Make SBARINFO's HasWeaponPiece recognize removed pieces
- Fixed: HasWeaponPiece assumed that once a piece was given, it would not
  be removed. The easiest way to break this assumption is by loading an
  earlier save where you had fewer pieces. (The catch being that if you
  removed all pieces, it would notice that.)
2015-02-24 20:01:39 -06:00
Randy Heit
2827c13d0c Rewrite new quake stuff for correctness
- Quake scaling should be handled for each quake. The former
  implementation was potentially taking flags from one quake and applying
  them to another, which is broken.
- Remove all the int<->float conversions.
2015-02-20 19:36:13 -06:00
MajorCooke
fb9231a38d - Added QF_FULLINTENSITY.
- When using both scaling flags, by default, the effect only reaches half peak going either way. This forces it to go all the way to the top (or bottom if using QF_MAX) before scaling back to its original height..
2015-02-20 11:06:41 -06:00
MajorCooke
140a650442 - Added QF_SCALEUP and QF_MAX.
- QF_SCALEUP behaves like QF_SCALEDOWN: it gradually scales the tremors, only going upwards.
- QF_SCALEUP and QF_SCALEDOWN can be combined to make an earthquake that gradually smoothes in and out.
- QF_MAX can be used to invert this behavior, where it starts at the peak of the amplitude, fades out half way, and then grows back to maximum.
2015-02-20 10:46:37 -06:00
Christoph Oelckers
3019f2cc23 - fixed savegame code for quakes. 2015-02-20 16:50:03 +01:00
MajorCooke
475bc65eba - Better safe than sorry, even if it apparently had no effect. 2015-02-20 08:35:42 -06:00
MajorCooke
49d9482363 - Cleaned out of the code and converted it to taking a struct instead.
- This will make it much easier on me to add future changes. Big thanks to Graf for the idea.
2015-02-20 08:26:45 -06:00
MajorCooke
3bf24204d8 - Ensure save games don't break. 2015-02-20 01:41:59 -06:00
MajorCooke
2939194ae3 - Forgot this tiny little one. 2015-02-20 01:36:53 -06:00
MajorCooke
9c5d90e4cb - Removed QF_SCALEUP until I can figure out a proper way to implement it. 2015-02-20 01:33:30 -06:00
MajorCooke
0948b95e08 - Changed QuakePower to take doubles on everything but intensity. This lets the camera shake until it truly reaches 0 as the limitations of integers were actually cutting it short. 2015-02-19 23:19:24 -06:00
MajorCooke
045ab9fd5b Initial groundwork for QF_SCALEDOWN. 2015-02-19 21:42:32 -06:00
MajorCooke
284fd3e20f - Fixed: relz was never initialized.
- This could cause problems in places like the GZDoom renderer in the odd circumstance, causing the camera to become stuck in the floor or ceiling until the quake expires.
2015-02-19 16:30:00 -06:00
Randy Heit
e377c2c4f8 Change XYZ Quaking from Major Cooke
- Relative quakes are different from other quakes; all quakes affecting
  the camera do not become relative if one of them is relative.
- Use a single function call to get quake visual parameters instead of four.
- Thrust things in a psuedo-ellipse if they're inside a damaging quake whose
  IntensityX != IntensityY.
- Don't break old savegames.
2015-02-18 14:48:52 -06:00
MajorCooke
7050d03222 Added A_QuakeEx(intensity x, y, z, duration, damrad, tremrad, sound, flags)
- Unlocks the full potential of using quakes, including the Z axis. Each intensity applies to X/Y/Z planes whenever a player is experiencing it.
- Flags:
- QF_RELATIVE - Adjusts the quaking of the camera to go in the direction its aiming (X: forward/backward. Y: Left/right.)
- Plans for including pitch will be implemented in the future for the Z axis with relativity.
2015-02-14 15:58:39 -06:00
Christoph Oelckers
337682934c - fixed: CF_FLY cannot be part of the player_t structure and be tracked properly. It needs to be part of the actor itself that has MF2_FLY set so it got moved to flags7.
- removed some fudging code that tried to work around the shortcomings of CF_FLY but was ultimately causing more problems than it solved.
2015-02-10 23:40:53 +01:00
Randy Heit
fd7ed2bc25 Undo most of ZzZombo's changes
- "If it ain't broke, don't fix it."
- Some of the changes were downright wrong and some were pointless, so undo
  everything that doesn't look like an actual improvement.
2015-02-08 20:44:18 -06:00
Christoph Oelckers
57ae77412d Merge branch 'althud_ammo' of https://github.com/alexey-lysiuk/gzdoom 2015-02-08 11:52:08 +01:00
alexey.lysiuk
003817f415 Added customization of ammo display in alternative HUD
Added hud_showammo CVAR with three states:
* If value is 0, show ammo for current weapon only
* If value is 1, show ammo for available weapons
* If value is greater than 1, show ammo for all weapons
Default value is 2, so initial ammo display behavior isn't changed
2015-02-08 11:08:02 +02:00
ZzZombo
c4b742ebf0 - Part 2 of the sanity crusade. 2015-02-08 17:03:49 +08:00
Christoph Oelckers
2d4299608c Merge branch 'Inventory.Transfer-flag' of https://github.com/Edward850/zdoom 2015-02-07 13:12:15 +01:00
Christoph Oelckers
6801d0faec Merge branch 'pause' of https://github.com/Edward850/zdoom 2015-02-07 13:03:33 +01:00
Edward Richardson
291861bf52 Removed debug output 2015-02-05 23:53:34 +13:00
Edward Richardson
5164b78c31 Camera paths would hold indeterminate of the level 2015-02-05 22:44:51 +13:00
Edward Richardson
1e0a1466a3 Moved and rearranged transfer task
- Some inventory pickup conditions weren't properly covered
2015-02-05 20:13:54 +13:00
Edward Richardson
de4097cc7b Added INVENTORY.TRANSFER
- INVENTORY.TRANSFER allows transferring all owned inventory to a new
owner on pickup.
2015-02-05 14:52:52 +13:00
Randy Heit
775e33ede7 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_doom/a_archvile.cpp
	src/g_shared/a_morph.cpp
	src/p_enemy.h
	src/p_local.h
	src/p_mobj.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_exp.h
	src/thingdef/thingdef_expression.cpp
	src/thingdef/thingdef_states.cpp
	wadsrc/static/actors/actor.txt
2015-01-29 20:53:08 -06:00
Braden Obrzut
72506fa6e9 - Fixed: Regression with centered coordinates. 2015-01-26 15:00:36 -05:00
Braden Obrzut
1c2a6e8457 - Fixed: fullscreenoffset coordinates were determined by translated (offsets) coordinates instead of input coordinates. 2015-01-16 13:12:18 -05:00
Christoph Oelckers
5c658e98ec Merge branch 'master' of https://github.com/rheit/zdoom 2014-12-27 19:20:12 +01:00
Christoph Oelckers
cef8ae5632 - fixed: The A_BossDeath code in P_MorphedDeath was missing a NULL pointer check. 2014-12-27 19:19:15 +01:00
Randy Heit
bce7d12379 Change clipping in DSBarInfo::DrawGraphic()
- Fixed: When DSBarInfo::DrawGraphic() is used scaled, without fullscreen
  offset, if one of the top and left clip locations was 0 and the other
  was non-0, the 0 one would be clipped to the edge of a 4:3 box centered
  on the screen instead of the edge of the screen.
2014-12-26 18:40:15 -06:00
Randy Heit
b5e4153c78 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/b_think.cpp
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_fighterplayer.cpp
	src/namedef.h
	src/p_enemy.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/p_teleport.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_function.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt

- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
  were added to thingdef_function.cpp over the past year, as this file no
  longer exists in this branch.
2014-12-21 21:15:11 -06:00
Randy Heit
2d87eb0ba2 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/actor.h
	src/g_heretic/a_hereticmisc.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_ironlich.cpp
	src/info.h
	src/namedef.h
	src/p_buildmap.cpp
	src/p_enemy.cpp
	src/p_map.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	zdoom.vcproj
2014-12-20 19:13:14 -06:00
Christoph Oelckers
e6de24a7de - turned out that the recent change to allow cancelling a powerup blend through a powerup giver did not work well so now there's an explicit 'Powerup.Color none' to do it that works a bit differently. 2014-12-06 22:08:39 +01:00
Christoph Oelckers
fbe14d59bb - fixed: All powerup blend colors with an alpha of 0 were treated as 'has no color' for PowerupGivers. 2014-12-03 13:05:50 +01:00
Kyle Evans
3af08f1983 Fixed weapon drawing rules to account for the death camera [backported from gzdoom], also fixed drawing rules for crosshair 2014-12-01 22:03:22 -06:00
Christoph Oelckers
5ae5d2e7eb Merge branch 'master' of https://github.com/rheit/zdoom 2014-11-25 16:14:49 +01:00
Braden Obrzut
0123279a1f - Work around an i386 specific optimizer bug in Apple's GCC 4.2 (GCC 4.0 has worse bugs).
- Fixed: zdoom-info.plist used some non-existant/wrong variables.
2014-11-24 22:22:29 -05:00
ChillyDoom
e38aee070c - Changed TThinkerIterator loops back to MAXPLAYERS loops.
- Added STAT_BOT.
2014-11-15 08:58:29 +00:00
ChillyDoom
ee977f94d7 - Moved bot thinking logic into DBot. 2014-11-14 16:54:56 +00:00
Christoph Oelckers
edd53f22a1 - fixed: The buddha powerup set the wrong flag. 2014-10-25 12:34:46 +02:00
Christoph Oelckers
cfe97b0f0f - Fixed: Killing a morphed monster must trigger A_BossDeath on its unmorphed self. 2014-10-25 11:33:28 +02:00
Christoph Oelckers
313245dd77 - added a Buddha powerup 2014-10-25 09:53:23 +02:00
MajorCooke
d1dc6fd59a - Added: BUDDHA and FOILBUDDHA.
- Fixed: mugshot didn't take the god2 cheat into account.
2014-10-25 09:39:00 +02:00
Christoph Oelckers
9402bcf6cd - fixed: The targeter must reset its HUD sprites when being reactivated during the blinking phase. 2014-10-24 22:47:40 +02:00
John Palomo Jr
4496885366 Added Inventory.AlwaysRespawn flag. 2014-10-24 04:46:43 -04:00
ChillyDoom
db323643f8 - Renamed FBot to DBot and made it inherit from DThinker.
- Fixed: Bots added by players other than the net arbitrator did not have their skill set.
2014-10-14 19:57:11 +01:00
ChillyDoom
83d84eaae9 - Moved bot related variables from player_t into a new FBot class. 2014-10-13 18:40:25 +01:00
ChillyDoom
5de6b535ae - Removed unnecessary 'id' variable from AActor.
- Removed unused 'backpack' variable from player_t.
- Removed duplicate code from b_move.cpp.
- General cleanup.
2014-10-13 08:45:36 +01:00
Edward Richardson
4db8b3e421 Made delay updates less erratic 2014-09-26 15:48:44 +12:00
Edward Richardson
97586c317e Further refinements to network balancing
- Added delay times of all players to the scoreboard
- Removed balancing from packet-server (tried it, didn't work)
- Calculations remove an extra tic to account for possible bias
2014-09-26 15:48:42 +12:00
Edward Richardson
542b8a7171 Added network load balancing
- Guests can now attempt to match latency with the arbitrator.
(net_loadbalance)
- Added althud feature to show arbitrator and local latency.
(hud_showlag 1 is on for netgames, 2 is always on)
2014-09-26 15:48:42 +12:00
Christoph Oelckers
a0f507d18f - fixed: The crosshair setting code checked for existence of lumps, not textures and missed anything defined in a TEXTURES lump. 2014-09-13 09:51:49 +02:00
Braden Obrzut
27ebfa783e - Added IfHealth based on Blue Shadow's patch. 2014-09-12 00:49:09 -04:00
Braden Obrzut
0223b7f460 - Fixed: InInventory didn't work quite right with multiple items. 2014-09-12 00:39:36 -04:00
Christoph Oelckers
f0eccb9d15 - BlueShadow's submission for keeping the max save amount of BasicArmorPickups around when picking up armor bonuses. 2014-08-11 10:08:49 +02:00
Christoph Oelckers
259466c3d4 fixed time printing.
- In ZDoom the timer runs a bit too fast because roundoff errors make 35 tics only last 0.98 seconds. None of the internal timing has been changed, only the places where a time value is printed it will get adjusted for this discrepancy.
2014-08-11 09:39:38 +02:00
Edward Richardson
9716a61219 Add CVar for drawing weapons in the althud 2014-08-02 19:34:16 +12:00
Christoph Oelckers
a21f01bc5f - added jpalomo's submission to make freelook a 3-state setting, like crouch and jump. This required moving around the flags a bit so demo compatibility had to be bumped. It may also require adjustment for launchers that can set the dmflags. 2014-07-26 10:15:07 +02:00
Edward Richardson
3817bed0b3 Weap scroll could sometimes miss sameslot weapons
In rear cases, when using next/prevweap, defined weapons in the same
slot couldn't cycle when looping to another when you only had weapons in
1 slot.
2014-06-01 18:13:47 +12:00
Christoph Oelckers
8f5683e23d - moved secret found message to string table and removed the CVAR crutch that dates from a time when modifying string table content wasn't as easy as it is now.
- added 'showsecretsector' CVAR to show the sector number with the secret found message.
2014-05-29 17:50:14 +02:00
Christoph Oelckers
75cde0b221 - allow locks to check for a key's species so that newly defined keys can open previously defined locks without the need to redefine them. 2014-05-29 17:30:01 +02:00
Christoph Oelckers
24886b6734 - removed the last static character arrays from FLevelLocals. 2014-05-13 23:16:13 +02:00
Christoph Oelckers
e49e926bd9 - added option to ASectorAction to remove itself upon triggering by setting the STANDSTILL flag on the map thing. 2014-05-13 21:26:51 +02:00
Christoph Oelckers
30f57c0b8e - added new renderstyles AddStencil and AddShaded. 2014-05-13 21:16:06 +02:00
Christoph Oelckers
ca4179caa3 - allow texture lookup by full path names. Due to technical limitations this may result in double textures if the same graphics lump is also referenced by its short texture name. 2014-05-13 20:51:16 +02:00
Christoph Oelckers
a22670626c - expanded names for view border elements. Also fixed the horribly bad implementation of custom borders which modified the DoomBorder elements without ever checking the game being used. 2014-05-13 13:40:02 +02:00
Christoph Oelckers
a05e62f3f7 - changed storage of lump and texture names in gameinfo to allow long names (with the exception of view border elements.) 2014-05-13 12:44:17 +02:00
Braden Obrzut
bbd3106cbb Merge commit 'b3f5de356f14e2026cc9e5738e8b58e22e7daa44' 2014-01-06 04:04:51 -05:00
Braden Obrzut
d8ff4ec281 - Fixed: All clang 5.0 warnings.
- Renamed autostart/autozend since Xcode’s build process links in strictly alphabetical order.
2014-01-05 19:50:09 -05:00
Braden Obrzut
b3f5de356f - Fixed: SBarInfo's gamemode command used to ignore unknowns (for cross compatibility). On top of restoring the old behavior, generate a warning for only the first ignored instance. 2014-01-05 15:46:11 -05:00
Braden Obrzut
b0f40c0733 - So we did end up restoring the variable that the last commit was compensating for. 2014-01-04 00:37:15 -05:00
Braden Obrzut
4770b9b27b - Fixed: Rampage timer should only reset when the weapon is ready to be fired. 2014-01-03 01:21:21 -05:00
Randy Heit
242f2ab7b0 Merge branch 'maint' 2013-10-08 21:51:51 -05:00
Randy Heit
d558cf51a9 - Fixed: ABackpackItem::CreateTossable did not check for failure from the supermethod. 2013-10-08 19:59:46 -05:00
Christoph Oelckers
eb186a5b92 Merge branch 'maint' 2013-10-07 11:58:53 +02:00
Christoph Oelckers
c4d2a021b0 - fixed: AInventory::BecomePickup must not restore the MF_COUNTITEM flag when transforming the inventory item into a pickup again. 2013-10-07 11:53:58 +02:00
Braden Obrzut
ffae34c5fd - Changed the new default alignment keyword for drawimage from topleft to none in order to allow a potential topleft without image offsets. 2013-09-30 20:02:05 -04:00
Braden Obrzut
f73275ad88 - Applied Tesseract's patch for drawimage extensions. (Extended icon support and maximum width/height.) 2013-09-21 12:46:19 -04:00
Christoph Oelckers
c1aac878b0 Merge branch 'maint' 2013-09-15 23:12:21 +02:00
Christoph Oelckers
8847d5649a - fixed: Bridge needs to call Super::Destroy. 2013-09-15 23:11:55 +02:00
Christoph Oelckers
e4e26e7aa7 Merge branch 'maint' 2013-09-13 10:17:38 +02:00
Christoph Oelckers
ea0e4ed344 - fixed: The Hexen bridge must make its balls disappear when it gets destroyed.
Hexen did this with a call to A_BridgeRemove in Thing_Destroy which merely set a flag in the bridge object, which cannot be done safely in ZDoom because it's not guaranteed that the ball object calls A_BridgeOrbit and the garbage collector may delete the bridge actor before it can be checked so now the Bridge's Destroy method deletes all balls attached to the bridge object itself.
2013-09-13 10:07:43 +02:00
Christoph Oelckers
251cdacf26 Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_randomspawner.cpp
	src/g_strife/a_strifeweapons.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/constants.txt
2013-09-03 09:01:28 +02:00
Christoph Oelckers
9c2454eacc Merge branch 'maint' 2013-08-28 11:20:53 +02:00
Christoph Oelckers
f8899f98fc - fixed: The secret counter was not incremented for items that had the UDMF COUNTSECRET flag set. 2013-08-28 11:14:48 +02:00
Christoph Oelckers
3e4678765b Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/thingdef/thingdef_codeptr.cpp
2013-08-18 12:18:59 +02:00
Christoph Oelckers
aa03609b69 - added IF_TOSSED inventory flag. 2013-08-12 21:00:23 +02:00
Christoph Oelckers
ecfe67dd78 - removed weirdness from Powerup.Strength property that was specifically tailored to its use on PowerInvisibility and made its use problematic elsewhere. 2013-08-12 09:13:55 +02:00
Christoph Oelckers
35764ff3b2 - fixed: Powerup.Strength is a fixed point value, so using it as health amount for PowerRegeneration requires division by FRACUNIT. 2013-08-11 20:39:53 +02:00
Christoph Oelckers
1c889dc9fa - let APowerRegeneration use the Strength property to define the amount of regeneration it gives. 2013-08-10 09:51:48 +02:00
Christoph Oelckers
bba092cc0b Merge branch 'master' into scripting
Conflicts:
	src/d_player.h
	src/g_doom/a_archvile.cpp
	src/thingdef/thingdef.h
	src/thingdef/thingdef_properties.cpp
2013-08-09 13:03:28 +02:00
Christoph Oelckers
c253d40fbb - externalize labels for automap statistics display to the string table. 2013-07-28 16:18:57 +02:00
Randy Heit
9c86f1c220 Merge branch 'master' into scripting for plugged userinfo memory leak
Conflicts:
	src/d_player.h
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05:00
Randy Heit
e845b292c2 - Always clear bEvilGrin after checking it in FMugShot::UpdateState(). If
it's not an appropriate time to show the grin when the flag is set, it
  shouldn't be saved until later.
2013-07-02 14:48:03 -05:00
Randy Heit
459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Randy Heit
b9e771576f - Fixed: The time freezer power should do nothing while predicting.
SVN r4333 (trunk)
2013-06-06 20:15:04 +00:00
Randy Heit
e32e44209e - Added SpawnDecal ACS function:
int SpawnDecal(int tid, str decalname, int flags, fixed angle, int zoffset, int distance)
  Traces a line from tid's actor until hitting a wall, then creates a decal there. Returns the
  number of decals spawned.
  * tid = Which actor(s) to start the trace at.
  * decalname = Which decal to spawn.
  * flags =
    * SDF_ABSANGLE = Angle parameter is an absolute angle. Otherwise, it's relative to the origin actor's angle.
    * SDF_PERMANENT = Decal ignores cl_maxdecals. Otherwise, it will eventually disappear.
  * angle = Direction in which to search for a wall. Defaults to 0.0.
  * zoffset = Offset from the middle of the origin actor for the Z height of the decal. Defaults to 0.
  * distance = Maximum distance to search for a wall. Defaults to 64.

SVN r4330 (trunk)
2013-06-05 02:15:21 +00:00
Randy Heit
78437d917c - Added edward850's patch to cope with stalled network games.
SVN r4285 (trunk)
2013-05-25 22:01:26 +00:00
Braden Obrzut
7fd0950ab9 - Changed the way DrawSelectedInventory is casted so that clang doesn't warn about it.
SVN r4275 (trunk)
2013-05-20 21:27:50 +00:00
Randy Heit
2668988870 - Switched to a genericly extensible representation for userinfo.
- Fixed: The playerinfo CCMD did not range check the player number.

SVN r4253 (trunk)
2013-05-12 18:27:03 +00:00
Randy Heit
a5b5172449 - Remove now-unused dropammofactor variable from AWeaponGiver::TryPickup().
SVN r4248 (trunk)
2013-05-04 19:24:24 +00:00
Randy Heit
d86b16d540 - Added a DropAmmoFactor field to WeaponGiver so that ModifyDropAmount() can record the drop
amount modifier into it without fiddling with the actual AmmoGiveX fields.

SVN r4246 (trunk)
2013-05-02 00:24:53 +00:00
Randy Heit
ecdde24bda - Fixed: WeaponGiver did not give half ammo when dropped.
SVN r4238 (trunk)
2013-04-30 03:07:39 +00:00
Randy Heit
92d54ca0fc - Instead of setting the default skybox in every sector without an explicit skybox set, set it
once in the level struct and then use that for sectors with a NULL skybox. This fixes zpack's
  E2M3 so that when it removes its sector stacks, you will get the default skybox in their
  place, since stacked sectors and skyboxes use the same pointers in a sector.

SVN r4224 (trunk)
2013-04-21 02:22:37 +00:00
Randy Heit
c069295f19 - Fixed: When trying to unmorph a monster, make sure the morphed version doesn't have the
TOUCHY flag set, or checking the position of the unmorphed version will kill the morphed
  version, since they will both exist in the same place at the same time, and TOUCHY is
  really touchy about that.

SVN r4219 (trunk)
2013-04-16 20:39:54 +00:00
Randy Heit
a5d770b433 - Dropped items with the DONTGIB flag set will no longer be destroyed by crushers.
SVN r4215 (trunk)
2013-04-16 17:55:17 +00:00
Randy Heit
2fb64108a7 - Fixed: Monsters with STAYMORPHED set would still unmorph.
SVN r4213 (trunk)
2013-04-09 22:45:20 +00:00
Randy Heit
f7c55c0936 - Do copy a monster's special to its morphed version so that it can be properly restored when
it unmorphs.

SVN r4212 (trunk)
2013-04-09 22:40:27 +00:00
Randy Heit
85d4350190 - Fixed: AInventory::Touch() should check for a local player view before trying the pickup,
because if it's a morph powerup, after being picked up, the toucher this function received will
  no longer be the active player.

SVN r4211 (trunk)
2013-04-09 22:24:18 +00:00
Braden Obrzut
316faf59b4 - Fixed: Skin mugshots didn't load. (This adds a texture usetype for skin graphics.)
SVN r4205 (trunk)
2013-03-25 18:20:39 +00:00
Randy Heit
324b13c89b - Added Weapon.MinSelectionAmmo1 and Weapon.MinSelectionAmmo2 to exclude weapons from autoselection
even if they have enough ammo to be used.

SVN r4203 (trunk)
2013-03-24 02:25:12 +00:00
Randy Heit
2874d927b1 - Random spawners no longer move the missile forward when spawning them, because presumably
whatever spawned the random spawner already took care of this.
- Added a maxdist parameter to P_CheckMissileSpawn() to help ensure that it doesn't completely 
  move the spawned missile outside of its shooter (and potentially beyond a wall the shooter
  might happen to be standing next to).

SVN r4194 (trunk)
2013-03-21 03:06:04 +00:00
Braden Obrzut
18bf56d3d7 - Fixed: NULL pointer dereference in DrawGem.
SVN r4186 (trunk)
2013-03-18 21:56:15 +00:00
Randy Heit
be0845acf1 - Moved all BorderNeedRefresh and SB_state updating code into separate functions that won't crash if screen is NULL.
SVN r4167 (trunk)
2013-02-27 03:10:25 +00:00
Braden Obrzut
e6f66e3c93 - Fixed: GCC build.
SVN r4165 (trunk)
2013-02-24 17:17:20 +00:00
Randy Heit
1c9396cd6c - Properly transfer powerups between morphed and unmorphed actors by calling EndEffect() on the
powerups before they transfer ownership, then calling InitEffect() on them after they transfer
  ownership.

SVN r4162 (trunk)
2013-02-23 03:25:33 +00:00
Randy Heit
445bc148b7 - Fixed: r4067 completely disabled weapon switching via A_ReFire.
SVN r4157 (trunk)
2013-02-22 02:42:42 +00:00
Randy Heit
e0db52629d - Fixed: RandomSpawner could hang on lists with monsters when nomonsters is enabled or with 'None' items.
SVN r4155 (trunk)
2013-02-22 01:34:16 +00:00
Randy Heit
7d90117fb9 - Fixed: RandomSpawner should observe the nomonsters flags when deciding what to spawn.
SVN r4153 (trunk)
2013-02-20 02:47:01 +00:00
Christoph Oelckers
e50de1e5fc - fixed: APowerSpeed::Serialize needs to call the super method.
SVN r4150 (trunk)
2013-02-19 08:10:33 +00:00
Randy Heit
f5891dea25 - Added time display for alt hud.
SVN r4148 (trunk)
2013-02-19 02:58:03 +00:00
Randy Heit
bd601a1bc8 - Added NOTRAIL flag for PowerSpeed.
SVN r4146 (trunk)
2013-02-19 02:44:49 +00:00
Randy Heit
ae6b0c6215 - Added IF_NOSCREENFLASH>
SVN r4145 (trunk)
2013-02-19 02:27:41 +00:00
Randy Heit
87dbfb68e9 - Fixed: PCD_MORPHACTOR and P_MorphMonster() needed NULL pointer checks.
SVN r4141 (trunk)
2013-02-19 01:51:07 +00:00
Braden Obrzut
5965c45932 - Fixed: Using interpolation on drawbar would sometimes result in the last pixel hanging longer than it should.
- Improved draw bar clipping fix from last commit.

SVN r4057 (trunk)
2013-02-01 02:16:02 +00:00
Braden Obrzut
b958215b50 - Fixed: DrawBar's clipping didn't take the texture offset into account.
SVN r4056 (trunk)
2013-01-30 00:56:24 +00:00
Randy Heit
83320626e5 - Use "Map time color" for single maps, whether in a hub or not. Only use "Hub time color" for hub times.
SVN r4049 (trunk)
2013-01-26 03:21:09 +00:00
Braden Obrzut
7f81d881f8 - Fixed: DBaseStatusBar::Draw shouldn't run for the AltHud.
SVN r4032 (trunk)
2013-01-23 01:47:06 +00:00
Braden Obrzut
e86f27a7a6 - Fixed: Popups weren't shown on the alt hud.
SVN r4030 (trunk)
2013-01-21 21:02:14 +00:00
Randy Heit
549712e719 - P_DamageMobj() now returns the amount of damage actually done so that the bleed functions
can perform based on the amount of damage actually taken after all modifications are done to
  it. However, if the damage is canceled away, blood will still spawn for the original damage
  amount rather than the modified amount.

SVN r4012 (trunk)
2013-01-02 04:39:59 +00:00
Christoph Oelckers
b3ada01bbd - Added Gez's patch to show the berserk icon on the alt. HUD and added a menu option for this setting.
SVN r4002 (trunk)
2012-12-22 22:37:58 +00:00
Randy Heit
e3b95a99e9 - Fixed: Having a WrapWidth doesn't do much good if you never use it.
SVN r3964 (trunk)
2012-11-10 22:45:15 +00:00
Randy Heit
e398957a4c - Added cybermind's HUD message clipping patch, with numerous changes. There is a new flag
and two new functions, both of which are intended for use in conjunction with SetHUDSize:
  * SetHUDClipRect(x, y, width, height[, wrapwidth]) - Set the clipping rectangle for future
    HUD messages. If you do not specify <wrapwidth>, the HUD message will be layed out as
    normal, but pixels outside the rectangle will not be drawn. If you specify <wrapwidth>,
    then the message will be wrapped to that width. Use SetHUDClipRect(0, 0, 0, 0[, 0]) to
    reset everything
    back to normal.
  * SetHUDWrapWidth(wrapwidth) - Sets the wrapping width for future HUD messages without
    altering the clipping rectangle. If you set the wrapping width to 0, messages will wrap
    to the full width of the HUD, as normal.
  * HUDMSG_NOWRAP - A HUDMessage() flag that disables wrapping for one message. It is
    functionally equivalent to SetHUDWrapWidth(0x7FFFFFFF), except that it only affects the
    message it's attached to.

SVN r3960 (trunk)
2012-11-10 03:18:52 +00:00
Randy Heit
ecf700b47b - Fixed: Corpse queue accounting went awry once things started being kicked out of it.
SVN r3934 (trunk)
2012-11-03 02:21:55 +00:00
Randy Heit
aab12c6b0c - Fixed: Crash when using an inventory bar with the Strife style but no INVCURS graphic.
SVN r3931 (trunk)
2012-11-03 00:12:38 +00:00
Randy Heit
5b8a54e5ee - Fixed: Inventory's AltHUDIcon must be initialized to null, not invalid.
SVN r3912 (scripting)
2012-10-27 01:37:10 +00:00
Braden Obrzut
d833a6015d - Fixed some compiler warnings.
SVN r3901 (trunk)
2012-10-22 23:47:09 +00:00
Randy Heit
38d7b7d203 - Fixed errors and warnings when compiling with GCC. (Unfortunately, the VC++ debug builds
become ungodly slow when using mods with complex DECORATE. The GCC debug builds run just
  fine, however. Hopefully this is something that can be fixed later with an assembly-optimized
  version of the main VM loop, because I don't relish the thought of being stuck with GDB
  for debugging.)
- Fixed: The ACS_Named* action specials were erroneously defined as taking strings instead of
  names.
- Fixed: Copy-paste error caused FxMultiNameState::Emit to generate code that called
  DecoNameToClass instead of DecoFindMultiNameState.
- Updated FxActionSpecialCall::Emit for named script specials.
- Fixed inverted asserts for FxMinusSign::Emit and FxUnaryNotBitwise::Emit.


SVN r3893 (scripting)
2012-10-18 03:19:27 +00:00
Randy Heit
e7efa1d802 - Update to latest version in trunk.
SVN r3890 (scripting)
2012-10-17 04:24:54 +00:00
Randy Heit
f3b40a9f36 - Fixed: WeaponGiver needs to set the MF_DROPPED flag of the spawned weapon to match its own (so
that it can't be used as an infinite source of ammo when sv_weaponstay is true).
- Fixed: WeaponGiver should not remember the given weapon after it is picked up (to avoid giving
  a weapon owned by one player to a different player when sv_weaponstay is true).

SVN r3886 (trunk)
2012-10-11 04:38:52 +00:00
Randy Heit
81ce8b28f2 - Added the Inventory flag IF_NEVERRESPAWN.
SVN r3885 (trunk)
2012-10-11 04:12:35 +00:00
Randy Heit
69fc0142eb - Precache sounds played by ASoundSequence actors. (This includes Heretic's ambient sounds.)
SVN r3845 (trunk)
2012-08-23 00:15:41 +00:00
Randy Heit
39ff34645f - Precache PickupSound, UpSound, and ReadySound.
SVN r3842 (trunk)
2012-08-22 23:51:23 +00:00
Randy Heit
86ef939f82 - Fixed: The new HUD message layers were not declared for the garbage collector.
SVN r3826 (trunk)
2012-08-14 02:25:59 +00:00
Randy Heit
c9b480e0ec - Added lowlevel support for custom alphas for HUD messages.
- Added HUDMSG_ADDBLEND to draw HUD messages with additive blending.

SVN r3824 (trunk)
2012-08-12 23:14:31 +00:00
Randy Heit
4056f0191a - Safely handle unknown HUD message layers.
SVN r3823 (trunk)
2012-08-12 22:54:01 +00:00
Randy Heit
73552f0365 - Added HUD message visibility flags, which are ORed into the type field:
* HUDMSG_NOTWITH3DVIEW : This message does not appear when the 3D view is active.
  * HUDMSG_NOTWITHFULLMAP : This message does not appear when the fullscreen automap is active.
  * HUDMSG_NOTWITHOVERLAYMAP : This message does not appear when the overlay automap is active.
  These flags may be combined, so for example: HUDMSG_NOTWITHFULLMAP | HUDMSG_NOTWITHOVERLAYMAP
  would prevent the message from appearing if any form of automap is active.

- Added HUD message layers, which are ORed into the type field:
  * HUDMSG_LAYER_OVERHUD : This is the default and standard behavior. The message appear on
    top of most HUD elements. This definition is just included for completeness' sake; you
    don't need to explicitly use it.
  * HUDMSG_LAYER_UNDERHUD : The message appears underneath other HUD elements, such as the status bar.
  * HUDMSG_LAYER_OVERMAP : The message appears on top of the fullscreen automap. At the moment,
    this layer is functionally equivalent to using the flags HUDMSG_NOTWITH3DVIEW | HUDMSG_NOTWITHOVERLAYMAP.
    However, if Blzut3 decides to implement support for drawing the automap permanently on a
    second screen, messages on this layer will move to that screen with the automap and be permanently
    visible as long as the map is visible on that other screen.
  These are not flags, so for example HUDMSG_LAYER_UNDERHUD | HUDMSG_LAYER_OVERHUD is not valid.

SVN r3821 (trunk)
2012-08-12 22:24:15 +00:00
Randy Heit
6bb6df483a - Fixed: DSBarInfo::ScreenSizeChanged() must call its supermethod.
SVN r3783 (trunk)
2012-07-22 03:20:34 +00:00
Braden Obrzut
c53a4f3ae1 - Fixed: 1 pixel border was drawn when there was no status bar.
SVN r3782 (trunk)
2012-07-22 03:06:51 +00:00
Randy Heit
6760a3bfe9 - Fixed: hud_scale is supposed use strictly integral scaling factors.
SVN r3776 (trunk)
2012-07-21 02:32:04 +00:00
Randy Heit
ffc4398aa7 - Added a 90 degree offset to all voxels, since Build's compass directions start at north
rather than east.

SVN r3774 (trunk)
2012-07-21 01:34:29 +00:00
Braden Obrzut
340db9160b - Draw 1 pixel of border at the edges of the status bar to prevent imprecision HOMs (only top and bottom for non-widescreen for now).
- The completeborder command is handled at the base statusbar now since it can do so more efficiently.

SVN r3771 (trunk)
2012-07-18 22:30:10 +00:00
Randy Heit
d85604da19 - Update scripting branch to latest version of trunk.
SVN r3767 (scripting)
2012-07-17 02:53:53 +00:00
Randy Heit
a26cd841ae - Fixed: Getting remorphed into a chicken should give you a Tome of Power so that you become a
super chicken. Rawr! The PlayerPawn flag CANSUPERMORPH now enables this.

SVN r3763 (trunk)
2012-07-15 03:10:00 +00:00
Randy Heit
562cf04db2 - Update scripting branch to trunk.
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Randy Heit
8a925757f5 - Added the item flag IF_RESTRICTABSOLUTELY. When this is set, players of the wrong class cannot
pickup an item at all. (For instance, normally players in Hexen can still pick up other players'
  weapons for ammo. With this flag set, they cannot do that either.)

SVN r3751 (trunk)
2012-07-08 02:45:46 +00:00
Randy Heit
5e2b4bddda - Make floatbobbing a purely cosmetic effect that does not alter an actor's real position in the world.
SVN r3744 (trunk)
2012-07-06 03:42:03 +00:00
Randy Heit
e1641da881 - Make APoisonCloud::DoSpecialDamage() and P_PoisonDamage() respect damage factors.
- Pass the damage type to AActor::DoSpecialDamage().

SVN r3717 (trunk)
2012-06-29 04:21:31 +00:00
Braden Obrzut
d652acb9e4 - Fixed: Auxilery statusbars didn't respect the forcescaled flag.
SVN r3699 (trunk)
2012-06-19 05:22:24 +00:00
Braden Obrzut
df7c03b933 - Also allow string constants on font names.
SVN r3678 (trunk)
2012-06-04 22:39:49 +00:00
Braden Obrzut
9b7e44c026 - Fixed: Allow string constants in SBarInfo whenever an actor name is required. The only exception is drawing the inventory icon with drawimage since it would be ambiguous, so I would advise using valid identifiers for class names even if it isn't required. Parenthesized syntax is required to use this feature where applicable.
SVN r3677 (trunk)
2012-06-04 22:26:26 +00:00
Randy Heit
23acb77030 - Fixed: When DHUDMessageTypeOnFadeOut stops typing, it should reset Tics so that
DHUDMessageFadeOut::Tick() starts counting from the time the last line was fully displayed, not
  from the time its first character was displayed.

SVN r3665 (trunk)
2012-05-26 00:55:27 +00:00
Braden Obrzut
4753be45fc - The SBarInfo AspectRatio command should treat 17:10 ratios as 16:10 for better compatibility with existing status bars unless the statusbar explicitly checks for it.
SVN r3663 (trunk)
2012-05-19 08:44:58 +00:00
Christoph Oelckers
3a24790056 - fixed: The newly added checks for printing weapon obituaries failed if the weapon used a puff with a special damage type. To handle this, P_DamageMobj will now pass the damage flags to AActor::Die and from there to ClientObituary so that P_LineAttack - which is a better place to decide this - can flag an attack as coming from a player weapon.
- fixed: The same rules that are used for deciding if a weapon attack took place should be used when checking the PIERCEARMOR flag in P_LineAttack: It should be ignored if the attack doesn't originate from the weapon.

SVN r3649 (trunk)
2012-05-13 07:54:44 +00:00
Randy Heit
da08b14895 - Moved the regeneration powerup's effect out of P_PlayerThink() and into APowerRegeneration::DoEffect().
SVN r3640 (trunk)
2012-05-11 04:05:55 +00:00
Braden Obrzut
432aa7e6bb - Added support for text colorization in SBarInfo.
SVN r3624 (trunk)
2012-05-05 23:01:16 +00:00
Christoph Oelckers
4f255a2652 - fixed: Weapons that were dehacked to use no ammo did not work anymore.
SVN r3622 (trunk)
2012-05-05 14:23:00 +00:00
Christoph Oelckers
cbcc7443c6 - added Xaser's bobbing style options submission.
SVN r3615 (trunk)
2012-05-02 20:58:29 +00:00
Christoph Oelckers
5dbf486806 - added menu entries for HUD flash options.
SVN r3614 (trunk)
2012-05-01 18:20:04 +00:00
Christoph Oelckers
75dc6cb0b2 - changed damage screen blending code so that the same version can be used by any renderer.
- added GZDoom's version of blending for Strife's hazard sectors as an option to the paletteflash CVAR.


SVN r3613 (trunk)
2012-05-01 11:27:54 +00:00
Christoph Oelckers
81b4f782f7 - fixed: powered up weapons must not be added to the weapon slots.
SVN r3612 (trunk)
2012-05-01 10:30:08 +00:00
Randy Heit
1656744827 - Fixed: When PlayerIsGone() destroys a morphed player, it needs to destroy the unmorphed player too.
- Fixed: Destroying a morphed player would try to unmorph the player twice.

SVN r3611 (trunk)
2012-05-01 03:43:14 +00:00
Braden Obrzut
c07eaa4d31 - Fixed typo in SBarInfo WeaponIcon code. That said, I do wonder if the new behavior might break some existing status bar since it might be intended that weapons such as the fists draw no icon.
SVN r3604 (trunk)
2012-04-28 03:13:39 +00:00
Randy Heit
fc6d55c508 - Fixed: PowerTimeFreezer needs to use different bits to mark timefreezing initiated by different
players, or overlapping uses of PowerTimeFreezer will malfunction.

SVN r3599 (trunk)
2012-04-27 01:40:50 +00:00
Christoph Oelckers
b2e5e15d3c - changed icon lookup for weapons in SBARINFO so that it uses the alternative HUD's method if the weapon does not have an icon defined.
SVN r3587 (trunk)
2012-04-22 09:41:06 +00:00
Christoph Oelckers
44519f3972 - added Gez's fixed palette flashes for Hexen.
SVN r3585 (trunk)
2012-04-22 07:58:04 +00:00
Randy Heit
aa227b1df4 - Fixed: DHUDMessageTypeOnFadeOut::Tick() did not skip over color escapes.
SVN r3566 (trunk)
2012-04-15 03:13:07 +00:00
Randy Heit
280ca05554 - 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.

SVN r3562 (trunk)
2012-04-14 03:55:46 +00:00
Randy Heit
66a1b8be9d - Fixed: DSBarInfo did not declare its object pointers for the garbage collector.
SVN r3559 (trunk)
2012-04-14 02:55:47 +00:00
Randy Heit
2b52d686e9 - Use 3D midtexture restrictions when respawning actors.
SVN r3550 (trunk)
2012-04-10 03:28:53 +00:00
Randy Heit
12e23a56f8 - Only adjust the ceiling position of solid actors in A_RestoreSpecialPosition.
SVN r3549 (trunk)
2012-04-10 03:22:07 +00:00
Randy Heit
837126ae57 - Fixed: Do not interpolate from an actor's despawned position to its spawned position when it
respawns.
- Use doubles instead of floats, as appropriate, in PIT_FindFloorCeiling().
- Fixed: The second call to P_FindFloorCeiling() in A_RestoreSpecialPosition and P_NightmareRespawn()
  must only consider 3D floors and midtexes.

SVN r3545 (trunk)
2012-04-08 21:12:14 +00:00
Randy Heit
d0bba7c3c3 - 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.

SVN r3542 (trunk)
2012-04-08 05:39:46 +00:00
Christoph Oelckers
235a09d92a - Added Xaser's weapon patch to check +reload and +zoom in A_WeaponReady.
SVN r3530 (trunk)
2012-04-07 13:07:25 +00:00
Christoph Oelckers
81eef71067 - added FDARI's Default/global damagetype properties submission.
SVN r3523 (trunk)
2012-04-07 12:11:17 +00:00
Christoph Oelckers
b044c134d3 - fixed ammo usage issues with Dehacked modified weapons that switch attack code pointers. Unless Dehacked specifies an 'ammo use' value for a weapon any Dehacked modified weapon determines ammo use by attack function, like Doom did originally, and not by the weapon's AmmoUse property. This also addresses that the Cells/BFG shot value always modified the BFG itself.
- fixed: A_Saw depleted ammo after the attack so it still went through with it, even though it was out of ammo.


SVN r3522 (trunk)
2012-04-07 11:33:35 +00:00
Christoph Oelckers
f6817f9544 - moved S_NoiseDebug call from FStatusBar::Draw to FStatusBar::DrawTopStuff so that it also gets drawn with the alternative HUD and stays on top of other HUD content.
SVN r3520 (trunk)
2012-04-06 10:32:27 +00:00
Christoph Oelckers
7642aba6ce - fixed: It was possible to give inventory items to the base actors of something morphed. This would cause an assertion failure when unmorphing.
SVN r3519 (trunk)
2012-04-06 09:43:18 +00:00
Randy Heit
5358fd594b - Fixed: A_Respawn and P_NightmareRespawn() should not check for collision with world geometry.
The initial spawn did not, so this can prevent respawns of things that were initially
  spawned if they happen to intersect a wall.
- Fixed: Don't respawn actors inside the floor.
- Fixed: The final calls to P_FindFloorCeiling() in P_NightmareRespawn() and A_RestoreSpecialPosition
  also need to pass true as the second parameter. (Because this parameter is onlyspawnpos, not
  onlymidtex.)

SVN r3518 (trunk)
2012-04-06 04:46:45 +00:00
Christoph Oelckers
9f58a15e28 - check for overflows when giving inventory items.
SVN r3515 (trunk)
2012-04-03 09:16:19 +00:00
Randy Heit
f312926e9f - Fixed: Item respawning did not redo floorz/ceilingz for 3D floors after positioning the item.
SVN r3509 (trunk)
2012-04-03 03:35:20 +00:00
Randy Heit
c2b320d408 - Fixed: Item respawning needs to use the same buggy PointOnSide function as P_SpawnMapThing does.
SVN r3484 (trunk)
2012-03-25 03:25:59 +00:00
Randy Heit
23e88c88c9 - Add 17:10 aspect ratio, for 1024x600 screens.
SVN r3482 (trunk)
2012-03-25 02:57:28 +00:00
Randy Heit
9fcc6ebc89 - Fixed: Armor did not use damagefactor "Normal" as a fallback factor.
SVN r3469 (trunk)
2012-03-23 01:20:45 +00:00
Randy Heit
096725503c - 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.

SVN r3466 (trunk)
2012-03-22 22:29:25 +00:00
Randy Heit
b4d3870ce6 - When morphing, transfer the score to the new actor, and when unmorphing, transfer the morphed
actor's score back to the old actor.

SVN r3453 (trunk)
2012-03-18 01:56:48 +00:00
Randy Heit
5f23b4f64a - Fixed: Destroying a weapon that claimed it was its own sister would crash.
SVN r3441 (trunk)
2012-03-15 23:18:13 +00:00
Randy Heit
977b2caa30 - Applied a modified version of FDARI's patch to prevent giving health to dead things:
* P_GiveBody() now takes a max parameter so that it can also do the bulk of the work
    AHealth::TryPickup() previously did.
  * Setting an actor's health to 0 or below with SetActorProperty will now kill the actor
    properly.

SVN r3438 (trunk)
2012-03-15 21:21:00 +00:00
Randy Heit
58f7e72d1b - Restored savegame compatibility that was removed in r3427.
SVN r3435 (trunk)
2012-03-13 02:43:24 +00:00
Christoph Oelckers
e4880d162f - 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.


SVN r3427 (trunk)
2012-03-11 09:08:35 +00:00
Christoph Oelckers
d3981197c5 - moved the FRenderer::StateChanged call from AActor::StaticSpawn to AActor::PostBeginPlay.
- ensured that all classes reach AActor's PostBeginPlay method. Some were missing a Super call.


SVN r3404 (trunk)
2012-03-07 01:03:56 +00:00
Braden Obrzut
9cd0e48ea3 - Fixed: Forgot to initialize inventoryItem to NULL in DrawBar.
SVN r3370 (trunk)
2012-02-18 02:01:28 +00:00
Braden Obrzut
da974c3444 - Allow any parameterized SBarInfo value to use parentheses to help make the syntax a little more consistent.
SVN r3361 (trunk)
2012-02-16 05:01:17 +00:00
Braden Obrzut
25b73ac023 - Added ability to use a constant for the maximum comparator for health and armor drawbars.
SVN r3360 (trunk)
2012-02-16 04:21:43 +00:00
Braden Obrzut
3b8f5e0d39 - Fixed: levellump for drawstring should be all uppercase for consistency.
SVN r3330 (trunk)
2011-12-09 00:59:38 +00:00
Randy Heit
f00f5d2304 - Allow subclasses when checking for PowerWeaponLevel2.
SVN r3314 (trunk)
2011-11-07 00:43:41 +00:00
Christoph Oelckers
3c47a30249 - added Gez's submission for inventory restrictions but changed the added checks to be in the main CallTryPickup function.
SVN r3296 (trunk)
2011-09-23 08:23:51 +00:00
Christoph Oelckers
a0bb1c2546 - added Gez's patch for proper splash checks with 3D-floors.
SVN r3295 (trunk)
2011-09-21 19:39:12 +00:00
Christoph Oelckers
5747406776 - fixed some more potential NULL pointer accesses.
SVN r3286 (trunk)
2011-08-31 06:14:28 +00:00
Braden Obrzut
ba4630f0df - Added ammo1capacity and ammo2capacity to drawnumber.
SVN r3277 (trunk)
2011-08-13 20:30:59 +00:00
Braden Obrzut
c8b8cdd13b - Fixed: SBarInfo string center alignment didn't work with non-monospace fonts.
SVN r3271 (trunk)
2011-07-14 09:31:39 +00:00
Christoph Oelckers
f08188b0e5 - removed unneeded includes of r_local.h.
SVN r3261 (trunk)
2011-07-06 18:12:16 +00:00
Christoph Oelckers
463c276014 - removed more r_ header dependencies from the rest of the code.
SVN r3260 (trunk)
2011-07-06 15:31:05 +00:00
Christoph Oelckers
163301dcd5 - took all includes of farchive.h out of headers. This file will have to be included explicitly in each source file that needs it.
SVN r3259 (trunk)
2011-07-06 14:20:54 +00:00
Christoph Oelckers
42091b1bb3 - 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.


SVN r3258 (trunk)
2011-07-06 13:00:51 +00:00
Christoph Oelckers
03177090c0 - removed some unnecessary r_ header #includes.
SVN r3257 (trunk)
2011-07-06 10:55:04 +00:00
Christoph Oelckers
fbff5ca932 - 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.


SVN r3255 (trunk)
2011-07-06 08:50:15 +00:00
Christoph Oelckers
5c6fd66ed5 - rename src/resources to src/r_data.
SVN r3254 (trunk)
2011-07-06 07:35:36 +00:00
Christoph Oelckers
5bf6398d85 - moved render style and border drawing code out of r_draw.cpp.
SVN r3251 (trunk)
2011-07-05 20:41:53 +00:00
Christoph Oelckers
17ed7aaabd - moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
SVN r3248 (trunk)
2011-07-05 10:02:38 +00:00
Christoph Oelckers
4626492f50 - separated all colormap related code from v_palette.cpp and r_data.cpp into its own file.
SVN r3245 (trunk)
2011-07-03 10:47:35 +00:00
Christoph Oelckers
6748432014 - fixed: The compatibility savegame handling for the lightning code did not read the obsolete LightningLightLevels data from the savegame.
SVN r3244 (trunk)
2011-06-21 07:28:48 +00:00
Randy Heit
2dd4ea8400 - Fixed: LightningLightLevels[] was not just an array of light levels. The latter part was also
a bitmask describing which sectors had lightning. When this was expanded to shorts, the
  result was that random sectors would have their lighting zero'ed after a lightning flash. I
  really have to wonder what I was thinking when I decided to cram two completely unrelated
  things into the same array. Since a short is wide enough, I did away with the bitmask and
  just use SHRT_MAX to mark sectors that weren't lightninged.

SVN r3243 (trunk)
2011-06-21 03:38:32 +00:00
Randy Heit
ee8ca0de87 Fixed: Light levels outside the range [0,255] really do matter.
SVN r3223 (trunk)
2011-06-11 23:58:33 +00:00
Christoph Oelckers
2e4e5bdb28 - added DavidPH's damage type specific damage color submission.
SVN r3220 (trunk)
2011-06-06 22:23:43 +00:00
Randy Heit
2effba9504 - Add NULL pointer to check to FWeaponSlot::PickWeapon() (for when this is called outside of a game).
SVN r3186 (trunk)
2011-04-17 17:10:47 +00:00
Braden Obrzut
c8e8edb1c5 - Added a prefix option to drawnumber.
- Added a flag to remove the cap on drawnumber (this means on the lower length numbers will be drawn).

SVN r3165 (trunk)
2011-03-12 02:20:31 +00:00
Christoph Oelckers
1ea5cc8bd8 - added a function to execute action specials and changed all calls to use this function. This was done to make it easier to check such calls.
SVN r3152 (trunk)
2011-02-13 10:18:28 +00:00
Christoph Oelckers
898b0d679d - added a new 'playertype' command for SBARINFO that checks by class type not display name.
- fixed: Status bar display for Hexen's fourth weapons only worked when they were obtained by picking up the weapon pieces.


SVN r3080 (trunk)
2010-12-27 16:14:26 +00:00
Christoph Oelckers
231e7a1c6d - added a new render style 'Shadow'. Essentially it's just a black translucent stencil with an alpha of 0.3. The purpose of this style is to be used as a software renderer approximation of GZDoom's spectre effect.
- allow setting 'Shadow' as default fuzz effect
- changed CVAR conversion that strings 'false' and 'true' get evaluated as integers 0 and 1 respectively so that changing boolean CVARs to int does not destroy their values.


SVN r3076 (trunk)
2010-12-25 23:27:26 +00:00
Braden Obrzut
bada44a291 - Fixed: The background on some bars was cliped incorrectly.
SVN r3065 (trunk)
2010-12-20 22:29:15 +00:00
Christoph Oelckers
bd0378a44b - added Gez's Hexenarmor on AltHud submission.
SVN r3061 (trunk)
2010-12-20 10:07:44 +00:00
Christoph Oelckers
c7c4377600 - clamp parameter to P_GiveBody to prevent overflows.
SVN r3058 (trunk)
2010-12-17 22:30:47 +00:00
Christoph Oelckers
a06b88fa50 - added new IF_UNTOSSABLE flag for items that should be removable by any inventory function but not be droppable by the 'drop' CCMD.
SVN r3049 (trunk)
2010-12-16 08:21:38 +00:00
Christoph Oelckers
b42952b85c - added a 'restart' CCMD that allows restarting the engine with different WADs being loaded without quitting first
SVN r3042 (trunk)
2010-12-15 11:45:39 +00:00
Christoph Oelckers
770a879f6a - 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.

SVN r3039 (trunk)
2010-12-15 00:09:31 +00:00
Braden Obrzut
ee20d0ea7a - 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.

SVN r3035 (trunk)
2010-12-13 17:09:35 +00:00
Christoph Oelckers
c6525a2271 - 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.


SVN r3034 (trunk)
2010-12-13 10:02:45 +00:00
Christoph Oelckers
0715b7dfc6 - 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.


SVN r3030 (trunk)
2010-12-12 15:43:35 +00:00
Christoph Oelckers
ef133dc682 - changed skybox code to use the alpha from the sector plane.
- removed alpha from skybox viewpoints.


SVN r2993 (trunk)
2010-11-07 17:05:21 +00:00
Christoph Oelckers
7dd8a0fce9 - replaced all calls to sqrtf with sqrt. Also changed P_RadiusAttack to use doubles for all floating point calculations.
SVN r2989 (trunk)
2010-11-07 14:39:09 +00:00
Randy Heit
18205c82a6 - 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.

SVN r2973 (trunk)
2010-11-03 02:27:46 +00:00
Christoph Oelckers
2a0c4b9f32 - added a CVAR to decide when to show the map label (ExMy, MAPxx) on the automap HUD. Available settings are Never, Always and Only for hubs.
- made all crosshair related CVARs game specific. They were all global to all supportesd games.


SVN r2964 (trunk)
2010-10-24 07:31:39 +00:00
Braden Obrzut
9e2e9262a4 - Fixed: Crash in Linux due to passing FStrings as character arrays.
- Fixed: More places where SBarInfo used the unscaled information from graphics.

SVN r2948 (trunk)
2010-10-16 17:04:18 +00:00
Christoph Oelckers
650da24364 - fixed: The alternative HUD's number printing function did not take texture scaling into account when calculating the printing position.
SVN r2947 (trunk)
2010-10-16 16:21:19 +00:00
Christoph Oelckers
352a926ddf - made all references to the GameNames array an inline function call to allow easier modification later
- changed all parsers that check for the current game to use the same function for the game check.
- fixed: The TEAMINFO parser handled 'game Any' incorrectly.


SVN r2934 (trunk)
2010-10-12 07:14:31 +00:00
Braden Obrzut
45f3ef91d3 - Fixed: If a log popup is defined, it should not draw the default log message.
- Fixed: The counters in draw(selected)inventory(bar) should not have been limited to 3 characters.
- Added: drawshadow() to drawinventorybar.
- Added: itemflash to drawselectedinventory to use Strife's cursor fade.
- Added: time and logtext to drawstring.  In addition a linebreaks(size) flag was added.

SVN r2928 (trunk)
2010-10-09 15:57:04 +00:00
Braden Obrzut
5f8c2f6310 - Added: keys, accuracy, stamina, and savepercent to drawnumber. (Savepercent is also available for drawbar.)
SVN r2924 (trunk)
2010-10-08 23:09:27 +00:00
Christoph Oelckers
16fa8cc249 - Am I the only one who thinks that static_casts can create really clunky code? (Thanks, GCC, for your overly paranoid warning settings that necessitate such ugliness. :( )
SVN r2844 (trunk)
2010-09-22 06:52:48 +00:00
Braden Obrzut
1e83634089 - Fixed: The aspectratio SBarInfo command never ticked its contents.
SVN r2842 (trunk)
2010-09-21 20:07:03 +00:00
Christoph Oelckers
583cbd49a6 - try to encapsulate access to the player class's display name for printing purposes.
SVN r2839 (trunk)
2010-09-21 09:43:54 +00:00
Braden Obrzut
0619a2677e - Fixed: SBarInfo couldn't print extended ASCII characters.
SVN r2838 (trunk)
2010-09-20 23:00:27 +00:00
Christoph Oelckers
74525ab1d6 - moved some info into the GAMEINFO section:
* the sprite used for 'pause'.
 * the factor with which a monster's health is multiplied to decide if it's supposed to be gibbed,
 * the decision to make monsters run faster in nightmare mode.
- moved the hard coded lock messages for lock types 102 and 103 into the language lump.
- fixed: Raven's fast monsters could become slower in Nightmare if they had very short walking states.


SVN r2834 (trunk)
2010-09-19 10:39:34 +00:00
Christoph Oelckers
e1de9f0633 - 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.

SVN r2830 (trunk)
2010-09-19 06:34:15 +00:00