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