Commit graph

1210 commits

Author SHA1 Message Date
Christoph Oelckers
cd8213f067 - fixed: The skybox pointer in FSectorPortal must at least be initialized to nullptr when the struct is deserialized, to avoid an access violation if the partially initialized data is used. This can happen when P_SerializeThinkers destroys the original thinkers that were created on map load.
- removed the sector loop for deleting skybox references in ASkyViewpoint::Destroy. Since this only refers to the sectorPortals array it is completely redundant as the following code will clear them just as well.
2016-05-13 10:07:01 +02:00
Christoph Oelckers
078e27e61f - fixed: The mugshot's angle was inverted. 2016-05-11 14:04:21 +02:00
Christoph Oelckers
be3b126f7b - fixed: Order of skybox and portal initialization was not well defined. It was always the last item to get initialized that got set. Changed it so that skyboxes cannot override portals at all. 2016-05-03 19:42:53 +02:00
Christoph Oelckers
86b647ed41 - added map name display to IDMYPOS. 2016-04-30 13:03:08 +02:00
Christoph Oelckers
2161ad2c4b - fixed: P_GetMapColorForKey did not check for keys that worked as an alias defined through their species. 2016-04-30 12:48:51 +02:00
MajorCooke
b9687b4a57 Compiler fix 2016-04-29 06:33:38 -05:00
Christoph Oelckers
4a72c7d2f1 - fixed: Decals may not be serialized before thinkers.
Since decals may have thinkers attached this will crash when such a savegame gets loaded, because the thinker lists get reset in P_SerializeThinkers, deleting any thinker that already was processed.
I also added an error message that immediately aborts the save process if such an out-of-sequence thinker is attempted to be written out.
This obviously breaks savegame compatibility again...
2016-04-29 11:44:17 +02:00
MajorCooke
6f11a65893 - Converted rollIntensity from int to double.
- It was already a double in the save version serialization so nothing had to be changed there.
2016-04-27 12:58:18 -05:00
MajorCooke
0fc7055f51 - Fixed: Quakes with rolling were not unique; they borrowed from any other quakes that didn't have rolling, thus preventing the rolling from falling off properly. 2016-04-27 10:13:30 -05:00
Christoph Oelckers
3a17d6aa78 - fixed savegame compatibility. 2016-04-27 13:47:30 +02:00
MajorCooke
be9b25e760 Use ViewRoll instead of CamRoll, and removed CamRoll entirely. Begin work on interpolation. 2016-04-27 13:42:15 +02:00
MajorCooke
c972caa9f3 - Added rollIntensity and rollWave to A_QuakeEx.
- Instead of moving the camera around, it rolls the camera.
- This only has an effect in GZDoom.
2016-04-27 13:42:15 +02:00
Christoph Oelckers
262f3575ae - added a "custom" flag to drawmugshot so that the user-specified image can be forced to be used. 2016-04-27 13:16:35 +02:00
Christoph Oelckers
0f99d7d73f - floatified the few remaining linedef and sector properties that still were fixed_t. The only fixed point things left in r_defs.h are the nodes and a fixed point setter function for vertex_t, which is still needed by the node builder. 2016-04-24 12:15:09 +02:00
Edoardo Prezioso
ad9b9479ec - Fixed erroneous P_UndoPlayerMorph calls.
In some places, P_UndoPlayerMorph was called with the 'force' argument placed in the 'unmorphflag' parameter, so that 'forced' unmorphs would be not completely forceful.

