Rachael Alexanderson
0d5cb0536e
- enable multiprocessor compilation with MSVC++ using /MP for MSBuild
...
- Target NEON processors for ARM.
2017-03-10 00:44:25 +01:00
Christoph Oelckers
4de0f8b1fa
- compile both poly and sw renderer as one unit, because due to the includes this gets really slow otherwise. Lumping these together saves 50 seconds per build on my system with a 3.4 GHz Core i7 and an SSD for storage, so on other systems it may be even more.
2017-03-10 00:43:36 +01:00
Christoph Oelckers
a4710bcdb0
- did a bit of header cleanup to reduce the dependency on dobject.h.
2017-03-09 23:30:42 +01:00
Christoph Oelckers
1c81c40c59
- moved several files for which fastmath is mostly irrelevant into the PCH group.
...
Because reducing compile time is more important than some microscopic performance gain in non-time-critical code.
2017-03-09 20:56:33 +01:00
Christoph Oelckers
6325fbc491
- did a bit of cleanup on the MIDI callback interface, made the function type a typedef and removed the two unused parameters. Only the native Windows player passed something, but it wasn't used by the callback.
2017-03-09 20:28:57 +01:00
Christoph Oelckers
9b87a167d7
- replaced a large batch of DWORDs.
...
Most of those which still rely on ZDoom's own definition should be gone, unfortunately the code in files that include Windows headers is a gigantic mess with DWORDs being longs there intead of ints, so this needs to be done with care. DWORD should only remain where the Windows type is actually wanted.
2017-03-09 20:19:55 +01:00
Christoph Oelckers
a17685f3fd
- removed some long longs, to reduce that type's use to the necessary minimum
...
.
2017-03-09 20:05:22 +01:00
Christoph Oelckers
d2beacfc5f
- except for DWORD, all homegrown integer types are gone - a handful were left where they represent genuine Windows types.
2017-03-09 19:54:41 +01:00
Christoph Oelckers
c008ddaf66
- replaced homegrown SWORD, SBYTE and uint32_t types.
2017-03-09 19:31:45 +01:00
Christoph Oelckers
cc1241a4b8
Merge branch 'make-qzdoom-gzdoom-again' of https://github.com/raa-eruanna/qzdoom into 3.0_work
...
# Conflicts:
# src/win32/win32gliface.h
# src/win32/win32iface.h
This compiles but no guarantees otherwise.
2017-03-09 19:09:13 +01:00
Christoph Oelckers
609e4c78b4
- fixed: NOINFIGHTSPECIES checked the wrong target actor.
2017-03-09 18:44:32 +01:00
Rachael Alexanderson
536e8fad19
- Make QZDoom GZDoom again!
2017-03-09 11:51:42 -05:00
Christoph Oelckers
878e6015df
- made all iterator classes natively abstract so that they do not get a ConstructNative method so that OP_NEW can refuse creating them without the need to mark them as abstract.
...
- block creation of actors with the 'new' instruction. Unlike the above these cannot be made abstract because without ConstructNative they cannot be serialized.
2017-03-09 17:21:37 +01:00
Christoph Oelckers
20c56f6dda
- added SectorTagIterator and LineIDIterator script classes.
2017-03-09 17:05:51 +01:00
Christoph Oelckers
420f71fc4f
- added a BlockLinesIterator script class.
2017-03-09 16:45:48 +01:00
ZZYZX
4dd1910d6d
Fixed the size of the local params array for WorldTick/UiTick
2017-03-09 15:38:49 +01:00
ZZYZX
5eb20b7877
Removed Create, CreateOnce, Register, Unregister from the C++ side as well
2017-03-09 15:38:49 +01:00
ZZYZX
01561eb768
Added: UiTick in EventHandlers, a callback that executes at 35fps on every handler in ui scope;
...
Removed: RenderOverlay, RenderFrame (commented out), Create, CreateOnce, Register, Unregister (completely)
2017-03-09 15:38:49 +01:00
Christoph Oelckers
e080f0cf89
- removed Windows.h include from gl_system.h and cleaned up that file. This means that most OpenGL sources can now be compiled without any Windows dependencies, which is significantly faster.
2017-03-09 13:19:51 +01:00
Christoph Oelckers
396c570a96
- moved Win32GLVideo's definition into the .cpp file, because it isn't needed anywhere else.
2017-03-09 13:09:38 +01:00
Christoph Oelckers
05919a2926
- remove Windows includes from gl_load.h
...
This is one of two places that unconditionally pulled in all Windows headers into the GL code.
We also do not need the cruft for defining the standard integer types. GZDoom is C++11 which means that stdint.h will be present. So the madness with the definitions should be avoided to ensure that the types are always the same.
2017-03-09 13:03:49 +01:00
Christoph Oelckers
03e1cbcfc0
- removed Windows types from several files which don't need them.
...
- split out the software renderer's video classes into their own file because they got included by all OpenGL sources.
2017-03-09 12:52:31 +01:00
Christoph Oelckers
8bd9c5a983
- moved some ACS enums from p_acs.h to p_acs.cpp.
...
There is really no point including this in multiple files if only one of them actually uses these constants.
2017-03-09 09:49:07 +01:00
Christoph Oelckers
77bac4f6fa
- fixed code generation for min/max when the first operand was a local variable or constant.
...
The code for constants was not optimal because the first operand of the instructions cannot be constant. This was solved by swapping it with the second choice which will always be non-constant.
The code for local variables did not allocate a new destination register and would overwrite the first parameter's variable.
2017-03-09 09:36:12 +01:00
Rachael Alexanderson
4d70b01da5
- followed through with GZDoom's SQWORD removals.
2017-03-08 21:35:20 -05:00
Rachael Alexanderson
cc9a2e5121
Merge https://github.com/coelckers/gzdoom
2017-03-08 21:25:24 -05:00
Magnus Norddahl
279fa7e886
Non-SSE version of the sky drawers
2017-03-08 23:35:13 +01:00
Christoph Oelckers
a632fae33f
- for some reason the change to c_expr.cpp got lost.
...
- moved NO_SANITIZE to autosegs.h, because it's the only place where it is used.
2017-03-08 21:14:21 +01:00
Christoph Oelckers
b513b32bcf
- reduced missing texture messages in the menu to warnings.
2017-03-08 19:04:35 +01:00
Christoph Oelckers
f341e7fb6a
- removed SQWORD, there were only a handful of occurences.
2017-03-08 19:02:50 +01:00
Christoph Oelckers
ba0f5a3f94
- most WORD and SWORD are gone.
2017-03-08 18:55:55 +01:00
Christoph Oelckers
8ab562ef13
- the fourth.
2017-03-08 18:55:54 +01:00
Christoph Oelckers
6dee9ff566
- replaced another large batch of homegrown type use.
2017-03-08 18:55:53 +01:00
Christoph Oelckers
6c6bab73ad
- more of the same.
2017-03-08 18:55:53 +01:00
Christoph Oelckers
ad41b23506
- replaced the homegrown integer types in all p* sources and headers.
2017-03-08 18:55:52 +01:00
alexey.lysiuk
3a0e29dab9
Added missing linker options for native MIDI support on macOS
...
Continuous integration is a cool thing: I completely forgot about addition of these frameworks because of my build environment which relies on static libraries and custom command line options
2017-03-08 16:11:04 +02:00
Magnus Norddahl
b281a697ce
Document the algorithm used for generating the 1D shadow maps
2017-03-08 14:12:59 +01:00
Christoph Oelckers
b8f7e305db
- changed TObjPtr to take a pointer as its template argument and not the class it points to.
...
This addresses the main issue with TObjPtr, namely that using it required pulling in the entire class hierarchy in basic headers like r_defs which polluted nearly every single source file in the project.
2017-03-08 13:35:21 +01:00
Christoph Oelckers
1cb89c6b37
- fixed bad call to validate function.
2017-03-08 13:35:21 +01:00
Magnus Norddahl
d09c3ad305
Move all GPU handling to gl_shadowmap and rename gl_lightbsp to gl_aabbtree
2017-03-08 13:31:19 +01:00
Magnus Norddahl
8687a9868a
Rename Level2DShape to LevelAABBTree and add a bit of documentation to it
2017-03-08 12:40:45 +01:00
alexey.lysiuk
de9c9221fe
Added AudioToolbox MIDI device for macOS
...
This device is the default one for OpenAL backend on Apple's platform
2017-03-08 11:23:36 +02:00
alexey.lysiuk
54ca55f070
Default MIDI device is now created by sound backend
...
OpenAL backend now plays music by default
It uses WinMM device on Windows and OPL on other platforms
2017-03-08 11:04:02 +02:00
Rachael Alexanderson
527a172fcd
Merge https://github.com/coelckers/gzdoom
2017-03-07 22:03:56 -05:00
Magnus Norddahl
850e61d1c9
Add shadow test to sprites
2017-03-08 00:34:08 +01:00
Christoph Oelckers
d911cdcfe7
- missed a bit.
2017-03-07 22:18:50 +01:00
Christoph Oelckers
e2f3a09dd0
- refactored the scope check for VirtualScope calls.
...
It now uses a dedicated opcode instead of piggybacking on OP_CALL and it passes data that is closer to the VM. Symbols should be avoided at this level.
It also will skip the scope instruction if the code generator detects that both calling function and the self pointer type have the same scope, this assumes that subclasses cannot flip between UI and Play.
2017-03-07 22:17:48 +01:00
Christoph Oelckers
0c686c593b
- simplify the runtime checks for OP_NEW.
...
They are not needed for OP_NEW_K which can evaluate the class relations at compile time and for OP_NEW the calling function can also be checked at compile time, passing only the scope value itself.
2017-03-07 19:57:55 +01:00
Christoph Oelckers
7a0c466b24
- fixed: For reflective floors, closed doors need to be considered an outer boundary, even if the floor below the door is reflective itself.
2017-03-07 18:59:48 +01:00
Rachael Alexanderson
71f400e238
Merge https://github.com/coelckers/gzdoom
2017-03-07 10:00:20 -05:00
Magnus Norddahl
6df3b3fbca
Changed the light collision structure uploaded to the GPU to be a binary tree using AABBs for the nodes instead of a BSP plane
2017-03-07 15:58:22 +01:00
ZZYZX
620ce72ebd
Fixed E_Responder for mouse events. It being active during console was actually a bug, because console should prevent any events.
2017-03-07 12:46:26 +01:00
ZZYZX
883048b538
Added E_Responder call for direct mouse input interception
2017-03-07 12:46:26 +01:00
Christoph Oelckers
1c95ddacb8
Revert "Moved some ancient playsim mouse input code around so that it works properly with input events"
...
This reverts commit 2e0eb742eb
.
This effectively nullifies the attempt to get a higher mouse update rate for the display.
2017-03-07 10:26:03 +01:00
ZZYZX
a681b5b706
Just in case, don't send useless mouse move events to G_Responder.
2017-03-07 09:47:47 +01:00
ZZYZX
2e0eb742eb
Moved some ancient playsim mouse input code around so that it works properly with input events
2017-03-07 09:47:47 +01:00
Rachael Alexanderson
bd50b5d05a
Merge https://github.com/coelckers/gzdoom
2017-03-06 19:40:55 -05:00
Magnus Norddahl
65f8d65858
Minor code clean up
2017-03-06 23:27:02 +01:00
Rachael Alexanderson
cb8b2de287
- somehow, this missed a few.
2017-03-06 16:58:48 -05:00
Christoph Oelckers
9d6b5f7015
- switched the menu code over to the data types of the event system.
...
Note that this will require adjustment of all menu code which overrides the Responder method!
2017-03-06 22:27:51 +01:00
Rachael Alexanderson
28abc96aef
- fully implemented "nolightfade" to turn off diminishing lights in the software renderer.
...
- unfortunately, LIGHT2SHADE had to be transformed into a namespaced function.
2017-03-06 16:14:54 -05:00
Rachael Alexanderson
5c3b9d81ad
Merge remote-tracking branch 'origin/no-diminishing-light'
2017-03-06 13:47:33 -05:00
Christoph Oelckers
4f97db74f2
- fixed: The deprecation checks in the compiler backend were wrong.
2017-03-06 19:24:31 +01:00
Rachael Alexanderson
134c2f3f38
Merge https://github.com/coelckers/gzdoom
2017-03-06 12:36:34 -05:00
Major Cooke
e111b0b92e
Fixed: Deprecated functions could not act because FxVMFunctionCall::CheckAccessibility returned false on warning.
2017-03-06 17:37:18 +01:00
alexey.lysiuk
cf23deef74
Fixed ssize_t type definition for mpg123 (affects MSVC x64 only)
...
According to MinGW headers (which is used for compiling libmpg123) ssize_t type must be 64-bit in size on 64-bit Windows
Moreover it was impossible to build GZDoom with the recent versions of libmpg123 because of wrong type redifinition
Tested MP3 music on Deus Vult II with Release x64 and OpenAL backend
2017-03-06 18:05:06 +02:00
ZZYZX
21ecd714ec
Added a way to tell apart console-executed events from code-executed SendNetworkEvent
2017-03-06 11:23:36 +01:00
alexey.lysiuk
4eb9f662cb
Fixed compilation with Clang
...
src/scripting/backend/codegen.cpp:8568:10: error: cannot initialize return object of type 'FxExpression *' with an rvalue of type 'bool'
2017-03-06 10:41:17 +02:00
Rachael Alexanderson
7ef8ed5867
Merge https://github.com/coelckers/gzdoom
2017-03-05 18:40:44 -05:00
Gaerzi
ad89d3eea0
Added SLADE3's colourise and tint translations.
...
Includes support for ACS.
Added tokens for '#' and '@' in sc_man_scanner.re.
2017-03-05 22:50:35 +01:00
Rachael Alexanderson
b4079b9915
- implemented "hazardcolor" and "hazardflash" properties. This affects strife's sector damage type that passively builds up over time. setting "hazardcolor" changes the gradual blend that is used when palette flash is disabled. setting "hazardflash" changes the flashing blend that is used when palette flash is turned on.
2017-03-05 22:48:46 +01:00
Christoph Oelckers
2b5fea4ea8
- added version checks for function calls and virtual overrides.
...
- restricted the UI functions in inventory.
2017-03-05 21:44:10 +01:00
Christoph Oelckers
8a5daf211c
- added version check for member variables.
2017-03-05 20:41:41 +01:00
alexey.lysiuk
f9e543bed3
Fixed black target screen during wipe (legacy renderer only)
...
Credits: NiTROACTiVE and Erick194
https://www.doomworld.com/vb/source-ports/93179-two-issues-im-having-with-gzdoom-v2-3-2/
2017-03-05 20:51:48 +02:00
Rachael Alexanderson
effe8a1e80
Revert "- started adding ARM support. incomplete. won't compile. don't try."
...
This reverts commit be8abba344
.
2017-03-05 13:07:25 -05:00
ZZYZX
8400961a00
Did some cleanup - since FScopeBarrier is not in codegen now, it's possible to include it properly from vm.h
2017-03-05 18:39:59 +01:00
Christoph Oelckers
456ac64723
- implemented version checks for compile-time type determination and for class inheritance.
...
Note that in this system, DECORATE counts as version 2.0, so any data that should be available to DECORATE should not use version restriction.
2017-03-05 17:58:55 +01:00
Magnus Norddahl
eb7955694b
Disable diminishing light in software renderer
2017-03-05 16:57:58 +01:00
Christoph Oelckers
7df698dad8
- implemented the parser basics of a ZScript versioning system.
...
Note that this completely disables the newly added keywords 'play' and 'ui' for unversioned code to allow using them as identifiers as I have found at least one mod that uses a variable named 'play' that would have been rendered broken otherwise.
This also disables many ZScript only keywords for other parsing jobs.
2017-03-05 14:13:00 +01:00
alexey.lysiuk
5d3244c3a7
Fixed minor issues in config file reader
...
Removed hardcoded values from long lines handling and made sure that pointer to the last character is always initialized
2017-03-05 13:07:51 +02:00
alexey.lysiuk
27376b1697
Fixed compilation of Debug configuration
...
src/scripting/vm/vmexec.cpp:204:44: error: no member named 'Native' in 'VMScriptFunction'
2017-03-05 11:39:25 +02:00
ZZYZX
38b86ad83c
No need for explicit EFX_Self check in FxStructMember::RequestAddress if self is set to readonly elsewhere.
2017-03-05 09:49:31 +01:00
ZZYZX
1832531726
Fixed: check protected fields against analog of OwningClass in functions, as opposed to the type that the field was accessed from.
2017-03-05 09:49:31 +01:00
ZZYZX
3eafc13b08
Removed BarrierSide from VMFunction, since it's obsolete with addition of VarFlags
2017-03-05 09:49:31 +01:00
ZZYZX
7cbabfb0d4
Implemented implicit 'protected' inheritance in virtual functions
2017-03-05 09:49:31 +01:00
ZZYZX
b87f9b540e
Implemented 'protected' on fields and methods
2017-03-05 09:49:31 +01:00
ZZYZX
9d4179ca06
Protected on methods of StaticEventHandler is completely useless
2017-03-05 09:49:31 +01:00
ZZYZX
6af5c1fa2b
Produce a warning if clearscope is used on non-inner structs. Also now checking for outer class presence correctly.
2017-03-05 09:49:31 +01:00
ZZYZX
86a494aacd
Can use clearscope on struct to signify that it should be plain data even if defined inside a play/ui class
2017-03-05 09:49:31 +01:00
ZZYZX
6c90d05407
By default, inner struct in class should take the scope of it's outer class
2017-03-05 09:49:31 +01:00
ZZYZX
0a7aebae93
Fixed const method qualifier. Also, fixed: const is not clearscope, treat differently.
2017-03-05 09:49:31 +01:00
Rachael Alexanderson
2c27b74e34
Merge https://github.com/coelckers/gzdoom
2017-03-05 02:55:38 -05:00
Christoph Oelckers
f07bd5ec65
- fixed some mess by two nearly similarly named flags.
2017-03-05 00:36:32 +01:00
Christoph Oelckers
600f57405f
- fixed typo in TexMan.GetSize.
2017-03-05 00:28:15 +01:00
Rachael Alexanderson
be8abba344
- started adding ARM support. incomplete. won't compile. don't try.
2017-03-04 16:50:42 -05:00
Rachael Alexanderson
b8b5360de1
Merge https://github.com/coelckers/gzdoom
2017-03-04 07:28:02 -05:00
Christoph Oelckers
cfafbfe4f2
- removed FStringNoInit.
...
This was development garbage.
2017-03-04 12:55:20 +01:00
Christoph Oelckers
7dbc6939c4
- declared most native getters in Actor as const.
...
- made the self pointer of const functions readonly.
This seems to work fine. Both calling a non-const function and trying to assign a value to a member fail with an error message.
2017-03-04 12:43:07 +01:00
Christoph Oelckers
b3ba5bfe2c
- allow 'const' on class functions. This is preferable to 'clearscope' so that the UI code can call getter functions without having to declare things as 'clearscope'.
...
Clearscope is a dangerous context and should be limited to the minimum extent possible and preferably be blocked in user code.
This may still need some work on const functions but better have it in now.
2017-03-04 12:07:45 +01:00
Christoph Oelckers
5551f3a8c5
- declared the sectorplanes in Sector as read only and marked all relevant functions in the planes themselves const.
...
This is to block modification of the planes directly. For future-proofness with renderer changes everything that alters these values should go through he function interface.
2017-03-04 11:48:36 +01:00
Christoph Oelckers
3879e67cee
- the #if was in the wrong place.
2017-03-04 11:34:53 +01:00
alexey.lysiuk
a5edd48996
Fixed remaining warning reported by Clang
...
src/scripting/zscript/zcc_compile.cpp:2456:54: warning: using the result of an assignment as a condition without parentheses [-Wparentheses]
2017-03-04 12:23:15 +02:00
alexey.lysiuk
d8cee4d3a5
Fixed most of warnings reported by Clang
...
src/scripting/zscript/zcc_compile.cpp: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
src/p_acs.cpp: warning: format specifies type 'char *' but the argument has type 'PClass *' [-Wformat]
2017-03-04 12:17:53 +02:00
alexey.lysiuk
8a1e0ee4b5
Fixed compilation with GCC/Clang
...
src/menu/menu.cpp:806:20: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2017-03-04 12:03:31 +02:00
Christoph Oelckers
a7fdf4b90d
- fixed: M_Init needs to catch VM exceptions from MENUDEF init to print out meaningful error messages in case something goes wrong.
2017-03-04 10:58:34 +01:00
Christoph Oelckers
fd4727e701
- did a bit of cleanup.
...
- disabled the runtime check in OP_CALL because as implemented it doesn't clean up properly and is not fully implemented.
2017-03-04 10:28:51 +01:00
Magnus Norddahl
8515f9720a
1D shadow maps are now working
2017-03-04 09:14:01 +01:00
ZZYZX
3338fb7f33
Added SendNetworkEvent static method to EventHandler; Fixed qualified static method call from own class (previously was 'shadowed' by qualified virtual method call)
2017-03-04 00:57:41 +02:00
ZZYZX
c9a994a885
Fixed: clearscope should also clear the inherited scope (through struct member access chain); Fixed: struct member access chain should ONLY work for structs (forgot that FxClassMember inherits FxStructMember)
2017-03-04 00:04:19 +02:00
ZZYZX
723f9770a4
Merge remote-tracking branch 'gz/master' into gz_master2
2017-03-03 23:33:02 +02:00
Rachael Alexanderson
21a8964bea
Merge remote-tracking branch 'gzdoom/master'
...
# Conflicts:
# src/v_video.cpp
2017-03-03 16:29:33 -05:00
ZZYZX
a924564bf3
Implemented hard separation between playsim ConsoleEvent and networked ConsoleEvent (ConsoleProcess, NetworkProcess)
2017-03-03 23:21:12 +02:00
Rachael Alexanderson
4b63092c7a
- disable size checking in windowed mode for vid_setmode, allowing it to set arbitrary sizes.
2017-03-03 22:19:58 +01:00
ZZYZX
421f78c771
Fixed potential crash with new() in anonymous functions (is that even allowed?); Added compile-time check for disallowed new()
2017-03-03 22:52:35 +02:00
ZZYZX
3a57a9809f
Removed nonew class modifier
2017-03-03 22:42:12 +02:00
ZZYZX
78533cc316
Fixed: the name of accessed field is now properly retrieved in FxStructMember::RequestAddress
2017-03-03 22:38:33 +02:00
Christoph Oelckers
fd20e1d78f
- allow hooking custom serializers into PPointer so that serializable types can be handled without having to create new type classes which would be a bit unwieldy thanks to how the type system works.
2017-03-03 20:11:13 +01:00
Christoph Oelckers
c630b07011
- replaced SDWORD with int32_t globally.
...
This type wasn't used in the software rendering code so it could be removed already. The other homegrown types will have to be dealt with later.
2017-03-03 19:35:08 +01:00
Christoph Oelckers
f563a296c2
- added an ACS ScriptCall function. So far only superficially tested.
2017-03-03 19:23:27 +01:00
Christoph Oelckers
217bcb847d
- fixed: When the savegame code errors out, some cleanup is required in G_DoSaveGame.
2017-03-03 19:19:19 +01:00
Christoph Oelckers
7736e42740
- fixed: The respawn event handler was not called for a regular in-game respawn, only for a cheat resurrection.
2017-03-03 18:53:11 +01:00
Magnus Norddahl
6055f136d8
Make sure SwapInterval is only ever called while the default frame buffer is bound to avoid problems with some drivers
2017-03-03 16:55:18 +01:00
Rachael Alexanderson
b3a69e1df8
Merge https://github.com/coelckers/gzdoom
2017-03-02 18:13:33 -05:00
Magnus Norddahl
0d1deddae5
Bind shadow map texture for main.fp and sample from the shadowmap texture
2017-03-02 19:10:57 +01:00
Christoph Oelckers
1761da6079
- fixed: AActor::Howl checked HowlSound for the wrong type.
2017-03-02 18:40:01 +01:00
Christoph Oelckers
8253b91d97
- fixed: The stair and donut builders did not initialize FFloor::m_Instant.
2017-03-02 18:18:34 +01:00
Magnus Norddahl
538d516c9a
Upload shadow map index for each light to main.fp
...
Move storage buffer binding location
2017-03-02 18:07:47 +01:00
Magnus Norddahl
62c285f7b3
Create a shadowmap texture and upload light list
2017-03-02 16:19:06 +01:00
Magnus Norddahl
7a4b01471d
Add class updating and managing the shadow map texture
2017-03-02 16:19:06 +01:00
Magnus Norddahl
6363c6cf58
Add a shadowmap shader
2017-03-02 16:19:06 +01:00
Magnus Norddahl
58c7c3c902
Upload BSP tree to the GPU
2017-03-02 16:19:06 +01:00
Rachael Alexanderson
26f7902c3f
- fixed: If player is killed by world, attacker was not checked for nullptr, causing a crash.
2017-03-02 13:02:25 +01:00
Christoph Oelckers
ff88ecd3f0
- a bit more reordering for another minor performance gain.
2017-03-02 12:55:04 +01:00
Christoph Oelckers
4dc0599a6c
- did a bit of reordering AActor's variables to group the ones together which are accessed by the renderer. Tested with some actor-heavy maps this does provide a small, approx 3-4% speedup in the OpenGL sprite processing function.
2017-03-02 12:37:25 +01:00
Christoph Oelckers
3532e50575
- check for RF_MASKROTATION before calling IsInsideVisibleAngles, because it is a bit faster this way.
2017-03-02 12:14:00 +01:00
Christoph Oelckers
cfda1a49d4
- forgot to save the last fix for the previous commit.
...
- let the script compiler also output the size of the allocated data for the script functions in addition to the actual code size.
2017-03-02 11:58:30 +01:00
Christoph Oelckers
b194ba205a
- backported Zandronum's MaxHealth base class for the MaxHealthBonus item.
2017-03-02 11:39:52 +01:00
Christoph Oelckers
00dc59ebdc
- separated the blood translation index from the BloodColor variable to allow more than 255 blood translations and as a prerequisite for allowing to change the blood color.
2017-03-02 10:26:23 +01:00
Rachael Alexanderson
d84ba4b953
Merge https://github.com/coelckers/gzdoom
2017-03-02 04:22:32 -05:00
Christoph Oelckers
59bd4d608c
- fixed: Be a bit more paranoid about what to consider a mod with an empty top-level directory.
...
This should only be accepted if the subdirectory contains at least one identifiable game definition lump to avoid catching some patch mods with only a few files.
2017-03-02 10:00:22 +01:00
Christoph Oelckers
3c21ca9cb1
- added a compatibility option to move vertices and applied it to E1M6 of Masters of Chaos.
...
This map has a door/lift combination that could trap the player without any chance to get out because both elements are so close together that it was almost impossible to trigger the lift. Moved two vertices by one map unit to make enough room.
2017-03-01 22:06:39 +01:00
Christoph Oelckers
9b2f31e692
- had to add a hack because some people had to exploit implementation-dependent behavior of the PulseLight type.
2017-03-01 20:54:37 +01:00
Christoph Oelckers
0de79042d4
- fixed: 'Bloodtype' cannot use the generic property definition because it needs special handling for optional arguments. This reinstates the native handler.
2017-03-01 20:20:46 +01:00
Christoph Oelckers
b5d4a59465
- fixed: Meta properties must not be serialized.
2017-03-01 20:10:24 +01:00
Rachael Alexanderson
bb3a2b25ff
Merge branch 'qzdoom-gpuswitch'
2017-03-01 10:26:15 -05:00
Rachael Alexanderson
4ebd25171c
- Implemented a simple graphics switch. This currently affects NVidia Optimus-enabled notebooks only.
2017-03-01 09:58:56 -05:00
Matthew McAllister
0583691670
Add bash-style console shortcuts
2017-03-01 11:33:14 +01:00
Rachael Alexanderson
5e5f88b629
Merge commit '5aec906' into testmaster
2017-02-28 21:34:36 -05:00
Rachael Alexanderson
d6169ea75e
Merge https://github.com/coelckers/gzdoom
2017-02-28 18:55:17 -05:00
Christoph Oelckers
cb295e0441
- added parameter to PLayerPawn::GetMaxHealth to return the real maximum health, including stamina upgrades.
2017-03-01 00:04:17 +01:00
Christoph Oelckers
12915b5f6e
- use an inventory flag to decide what items are slipped by DF_NO_HEALTH and DF_NO_ARMOR. With all the changes over the last 10 years this had become too spotty.
...
- use an enum type for ItemFlags, just like it was done for actor flags. Since the flag word is almost full it may soon be necessary to add a second one and then this kind of security check may become necessary.
2017-02-28 21:45:47 +01:00
Christoph Oelckers
dc6c91042b
- fixed misordered ACS functions.
2017-02-28 18:47:18 +01:00
Christoph Oelckers
314a642527
Merge branch 'meta'
2017-02-28 14:47:00 +01:00
nashmuhandes
bb1709228c
Changed FOV from a CCMD to a CVar, allowing players' FOV settings to persist. Also exported SetFOV to PlayerInfo for ZScript.
2017-02-28 14:46:30 +01:00
Christoph Oelckers
5f6da0d222
fixed double allocation of metadata.
2017-02-28 14:44:18 +01:00
Christoph Oelckers
168627f549
- native meta variables are not needed anymore. They were only a temporary aid to properly handle this, but now all have been redone.
2017-02-28 14:38:50 +01:00
Christoph Oelckers
bc0ffc4185
- removed access to the PlayerPawn's DisplayName variable. This one has implicit semantics, so wherever a displayable name is needed GetPrintableDisplayName should be called instead to allow later refactoring of the internal handling.
2017-02-28 14:33:46 +01:00
Christoph Oelckers
fc125f7eaf
- reworked the obituary system to use scripted virtual overrides. Let's hope this solves the problems with the original code, now that any actor needing special treatment can override it.
2017-02-28 14:30:14 +01:00
Christoph Oelckers
851984efe0
- made GetDeathHeight a virtual scripted function.
...
- made GetGibHealth a virtual scripted function.
- removed a few more native meta properties.
2017-02-28 13:40:46 +01:00
Christoph Oelckers
d5250d6b9f
- made WoundHealth modifiable to allow more control over the wound state.
2017-02-28 12:56:35 +01:00
Christoph Oelckers
2a4a5e7a70
- refactored a few more native meta properties.
2017-02-28 12:47:44 +01:00
Christoph Oelckers
1311f08f47
- scriptified Actor.GetBloodType as a virtual function to allow mods more flexibility here.
...
- made CameraHeight a modifiable actor property - it was readonly before.
- allow accessing the type constants from ZScript, this required quite a bit of explicit coding because the type system has no capabilities to search for basic types by name.
2017-02-28 12:11:25 +01:00
Christoph Oelckers
b6a1fe7fc6
- scriptified the basic attack functions, its properties and the explosion properties to test the new metadata system.
2017-02-28 10:51:32 +01:00
Rachael Alexanderson
5aec906031
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/version.h
2017-02-28 04:46:23 -05:00
Christoph Oelckers
a93a7e1cac
- handle player meta properties.
...
Only two really make sense, the rest is never used from scripts and may just remain where it was.
2017-02-28 01:23:12 +01:00
Christoph Oelckers
4a87a598fb
- do floatification of the UDMF Health property as it should have been.
2017-02-28 00:59:09 +01:00
Christoph Oelckers
78a66e001a
- properly handle all meta properties for inventory items.
2017-02-28 00:45:16 +01:00
Christoph Oelckers
f343d36ea9
- implemented the basics of a working metadata system.
...
This will store class meta properties in a separate memory block so that it won't have to muck around with PClass - which made the implementation from the scripting branch relatively useless because extending the data wasn't particularly easy and also not well implemented. This can now be handled just like the defaults.
2017-02-27 23:28:19 +01:00
Christoph Oelckers
3700dea336
Revert "- the UDMF health key for actors was not correctly implemented. This addresses the problem by adding a second one and documenting 'Health' as implemented."
...
This reverts commit e4e023e59a
.
(This was nonsense.)
2017-02-27 22:05:20 +01:00
Christoph Oelckers
d5d383ee93
- added Floor_Stop and Ceiling_Stop action specials.
2017-02-27 21:31:59 +01:00
Christoph Oelckers
1ff4016498
- added ACS math functions floor, ceil and round.
2017-02-27 20:42:12 +01:00
Christoph Oelckers
e511f7f84b
- added a damage type parameter to MDK CCMD.
2017-02-27 20:07:21 +01:00
Christoph Oelckers
ac4074a69a
- allow sprites and particles simultaneously for puffs.
2017-02-27 19:51:37 +01:00
Christoph Oelckers
321c846d01
- added StealthAlpha actor property for defining a minimum visibility value of a stealth monster.
2017-02-27 19:46:27 +01:00
Christoph Oelckers
f82ab889b2
- added ACS strarg function which can convert a string into a string argument for ACS specials.
2017-02-27 18:44:58 +01:00
Christoph Oelckers
4bcbd5c011
- clear WF_WEAPONBOBBING in P_FireWeapon, because otherwise the first frame of the fire animation will be drawn in the current bobbing position and not centered.
2017-02-27 18:38:01 +01:00
Rachael Alexanderson
869de7554f
- fixed: Opening automap without 2D acceleration and rgb666 blending crashed due to bad color calculations. (Attempted to pass rgb888 values into rgb666 array)
2017-02-27 12:15:17 -05:00
Rachael Alexanderson
e9364fccb8
- Fixed: voxels were not properly remapped after "restart" ccmd
2017-02-27 18:12:49 +01:00
Rachael Alexanderson
4a9845a6c0
- Fixed: voxels were not properly remapped after "restart" ccmd
2017-02-27 12:02:46 -05:00
Christoph Oelckers
cc598dfdde
- fixed: To get the final error handling from the serializer, Close must be called before the destructor gets invoked.
...
- added line feeds to all error messages in the serializer.
2017-02-27 15:16:03 +01:00
Christoph Oelckers
78538ed9ef
- missed an else.
2017-02-27 14:53:39 +01:00
Rachael Alexanderson
fa6a94f789
Merge https://github.com/coelckers/gzdoom
2017-02-27 08:22:53 -05:00
Rachael Alexanderson
bd61e9f3f4
- Disabled dynlights during invulnerability/lightamp (or any FixedColormap or FixedLightLevel)
2017-02-27 08:20:26 -05:00
Christoph Oelckers
f9f9f2d5fc
- added selfdamagefactor actor property.
2017-02-27 11:22:51 +01:00
Christoph Oelckers
e84a2899f9
- this needs one more check.
2017-02-27 10:52:29 +01:00
Christoph Oelckers
073e63ed04
- Added a check for all z-movement for floor huggers so that it doesn't skip all the height checks if +NODROPOFF is also given.
2017-02-27 10:50:21 +01:00
Christoph Oelckers
0c660ff29c
- added an option to add elements to an existing options menu.
...
Note that for list menus this does not exist because they require complete setup to work as intended.
2017-02-27 10:37:47 +01:00
Rachael Alexanderson
2a847ca570
Merge https://github.com/coelckers/gzdoom
2017-02-27 01:06:00 -05:00
Christoph Oelckers
720e05d131
- fixed memory leak in DEM_NETEVENT.
...
- added handling for DEM_NETEVENT to SkipCommand.
- keep the data of DEM_NETEVENT at a fixed length to simplify handling.
2017-02-27 02:31:19 +01:00
Christoph Oelckers
3a5124e10e
- fixed: TakeInventory needs to check for subclasses of PowerInfiniteAmmo.
2017-02-27 02:09:56 +01:00
Christoph Oelckers
c7cf619ff4
- Caution: Wads.GetLumpName with a char pointer is stupid because it doesn't 0-terminate its return.
2017-02-27 01:58:21 +01:00
Christoph Oelckers
1e1194a669
- fixed: Dp mot strip the top level folder name in Zips if they only contain one entry or if the first entry isn't a directory.
2017-02-27 01:53:51 +01:00
Christoph Oelckers
c8445703ac
- added a workaround for the 'cannot split a seg' error in the node builder: In order to prevent all segs from ending up on the same side it will now force the bogus seg onto the other side of the node - regardless of whether this is correct or not, because the most important thing here is that the set of segs gets split to prevent the node builder from ending up in an endless recursion trying to split the same set of data and endlessly failing.
...
Note that this is not a fix, it's merely a countermeasure to avoid the crash in ZPack's E2M6 which this seems to achieve.
2017-02-27 01:41:27 +01:00
Christoph Oelckers
1ed2a0baf9
- fixed: The intermission screen did not show 'entering' for cluster-less maps.
2017-02-26 23:49:53 +01:00
Christoph Oelckers
e4e023e59a
- the UDMF health key for actors was not correctly implemented. This addresses the problem by adding a second one and documenting 'Health' as implemented.
...
- fixed: Several ZDoom-exclusive actor keys did not check the current namespace.
2017-02-26 23:21:56 +01:00
Christoph Oelckers
0514a997db
- added a new argument to GlassBreak to allow it to spawn other types of debris than GlassJunk by passing a spawn ID.
2017-02-26 23:07:16 +01:00
Christoph Oelckers
8c30ca213d
- allow loading of zips that have one root folder with all content contained within this folder. This top level's folder name will be stripped out from all file names, unless it is a special name that maps to a known namespace.
2017-02-26 22:55:36 +01:00
Christoph Oelckers
f918a9d9a7
- added a BOUNCE_NotOnShootables flag that hopefully helps addressing the biggest glitch in the bouncing code.
2017-02-26 22:31:43 +01:00
Christoph Oelckers
80e9763d64
- added a NOMENU option for skills.
2017-02-26 22:10:35 +01:00
Christoph Oelckers
3d500f0495
- added default obituaries for damage types.
...
Note that this is only implemented for the new official way of doing this in MAPINFO, but not in DECORATE!
2017-02-26 21:36:06 +01:00
Christoph Oelckers
f6dd99d3aa
- added A_Morph function.
2017-02-26 21:20:47 +01:00
Christoph Oelckers
346ada76bc
- allow blocking controller input in the menu.
2017-02-26 20:59:24 +01:00
Christoph Oelckers
8cac2d8c84
- added a NOATTACK sector flag which prevents monsters from going to their attack states if present.
2017-02-26 20:27:02 +01:00
Christoph Oelckers
9aff224891
- allow a link between the same sector's floor and ceiling.
2017-02-26 20:11:24 +01:00
Christoph Oelckers
0eebaf9f6b
- allow nightmare respawn if the current state has the 'canraise' flag.
2017-02-26 20:06:16 +01:00
Christoph Oelckers
7a1f36bfb0
- added RF_DONTINTERPOLATE flag.
2017-02-26 20:01:39 +01:00
Rachael Alexanderson
8c46ab40b1
Merge https://github.com/coelckers/gzdoom
2017-02-26 13:42:12 -05:00
Christoph Oelckers
4d043f086e
- missed a spot.
2017-02-26 19:41:39 +01:00
Rachael Alexanderson
7a5df2bc28
Merge commit 'b0eb19b'
2017-02-26 13:41:02 -05:00
Christoph Oelckers
7267e608cf
- added kickback factor skill property.
2017-02-26 19:37:25 +01:00
Christoph Oelckers
b0eb19bbc8
- added an option to define untranslated fonts through FONTDEFS. Note that due to how the fonts work they cannot be colorized AT ALL!
2017-02-26 19:29:27 +01:00
Christoph Oelckers
0cc46a2aaf
- added a FORCEINFIGHTING flag.
2017-02-26 19:05:20 +01:00
Christoph Oelckers
92b916fd5d
- fixed: ACS's SetMugshotState function was essentially broken in multiplayer because it contained no checks if the script's activator is connected to the current console player.
...
Ideally this should also be fixed for singleplayer but that would probably break half the mods using this function...
2017-02-26 18:49:40 +01:00
Christoph Oelckers
fb3d4bd42a
- added A_SetMugshotState.
2017-02-26 18:46:06 +01:00
Christoph Oelckers
5fe04dfd20
- added A_SprayDecal function.
2017-02-26 18:37:12 +01:00
Christoph Oelckers
c4b546404a
- added a 'nocheck' parameter to A_Raise* and Thing_Raise.
2017-02-26 17:50:48 +01:00
Christoph Oelckers
3f5ef48dac
- allow setting a global dialogue lump through gameinfo.
2017-02-26 17:22:02 +01:00
Christoph Oelckers
f31ddbc57c
- allow specifying specials in ZSDF by name.
...
- allow specifying a decal ID by name in UDMF.
2017-02-26 17:05:04 +01:00
Christoph Oelckers
ee6e427e78
- fixed: USDF did not allow specials > 255.
2017-02-26 16:54:09 +01:00
Christoph Oelckers
d80dc098bd
- added a RESETITEMS MAPINFO flag.
2017-02-26 16:48:24 +01:00
Christoph Oelckers
e6b31dde27
- added some flexibility to some Skulltag powerups.
...
- handle these powerups by actual item checks instead of cheat flags. (The same should also be done for the Frightener and Buddha but those are a bit more complex because they are also real cheats.)
2017-02-26 16:23:22 +01:00
Christoph Oelckers
8b2a5c75a1
- added an old submission for PowerReflection, although it had to be seriously reworked and improved.
2017-02-26 15:47:37 +01:00
Christoph Oelckers
a0b830c198
- allow all actor list CCMDs to filter by tid.
2017-02-26 15:20:43 +01:00
Christoph Oelckers
a6761463af
- added a new showtriggerlines mode that doesn't exclude doors.
...
- use lambdas for the AM checker functions.
2017-02-26 15:01:55 +01:00
Christoph Oelckers
bb7e191208
- allow specification of intermission music based on the destination map.
2017-02-26 14:50:02 +01:00
Christoph Oelckers
03ac816e83
- added a gme_stereodepth CVAR.
2017-02-26 14:04:30 +01:00
Christoph Oelckers
3412bdf5dc
Revert "Fixed splitting of long lines in message box menu"
...
This reverts commit 76a44ebf9c
.
Fix was done in the wrong place, it should be inside the script so that script-side calls to open a confirmation screen also get proper treatment.
2017-02-26 12:51:24 +01:00
Christoph Oelckers
2663414f72
Merge branch 'master' of https://github.com/coelckers/gzdoom
2017-02-26 12:47:34 +01:00
Christoph Oelckers
90b8dbb096
- removed the separate SSE2 version of the node builder's ClassifyLine function and all code associated with it.
...
Like everything else related to doing standard math with SSE2 vs. x87, there's nothing to be gained here with anything but first generation SSE2 systems which are irrelevant these days.
Taking 'thespir2.wad' from https://forum.zdoom.org/viewtopic.php?f=1&t=10655 the SSE2 version is reproducably ~3% slower than the x87 version on my Core i7, which quite closely mirrors all my previous tests since 2007.
Overall this just looks like an optimization not worth doing.
2017-02-26 12:47:16 +01:00
alexey.lysiuk
76a44ebf9c
Fixed splitting of long lines in message box menu
...
https://mantis.zdoom.org/view.php?id=338
2017-02-26 12:04:34 +02:00
Christoph Oelckers
bfa7a2d737
- fixed: DStaticEventHandler did not declare its pointers.
2017-02-26 10:59:05 +01:00
alexey.lysiuk
c150f9d737
Fixed incorrect pointers for Actor.Used()
...
https://mantis.zdoom.org/view.php?id=340
2017-02-26 11:39:27 +02:00
alexey.lysiuk
6ae91ac9ea
Fixed scripting type of demoplayback global variable
...
https://mantis.zdoom.org/view.php?id=334
2017-02-26 10:36:03 +02:00
Rachael Alexanderson
404b326812
Merge https://github.com/coelckers/gzdoom
2017-02-25 18:32:06 -05:00
Rachael Alexanderson
e7a1a59053
- Disabled alpha-masking textures for now, since they do not yet work. (needs texman fix)
2017-02-25 16:36:57 -05:00
Christoph Oelckers
43e5f035e4
- added a 'brief' mode to linetarget and info.
2017-02-25 21:48:15 +01:00
Rachael Alexanderson
9b40aa9605
- Fixed two typos as identified by dpJudas.
2017-02-25 15:32:50 -05:00
Christoph Oelckers
35552ce0cb
- added a Death.Sky state for missiles that gets used when they hit a sky plane.
...
- fixed: The Alt HUD did not draw the crosshair in HUD off mode.
2017-02-25 20:45:28 +01:00
Christoph Oelckers
7f78b42f21
- added an 'inventory change' and 'weapon change' sound, which by default are not defined.
2017-02-25 20:20:43 +01:00
Christoph Oelckers
35033891ac
- added MF7_NOINFIGHTSPECIES flag.
2017-02-25 20:12:30 +01:00
Christoph Oelckers
8dac678200
- added DAMAGE_NO_ARMOR flag for ACS's SectorDamage function.
2017-02-25 19:10:49 +01:00
Christoph Oelckers
89a43feb7a
- split the intermission background handling into its own class.
...
This means that 1/3 of wi_stuff can be left as-is when scriptifying the rest.
2017-02-25 17:55:20 +01:00
Christoph Oelckers
13c6cebef3
- call WI_updateAnimatedBack only once from WI_Ticker instead of from each single WI_update function.
2017-02-25 16:57:46 +01:00
Christoph Oelckers
d39ee1daf3
- added a new thinker statnum STAT_STATIC which do not get deleted between levels.
2017-02-25 16:56:49 +01:00
Rachael Alexanderson
ed4fe39fbb
Merge https://github.com/coelckers/gzdoom
2017-02-25 10:20:22 -05:00
Christoph Oelckers
10c6b7a80b
- added a NULL check to the VM's entry point, in case some bad but non-fatal DECORATE results in a function not having generated any code.
2017-02-25 10:57:12 +01:00
Rachael Alexanderson
05b092a8a1
Merge https://github.com/coelckers/gzdoom
2017-02-25 01:24:45 -05:00
Magnus Norddahl
735157aea4
Bump minimum architecture to SSE 2 on the x86 platform (a Pentium 4 from 2001!)
2017-02-25 01:22:54 +01:00
Christoph Oelckers
43c5fa93f9
- fixed handling of PlayerEntered event.
...
This was done in P_SpawnPlayer where it would be called not only on voodoo dolls but also on temporary player pawns. The second case was attempted to avoid, but this would break intra-hub travels to unvisited levels.
Moved the handling to G_DoLoadLevel for all cases where we have a clear and unambiguous situation with all players being set up and no voodoo dolls that might trigger an event.
2017-02-24 21:45:53 +01:00
Rachael Alexanderson
5c5b6a55d5
Merge https://github.com/coelckers/gzdoom
2017-02-24 13:24:44 -05:00
Christoph Oelckers
555f339924
- fixed: Sight checks through portals must disable all early-outs.
...
These can also be triggered from lines outside the actually valid range because the checks are done before the lines get ordered by distance.
2017-02-24 19:01:19 +01:00
Christoph Oelckers
c6a5e74c75
- added GC support to the events. OF_Fixed is not recommended because it can seriously impede the GC's functionality if just being used as a lazy means to avoid collection.
2017-02-24 19:01:19 +01:00
Magnus Norddahl
e697746e7d
Remove the php drawers and their generated output
2017-02-24 16:59:45 +01:00
Magnus Norddahl
51b872b30b
Created template version of sprite drawers
2017-02-24 16:52:13 +01:00
Magnus Norddahl
d3812e32f8
Created templated version of wall drawers
2017-02-24 15:31:47 +01:00
Magnus Norddahl
2a7bdaad79
Switched to a template version of the span32 drawers
2017-02-24 13:56:20 +01:00
alexey.lysiuk
fd615713d5
Fixed handling of default values for Menu.SetMenu() and Menu.StartMessage() arguments
2017-02-24 11:09:25 +02:00
Magnus Norddahl
298d68865c
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-24 04:32:50 +01:00
Magnus Norddahl
616e800635
Don't copy the SpriteDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 04:32:40 +01:00
Rachael Alexanderson
e35be9c0a3
Merge https://github.com/coelckers/gzdoom
2017-02-23 22:07:40 -05:00
Magnus Norddahl
218708571e
Don't copy the SkyDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 04:03:27 +01:00
Magnus Norddahl
f76a039a76
Don't copy the WallDrawerArgs members now that drawer args are grouped by drawer family
2017-02-24 02:37:13 +01:00
Christoph Oelckers
58be506a73
- made intermission screen more scripting friendly.
2017-02-24 00:28:33 +01:00
Magnus Norddahl
8bd0df1ace
Simplify CalcTiltedLighting in hope that this function is what made GCC break
2017-02-23 23:53:38 +01:00
Magnus Norddahl
b4b391c51e
Fix palette light artifacts caused by dynamic lights in some rare cases
2017-02-23 23:13:21 +01:00
Christoph Oelckers
5bc26763cb
- fixed: String CVARs get stored as a const char *, not an FString, so the ls opcode cannot be used to read their content.
2017-02-23 22:01:46 +01:00
Magnus Norddahl
4d161fbd42
Add dynamic light to sprites in palette mode
2017-02-23 21:50:16 +01:00
Magnus Norddahl
563b64b5e3
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-23 21:08:26 +01:00
Magnus Norddahl
832790f5ba
Fix sprite light bug
2017-02-23 21:08:08 +01:00
Thomas Hume
c4cb94123f
Do not change indentation of the licence...
2017-02-23 21:01:09 +01:00
Thomas Hume
c1cafd3bbc
Consistency of indents, removes false-pos warnings
...
Clang reports missleading indentation with non bracketed if in the
presence of mixed tabs/spaces
2017-02-23 21:01:09 +01:00
Thomas Hume
06119987a8
Prevents possible pointer miss-alignment error
2017-02-23 21:01:09 +01:00
Rachael Alexanderson
80d3fd58ff
Merge https://github.com/coelckers/gzdoom
2017-02-23 15:00:09 -05:00
Christoph Oelckers
73cceea994
- also added the 'amount' parameter to DropInventroy and A_DropInventory script functions.
2017-02-23 20:55:12 +01:00
Christoph Oelckers
e2d5a708f8
- added an amount parameter to the 'drop' CCMD.
2017-02-23 20:18:02 +01:00
Christoph Oelckers
fc101049c6
- exported gamestate variable and forced it to 32 bit internally.
...
- forced gameaction_t to 32 bit to avoid problems with undefined size issues.
2017-02-23 19:29:43 +01:00
Christoph Oelckers
65c4653f59
- restored some code in PClass::CreateDerivedClass that accidentally got removed.
2017-02-23 19:03:31 +01:00
Christoph Oelckers
4bae6e81db
- turned the texture pointers in wbstartstruct_t into scripting compatible texture IDs.
2017-02-23 18:33:49 +01:00
Rachael Alexanderson
10e268ebc0
- Change "clipmidtex" compatflag to be accessible in compatibility.txt only.
2017-02-23 06:32:53 -05:00
Magnus Norddahl
3c3917f1f3
Change dynlight sprite math to not overflow when used with dynamic colormaps
2017-02-23 10:55:44 +01:00
Thomas Hume
17f04c5043
Correct two overflows in PInt ctor
2017-02-23 10:10:58 +01:00
Rachael Alexanderson
1a9b1de9a1
- Added "clipmidtex" compatflag and applied it to unloved.pk3
2017-02-23 03:39:04 -05:00
Magnus Norddahl
0702e4523d
Fix that sprite light wasn't calculated using the center of the sprite
2017-02-23 09:27:00 +01:00
alexey.lysiuk
91f8f5b556
Restored EndGameMenu as a pseudo-class
...
Fixes the following error: Attempting to open menu of unknown type 'EndGameMenu'
At least Adventures of Square is using this class in main menu
2017-02-23 10:20:02 +02:00
Magnus Norddahl
56045c1293
Remove r_drawers.h and move softpoly drawer related stuff out of the swrenderer
2017-02-23 09:02:13 +01:00
Magnus Norddahl
ad507ca246
Removed drawergen tool and all LLVM dependencies (don't let the door hit you on your way out, llvm!)
2017-02-23 08:28:18 +01:00
Magnus Norddahl
c5683bbde5
Clamp dynlights to 0-1 range on sprites
2017-02-23 07:49:02 +01:00
Magnus Norddahl
92e6f070b4
Fix sprite dynlight distance check
2017-02-23 07:05:21 +01:00
Magnus Norddahl
548aec01ec
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-23 06:01:23 +01:00
Magnus Norddahl
ef41e8e54e
Add dynamic light to sprites
2017-02-23 06:01:01 +01:00
Rachael Alexanderson
271c75ab9b
Merge https://github.com/coelckers/gzdoom
2017-02-22 22:39:34 -05:00
Magnus Norddahl
c6235fb674
Added light to span drawers
2017-02-23 04:26:37 +01:00
Magnus Norddahl
e9efb64a0b
Fix light offset
2017-02-23 03:50:24 +01:00
Christoph Oelckers
d295186378
- made all fields of in_anim_t script-safe (except for the texture pointer which will have to be replaced by a Texture ID.
2017-02-23 00:16:14 +01:00
Christoph Oelckers
47ff6ec33f
- converted the intermission stat screen into a class so that its contents can be better exposed to ZScript.
2017-02-22 23:52:25 +01:00
Edoardo Prezioso
59d304274f
- Fixed some scripts showing up as 'unknown'.
...
See https://mantis.zdoom.org/view.php?id=322 .
2017-02-22 23:49:28 +01:00
alexey.lysiuk
eb40e8bcf0
Removed DYNLIGHT preprocessor definition
...
https://mantis.zdoom.org/view.php?id=318
2017-02-22 23:02:58 +02:00
alexey.lysiuk
61de40c678
Relaxed error check for menu textures
...
Null texture is acceptable as menu patch
Total conversion IWADs like Adventures of Square may use this technique
https://mantis.zdoom.org/view.php?id=320
2017-02-22 17:39:04 +02:00
alexey.lysiuk
b45418d363
Removed problematic assert() from garbage collector
...
DObject::GetClass() cannot be called from Barrier() function
Lazy evaluation it contains screwed up object type if called from base class constructor
Example:
DSeqSectorNode::DSeqSectorNode() -> DSeqNode::DSeqNode() -> GC::WriteBarrier() -> Barrier()
https://mantis.zdoom.org/view.php?id=299
2017-02-22 12:21:27 +02:00
Magnus Norddahl
01a8df7eb3
Add dynlights to wall drawer
2017-02-22 08:05:23 +01:00
Magnus Norddahl
38453d0435
Added most of the blend modes
2017-02-22 00:27:06 +01:00
alexey.lysiuk
bdd20d3887
Fixed initialization of Strife dialogs internal structures
...
Explicit assignment to members, no more memset() on non-PoD types
https://mantis.zdoom.org/view.php?id=317
2017-02-21 22:36:20 +02:00
Magnus Norddahl
c918950ff6
Add php drawer for the poly renderer
2017-02-21 09:08:51 +01:00
Magnus Norddahl
e73031b3c9
Added sky drawers
2017-02-21 01:25:08 +01:00
Magnus Norddahl
5fa5b062d6
Added php script for the span drawers
2017-02-20 22:49:52 +01:00
Rachael Alexanderson
257f48de97
Merge https://github.com/coelckers/gzdoom
2017-02-20 04:55:54 -05:00
Magnus Norddahl
fe854fb71f
Fix php drawer blend modes
2017-02-20 07:09:30 +01:00
Christoph Oelckers
bb6e667f33
- removed some unneeded version.h #includes.
2017-02-20 01:42:53 +01:00
Christoph Oelckers
051a394f47
- fixed some mess in the graphics organization for the Strife status bar.
...
This alternatingly loaded two different patch sets but it was entirely unclear which was supposed to be loaded when so they now are merged into one. It should have been two different variables from the start.
2017-02-20 00:22:36 +01:00
Rachael Alexanderson
7825c7b244
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/version.h
2017-02-19 17:42:00 -05:00
Rachael Alexanderson
84ca9fd63c
Merge remote-tracking branch 'origin/versionstr-change' into versionstr-change
2017-02-19 17:40:44 -05:00
Rachael Alexanderson
b134ea5b4f
- fixed: Change compiled exe version strings to match git repo numbers. This is viewable in Windows by right-clicking on the executable and selecting "Properties".
2017-02-19 23:23:53 +01:00
Christoph Oelckers
26144340b8
- fixed: Hexen's poison cloud needs to call P_DamageMobj, even with a damage value of 0. Added a new flag to handle this case because normally this is not desirable.
2017-02-19 23:20:09 +01:00
Rachael Alexanderson
c2eed19b51
- fixed: Change compiled exe version strings to match git repo numbers. This is viewable in Windows by right-clicking on the executable and selecting "Properties".
2017-02-19 16:29:30 -05:00
Christoph Oelckers
4ca20e0297
- fixed: AActor::SetPortalTransition set an incorrect value for the previous position.
2017-02-19 21:35:06 +01:00
Rachael Alexanderson
11d6f46e2d
Merge https://github.com/coelckers/gzdoom
2017-02-19 13:05:32 -05:00
Christoph Oelckers
6c9558459d
- allow menu items to inherit their parent's Init method for MENUDEFS.
2017-02-19 18:15:40 +01:00
Christoph Oelckers
68b47d81de
- fixed WP_NOCHANGE changes with a restart, so this must be taken into account for the script variable holding it.
2017-02-19 17:58:54 +01:00
Christoph Oelckers
f3b6343e53
- use floats for menu item coordinates. This only has an effect in the ListMenu because the OptionMenu uses fixed offsets which work differently.
2017-02-19 17:24:30 +01:00
Christoph Oelckers
c0f588e234
- let M_ClearMenus destroy all open menus so that they can properly deinitialize.
2017-02-19 16:08:10 +01:00
Christoph Oelckers
fb52b034b0
- added a GenericMenu class, so that all menus can be given a virtual Init method.
...
Doing this to Menu itself would not work because the different menus require different parameters.
This also means that all menus that are routed through menu items must inherit from either ListMenu, OptionMenu or GenericMenu.
All other types can only be used internally.
This should complete the menu scriptification.
2017-02-19 15:35:28 +01:00
Christoph Oelckers
9089beb110
- scriptified most of the remaining parts of DMenu. Only the engine interface remains native now.
2017-02-19 15:23:33 +01:00
Christoph Oelckers
e05242e44d
- scriptified the remaining parts of the conversationmenu.
...
- do not resolve the backdrop texture to a texture ID at load time. This will allow custom menu classes to use this info differently.
- added a new ZSDF userstring property to dialog pages to give mods more means for customization.
- allow overriding the conversation menu class both globally through MAPINFO and per conversation in ZSDF.
2017-02-19 14:21:49 +01:00
Christoph Oelckers
d85b9cdd71
- scriptified the input methods of DConversationMenu.
...
- fixed handling of DimAllowed.
2017-02-19 13:07:49 +01:00
Christoph Oelckers
3c8a5fdbe7
- scriptified the drawer functions of the conversation menu.
2017-02-19 12:28:05 +01:00
Christoph Oelckers
c4a90f39af
- split up DConversationMenu::Drawer for future flexibility.
...
- fixed: The in-conversation gold display did not work because it relied on an unused global variable.
2017-02-19 11:49:59 +01:00
Rachael Alexanderson
75b81381f6
Merge https://github.com/coelckers/gzdoom
2017-02-19 05:26:51 -05:00
Christoph Oelckers
129787546d
- transitioned the Conversation menu from FBrokenLines to DBrokenLines so that the internal representation matches scriptable types.
2017-02-19 10:46:53 +01:00
Christoph Oelckers
8db1646056
- fixed: Strife dialogues remembered the last menu's selection index, but with the possibility of changing sets of replies between calls of the same dialogue it should be the reply's index in the list of replies that gets remembered.
2017-02-19 10:34:47 +01:00
alexey.lysiuk
033792078c
Fixed compilation with GCC/Clang
...
src/menu/messagebox.cpp:70:95: error: no viable conversion from 'hfunc' (aka 'void (*)()') to 'VMValue'
2017-02-19 11:31:58 +02:00
Magnus Norddahl
ee3bcb6f78
Fix sampling
2017-02-19 03:51:49 +01:00
Magnus Norddahl
42a7dbe33a
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/v_video.cpp
2017-02-19 03:49:13 +01:00
Magnus Norddahl
dfcfd0462f
Hook up sprite php drawers (but disable them for now as they don't fully work yet)
2017-02-19 01:23:16 +01:00
Christoph Oelckers
c0dd37e16e
- ncopystring is not needed anymore.
2017-02-19 01:14:31 +01:00
Christoph Oelckers
b1a7941414
- some preparations of the Strife dialogue data to make it usable for ZScript, most importantly this means to replace all const char * with FString.
2017-02-19 01:11:52 +01:00
Magnus Norddahl
2bedfca071
Add php script for sprite drawers
2017-02-19 00:49:46 +01:00
Christoph Oelckers
2440951811
-scriptified the ReadThis screen.
2017-02-19 00:08:30 +01:00
Christoph Oelckers
e46571c192
- DMessageBoxMenu is fully scriptified.
2017-02-18 23:39:02 +01:00
Christoph Oelckers
62b594a499
- DMessageBoxMenu::Drawer scriptified.
2017-02-18 23:18:55 +01:00
Christoph Oelckers
aabcc1f92e
- scriptified the input functions of DMessageBoxMenu.
2017-02-18 23:05:01 +01:00
Christoph Oelckers
6e0e2b2457
- replaced all subclasses of DMessageBoxMenu with a callback option and lambdas to reduce the amount of menu code to port over. Now this is only one class.
2017-02-18 22:07:28 +01:00
Christoph Oelckers
de1e7661eb
- removed all native remnants of TextEnterMenu.
2017-02-18 21:25:19 +01:00
Christoph Oelckers
f5a0f6b3bf
- almost done with TextEnterMenu.
2017-02-18 21:18:23 +01:00
Christoph Oelckers
0c41a9dee7
- scriptified DTextEnterMenu::Drawer.
2017-02-18 20:12:06 +01:00
Christoph Oelckers
06141338f1
- made DMenu's static variables regular global variables because that class is going to go completely scripted soon.
2017-02-18 19:19:14 +01:00
Christoph Oelckers
1b4c9e13b8
- cleaned out some cruft from the menu code, now that ListMenu is fully scripted.
2017-02-18 19:11:53 +01:00
Christoph Oelckers
b7a5437af6
- scriptified parts of ListMenu.
2017-02-18 18:35:44 +01:00
Christoph Oelckers
6a65f02257
- completed scriptification of LoadSaveMenu.
2017-02-18 18:01:24 +01:00
Christoph Oelckers
e46d378fb2
- sciptified DLoadSaveMenu::Drawer.
2017-02-18 17:51:40 +01:00
Christoph Oelckers
4a6d0f1fa5
- scriptified DLoadSaveMenu::MenuEvent.
2017-02-18 17:35:01 +01:00
Christoph Oelckers
ee6a90deec
- scriptified DLoadSaveMenu::Responder.
...
- scriptified DSaveMenu.
2017-02-18 16:40:32 +01:00
Christoph Oelckers
e58a03de9b
- the savegame manager needs a destructor
2017-02-18 14:18:27 +01:00
Christoph Oelckers
872969eb14
- scriptified the LoadMenu class and exported the entire interface to handle the LoadSaveMenu.
2017-02-18 14:08:16 +01:00
Christoph Oelckers
9d51266145
- some more encapsulation of savegame data in the savegame manager, because some of its info is not in a state that can be accessed directly through script code and needs a few helper functions.
2017-02-18 13:05:33 +01:00
Christoph Oelckers
128dfdeee6
- made some of the load/save menu's data a bit more scripting friendly, this mostly means removal of static string buffers.
2017-02-18 12:36:31 +01:00
alexey.lysiuk
0ffd475d8c
Fixed compilation with GCC/Clang
...
src/r_data/sprites.cpp:805:79: error: cannot pass non-trivial object of type 'FString' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2017-02-18 10:34:27 +02:00
Magnus Norddahl
4fc352a50d
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-18 09:18:40 +01:00
Magnus Norddahl
8f06b5f9a1
Updated wall drawers to process two lines at a time
2017-02-18 09:17:47 +01:00
Rachael Alexanderson
e644adf3b8
- added "vid_glswfb" CVAR for linux, defaults to false, to allow init without GL framebuffer. This will need to be ultimately finished at a later date.
2017-02-18 02:46:30 -05:00
ZZYZX
6ec7d9af59
No more crashing in anonymous functions during runtime check of virtualscope
2017-02-18 08:02:38 +02:00
ZZYZX
fb9b8c8870
Re-enabled clearscope for methods; made isBlinking() clearscope
2017-02-18 07:51:41 +02:00
ZZYZX
ab07b30d5e
Fixed: implicit method call without specifying self should be checked as well
2017-02-18 07:48:28 +02:00
ZZYZX
463620c3b8
ClearScope is not needed for methods either. Disabled, but not removed - reenable if needed later
2017-02-18 07:33:27 +02:00
ZZYZX
d7f5d8a403
ClearScope for fields essentially means 'world-writable'. We don't want to support that - disallowed
2017-02-18 07:31:07 +02:00
ZZYZX
dbc595f886
Marked DrawPowerup as ui, still compiles and somewhat works :D
2017-02-18 07:30:20 +02:00
Rachael Alexanderson
65122ed19e
Merge https://github.com/coelckers/gzdoom
2017-02-18 00:18:45 -05:00
ZZYZX
afc9050a43
Marked Thinker play. Marked OnDestroy and Destroy virtualscope. It compiles :D
2017-02-18 06:56:00 +02:00
Magnus Norddahl
097dda38a9
Hook up all php generated wall drawers and enable them per default
2017-02-18 05:34:26 +01:00
ZZYZX
e0ae0fdb2e
Dynamic virtualscope checking. May yet be buggy.
2017-02-18 06:27:28 +02:00
ZZYZX
b5ab011bb9
Static virtualscope checking. This is possible, because virtualscope can't produce false positives (data readable for everyone), only false negatives (which are handled at runtime later)
2017-02-18 04:07:12 +02:00
Christoph Oelckers
013e52fabd
- fixed: newly created list menus did not call their scripted virtual Init method.
2017-02-18 01:31:01 +01:00
Christoph Oelckers
5f1241a55c
- scriptified the rest of the player menu. This compiles and runs but doesn't work yet, it will be fixed in the next commit.
2017-02-18 01:20:07 +01:00
Christoph Oelckers
49a07180c0
- scriptified ClassChanged.
2017-02-17 23:56:22 +01:00
ZZYZX
12aa18a92b
Preparing to do class-based method scopes: can't change class scope once defined (play stays play, ui stays ui)
2017-02-18 00:39:57 +02:00
Christoph Oelckers
50d2846e40
- scriptified UpdateColorsets.
2017-02-17 23:16:07 +01:00
Magnus Norddahl
89a2e434d4
Fix typo where __m128 should have been __m128i
2017-02-17 23:03:48 +01:00
Magnus Norddahl
4240a15f3a
Hook up php generated wall drawer
2017-02-17 22:58:55 +01:00
ZZYZX
014db18f2a
Fixed some things around
2017-02-17 23:36:16 +02:00
Christoph Oelckers
97eed1e6df
- scriptified UpdateSkins.
2017-02-17 22:12:56 +01:00
ZZYZX
3056570ea9
Implemented a call check between ui/play/data
2017-02-17 23:02:43 +02:00
Christoph Oelckers
498da825a5
- made the Skins array scripting friendly and exported it.
2017-02-17 21:51:23 +01:00
ZZYZX
a2f3d8511d
Implemented a read check between ui/play/data fields with a meaningful error
2017-02-17 22:46:18 +02:00
ZZYZX
a7a4406bb1
Supposedly implemented a write check between ui/play/data
2017-02-17 22:41:04 +02:00
ZZYZX
8b0dee6f66
My am dumb: PStruct is a base for PClass
2017-02-17 22:00:47 +02:00
Christoph Oelckers
6a2525b737
- scriptified PickPlayerClass.
2017-02-17 20:58:11 +01:00
Christoph Oelckers
b375657509
- scriptified DPlayerMenu::SkinChanged.
2017-02-17 20:49:04 +01:00
Christoph Oelckers
51493cde8c
- scriptified DPlayerMenu::MenuEvent.
2017-02-17 20:02:26 +01:00
ZZYZX
ecd4f5a32d
Removed supposedly debug value added in commit b0f3121bec
2017-02-17 20:25:11 +02:00
ZZYZX
496b2a74ce
Disallow const qualifier for classes
2017-02-17 20:04:40 +02:00
ZZYZX
195ae24dcb
const method cannot write to self
2017-02-17 19:54:59 +02:00
ZZYZX
338e676e73
Allow calling const methods on readonly structs
2017-02-17 19:25:29 +02:00
Christoph Oelckers
f4e9cd0009
- scriptified DPlayerMenu::MouseEvent.
2017-02-17 18:21:59 +01:00
ZZYZX
0f031c5f22
Renamed 'allowui' to 'clearscope'. 'allowui' doesn't reflect the real meaning of the keyword which clears implicit 'play' or 'ui' inherited from parent class (for classes) or owning type (for methods/fields)
2017-02-17 18:24:01 +02:00
ZZYZX
2b20abff02
Fixed consistency of checks
2017-02-17 18:01:39 +02:00
ZZYZX
4fe9c7d8c8
Added parsing of ui, play, allowui and const qualifiers
2017-02-17 17:58:16 +02:00
Christoph Oelckers
416911587e
- scriptified PlayerMenu.Drawer
2017-02-17 16:53:36 +01:00
Magnus Norddahl
cd2179e62a
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-17 05:35:15 +01:00
Magnus Norddahl
e42f914efa
Added php script generating the 32 bit wall drawers
2017-02-17 05:34:33 +01:00
Rachael Alexanderson
80f762f8a4
Merge https://github.com/coelckers/gzdoom
2017-02-16 20:40:07 -05:00
Christoph Oelckers
18925d07be
- fixed a typo.
2017-02-16 23:17:19 +01:00
Christoph Oelckers
b523aa13c8
- fixed crash with bad state labels.
2017-02-16 21:51:32 +01:00
Christoph Oelckers
1d52037779
- skip the Direct3D setup if building with a non-XP toolset on Visual Studio.
2017-02-16 21:01:52 +01:00
Christoph Oelckers
36e5bab657
- removed the fixed search path for FMod on drive E: because this can cause problems with automated builds on unknown systems.
...
This should never have been set up like this.
2017-02-16 19:45:03 +01:00
Christoph Oelckers
944f2bf266
- fixed armor save percentage values in Dehacked.
2017-02-16 19:29:07 +01:00
Christoph Oelckers
ccb083ed25
- fixed initialization of joystick menu with bogus MENUDEFS
2017-02-16 18:55:36 +01:00
Christoph Oelckers
cfeb1724fe
- added a Door_AnimatedClose special.
2017-02-16 18:35:58 +01:00
Christoph Oelckers
4d99b58f96
- allow using the default menu settings classes when none is specified in MENUDEFS.
2017-02-16 17:45:51 +01:00
ZZYZX
5e5d0d3e57
Using separate keyword 'nonew' as reverse abstract; nonew is inherited, and nonew class can only be created from the first nonew class in the hierarchy
2017-02-16 12:40:09 +02:00
alexey.lysiuk
59db1a882f
Fixed compilation warnings reported by MSVC
...
src\s_sound.cpp(1259): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data
src\c_bind.cpp(479): warning C4101: 'c': unreferenced local variable
2017-02-16 11:01:06 +02:00
ZZYZX
0803faf596
Compile time check for abstract class instantiation to reduce programming errors ASAP
2017-02-16 04:22:14 +02:00
ZZYZX
0819dd8d89
Actually pass PFunction to OP_NEW
2017-02-16 04:14:21 +02:00
ZZYZX
7d3663500f
Disallow creation of abstract classes outside of their own class (this is so that modders can create their own factory methods, not just for native)
2017-02-16 03:49:03 +02:00
Rachael Alexanderson
ef22d10756
Merge https://github.com/coelckers/gzdoom
2017-02-15 20:08:21 -05:00
ZZYZX
363990a105
Class abstractness should be inherited
2017-02-16 02:31:20 +02:00
ZZYZX
3577e4eddc
Fixed possible nullptr dereferencing on c->Type() == nullptr
2017-02-16 02:14:49 +02:00
Christoph Oelckers
304e989496
- allow splashing on non-swimmable, non-solid 3D floors if they are marked liquid and have a splash assigned.
2017-02-15 23:06:24 +01:00
Christoph Oelckers
4df2a221a8
- fixed: The special called by the InterpolationSpecial actor must have no activator.
...
This required splitting A_CallSpecial into a direct wrapper around P_ExecuteSpecial and implementing itself as a script function calling ExecuteSpecial so that this special case can use a version of the function that can be used without an activator.
2017-02-15 22:49:13 +01:00
Christoph Oelckers
b3d7980b90
- fixed: PowerProtection clamped its damage minimum to 1, but should do it to 0.
2017-02-15 21:20:11 +01:00
Rachael Alexanderson
bf1aa71194
Merge https://github.com/coelckers/gzdoom
2017-02-15 11:19:51 -05:00
Rachael Alexanderson
bd86abede3
- fixed Skulltag rune bugs.
...
1) When used in a hub, returning to a previous level in the hub deactivated the runes if they were a permanent powerup.
2) When picking up two different runes with the same effect, one rune wearing off removed the effect completely.
3) This entire system was done through an extremely hacky CheatFlags implementation. This was a gross hack, and it was no wonder it didn't always work properly.
2017-02-15 16:37:45 +01:00
Magnus Norddahl
c95a52166d
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-15 13:26:52 +01:00
Magnus Norddahl
01cbb14f14
Change wall project to use the fixed version from GZDoom as it was most likely more tested
2017-02-15 13:26:43 +01:00
Christoph Oelckers
46d12635ce
- fixed warning
2017-02-15 13:17:20 +01:00
Christoph Oelckers
67f6f28b55
- fixed: When finding the highest floor plane on a given side of a linedef, the necessary tests may not depend on the actual highest floor, which may originate from the other side of the line and cause valid planes that are between the currently set plane and the actual highest floor to be skipped.
2017-02-15 13:14:59 +01:00
Rachael Alexanderson
e01895bf80
Merge https://github.com/coelckers/gzdoom
2017-02-15 07:06:52 -05:00
Magnus Norddahl
fc97ef0913
Fix palette fog boundary rendering error
2017-02-15 13:01:00 +01:00
Christoph Oelckers
d8b8767ee9
- disabled render events pending further discussion and evaluation.
2017-02-15 12:27:50 +01:00
Christoph Oelckers
c8db1f151e
- fixed: All FNames inside actor classes need to be FNameNoInit or their constructor will overwrite them after copying the defaults.
2017-02-15 12:16:24 +01:00
Christoph Oelckers
d8ebbcfc08
- fixed: When loading a savegame the player class in the userinfo needs to be updated.
...
- fixed: Class pointers should not be added to the list of garbage collected pointers.
- fixed several warnings in the event code.
2017-02-15 11:55:08 +01:00
Rachael Alexanderson
5dad292c56
Merge remote-tracking branch 'remotes/gzdoom/master'
2017-02-15 05:43:15 -05:00
Rachael Alexanderson
2b8db72cef
Merge commit '2234d36c7ac531fd802803216f747f82b58be8c2'
...
# Conflicts:
# src/r_main.cpp
# src/r_plane.cpp
# src/r_things.cpp
2017-02-15 05:42:57 -05:00
Rachael Alexanderson
959ac8c65b
Merge commit '9caf5c641b374848c065059b5152339806fa7734'
2017-02-15 05:28:38 -05:00
Christoph Oelckers
6fef653aa1
- exported GetUDMF methods to scripting.
2017-02-15 01:03:47 +01:00
Christoph Oelckers
8d7a64bd17
- added a virtual 'used' method that gets called when the player presses use on an actor. This method will only be called if the actor does not have the USESPECIAL flag - that one will be handled as before.
2017-02-15 00:43:30 +01:00
Christoph Oelckers
c01289e999
- added ZScript property handling for names, sounds and colors.
2017-02-14 23:28:49 +01:00
Christoph Oelckers
2f1b5c375e
- fixed: Line_SetPortal crashed with one-way portals.
2017-02-14 23:13:29 +01:00
Christoph Oelckers
c5204f34ca
- fixed: The code to play the mage lightning's attack sound was converted wrong, because it used the same structure as looping sounds normally so, but doesn't actually loop.
2017-02-14 22:51:53 +01:00
Christoph Oelckers
a6156297ce
- don't adjust sprite offsets of IWAD sprites in sequences which have been replaced partially. This can be overridden by specifying 'iwadforced' in the SPROFS lump.
2017-02-14 22:04:52 +01:00
Christoph Oelckers
3170591e32
- restated some weird number manipulation in SBARINFO for powerup time. This appears to be needed to distinguish between non-expiring items and non-present items.
2017-02-14 22:04:52 +01:00
alexey.lysiuk
a9f650c3f2
Fixed compilation warnings reported by GCC/Clang
...
src/events.cpp:167:66: warning: format specifies type 'char *' but the argument has type 'char' [-Wformat]
src/events.cpp:167:84: warning: data argument not used by format string [-Wformat-extra-args]
src/events.cpp:1036:20: warning: comparison of integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
2017-02-14 22:13:31 +02:00
alexey.lysiuk
dd0f55e8d8
Fixed compilation of Cocoa backend
2017-02-14 22:02:47 +02:00
Christoph Oelckers
b7b0e64471
- separated splash detection from water level setting.
...
This could cause problems if 3D floors with different properties for slashing and waterlevel were occupied at the same time. By keeping the slash code separate both parts can be handled without having to look out for the other.
2017-02-14 20:11:30 +01:00
Christoph Oelckers
9e769f29c3
- the native part wasn't saved.
2017-02-14 19:34:01 +01:00
Christoph Oelckers
2234d36c7a
Merge branch 'thereisnospoon' of https://github.com/jewalky/gzdoom
...
# Conflicts:
# src/dobject.h
2017-02-14 19:10:02 +01:00
Christoph Oelckers
2e5ada5f25
- fixed texture clamping calculations for negative scales.
2017-02-14 18:20:21 +01:00
Christoph Oelckers
2e11b4f346
- fixed: The S_Sound script export did not call the actual function.
2017-02-14 17:03:31 +01:00
Christoph Oelckers
7b1645d239
- fixed the item check in OptionMenuItemCommand.
...
This was calling the wrong GetItem function.
2017-02-14 16:50:10 +01:00
Magnus Norddahl
7f81e0bd26
Merge remote-tracking branch 'gzdoom/master' into qzdoom
2017-02-14 14:55:02 +01:00
Christoph Oelckers
443ac50887
- fixed: DMenu::CallTicker called the Drawer methods of the menu instead of the Ticker methods.
2017-02-14 13:19:37 +01:00
alexey.lysiuk
08bf08f297
Restored effect of negative horizontal texture scale in software renderer
2017-02-14 12:33:27 +02:00
Magnus Norddahl
eac98ac226
Calculate sprite dynamic light contribution and pass it along to the sprite drawer
2017-02-14 06:37:06 +01:00
Magnus Norddahl
5ef8ecce2a
Fix wall scroller direction
2017-02-14 02:52:41 +01:00
Christoph Oelckers
73ed351144
- don't error out on unknown CVars for optional parameters in menu items.
2017-02-13 23:24:31 +01:00
Rachael Alexanderson
2a71ec89de
Merge https://github.com/coelckers/gzdoom
2017-02-13 17:02:56 -05:00
Christoph Oelckers
32da1de385
- fixed: negative texture scales should not affect the direction a wall scrolls in.
2017-02-13 22:37:16 +01:00
Christoph Oelckers
cb758f6dab
- added a 'nolightfade' MAPINFO option which disables light diminishing in OpenGL. Note that this only works for light modes 0-3. Modes 4 and 8 use special light math that would not work if such a setting was forced.
2017-02-13 22:17:15 +01:00
Christoph Oelckers
1a63450fe2
- fixed a few issues with actor bouncing logic.
2017-02-13 22:00:27 +01:00
Christoph Oelckers
5dd00e44ef
- fixed bad parameters for MouseEvent call in menus.
2017-02-13 20:06:07 +01:00
Christoph Oelckers
6525e04118
- added restrictions to CVAR and CCMD access functions for the menus. CVAR changes are only allowed when the menu is open or for mod-CVARs. The CCMD execution function is now private to the control requiring it and heavily guarded against improper access from the outside so that abuse is mostly impossible.
...
This also means that the remaining scriptification of the menu is on hold. The player menu would require even more access to critical game data, which is a no-go, and the other remaining menus offer little benefit from getting scriptified.
2017-02-13 19:18:45 +01:00
Christoph Oelckers
7877bcbdcb
- exported more parts of the joystick menus and also exported all strings for them to the string table.
...
- exported the skeleton definition for list menus.
2017-02-13 17:45:03 +01:00
Magnus Norddahl
9159e3b1f0
Move software canvas drawing to its own file in the software renderer
2017-02-13 17:32:52 +01:00
Magnus Norddahl
10b36934c2
Fix vid_hw2d 0 translation bug
2017-02-13 16:13:24 +01:00
Magnus Norddahl
93f43e8751
Menu code accessed the screen buffer without a lock
2017-02-13 15:42:35 +01:00
Magnus Norddahl
69787fac72
Fix translation issue
2017-02-13 15:08:11 +01:00
raa-eruanna
a2edca6032
- fix at least one of the GCC errors
2017-02-13 07:01:44 -05:00
Rachael Alexanderson
8c176575c8
Merge https://github.com/coelckers/gzdoom
2017-02-12 21:39:20 -05:00
Christoph Oelckers
89ef30166d
- fixed assembly output for SO instruction.
2017-02-13 00:25:39 +01:00
Christoph Oelckers
46c0d27fe7
- scriptified the entire OptionMenu class and all still existing native subclasses.
2017-02-13 00:08:20 +01:00
Magnus Norddahl
22be201fc7
Split line drawing into more functions
2017-02-13 00:00:25 +01:00
Christoph Oelckers
12db190f41
- scriptified the CVar printers for the gameplay and compatibility menus.
2017-02-12 23:17:05 +01:00
Christoph Oelckers
2b977f70e6
- scriptified the video mode menu (only the part that extends the actual menu class, the entire thing is basically non-modifiable but this code would otherwise stand in the way of properly handling the rest of the menus.)
2017-02-12 23:05:39 +01:00
Christoph Oelckers
7d96f85fe8
Merge remote-tracking branch 'remotes/origin/master'
2017-02-12 21:57:46 +01:00
Christoph Oelckers
b6ad14a614
- made adjustments to text input menu to work with scripts.
2017-02-12 21:45:37 +01:00
Christoph Oelckers
f0e925c5a7
- scripted color picker fully working.
2017-02-12 20:20:47 +01:00
Christoph Oelckers
dbf3530696
- the keybinding control works again, this time fully scripted.
2017-02-12 18:38:23 +01:00
Christoph Oelckers
2e9c1ec3f3
- fixed translation setup for player backdrop.
...
- fixed return value of GetAction method of menu controls.
2017-02-12 16:48:29 +01:00
Christoph Oelckers
03283de4e8
- fixed issues with option menu items.
...
- fixed the octal parser in strbin.
- remove 'new' token because it gets in the way.
2017-02-12 16:02:55 +01:00
Christoph Oelckers
4562695854
- fixed stringtable access in menus.
2017-02-12 14:28:38 +01:00
Christoph Oelckers
bb6def820f
- everything compiles and mostly works again.
2017-02-12 14:04:48 +01:00
Rachael Alexanderson
ae0ef8b09d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
2017-02-12 06:28:20 -05:00
Magnus Norddahl
9482c3e639
Fixed voxel clipping bug
2017-02-12 11:32:06 +02:00
alexey.lysiuk
c01107181a
Reset sound position only when there is no listener
...
https://mantis.zdoom.org/view.php?id=206
https://mantis.zdoom.org/view.php?id=248
2017-02-12 11:26:25 +02:00
Magnus Norddahl
83332562f1
Fix skyhack
2017-02-12 07:37:18 +01:00
Magnus Norddahl
bb749c032a
Create SetTopTexture, SetMiddleTexture and SetBottomTexture
2017-02-12 07:24:35 +01:00
Magnus Norddahl
b5c5bd9a1c
Create ClipSegmentTopBottom function
2017-02-12 06:44:03 +01:00
Magnus Norddahl
8d25a6d8d4
rw_offset is not a member variable
2017-02-12 06:23:57 +01:00
Magnus Norddahl
0dadf38bbe
Create WallPartTexture class
2017-02-12 06:17:38 +01:00
Magnus Norddahl
0ba8448782
Fix colormap null pointer crash
2017-02-12 03:25:27 +01:00
Magnus Norddahl
9123c71bb6
Fix clang warning
2017-02-12 03:25:17 +01:00
Magnus Norddahl
5a85fabfa6
Add true color support to voxel renderer
2017-02-12 01:27:26 +01:00
Christoph Oelckers
ee1217c8c7
- everything compiles again, now to make it work again with all menu widgets 100% scripted.
2017-02-12 01:18:49 +01:00
Magnus Norddahl
0cea344dce
Fix voxel clipping bug
2017-02-11 23:23:34 +01:00
Magnus Norddahl
8c5360e547
Enable Ken Silverman's voxel drawing code now that he has given us permission to license it as GPL
2017-02-11 22:10:52 +01:00
Christoph Oelckers
2a5b26c27c
- removed native option menu controls. Note that this commit will not compile!
2017-02-11 21:28:48 +01:00
Magnus Norddahl
3e28d53308
Move rw_havelow and rw_havehigh to local function variables
2017-02-11 20:27:11 +01:00
Magnus Norddahl
9e2702d885
Move more encrypted code into IsInvisibleLine, IsDoorClosed and IsSolid
2017-02-11 20:01:23 +01:00
Magnus Norddahl
1983dd2483
Move code closer to where it is used
2017-02-11 19:13:26 +01:00
Magnus Norddahl
1141e05fdf
Decipher some line setup code into ShouldMarkFloor, ShouldMarkCeiling and ShouldMarkPortal
2017-02-11 18:52:49 +01:00
Magnus Norddahl
c17317de24
Rename variables and group them a little more how they are used
2017-02-11 18:00:02 +01:00
Christoph Oelckers
fc4e1ffcdf
- separated the savegame menu code into an internal class managing the savegame data and the actual menu.
...
The manager class cannot be scriptified because it provides the internal implementation which may change at some point in the future. It also encapsulates all access to the file level because if that part is not protected, modders could write malware mods.
2017-02-11 17:20:12 +01:00
Christoph Oelckers
947b625c50
- all menu items scriptified, but not yet active.
2017-02-11 16:11:48 +01:00
Rachael Alexanderson
a52f79055d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/menu/playerdisplay.cpp
2017-02-11 05:05:24 -05:00
Christoph Oelckers
f91d91d6e8
- all optionmenu items scriptified, but not integrated yet.
2017-02-11 00:36:53 +01:00
alexey.lysiuk
d2affc7c0c
Fixed crash on attempt to get string value of null
...
https://mantis.zdoom.org/view.php?id=231
2017-02-10 16:19:33 +02:00
Christoph Oelckers
98de1fcfcb
- make the pixel buffer of the player backdrop dynamic.
2017-02-10 14:18:00 +01:00
Christoph Oelckers
65174af544
- moved the backdrop for the player box into the texture manager so that the menu doesn't have to bother with managing the texture itself.
2017-02-10 14:07:21 +01:00
Christoph Oelckers
8c780ab7ff
- exported the drawer function of the colorpicker menu.
2017-02-10 13:21:35 +01:00
alexey.lysiuk
04e2b3be4a
Fixed compilation with GCC/Clang
...
No more 'enumeration previously declared with fixed underlying type' error
2017-02-10 13:34:28 +02:00
Christoph Oelckers
be9b2b38fc
- ColorpickerMenu.MouseEvent exported.
2017-02-10 11:44:46 +01:00
Rachael Alexanderson
ad1092c670
Merge https://github.com/coelckers/gzdoom
2017-02-10 00:16:25 -05:00
Christoph Oelckers
07ba75762b
- the first menu function has been scriptified.
2017-02-10 00:25:50 +01:00
Magnus Norddahl
3c0d769499
Fix portals draw segment indexing bug
2017-02-09 22:58:28 +01:00
Christoph Oelckers
7efa9cd70d
- made the menu descriptors garbage collectable and started exporting some fields as preparation for script work on the menu.
2017-02-09 20:18:53 +01:00
Rachael Alexanderson
6ed46921c8
Merge https://github.com/coelckers/gzdoom
2017-02-09 11:21:01 -05:00
Christoph Oelckers
f37db344df
- removed class pointers from AActor's pointer list.
2017-02-09 15:13:43 +01:00
alexey.lysiuk
7c8babceba
Extended mouse wheel handling in Cocoa backend
...
Horizontal scrolling using mouse wheel with Shift keyboard button hold is no longer ignored
2017-02-09 16:07:28 +02:00
alexey.lysiuk
14ca635dc1
Fixed clashing of actor render flags' values
...
Sorted definitions in ascending order of values
See https://mantis.zdoom.org/view.php?id=204
2017-02-09 15:45:35 +02:00
Magnus Norddahl
ff4de4a744
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2017-02-09 12:19:33 +01:00
Magnus Norddahl
c16aa3d361
Fix crouch player sprite
2017-02-09 12:18:40 +01:00
Christoph Oelckers
4e1300ecbe
- added a script export for ACS's ReplaceTextures function.
2017-02-09 12:02:07 +01:00
Rachael Alexanderson
325ef6d7d7
Merge https://github.com/coelckers/gzdoom
2017-02-09 05:56:01 -05:00
nashmuhandes
3d9673af44
Fixed: Models did not take SpriteRotation into account
2017-02-09 11:29:10 +01:00
nashmuhandes
a4d146c843
Added DONTCULLBACKFACES MODELDEF flag to forcefully disable backface culling on models
2017-02-09 11:24:10 +01:00
Christoph Oelckers
845f5e0833
- fixed: A_Teleport and A_Warp had incorrect declarations for their state parameter.
2017-02-09 11:22:36 +01:00
Christoph Oelckers
4f0747c59e
- fixed: Class pointers were accepted for objects of the base type 'Object'.
2017-02-09 11:11:54 +01:00
alexey.lysiuk
4dd7e02721
AActor::GiveInventory() is now functional
...
See https://mantis.zdoom.org/view.php?id=213
2017-02-09 10:15:05 +02:00
Rachael Alexanderson
47100e473e
Merge https://github.com/coelckers/gzdoom
2017-02-09 02:09:21 -05:00
Magnus Norddahl
371dd98102
Show player in mirrors and portals
2017-02-09 05:57:37 +01:00
Magnus Norddahl
388c511e11
Fix portal sprite clipping bugs
2017-02-09 05:42:15 +01:00
Christoph Oelckers
ccecfeb45c
- to avoid problems with the final garbage collection, the players' PendingWeapon needs to be cleared manually.
...
This is because it can point to a non-standard value which the garbage collector cannot deal with during engine shutdown.
2017-02-09 01:34:07 +01:00
Rachael Alexanderson
5948c7b0da
Merge https://github.com/coelckers/gzdoom
2017-02-08 18:42:24 -05:00
Christoph Oelckers
4e685f2b78
- fixed: for unpositioned sounds the play position was never initialized and depended on random memory contents.
2017-02-08 23:29:52 +01:00
Christoph Oelckers
36a07b8e6e
- remove all type table entries from garbage collection.
...
Like the symbols and the VM functions this is data that is static from startup until shutdown and has no need to be subjected to garbage collection. All things combined this reduces the amount of GC-sensitive objects at startup from 9600 to 600.
2017-02-08 22:43:20 +01:00
Christoph Oelckers
8277299135
- Turned DropItem into a plain struct again like it was before the scripting branch got merged.
...
Making this an object had little to no advantage, except being able to remove the deleter code. Now, with some of the class data already being allocated in a memory arena so that freeing it is easier, this can also be used for the drop item lists which makes it unnecessary to subject them to the GC. This also merges the memory arenas for VM functions and flat pointers because both get deleted at the same time so they can share the same one.
2017-02-08 20:37:22 +01:00
Christoph Oelckers
9499c22dfe
- restored ZDoom 2.8.1's version of FindClassTentative which just modified the existing class instead of replacing it and having to run a costly and volatile PointerSubstitution call to replace all pointers to the old one.
2017-02-08 19:52:33 +01:00
Christoph Oelckers
17a2666bd4
- moved DisplayName, the last remaining PlayerPawn meta property, to PClassActor so that PClassPlayerPawn could be removed.
...
Now all actors have the same metaclass and therefore it will always be the same size which will finally allow some needed changes to the type system which couldn't be done because it was occasionally necessary to replace tentatively created classes due to size mismatches.
2017-02-08 19:42:24 +01:00
Christoph Oelckers
68e9918ed5
- moved player color sets and pain flashes into global variables.
...
There's simply never enough of them and they are used far too infrequently to justify the hassle of tagging along two TMaps per class.
For what they provide, single global lists that handle all player classes at once are fully sufficient.
2017-02-08 19:10:11 +01:00
Major Cooke
dd102caf13
- Fixed: SetCamera didn't have the 'action' identifier, nor did it use the actual 'cam' actor provided, rendering it nonfunctional.
2017-02-08 18:17:09 +01:00
Christoph Oelckers
c77f6636f8
- moved the three remaining variables from PClassInventory to PClassActor so that PClassInventory can be removed.
2017-02-08 18:11:23 +01:00
Christoph Oelckers
eebe09fb59
- moved the scalar class properties of PClassInventory into AInventory.
...
What's left is the non-scalars, they will need different treatment to get them out of the way.
2017-02-08 16:57:48 +01:00
Christoph Oelckers
2ca0e34785
- turned many of PClassPlayerPawn's strings into names and moved all scalar properties into APlayerPawn.
...
The goal is to get rid of PClassPlayerPawn and PClassInventory so that the old assumption that all actor class descriptors have the same size can be restored
This is important to remove some code that seriously blocks optimization of the type table because that can only be done if types do not need to be replaced.
2017-02-08 16:42:13 +01:00
Christoph Oelckers
a6785afddb
- optimized the FName versions of IsDescendantOf and IsKindOf. These can be done without first looking up the class type itself.
2017-02-08 15:47:22 +01:00
Christoph Oelckers
31223ca180
- remove all symbols that get linked into the symbol table from the garbage collector.
...
Symbols are very easy to manage once they are in a symbol table and there's lots of them so this reduces the amount of work the GC needs to do quite considerably.
After cleaning out compile-time-only symbols there will still be more than 2000 left, one for each function and one for each member variable of a class or struct.
This means more than 2000 object that won't need to tracked constantly by the garbage collector.
Note that loose fields which do occur during code generation will be GC'd just as before.
2017-02-08 14:34:39 +01:00
Christoph Oelckers
f1b3d60b2f
- PSymbol does not need to inherit from PTypeBase. This also means that there are no remaining references to any symbol object outside of the symbol tables.
2017-02-08 13:37:13 +01:00
Christoph Oelckers
18c532c307
- moved the compiler symbols into their own file.
...
- removed all pointer declarations to types from the symbols. All types must be placed into the type table which means that they can be considered static.
2017-02-08 13:17:25 +01:00
Christoph Oelckers
5a81a4ca16
- moved a few things around to have them into better fitting places.
2017-02-08 12:24:08 +01:00
Christoph Oelckers
f6d6f310a9
- fixed comments.
2017-02-08 11:56:12 +01:00
Christoph Oelckers
3cbd62479b
- took VMFunction out of the DObject hierarchy.
...
As it stood, just compiling the internal ZScript code created more than 9000 DObjects, none of which really need to be subjected to garbage collection, aside from allowing lazy deallocation.
This puts an incredible drag on the garbage collector which often needs several minutes to finish processing before actual deletion can start.
The VM functions with roughly 1800 of these objects were by far the easiest to refactor so they are now. They also use a memory arena now which significantly reduces their memory footprint.
2017-02-08 11:13:41 +01:00
Magnus Norddahl
2d25002e2a
Fix InterestingSegments not being properly resized in PopPortal
2017-02-08 02:59:25 +01:00
Magnus Norddahl
4f73a722af
Merge remote-tracking branch 'gzdoom/master' into qzdoom
...
# Conflicts:
# src/r_draw.cpp
2017-02-08 00:34:19 +01:00
Christoph Oelckers
3cddcc8524
- removed PClassType and PClassClass.
...
All non-actors now use PClass exclusively as their type descriptor.
Getting rid of these two classes already removes a lot of obtuse code from the type system, but there's still three more classes to go before a major cleanup can be undertaken.
2017-02-07 20:45:56 +01:00
Magnus Norddahl
b36444ca1c
Fix camera shader colormap (invulnerability effect) not getting applied to hardware accelerated player sprites
2017-02-07 20:43:41 +01:00
Christoph Oelckers
e3d07bddab
- moved the TypeTableType pointer from PClassType to PType.
...
Removing this variable is needed to remove PClassType and PClassClass as the next step to eliminate all of PClass's subclasses in order to clean up the type system.
2017-02-07 20:25:52 +01:00
Christoph Oelckers
7ed554158c
- got rid of PClassWeapon.
...
Still 5 subclasses of PClass left...
2017-02-07 19:02:27 +01:00
Christoph Oelckers
776509e68a
- let skip_super use the AActor assignment operator. The blanket memcpy it used was clobbering some data.
...
- moved the Finalize method from PClassActor to AActor. Now that defaults get their vtbl pointer initialized this will actually work.
2017-02-07 18:12:59 +01:00
Christoph Oelckers
56024a1ebe
- implemented the backend for dynamic arrays. Still needs thorough testing but it should be complete.
...
- use a memory arena to store flat pointers so that the messed up cleanup can be avoided by deallocating this in bulk.
- added a new SO opcode to the VM to execute a write barrier. This is necessary for all objects that are not linked into one global table, i.e. everything except thinkers and class types.
- always use the cheaper LOS opcode for reading pointers to classes and defaults because these cannot be destroyed during normal operation.
- removed the pointless validation from String.Mid. If the values are read as unsigned the internal validation of FString::Mid will automatically ensure proper results.
2017-02-07 14:48:27 +01:00
Christoph Oelckers
4ca69f10c7
- removed a few unused definitions.
2017-02-07 10:55:59 +01:00
Rachael Alexanderson
d760b5070a
Merge https://github.com/coelckers/gzdoom
2017-02-07 02:23:48 -05:00
Christoph Oelckers
f9712460f3
- fixed: 3D floors could be set for untagged sectors.
2017-02-07 00:31:01 +01:00
Christoph Oelckers
2021baf47d
- fixed: The 'transparent' line flag did not work due to a leftover OPAQUE constant where floats were expected.
2017-02-07 00:24:04 +01:00
Christoph Oelckers
f77a528e13
- added type checks for DynArray.Copy and Move and fixed parameter processing.
2017-02-07 00:12:55 +01:00
Christoph Oelckers
96b2cb0a45
- fixed code generation for local dynamic arrays.
...
- removed some code repetition by inherit all variable types which reference a PField for a variable offset from a base class so that PField replacements can be done with one set of code.
2017-02-06 22:57:42 +01:00
Christoph Oelckers
ca48a687f8
- major work on dynamic array support. Mostly working, some issues still exist with Move and Copy methods and with assignments in stack variables.
2017-02-06 21:39:21 +01:00
Christoph Oelckers
12477216ef
- did some cleanup on the OPL files to remove all use of homegrown integer types in favor of the standard ones. This already helps getting rid of one of the MUSLIB files still left.
2017-02-06 19:26:45 +01:00
Magnus Norddahl
58495ea714
Renamed Clip3DFloors to Clip3D to fix gcc compile error
2017-02-06 16:04:27 +01:00
Magnus Norddahl
7e6c91d73c
Remove yslope loopup table and StepColumn
2017-02-06 15:15:09 +01:00
ZZYZX
b23937c924
Safety measures: disallow using netevent when not in a level
2017-02-06 16:14:18 +02:00
ZZYZX
52d9077477
Added playsim event (netevent CCMD)
2017-02-06 16:02:44 +02:00
ZZYZX
77546ad5c2
Added non-playsim console-called event
2017-02-06 15:52:20 +02:00
ZZYZX
7a03570e4a
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-06 15:18:13 +02:00
ZZYZX
f368e70f89
Fixed overflows in String.Mid
2017-02-06 13:31:01 +01:00
ZZYZX
b7e64a2bc5
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-06 14:14:23 +02:00
ZZYZX
124d025131
More string methods
2017-02-06 12:35:21 +01:00
Rachael Alexanderson
942f90a759
Merge remote-tracking branch 'gzdoom/master'
2017-02-05 16:07:48 -05:00
Christoph Oelckers
d90f2ba1fa
- wrap the va_list that gets passed around by the Draw functions into a struct so that the templates can use reliable, identical semantics for both this and the VM's arg list.
2017-02-05 21:54:09 +01:00
Christoph Oelckers
a4dbbf6969
- fixed P_NightmareRespawn did not respawn a map defined spawn health and neither made skill-related adjustments.
2017-02-05 21:43:16 +01:00
Christoph Oelckers
810efe517d
- fixed: AActor::SetOrigin lost its 'virtual' qualifier in the ZScript merge, but ADynamicLight needs this to work properly.
2017-02-05 21:38:06 +01:00
Christoph Oelckers
e55406bc23
- changed clean scaling factor calculation so that it doesn't prefer larger scales on high resolution displays.
...
This was a tweak that only makes sense when the scaling factors are low, i.e. 2 vs. 3, but for modern high resolutions it will enlarge things a bit too much.
2017-02-05 18:48:49 +01:00
alexey.lysiuk
481bddf628
Fixed incorrect offscreen rendering of player's blend
2017-02-05 18:16:27 +01:00
ZZYZX
e4970189b6
Tactical merge
2017-02-05 19:14:56 +02:00
Christoph Oelckers
72810c969d
- added ChangeCamera script function.
2017-02-05 18:07:12 +01:00
Christoph Oelckers
9e038b75fa
- exported DrawChar and DrawText.
2017-02-05 16:47:33 +01:00
Christoph Oelckers
52bec33c0d
- exported BrokenLines to scripting as a new class.
...
- removed the hard limit of 128 lines for V_BreakLines.
2017-02-05 16:18:41 +01:00
Christoph Oelckers
d8a1ce88b0
- a few more exports from FFont.
2017-02-05 13:55:38 +01:00
alexey.lysiuk
ef871ec09f
Fixed compilation with GCC/Clang
...
error: cannot pass non-trivial object of type 'FName' to variadic function; expected type from format string was 'char *' [-Wnon-pod-varargs]
2017-02-05 14:52:17 +02:00
Christoph Oelckers
b570d0819b
- streamlined font handling for scripts a bit.
...
- moved the two 'you raised the alarm' messages for Strife to the string table
2017-02-05 13:14:22 +01:00
Rachael Alexanderson
9c50600286
- fix compile errors
2017-02-05 00:53:36 -05:00
Rachael Alexanderson
59f32d497d
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
# src/v_draw.cpp
2017-02-05 00:08:01 -05:00
Christoph Oelckers
5cfac78116
- added write barriers to the menu code.
...
The GC was causing some crash issues with the items not having been subjected to a write barrier.
2017-02-05 01:52:09 +01:00
Magnus Norddahl
4172d70d95
Make Frozen Time rendering 4 times faster by grouping draw segments in batches of 100 (old algorithm processed 32000 draw segs per sprite!)
2017-02-05 00:42:42 +01:00
Christoph Oelckers
470dc138c6
- got rid of all DTA_Translation uses.
2017-02-05 00:17:29 +01:00
Christoph Oelckers
dadc8e2ec2
- removed all uses of DTA_Translation except for the single one that passes a custom built table.
...
This means that with the exception of 3 pointers the DrawTexture interface only accepts numeric values now.
Still need to get rid of the last 3 to have this ready for scripting.
2017-02-04 23:26:28 +01:00
Christoph Oelckers
d50e52ea59
- use DrawChar to draw font characters instead of calling DrawTexture directly.
...
Mostly done to remove uses of DTA_Translation.
2017-02-04 22:50:23 +01:00
Christoph Oelckers
6dea3eef8e
- exported DrawTexture to scripting.
...
This uses templates to avoid source duplication of ParseDrawTextureTags. Not tested yet.
2017-02-04 22:09:49 +01:00
Magnus Norddahl
bf6ab1efc8
Clip sprites by thread slice
2017-02-04 21:55:56 +01:00
Magnus Norddahl
d1cbb76b63
Only render player sprites on main thread
2017-02-04 21:00:05 +01:00
Magnus Norddahl
beae9a3dc7
Stop using validcount for sprites
2017-02-04 20:32:06 +01:00
Christoph Oelckers
a102807737
- atags for null pointers have no meaning so do not assert on them.
2017-02-04 19:37:19 +01:00
Magnus Norddahl
cfe4c55973
Remove software renderer internals from F3DFloor
2017-02-04 19:13:56 +01:00
alexey.lysiuk
e8c2444ddd
Fixed compilation with GCC/Clang
...
error: use of undeclared identifier 'op'
error: no matching function for call to 'ListEnd'
error: no matching function for call to 'ListGetInt'
error: no matching function for call to 'ListGetDouble'
...
2017-02-04 18:10:30 +02:00
Magnus Norddahl
8ad132b64f
Execute scene slices on worker threads
2017-02-04 16:45:36 +01:00
Christoph Oelckers
ec15c7f4c3
- removed the fatal errors for invalid actor->movedir.
...
These can be silently mapped to DI_NODIR to let the engine get the actor back on track.
2017-02-04 16:29:01 +01:00
Christoph Oelckers
43d759782d
- fixed: Stack based local VM object pointers should not be subjected to a read barrier.
...
This isn't done for register based variables so for consistency it should not be done for stack based variables, too.
This difference in handling made it impossible to check the target of a hitscan attack if it was destroyed by getting damaged.
2017-02-04 16:23:14 +01:00
Magnus Norddahl
d9e545a519
Hook up thread slices and eliminate some statics hiding in misc functions
2017-02-04 15:51:54 +01:00
Magnus Norddahl
f50532af8a
Reorder scene setup to do the stuff that can't be threaded first
2017-02-04 14:20:58 +01:00
Magnus Norddahl
5bae06a3c6
Make RenderScene the work dispatching class
2017-02-04 14:00:21 +01:00
Magnus Norddahl
5105a5d254
Fix msvc compile error
2017-02-04 13:43:39 +01:00
Christoph Oelckers
d3ed83942f
- did some preparations to ParseDrawTextureTags to allow using the same code for parsing tag lists generated by the VM.
...
- removed the fixed point alpha tag from DrawTexture and replaced all uses with the floating point version.
2017-02-04 13:11:12 +01:00
Magnus Norddahl
6f5e720576
Split drawer command queue from drawer threads
2017-02-04 12:38:05 +01:00
ZZYZX
b833f5a852
Merge remote-tracking branch 'gz/master' into thereisnospoon
2017-02-04 10:27:37 +02:00
Rachael Alexanderson
ebb8da563a
Merge https://github.com/coelckers/gzdoom
2017-02-04 02:56:18 -05:00
Magnus Norddahl
45f623faf4
Move frame memory allocator into RenderThread
2017-02-04 02:50:52 +01:00
Christoph Oelckers
abac756289
- exported some stuff for fonts and screen size that will be needed for the menus.
2017-02-04 00:46:22 +01:00
Magnus Norddahl
627a388d57
Move renderer singletons into a RenderThread class
2017-02-04 00:25:37 +01:00
Christoph Oelckers
d5b908186c
- some work on the base classes for menus. None of this is being used yet.
2017-02-04 00:19:25 +01:00
Christoph Oelckers
8578a5a12e
- added a 'new' intrinsic to create new objects from inside scripts.
...
This is not tested yet and likely to not working correctly yet. Will be fixed once I get far enough to use it later.
2017-02-03 22:56:03 +01:00
Christoph Oelckers
d5962b290c
- turned all menu items into actual objects.
...
This is needed for script export.
2017-02-03 21:35:42 +01:00
Magnus Norddahl
4fadc4e9a3
Fix typo
2017-02-03 21:25:51 +01:00
Magnus Norddahl
da346427d3
Change draw segment list to use TArray
2017-02-03 21:11:55 +01:00
alexey.lysiuk
c6e42d6fa0
Added handling of modifier keys for mouse events in Cocoa backend
2017-02-03 22:01:34 +02:00
alexey.lysiuk
f04b0d129d
Removed useless assignment in Cocoa backend
2017-02-03 21:56:14 +02:00
ZZYZX
eb7548d639
Printf doesn't work with FString on GCC
2017-02-03 20:54:42 +02:00
ZZYZX
b18b71c065
Mouse coordinates for UI mouse events are actually data1/data2, not x/y
2017-02-03 20:49:45 +02:00
ZZYZX
f816537992
Setting Order directly (while the event handler is registered) will result in all sorts of broken behavior. Made readonly.
2017-02-03 20:44:27 +02:00
ZZYZX
03f7c39ea7
Fixed mouse input in event handlers. Added RequireMouse field in event handler to signify that native mouse should be turned on for certain handlers.
2017-02-03 20:34:34 +02:00
ZZYZX
08f1731ded
Added keyboard modifiers for mouse events in SDL backend.
2017-02-03 17:39:26 +02:00
Christoph Oelckers
82eae78f7e
- fixed a small memory leak in the texture manager.
2017-02-03 13:11:55 +01:00
ZZYZX
0d96517f5f
Implemented RenderOverlay hook that executes directly after level and statusbar
2017-02-03 13:29:34 +02:00
ZZYZX
6a0103a746
Merged p_setup conflict
2017-02-03 13:02:44 +02:00
ZZYZX
b45af599c5
Explicit handler deinitizliation in P_Shutdown and P_FreeLevelData
2017-02-03 13:01:15 +02:00
ZZYZX
9bb4cf1c03
User input events first take
2017-02-03 12:28:40 +02:00
Christoph Oelckers
a5f417b1e5
- removed all uses of BYTE as function return value or functio parameter from the dynamic light code.
...
These were truncating the actual light values.
2017-02-03 10:13:41 +01:00
Magnus Norddahl
812cc61b16
Fix some typos
2017-02-03 09:08:00 +01:00
Magnus Norddahl
892350ac2e
Add functions to CameraLight
2017-02-03 09:00:46 +01:00
Magnus Norddahl
a0a40281b3
Simplify skyplane light selection
2017-02-03 08:19:59 +01:00
Magnus Norddahl
191438b238
Move Drawers function to viewport
2017-02-03 08:06:47 +01:00
ZZYZX
27c5e21a1d
Moved E_InitStaticHandlers(true) a bit higher in the initialization so that local scripts receive PlayerEntered properly
2017-02-03 09:04:01 +02:00
Christoph Oelckers
1515ab8f4a
- removed the long broken and obsolete PlayMovie code.
2017-02-02 23:21:21 +01:00
ZZYZX
490159f6df
Removed duplicate PlayerEntered call
2017-02-02 22:37:22 +02:00
ZZYZX
5d8b3e8084
Fixed PlayerEntered for non-travel enters
2017-02-02 22:22:10 +02:00
ZZYZX
7f2d97d7ef
Reverted previous commit
2017-02-02 22:18:28 +02:00
ZZYZX
2f79f74d2d
Fixed condition
2017-02-02 22:14:22 +02:00
ZZYZX
dae4a48574
G_FinishTravel: only call RETURN/REOPEN on actual hub return as documented, not on every snapshot/savegame load
2017-02-02 21:52:09 +02:00
ZZYZX
957a8cb117
Count resurrect cheat as respawn
2017-02-02 21:34:26 +02:00
ZZYZX
39355cf45d
Implemented player scripts.
2017-02-02 21:25:07 +02:00
ZZYZX
19d2f6a4db
REOPEN scripts should not be called per player pawn
2017-02-02 20:27:57 +02:00
ZZYZX
7fa50c22e5
Added player events
2017-02-02 20:26:56 +02:00
ZZYZX
bc1194d03b
Added ordering for handlers - by int value returned by virtual function GetOrder(); Also, some handlers (WorldUnloaded and WorldThingDestroyed) are now executed in reverse order.
2017-02-02 19:57:00 +02:00
Magnus Norddahl
c219969b68
Fix blinking wall light regression
2017-02-02 18:46:21 +01:00
Magnus Norddahl
7b4d9675c9
Fix compile errors
2017-02-02 15:24:21 +01:00