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