Commit graph

6340 commits

Author SHA1 Message Date
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
91f0a8791c - fixed type mismatch in A_RadiusGive declaration. 2016-02-10 19:30:17 +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
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
coelckers
93ff8562dc Merge pull request #554 from j-palomo/menusliderwidthfix
Fixed: Player color slider size/position was wrong when using languag…
2016-02-09 10:11:57 +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
Randy Heit
4c2bcede61 Update VS2005 projects for re2c and zdoom 2016-02-08 21:27:02 -06:00
Randy Heit
a116c10574 Comment out re2c_test::range reference in re2c::Range 2016-02-08 20:38:59 -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
coelckers
bb821433a9 Merge pull request #551 from MajorCooke/CheckProximityAssert
A_CheckProximity Fixes
2016-02-08 17:43:41 +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
coelckers
544d1d6da7 Merge pull request #548 from alexey-lysiuk/fix_uservar
Fixed regression with getting/setting user variables
2016-02-07 15:04:03 +01:00