Christoph Oelckers
fd7e6ae604
- fixed copy&paste error in LowestFloorAt.
2016-02-16 23:11:20 +01:00
Christoph Oelckers
8d53f6176e
- fixed conditions for PortalBlocksView. Created a new function PortalBlocksSight that's relevant for playsim-related sight checks.
2016-02-16 22:57:03 +01:00
Christoph Oelckers
93b3982c62
Merge branch 'zmaster' into portal
2016-02-16 22:05:50 +01:00
Christoph Oelckers
6d8879f302
- missing #includes.
2016-02-16 22:04:32 +01:00
Christoph Oelckers
ae02b2fcaf
- added NextHighestCeiling/NextLowestFloorAt functions. Not tested yet!
2016-02-16 21:00:34 +01:00
Christoph Oelckers
5fd6ccb970
- fixed incorrect #include.
2016-02-16 20:53:52 +01:00
Randy Heit
0f70d10521
Add 'float' and 'state' as possible return types for action functions
2016-02-16 12:09:00 -06: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
45108e9bb8
- added two missing files to CMakeLists.txt.
2016-02-16 12:52:45 +01:00
Christoph Oelckers
22e8678903
- refactored P_CollectConnectedGroups to avoid frequent heap allocations for the common cases
...
* the temporary checking arrays are now static
* the array that gets the returned values only starts allocating memory when the third touched sector group is found. The most common cases (no touched portal and one touched portal) can be handled without accessing the heap.
- did some streamlining of AActor::LinkToSector:
* there's only now version of this function that can handle everything
* moved the FIXMAPTHINGPOS stuff into a separate function.
* removed LinkToWorldForMapThing and put all special handling this function did into P_PointInSectorBuggy.
2016-02-16 12:51:10 +01:00
Christoph Oelckers
b9037ef3ee
- added a check to detect self-referencing sectors in the portal setup code because those are problem cases.
2016-02-15 21:49:46 +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
5664cee2e5
- fixed: The check for leftover portal sectors was not correct. It only checked the sectors the portal thing was in and those were already processed in the first phase.
...
- improved: If there's an offset mismatch, do not print group numbers as they are utterly meaningless. Instead look for a sector in each group and report those.
- added a copyright notice and some comments to portals.cpp.
2016-02-15 12:35:40 +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
405db83393
- added a function which collects all portal group an actor would touch if standing in a given position.
2016-02-15 00:53:59 +01:00
Christoph Oelckers
0dce22ce85
- some portal considerations.
2016-02-14 21:02:18 +01:00
Christoph Oelckers
5af53c0e62
- fixed a few more sector movers which calculated their movement at (0,0) instead of inside the sector.
2016-02-14 18:53:00 +01:00
Christoph Oelckers
126c80d597
- create the portal group table.
2016-02-14 18:16:59 +01:00
Christoph Oelckers
c338b9cde3
- some more portal preparation .
2016-02-14 16:26:27 +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
993a840630
- bring formatting in line with GZDoom's version of this function.
2016-02-14 12:33:47 +01:00
Christoph Oelckers
e42dbb5087
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/sound/oalsound.cpp
2016-02-13 14:56:03 +01:00
Christoph Oelckers
340faef1ec
- fixed a few 64-bit warnings.
2016-02-13 13:37:28 +01:00
alexey.lysiuk
ce8b2974a3
Handle inability of OpenAL implementation to return number of available sources
...
OpenAL specification doesn't require alcGetIntegerv() to return meaningful values for ALC_MONO_SOURCES and ALC_MONO_SOURCES.
At least Apple's OpenAL implementation returns zeroes, although it can generate reasonable number of sources.
2016-02-13 11:11:02 +02:00
Randy Heit
01bed05275
Do not use fast math for the node builder
...
- The node builder generates data used by the playsim, so should be as
consistant as we can manage across compilers and architectures.
2016-02-12 16:27:47 -06:00
Christoph Oelckers
f7e27032dc
- fixed: The default vertical spread for the BFG tracers was set to 32*FRACUNIT instead of 32*ANGLE_1.
2016-02-12 18:55:18 +01:00
Christoph Oelckers
b818624f58
- enabled fast math for all known non-playsim files in the CMake project.
2016-02-12 12:51:09 +01:00
Christoph Oelckers
e6328c8432
- enable fast floating point math in the subprojects that can benefit from it: dumb, gme and gdtoa.
2016-02-12 02:02:48 +01:00
Christoph Oelckers
d25455736a
- store floating point parameters for DECORATE properties as doubles.
2016-02-12 01:21:29 +01:00
Christoph Oelckers
73cbc59dd9
- replaced double2fixed function with FLOAT2FIXED macro.
2016-02-11 22:57:26 +01:00
Christoph Oelckers
bf03ea496e
- fixed: instant sector movement actions must actually delete the created interpolation right away and not wait until it deletes itself.
2016-02-11 22:03:09 +01:00
Christoph Oelckers
c5c4ec83c2
- ensure thar PRINTNAME_LEVEL always uses uppercase.
2016-02-11 21:45:34 +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
34255908b0
- fixed: Initialization of spawn IDs from MAPINFO and DECORATE was in the wrong order. (looks like a badly resolved merging conflict)
2016-02-11 20:41:04 +01:00
Christoph Oelckers
584147b8bb
- removed all occurences of FVector2 and FVector3 from the playsim code.
2016-02-11 20:01:12 +01:00
Christoph Oelckers
64dabc3c0b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-11 19:13:48 +01:00
Christoph Oelckers
33cdb4d816
- replaced all single precision floats in p_slopes.cpp with doubles.
...
I don't think we want to have precision and reliability issues in such a vital part of the engine...
2016-02-11 19:13:29 +01:00
MajorCooke
dcfdb50307
- Fixed: checkz wasn't used.
...
- Use 0 instead of false.
2016-02-10 18:04:59 -06:00
MajorCooke
fefdb266cd
- Fixed: The coordinates need to be converted to doubles first. Also use length instead of length squared.
2016-02-10 17:48:17 -06:00
MajorCooke
e04fe06226
GetDistance Non-Action (Double version)
...
- Added GetDistance(bool checkz, ptr = aaptr_target).
- Returns the distance of an actor. Must be target, master or tracer.
2016-02-10 17:13:50 -06:00
Christoph Oelckers
646f7a1f90
Merge branch 'ChaseDontTurnScript' of https://github.com/MajorCooke/zdoom
2016-02-10 22:47:41 +01:00
Christoph Oelckers
d712686122
- fixed: A_CountdownArg could no longer access the first arg.
...
The latest bit of refactoring turned a '<0' check into '>0', while it should have been '>=0'.
2016-02-10 21:56:45 +01:00
Christoph Oelckers
7e45c49c2f
- fixed: The expression evaluator must ignore the action function symbol for ACS_NamedExecuteWithResult.
...
This is necessary because otherwise the incompatible action function will take precedence over the special handling for this inside FxFunctionCall.
2016-02-10 21:48:28 +01:00
Christoph Oelckers
4428d073d5
- fixed: code generation for floating point negation was wrong.
2016-02-10 20:08:19 +01:00
Christoph Oelckers
1c0cd16d3f
- fixed: AActor::SetState must restore the 'state' member to the actual calling state after it detected OF_StateChanged.
...
This is needed to decide how the '####' and '----' placeholders should behave.
2016-02-10 18:13:20 +01:00
Christoph Oelckers
d18a839836
- to prevent further occurences of ValueType == 0 being misinterpreted, change it to signify unknown value type and ensure that any real type is non-zero.
2016-02-10 17:11:50 +01:00
Christoph Oelckers
85a3cd984d
- fixed: ParseParameter should not make any assumptions about the necessity of a type cast between int and float.
...
With late resolving it cannot be guaranteed at this point and caused some incorrectly compiled code. Since the cast gets optimized away anyway when not needed there's no point being this selective with applying it.
2016-02-10 17:06:33 +01:00
Christoph Oelckers
a7254a4af5
- removed the conversion operators from the fixedvec structs (again)
...
They must have been accidentally left in by not properly resolving a merge conflict, I guess.
2016-02-10 14:43:04 +01:00
Christoph Oelckers
d1b2ef5368
- some refactoring of olddecorations.cpp to move some repeated code into a subfunction.
2016-02-10 14:38:08 +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
dd55e0a4c4
- cleaned up a_painelemental.cpp.
...
No need to expose VM stuff this openly here.
2016-02-10 13:34:16 +01:00
Christoph Oelckers
e2de258498
- remove debug output.
2016-02-10 12:09:14 +01:00
Christoph Oelckers
3e5d1feecd
- fixed: A_CheckProximity could return unmorphed player pawns of currently morphed players.
2016-02-10 11:58:54 +01:00
Christoph Oelckers
dde9336235
- silence floating point conversion warnings in oalsound.cpp
2016-02-10 11:29:32 +01:00
Christoph Oelckers
15177c34f9
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-10 10:05:14 +01:00
Christoph Oelckers
bc616dbf06
- fixed: APowerupGiver::PowerupType also needs replacement handling for placeholder classes.
2016-02-10 10:04:52 +01:00
MajorCooke
e043a89f15
Forgot to save this with the last commit.
2016-02-09 23:19:28 -06:00
MajorCooke
e73a737350
When about to hit a new floor, don't change the direction of the actor if STOPIFBLOCKED is up.
2016-02-09 23:16:15 -06:00
MajorCooke
ebe6cef7cc
This was a little too far in.
2016-02-09 22:57:54 -06:00
MajorCooke
4fcc9efea0
- Fixed A_Wander calling --movecount too soon.
...
- Also added NORANDOMTURN flag accountability for A_Wander.
2016-02-09 22:45:59 -06:00
Braden Obrzut
65b70dedaa
- Fixed: Heretic powered firemace balls didn't seek their target.
2016-02-09 23:34:14 -05:00
Braden Obrzut
f33993dcb5
- Load OpenAL at runtime for all platforms because I can't think of a good reason not to handle them all the same right now.
2016-02-09 22:40:19 -05: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
ff70cf1ee7
- fixed: Resolving non-constant DECORATE expressions must be delayed until everything has been parsed.
...
If done as before, forward-declared classes cannot be found, and the immediate resolving is only needed for constant expressions, so explicitly enabling it in the 4 places where it is needed ensures that those unresolvable expressions remain intact until the final processing pass righr before the code generator is started.
2016-02-09 19:02:44 +01:00
Christoph Oelckers
5261acce1d
- undid incorrect part of CheckClass fix.
2016-02-09 17:55:43 +01:00
Christoph Oelckers
bcfb437302
- fixed message output.
2016-02-09 15:06:55 +01:00
Christoph Oelckers
78ac944242
- allow optional terrain definitions
...
... because any Doom terrain WAD would otherwise spam the logfile with messages when running an error log batch.
2016-02-09 14:38:42 +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
Christoph Oelckers
6c92525fcd
- added an option to FindClassTentative to make eventual failure to declare the missing class non-fatal.
...
Damn those old mods with broken actor references. Thanks to those FxClassTypeCast may not throw fatal errors.
2016-02-09 12:26:00 +01:00
Christoph Oelckers
26b657b637
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-09 11:51:39 +01:00
Christoph Oelckers
8823b60c0d
- fixed: FxClassTypeCast must use FindClassTentative to get the class type.
...
This function may well be invoked before a class is actually defined, so it needs to create a placeholder to be filled in later.
2016-02-09 11:51:19 +01:00
John Palomo Jr
88f6157984
Fixed: Player color slider size/position was wrong when using language strings.
2016-02-09 02:49:28 -05:00
Randy Heit
f0b4962052
Fix: CountInv must return a value if the caller's expecting one
2016-02-08 22:21:42 -06:00
Randy Heit
8d159b8506
Add OF_StateChanged handling to NoDelay
2016-02-08 22:11:42 -06:00
coelckers
1ca2293983
Merge pull request #538 from MajorCooke/CountInv
...
CountInv(itemtype, ptr_select)
2016-02-08 21:06:30 +01:00
Christoph Oelckers
0a7b17c469
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-08 21:01:46 +01:00
Christoph Oelckers
ceba4b0dae
- fixed: old style DECORATE must use exactly the same method to store the damage function as the modern version.
...
The difference in handling crashed with Daedalus.
2016-02-08 21:01:25 +01:00
MajorCooke
124e0458cf
- Fixed: A_CheckProximity could trigger an assert because the flags and ptr were not flagged as optional.
...
- Fixed: CPXF_ANCESTOR no longer worked for some reason because apparently the IsAncestorOf() functionality has changed. Use IsKindOf instead.
2016-02-08 10:26:18 -06:00
Christoph Oelckers
c940c2ba81
- fixed: The counters for the whirlwind were initialized too late, the first time they are needed is in P_CheckMissileSpawn, which gets called from inside P_SpawnMissile. Also took the opportunity and moved them to properties that are accessible from DECORATE.
2016-02-08 13:34:54 +01:00
Christoph Oelckers
43b4d452db
Merge branch 'ChaseThresholdScript' of https://github.com/MajorCooke/zdoom
...
# Conflicts:
# src/version.h
2016-02-08 13:06:08 +01: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
Randy Heit
7b42093dc9
Revert "- fixed incorrect code generation for '||' operator (at least I hope it's fixed now.)"
...
This reverts commit 2a89a9f1d8
.
2016-02-07 21:59:45 -06:00
Randy Heit
ecef5647d4
Merge branch 'scripting'
2016-02-07 21:58:38 -06:00
Randy Heit
138cdccaf9
Fix code generation for && and ||
...
- The test condition should be the same for both sides of the operators.
2016-02-07 21:56:56 -06:00
Christoph Oelckers
2a89a9f1d8
- fixed incorrect code generation for '||' operator (at least I hope it's fixed now.)
2016-02-07 21:36:02 +01:00
Christoph Oelckers
5b74d417fa
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-07 16:32:11 +01:00
Christoph Oelckers
e3bf1dd92b
- for ARM compatibility, direct float -> unsigned int conversions should be avoided.
2016-02-07 16:31:55 +01:00
alexey.lysiuk
7fa5cb788b
Fixed regression with getting/setting user variables
...
See http://forum.zdoom.org/viewtopic.php?t=50727
2016-02-07 15:32:55 +02:00
Christoph Oelckers
f625be61a2
- fixed: CMake should not disable OpenAL on Windows if it can't find the library (which is neither needed nor requested anymore.)
2016-02-07 13:30:28 +01:00
Christoph Oelckers
111e97e47c
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-07 12:27:29 +01:00
Christoph Oelckers
fcb7553166
- fixed offset calculation in A_VileAttack.
2016-02-07 12:27:11 +01:00
coelckers
f2f65d7f31
Merge pull request #545 from MajorCooke/facefix
...
A_Face Fix
2016-02-07 11:49:19 +01:00
Christoph Oelckers
7226a23d08
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-07 11:36:28 +01:00
Christoph Oelckers
3675492ab4
- fixed DEHACKED code pointer validation for real.
...
The first fix missed a second place where this happened and was incomplete.
Anything usable by Dehacked must be VARF_ACTION and VARF_MEMBER in order to work as intended.
2016-02-07 11:36:09 +01:00
John Palomo Jr
0619245280
Fixed: ValueText didn't read language strings from OptionValues when using the third parameter.
2016-02-07 03:21:18 -05:00
MajorCooke
10fec95cd5
- Fixed: the last FAF_NODISTFACTOR flag was never removed.
2016-02-07 01:36:59 -06:00
Randy Heit
5ee988f607
Fixed: Applying reverb with FMOD 4.36.yy killed sound
...
- It turns out that the FMOD_REVERB_PROPERTIES structure actually changed
with 4.36.00 and not with 4.38.00.
2016-02-06 19:29:13 -06:00
Randy Heit
cbfb24ef33
Disable -file ""
...
- This isn't a real file or even a name, but the game would try and load
it, including running through various permutations, potentially resulting
in loading the current directory as an archive.
2016-02-06 17:51:09 -06:00
Christoph Oelckers
20aa7c75de
- added the case '0: switch the portal of to P_ChangePortal.
2016-02-07 00:30:27 +01:00
Christoph Oelckers
e726143c15
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-06 21:17:19 +01:00
Christoph Oelckers
77b9f41dff
- added Line_SetPortalTarget action special so that portals can be assigned new targets. Setting the target to 0 disables the portal.cpp. Static linked portals can not be reassigned.
...
Please note that these still require the portal to be set up in the map with Line_SetPortal. It will not create a new portal if none exists on any line with the given ID.
2016-02-06 21:16:57 +01:00
MajorCooke
63735e4118
Turns out this token wasn't needed.
2016-02-06 13:52:08 -06:00
MajorCooke
ccf887c978
Fixed wrong type.
2016-02-06 13:49:16 -06:00
coelckers
1480fa7579
Merge pull request #542 from alexey-lysiuk/fix_openal_nonwin
...
Fixed build with OpenAL on non-Windows systems
2016-02-06 20:11:48 +01:00
Braden Obrzut
1101546e9c
- Fixed: Possible CMake wrong number of parameters configuration error.
2016-02-06 13:06:25 -05:00
alexey.lysiuk
46267f52d6
Fixed build with OpenAL on non-Windows systems
...
We still need to link with OpenAL library on OSes other than Windows
2016-02-06 10:58:25 +02:00
Christoph Oelckers
0ab3051f75
- fixed: Heretic's timebombs were spawned at the wrong place.
2016-02-06 08:52:37 +01:00
Christoph Oelckers
34216ddd8e
Merge branch 'master' of https://github.com/rheit/zdoom
...
# Conflicts:
# src/CMakeLists.txt
2016-02-06 05:28:53 +01:00
Christoph Oelckers
275ced288b
- we no longer link to the OpenAL import library so the respective handling can be removed from CMakeLists.txt.
2016-02-06 05:26:37 +01:00
Randy Heit
47d33c1ef5
Fixed: A_Set(Float)Speed take FIXED speed, not INT
2016-02-05 22:24:12 -06:00
Randy Heit
c978aa32b1
Fix FxRandomPick code generation for floats
2016-02-05 22:18:54 -06:00
Randy Heit
48dcbabd60
Emit a message when trying to use something non-integral as a boolean
...
- It's not exactly optimal, since it silently removes the offending
expression, but it's better than crashing.
2016-02-05 22:18:54 -06:00
Randy Heit
09a17c2198
Quiet some narrowing conversion warnings from VS2015
2016-02-05 22:18:53 -06:00
Randy Heit
0892650465
Don't add /delayload for OpenAL stuff if OpenAL is disabled
...
- Also, I believe openal32.dll no longer needs a /delayload flag since
it's dynamically loaded now.
2016-02-05 22:18:53 -06:00
Christoph Oelckers
d50e874d9b
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-06 05:16:53 +01:00
Christoph Oelckers
d76bcee393
- added some line portal restrictions:
...
* linked portals may never have a z-offset so the parameter for that needs to be ignored.
* for interactive portals, handling z-displacements when some distance calculation reaches through a portal is way too extensive and problematic to ever have a chance of really working. If such a portal gets defined it will be changed to a teleport-only portal and a message printed.
2016-02-06 05:16:35 +01:00
Braden Obrzut
dce3f0f757
- Bump CMake version requirement to 2.8.7. This means that generator expressions must be supported as well as empty else and endif expressions (like most sane languages). ZDoom probably didn't work with 2.4 anymore anyway.
2016-02-05 21:19:29 -05:00
Randy Heit
4fb65d74fd
Fix address NO_SANITIZE macro for Clang
...
- Oops. In fixing it for GCC (since it doesn't like
__has_feature(address_sanitizer), I broke it for Clang.
2016-02-05 18:06:45 -06:00
Christoph Oelckers
501af18168
- added missing include.
2016-02-06 01:04:15 +01:00
Christoph Oelckers
ed7b7fc0ba
- fixed: The backlink portal for EE-style definition needs to be done along with the first portal because the code won't find the anchor line itself.
2016-02-06 00:21:44 +01:00
Christoph Oelckers
ee3c41bf7b
- fixed: The minimum parameter count for an action function is 3, so the DEHSUPP parser needs to take this into account when validating the code pointers.
2016-02-06 00:19:38 +01:00
Christoph Oelckers
95f3a9909c
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-05 23:51:50 +01:00
Christoph Oelckers
e88901f4b7
- added the EE-Extradata parser I wrote for GZDoom so I can use the Vaporware demo map for testing portal stuff.
2016-02-05 23:51:28 +01:00
Randy Heit
cb6504669d
Add return statements for DECORATE.
2016-02-05 16:34:51 -06:00
Christoph Oelckers
1201ad0366
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-05 23:16:06 +01:00
Christoph Oelckers
94b7ef72ca
- more cleanup on portal implementation:
...
- store portal data in a separate structure.
- store portal data in savegames because some of this will be changeable later.
- run a cleanup pass after all portals have been created to weed out broken ones.
- add a definition type that's compatible with Eternity Engine's line portal types.
- swapped arg[2] and arg[3] of Line_SetPortal, because the type is more significant than the alignment.
2016-02-05 23:15:56 +01:00
Randy Heit
3ad2e4191d
Remove fudging from the end of (O)WallMost
...
- This might have been added in an effort to fix problems caused by mixing inclusive
and exclusive right edges. It might not be needed anymore. Let's find out...
2016-02-05 16:08:20 -06:00
Randy Heit
26eb335622
Quiet a couple GCC warnings
2016-02-05 16:07:18 -06:00
Randy Heit
4228721351
Enable running when built with Clang's -fsanitize=address
2016-02-05 16:04:50 -06:00
Christoph Oelckers
9eaefc3685
- initialize portals with all other static line specials instead of doing it separately in P_FinishLoadingLineDefs when the map isn't fully set up yet.
...
- replace all float use in portal.cpp with doubles.
2016-02-05 16:58:57 +01:00
Christoph Oelckers
a85a8c1465
- changed mirror handling so that it works without attaching a portal to the mirror line and removed line_t::portal_mirror member.
...
- did some cleanup on the portal interface on linedefs: All checks should go through isLinePortal (gameplay related) and isVisualPortal (renderer related) which then can decide on the actual data what to return.
- removed portal_passive because it won't survive the upcoming refactoring.
- removed all direct access to portal members of line_t.
- always use the precise (and fast) version of P_PointOnLineSide inside the renderer.
2016-02-05 16:14:45 +01:00
Christoph Oelckers
00895c245e
- mpved all software renderer specific code for the portals into the render sources.
2016-02-05 15:39:06 +01:00
Christoph Oelckers
01b075660d
- removed the option to toggle portals with SetLineSpecial.
...
This is to keep some people from jumping the gun on this and preventing the implementation of a proper toggling mechanism.
The feature itself will come back, but differently.
- removed portal setup from Build maps
they don't define it anyway so it makes no sense to have it there. Once this code gets refactored this will be in a different place that's identical for all map types.
2016-02-05 14:34:01 +01:00
Christoph Oelckers
6639984772
- removed Line_SetVisualPortal special. This will be folded into Line_SetPortal later
2016-02-05 14:24:20 +01:00
Randy Heit
2516b8f8af
Adjusted the assert conditions in DoJump()
...
- With multiple A_Jump calls possible in a single action now, it is now
possible for DoJump() to be called with a callingstate that does not
match self->state because the state had been changed by a prior A_Jump
in the same action function.
2016-02-05 06:41:27 -06:00
Christoph Oelckers
9d77244b3f
- we are past 2.8 now so the version numbers should reflect that.
2016-02-05 12:03:59 +01:00
coelckers
297ffc5889
Merge pull request #536 from edward-san/pclass_alloc_mismatch
...
- Fixed alloc/dealloc mismatch in PClass code.
2016-02-05 11:24:06 +01:00
Christoph Oelckers
3a57036f60
- a simple command line parameter is probably more suitsble for controlling the disassembly output.
2016-02-05 11:20:32 +01:00
Christoph Oelckers
312117b0bc
- disable script disassembly output by default. It's now controlled by a CVAR.
2016-02-05 10:56:15 +01:00
Christoph Oelckers
353608f2b9
- added a few FString variants for frequently called functions.
2016-02-05 10:52:10 +01:00
Christoph Oelckers
76c5039c63
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-05 10:41:05 +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
Braden Obrzut
ba54d73e07
Merge branch 'portals2_visual'
2016-02-05 00:10:46 -05:00
MajorCooke
35b7a5ccc1
Updated for scripting branch merge.
2016-02-04 22:41:02 -06:00
MajorCooke
1f8d425a1e
- Added CountInv(itemtype, [ptr_select]).
...
- Returns an inventory item count.
2016-02-04 21:45:31 -06:00
MajorCooke
3399ed60e0
Updated to scripting branch merge.
2016-02-04 20:17:46 -06:00
Edoardo Prezioso
002177e33f
- Fixed alloc/dealloc mismatch in PClass code.
...
The function 'PClassActor::InitializeNativeDefault' is the only one which didn't allocate the 'Defaults' member variable with M_Malloc. Reported by the Address Sanitizer.
2016-02-05 03:03:34 +01:00
Christoph Oelckers
4751bffd5f
- replaced malloc.h with stdlib.h in thingdef_expression.cpp.
2016-02-05 01:26:29 +01:00
Christoph Oelckers
995169de58
Merge branch 'csgwhy' of https://github.com/Edward850/zdoom
2016-02-05 01:21:01 +01:00
Christoph Oelckers
0b7a06c714
Merge branch 'NewEESpecials'
...
# Conflicts:
# src/fragglescript/t_fs.h
2016-02-05 01:01:39 +01:00
Edward Richardson
f2025e6a2f
Fixed possible issue with GCC/Clang
2016-02-05 12:52:29 +13: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
rheit
56359b6f23
Merge pull request #342 from marrub--/fastweaponsfix
...
sv_fastweapons extension
2016-02-04 13:31:47 -06:00
Christoph Oelckers
bf066763b7
- fixed: The FPS display should use the actual font info to calculate its size, not just assume that each character is 8*8 pixels.
2016-02-04 01:20:35 +01: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
MajorCooke
a1c1de9edb
Fixed merge conflicts.
2016-02-02 18:26:20 -06:00
Christoph Oelckers
66f053f131
- on second thought: this shouldn't explode the speakers with too high values.
2016-02-02 15:02:06 +01:00
Christoph Oelckers
c002c2fde9
- added a mastervolume setting for DUMB because its default volume is far less than all the other music options.
2016-02-02 14:45:32 +01:00
coelckers
5d19901cb7
Merge pull request #529 from alexey-lysiuk/fix_creative_openal
...
Fixed build with Creative Labs OpenAL SDK
2016-02-02 12:01:25 +01:00
Christoph Oelckers
0db679c90d
- fixed clang compile error.
2016-02-02 10:53:56 +01:00
alexey.lysiuk
90dd6b61b4
Fixed build with Creative Labs OpenAL SDK
...
Tested with
* Creative OpenAL from https://www.openal.org/downloads/OpenAL11CoreSDK.zip
* OpenAL Soft from http://kcat.strangesoft.net/openal-binaries/openal-soft-1.17.1-bin.zip
2016-02-02 10:29:23 +02:00
Randy Heit
c9d81dff53
Use absolute value of Y scale for 3D midtex
...
- Somebody might want to set a midtexture's Y scale negative to flip it
vertically. I'm pretty sure this would mess up 3D mid textures if we
don't make it positive again for those.
2016-02-01 21:07:09 -06:00
Randy Heit
6b6c1af0dc
Add support for Y flipped non-vertically tiling masked midtextures
2016-02-01 21:07:09 -06:00
Randy Heit
03f0e1dc5c
Remove something that looks like 3D floor development garbage
2016-02-01 21:07:08 -06:00
Christoph Oelckers
6b75f14c0f
- fixed some Linux/GCC warnings.
2016-02-02 01:04:59 +01:00
Christoph Oelckers
fe3e56c6bc
- fixed: oalload.h should only do stuff is NO_OPENAL is not defined.
2016-02-01 18:49:12 +01:00
Christoph Oelckers
ee045371a3
- On Windows, use LoadLibrary/GetProcAddress to load OpenAL function addresses.
...
The reason for this is that on my system, the static or delay loaded method always picks the (obsolete) system-installed OpenAL version (needed for some old games) which is not wanted here if there's another one in the local ZDoom directory.
This also removes the dependency on the broken import library that comes with OpenAL Soft which causes compile errors with more modern MSVC compilers on default settings.
2016-02-01 14:02:25 +01:00
Christoph Oelckers
e0608f50d1
- create a separate translation table for Heretic's rain pillar.
...
These objects are supposed to be bright, but the standard translations for player do not take this into account, creating dark and/or invisible projectiles depending on the color being used.
The new translation uses hue and saturation from the player color, but combines brightness from the original color with the one for the player in an 8:2 ratio, so that no matter for the player color, these always remain bright and visible.
2016-02-01 10:45:33 +01:00
Christoph Oelckers
58196f77ff
Merge branch 'master' of https://github.com/rheit/zdoom
2016-02-01 10:00:39 +01:00
Christoph Oelckers
fd2828b1fe
- fixed typo in monster movement code.
2016-02-01 10:00:19 +01:00
Randy Heit
2f4dc17954
Add support for face sprite Y flipping
2016-01-31 22:05:32 -06:00
Randy Heit
809a9d801c
Got a flag backwards
2016-01-31 21:23:45 -06:00
Randy Heit
0b9aeb33e1
Fixed potential divide by 0 when drawing voxels
...
- Since voxels can have their origin behind the viewer and still have a
portion visible in front of the viewer, they aren't clipped to MINZ like
face sprites are. The 3D floor handling in R_DrawSprite() neglected to
clamp it when recalculating the diminished light colormap.
- Aside, but R_DrawSprite() probably shouldn't be messing with these
properties at all. Why isn't this done in R_ProjectSprite() before it
ever gets to the drawing part?
2016-01-31 20:52:56 -06:00
Randy Heit
1d0a3d19c8
Fix a part in maskwallscan that was missed for right-edge exclusivity
2016-01-31 20:45:37 -06:00
Edoardo Prezioso
4cbf752b4d
- Fixed uninitialized variable in level info code.
...
Found with Valgrind.
2016-01-31 23:19:34 +01:00
Christoph Oelckers
a1cd0401e4
- fixed: noclip2 should only set some minimal velocity if the player has none.
2016-01-31 22:38:08 +01:00
Christoph Oelckers
8068fca601
- fixed: player_t::Uncrouch should only reset the view height if the player is actually crouched.
2016-01-31 22:36:37 +01:00
coelckers
c3cc98b5f3
Merge pull request #523 from alexey-lysiuk/osx_fullscreen
...
Final touches to fullscreen mode on OS X
2016-01-31 16:56:35 +01:00
coelckers
09e2f212a0
Merge pull request #524 from alexey-lysiuk/hexen_mac_beta
...
Added support for Hexen Mac beta
2016-01-31 16:55:23 +01:00
MajorCooke
eb2829ad5e
- Added CBF_DROPOFF to A_CheckBlock. Checks for actors stuck in tall ledges or dropoffs.
2016-01-31 09:45:41 -06:00
Randy Heit
219b6f7c5d
Fix R_DrawFogBoundary for right-edge exclusivity
2016-01-31 06:51:11 -06:00
alexey.lysiuk
1798fab973
Added support for Hexen Mac beta
...
It's very similar to Mac demo but also contains MAP41: Maze like DOS full version 1.0
2016-01-31 12:53:22 +02:00
alexey.lysiuk
7b0f557514
Enabled zoom window button on OS X
...
Independently from OS version the game will enter fullscreen mode when zoom button is clicked
Window zooming behavior introduced in Yosemite is available on all supported versions of OS X
2016-01-31 10:42:16 +02:00
Randy Heit
240ca2af4c
Use consistant right-edge rules in the renderer.
...
- The original Doom renderer was inclusive for all right edges. This was
fine for the wonky projection it did. This was not fine for a standard
perspective divide, so I had to change walls to be right-edge exclusive
when I changed the projection. I only touched what was needed. Until
now. The right edge is always exclusive now, which should prevent any
more bugs related to mixing the two clusivities incorrectly.
2016-01-30 21:27:35 -06:00
Randy Heit
c1b2861362
Merge the boolean args to EV/P_Teleport into a single flags arg
...
- The flags use TELF_ since DECORATE has an A_Teleport with its
own set of TF_ flags.
- TELF_KEEPVELOCITY is used instead of TELF_HALTVELOCITY, because
there was only one call that ever set bHaltVelocity to false.
2016-01-30 21:27:34 -06:00
Christoph Oelckers
939989dc8c
- fixed crash when trying to cache nodes for a map that has no two-sided walls and no minisegs.
...
Under these conditions there are no partner segs and the glsegextras array is NULL.
2016-01-31 01:05:31 +01: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
Christoph Oelckers
06fdb6ca45
- fixed: The reverb editor failed to open in fullscreen mode at desktop resolution.
...
According to Blzut3:
The issue happens when the fullscreen resolution is the same as the desktop resolution. In this case WM_DISPLAYCHANGE doesn't occur so the editor never appears. This appears to be fixable by also catching WM_STYLECHANGED since at the very least the window caption will appear/disappear.
2016-01-30 21:49:03 +01:00
alexey.lysiuk
6bce5ddc4b
Scale of player's skin is now preserved on corpses after reborn
2016-01-30 18:30:20 +02:00
coelckers
ccce6f44a2
Merge pull request #518 from Edward850/Particle-clamp
...
Clamped r_maxparticles to the internal limit
2016-01-30 15:21:55 +01:00
Christoph Oelckers
36911bac4b
- fixed memory allocation type mismatch in demo code.
2016-01-30 15:17:46 +01:00
Christoph Oelckers
afcd755c7a
- changed autoaim menu option to a slider which allows a more precise control of the property.
...
- having a value of 5000 as the default for autoaim makes no sense, since this is an angle value that will always be clamped to [0..35]. So now 35 is both the default and the maximum.
2016-01-30 13:43:39 +01:00
Christoph Oelckers
3b5af8484c
Merge branch 'master' of https://github.com/rheit/zdoom
2016-01-30 12:59:37 +01:00
Christoph Oelckers
0a0a2c4a41
- removed a warning.
2016-01-30 12:59:15 +01:00
Christoph Oelckers
fab186786e
Merge branch 'PlayerTransition' of https://github.com/Edward850/zdoom
2016-01-30 12:52:50 +01:00