Commit Graph

6873 Commits

Author SHA1 Message Date
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
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