I hope no mod relied on this weirdness...
2016-04-21 11:25:08 +02:00
Christoph Oelckers
082042818b - refactored sector portal data so that it does not rely on actors.
This is necessary because otherwise the level data cannot be serialized before the actors.
2016-04-20 19:20:11 +02:00
Edoardo Prezioso
8dee0be9ab - Fixed the morphed player actor friendliness.
It wasn't inherited from the original player actor object.
2016-04-18 16:30:13 +02:00
Christoph Oelckers
e1a683b9ec - fixed minimum damage check in PowerDamage. 2016-04-12 15:49:13 +02:00
Christoph Oelckers
db86385cf6 - removed STACK_ARGS.
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +02:00
Christoph Oelckers
1f1a0ca847 - fixed incorrect check for negative damage in APowerProtection::ModifyDamage. 2016-04-09 21:57:35 +02:00
Christoph Oelckers
330ca07f69 Merge branch 'master' into floatcvt 2016-04-03 22:11:50 +02:00
Christoph Oelckers
3ee42f6aa6 - removed all savegame compatibility handling, since the data is just too different from what it was before to try to convert it. 2016-04-03 20:55:23 +02:00
Braden Obrzut
42edd7db22 - Added IfInvulnerable SBARINFO command (modified from Blue-Shadow's pull request) 2016-04-02 23:47:44 -04:00
Braden Obrzut
81f29556bf - Refactored SBarInfo flow control so negatable commands are handled statically.
- Made TArray movable and TDeletingArray a move only type.
2016-04-02 23:43:56 -04:00
Christoph Oelckers
0a238e7e18 Merge branch 'master' into floatcvt 2016-03-28 22:53:26 +02:00
Christoph Oelckers
a92de84cf7 - this stuff should not have been saved... 2016-03-28 22:53:10 +02:00
Christoph Oelckers
d87f861e87 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 22:23:41 +02:00
Christoph Oelckers
263051a77b - removed a few unnecessary #includes. 2016-03-28 22:20:25 +02:00
Christoph Oelckers
6ab95da2fc - fixed copy/paste coordinate screwup in moving camera code. 2016-03-27 14:11:46 +02:00
Christoph Oelckers
c2e7858e05 - looks like the oldz parameter in UpdateWaterLevel is not needed at all... 2016-03-26 01:13:36 +01:00
Christoph Oelckers
fb8e03d5eb - floatified FLineOpening.
- some smaller fixes.
2016-03-25 18:43:37 +01:00
Christoph Oelckers
8b6b5e7b1c - preparation for upcoming work: rename the fixed point versions of PosRelative. 2016-03-25 14:18:50 +01:00
MajorCooke
a9ef8cc637 Fixed A_QuakeEx falloff not working properly. 2016-03-24 19:04:51 +01:00
MajorCooke
c8ba6f0611 Fixed quake falloff not working in floatcvt branch. 2016-03-24 18:30:23 +01:00
Christoph Oelckers
4a79602325 - floatification of g_shared.
- rewrote FraggleScript's movecamera function because it was utterly incomprehensible.
2016-03-24 01:46:11 +01:00
Christoph Oelckers
6557f3b8c8 - floatified quake and weapon code 2016-03-23 20:45:48 +01:00
Christoph Oelckers
2dbd79cc8d - floatified the return data from Trace(). 2016-03-23 18:07:04 +01:00
Christoph Oelckers
70d87f94f2 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_acs.cpp
#	src/r_utility.cpp
#	src/thingdef/thingdef_codeptr.cpp
#	src/version.h
2016-03-23 14:15:24 +01:00
Christoph Oelckers
0d1fbcf65f - flattened the following commits by Major Cooke:
* Added falloff parameter to A_QuakeEx.
- Treated just like A_Explode's 'fullradiusdamage' parameter, where the quake will fall off from this distance on out to the edge. Default is 0, which means no falloff.
- Credits to MaxED and Michaelis for helping.

* - Added HighPoint parameter to QuakeEx.
- Allows fine tuning of where the quake's maximum or minimum occurs, in tics. This must be a range between [1, duration).
- For up or down scaling quakes, this sets the quake to reach maximum sooner or start minimizing later.
- For both, this indicates when the strongest will occur. Default is 0, or in the middle.

The original commits were nearly impossible to find in the convoluted commit tree, so I think it's preferable to have one clean commit instead.
2016-03-23 14:03:10 +01:00
Christoph Oelckers
f8cf4bcf3d - trimmed down the AActor Spawn interface and removed all non-float variants.
This still needs some cleanup in a few calling functions.
2016-03-23 10:42:41 +01:00
Christoph Oelckers
2a0d5a621a - floatified some stuff in g_shared.
Note: This commit does not handle z-spawn positions correctly.
2016-03-23 00:53:09 +01:00
Christoph Oelckers
301f5abadc - floatified the decal code. 2016-03-22 22:07:38 +01:00
Christoph Oelckers
af427b80bd - did some cleanup and consolidation on damage factor code while converting it all to floating point.
- made armor properties floating point.
2016-03-22 16:35:41 +01:00
Christoph Oelckers
1eb106e2c5 - floatification of some alpha parameters. 2016-03-22 13:35:16 +01:00
Christoph Oelckers
a652c061f6 - converted g_strife to full floating point use, except the floor height changing stuff in A_LightGoesOut. 2016-03-22 12:42:27 +01:00
Christoph Oelckers
f1602882c8 - added a no-parameter Spawn function for inventory items that never show on the map, because the coordinate and replacement parameters will always be 0 for them.
- started converting g_hexen.

Most importantly this removes CHolyWeave as it is just a specialized version of A_Weave with far more convoluted use of parameters.
2016-03-21 14:00:05 +01:00
Christoph Oelckers
4e60ea0252 - made AActor::alpha a floating point value
- replaced some uses of FRACUNIT with OPAQUE when it was about translucency.
- simplified some overly complicated translucency multiplications in the SBARINFO code.
2016-03-21 12:18:46 +01:00
Christoph Oelckers
2d2eeb49f0 - make weapon sprite offsets floats. 2016-03-21 01:16:34 +01:00
Christoph Oelckers
1ff4bb419c - made AActor::gravity and FMapThing::gravity floats. 2016-03-21 00:51:19 +01:00
Christoph Oelckers
289cdfbefd - made AActor::floorclip a double. 2016-03-20 23:42:27 +01:00
Christoph Oelckers
cff8e51811 - converted AActor::height to double. 2016-03-20 20:55:06 +01:00
Christoph Oelckers
8362c6a856 - conversion of floorz to double. 2016-03-20 19:52:35 +01:00
Christoph Oelckers
b81080ce08 - converted most of g_heretic to float. 2016-03-20 16:51:42 +01:00
Christoph Oelckers
0bdb65c477 - made AActor::radius a double.
This means that all files in g_doom are now fully converted.
2016-03-20 15:04:13 +01:00
Christoph Oelckers
ec58e70078 - replaced ceilingz with a floating point variable, also in FCheckPosition. 2016-03-20 13:32:53 +01:00
Christoph Oelckers
ada5097e34 - converted scale variables in AActor, FMapThing and skin to float. 2016-03-20 12:13:00 +01:00
Christoph Oelckers
a4f5846c7c - replaced all uses of P_ThrustMobj with the already implemented AActor::Thrust method and deleted this function.
- for quakes, making a distinction between circular and elliptic thrust is pointless, so the checks were removed and both paths consolidated. The elliptic code will do exactly the same for circles and there isn't even a performance difference.
2016-03-20 01:25:47 +01:00
Christoph Oelckers
a43dccaa86 Merge branch 'master' into floatcvt
# Conflicts:
#	src/g_hexen/a_heresiarch.cpp
#	src/g_shared/a_quake.cpp
2016-03-20 00:56:09 +01:00
Christoph Oelckers
51b05d331d - replaced AActor::vel and player_t::Vel with a floating point version.
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.

Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Christoph Oelckers
0ef9ee23b1 - fixed: When the intensity values of DEarthquake were converted to fixed point, its uses in DEarthquake::Tick were not changed along. 2016-03-19 12:01:10 +01:00
Christoph Oelckers
51a98d0e5d - cleaned up the mugshot code's angle checks (I hope these are correct because the old code was so confusing...) 2016-03-18 10:08:18 +01:00
Christoph Oelckers
39de225fa7 - restored old FaceMovementDirection. 2016-03-17 00:46:12 +01:00
Christoph Oelckers
aa09cbdada - renamed some functions and fixed a few more conversion errors. 2016-03-17 00:07:37 +01:00
Christoph Oelckers
b140d71c49 - several fixes. 2016-03-16 22:29:35 +01:00
Christoph Oelckers
29a7fe33f3 - fixed some minor issues found during reviewing the code. 2016-03-16 14:10:13 +01:00
Christoph Oelckers
671291227e - first stage of converting actor angles to float complete
Patched up everything so that it compiles without errors again. This only addresses code related to some compile error. A large portion of the angle code still uses angle_t and converts back and forth.
2016-03-16 12:41:26 +01:00
Christoph Oelckers
c64eee5b15 Merge branch 'master' into float
# Conflicts:
#	src/g_heretic/a_hereticweaps.cpp
#	src/p_map.cpp
#	src/p_mobj.cpp
#	src/p_things.cpp
#	src/portal.cpp
2016-03-15 00:16:13 +01:00
Christoph Oelckers
651817fad7 - made AActor::velx/y/z and player_t::velx/y fixedvec's.
(This commit is 95% search & replace with only a few places where velz was used as a local variable changed.)
2016-03-12 14:11:43 +01:00
Christoph Oelckers
161d03231a - added custom math routines for reliability. 2016-03-11 15:45:47 +01:00
Christoph Oelckers
f8ebfb541e - use typedefs for TVector<double> etc.
(Better have this out of the way before messing around with this stuff...)
2016-03-10 20:45:45 +01:00
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