Commit graph

7724 commits

Author SHA1 Message Date
Christoph Oelckers
340faef1ec - fixed a few 64-bit warnings. 2016-02-13 13:37:28 +01:00
coelckers
71f230dc08 Merge pull request #561 from alexey-lysiuk/openal_numsources
Handle inability of OpenAL to return number of sources
2016-02-13 12:44:56 +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
coelckers
bd16ccb36f Merge pull request #557 from MajorCooke/GetDistDouble
GetDistance Non-Action (Double version)
2016-02-11 11:27:15 +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
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
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