Commit Graph

10768 Commits

Author SHA1 Message Date
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
alexey.lysiuk e5a3d2244e Updated AppVeyor configuration
Add dependencies for sound backends
Exclude travis test branches from build
Set git clone depth to one
2017-03-07 11:59:52 +02: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
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
Christoph Oelckers 4f97db74f2 - fixed: The deprecation checks in the compiler backend were wrong. 2017-03-06 19:24:31 +01: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 f4b0435e66 Added basic Travis CI configuration
Build with GCC 5.4 and Clang 3.9 on Ubuntu Linux and Clang from Xcode 8.2 on Apple's macOS
Build with all dependencies except FMOD
2017-03-06 10:41:22 +02: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
ZZYZX f28bdf12a0 StaticEventHandler.InputProcess should not alter playsim directly 2017-03-06 09:34:53 +01:00
alexey.lysiuk 291099751e Added basic AppVeyor configuration
Things to do: dependencies for sound backends and Windows XP support
2017-03-06 09:51:50 +02: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
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
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 a43bc279a3 Gave static methods in EventHandler/StaticEventHandler clearscope 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
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
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 4c5794b6d5 - made GetObituary non-constant.
This gets only called from within the play code and making it const would block potential use cases that involve changing some internal variables like counters.
2017-03-04 12:11:56 +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
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