Commit graph

11716 commits

Author SHA1 Message Date
Christoph Oelckers
7de683f9f5 - converted a few more DECORATE files.
- started with the AST converter. So far it only deals with direct function calls with simple constants as parameters.
- added an error condition for the defaults block to get rid of some asserts.
2016-10-14 00:40:20 +02:00
Christoph Oelckers
7e8d7eb2ec - fixed parsing of 'damage' default property.
- fixed processing of goto labels.
2016-10-13 22:52:31 +02:00
Christoph Oelckers
433bf46010 - removed token 'mode' because it isn't used anywhere and clashed with some actor properties.
- fixed uninitialized counter variable in DECORATE parser.
- allow dottable_id of xxx.color so that the property parser can parse 'powerup.color'.
- fixed crash with actor replacement in script compiler.
- add the lump number to tree nodes because parts of the property parser need that to make decisions.
- removed test stuff.
- converted inventory.txt, player.txt and specialspot.txt to ZSCRIPT. These were the minimal files required to allow actor.txt to parse successfully.
- removed the converted files from the DECORATE include list so that these are entirely handled by ZSCRIPT now.
2016-10-13 20:45:52 +02:00
Magnus Norddahl
2a0ab96341 Merge remote-tracking branch 'origin/ssao' into qzdoom 2016-10-13 18:12:56 +02:00
Magnus Norddahl
14c1a77f8a Fix AmbientOcclusionColor bug where pixelpos was assumed to be in eye space coordinates 2016-10-13 18:08:04 +02:00
Magnus Norddahl
660a45a0e0 Add normals to decals 2016-10-13 18:04:00 +02:00
Magnus Norddahl
6caa53529f Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-13 11:17:00 +02:00
Magnus Norddahl
d1d443497f Fix weird access violation in some of the drawers 2016-10-13 11:16:51 +02:00
raa-eruanna
3a13394661 - Changed max sky buffer to 3072 from 2048 2016-10-13 02:47:07 -04:00
raa-eruanna
5d08a81240 - fixed: compiler warning with bad copy-paste
- fixed: speed up sky compositing in truecolor mode with large buffers - only the last 4 buffers used are checked.
2016-10-13 02:37:38 -04:00
raa-eruanna
d96ec6c311 - Expand truecolor sky buffer from 4 columns to 2048 columns. 2048 is probably the max we'll ever need, even with 4k, 8k, or higher resolutions, since the algorithm checks for repeat columns. 2016-10-13 02:12:48 -04:00
Christoph Oelckers
a72fbb771f - separated the code generation from the DECORATE parser and cleaned up the interface to the code generator. Most importantly, the VMScriptFunctions are now preallocated when being added to the list of functions to compile and will be filled in later by the code generator. This allowed the removal of some ugly maintenance code. 2016-10-13 00:53:59 +02:00
raa-eruanna
e01cdf6946 Merge http://github.com/rheit/zdoom 2016-10-12 18:20:44 -04:00
Christoph Oelckers
59ed26c0b6 - resorted some of thingdef.cpp's contents into more appropriate files.
- split FinishActor into several functions. While DECORATE can, ZSCRIPT cannot do all this in one go.
- split the state finalization into several class-specific virtual functions.
2016-10-12 20:42:41 +02:00
raa-eruanna
fbbdd403f1 - Implemented r_linearsky for dual-layer skies 2016-10-12 14:37:57 -04:00
Major Cooke
3f50eac145 Fixed merge conflicts and removed PSPF_FLIP now that it's already in ZDoom. 2016-10-12 13:16:16 -05:00
Christoph Oelckers
b1a83bfd26 - started with cleanup and separation of DECORATE code.
* everything related to scripting is now placed in a subdirectory 'scripting', which itself is separated into DECORATE, ZSCRIPT, the VM and code generation.
 * a few items have been moved to different headers so that the DECORATE parser definitions can mostly be kept local. The only exception at the moment is the flags interface on which 3 source files depend.
2016-10-12 19:22:33 +02:00
Christoph Oelckers
6a8ab9a4d3 - implemented the state compiler. So far all it can handle is parameter-less functions.
To do the rest, some cleanup is needed first, to untangle the DECORATE parser from the actual code generation so that the low end stuff can actually be reused here instead of having to be redone.
2016-10-12 17:50:23 +02:00
Magnus Norddahl
b5b96ee222 Add a little bit more debug information 2016-10-12 13:49:12 +02:00
Magnus Norddahl
27b432a930 Improve crash handling in drawers 2016-10-12 13:25:05 +02:00
Christoph Oelckers
900644e465 Merge branch 'master' of https://github.com/rheit/zdoom into zscript 2016-10-12 12:43:56 +02:00
Christoph Oelckers
6f92efc72c - renamed thingdef_codeptr.cpp and moved it out of thingdef/.
Ultimately, thingdef should only contain code that is directly related to the DECORATE parser, but that's not the case with this file. It's only function definitions which get used during gameplay and will also be accessed by ZScript.
The change is intentionally on master so that pull requests can adjust to it now instead of creating conflicts later.
2016-10-12 12:43:26 +02:00
raa-eruanna
15c08f73d5 Merge http://github.com/coelckers/gzdoom 2016-10-12 03:15:03 -04:00
Christoph Oelckers
a4a00435e2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-12 08:42:37 +02:00
Magnus Norddahl
3146f75ae0 Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-12 08:05:39 +02:00
Magnus Norddahl
c5ebfd9e65 Add vid_max_width and vid_max_height 2016-10-12 08:05:31 +02:00
Magnus Norddahl
052f7900c2 Fix swapped x and y in DrawLetterbox 2016-10-12 08:04:42 +02:00
Magnus Norddahl
403b3e2319 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2016-10-12 07:39:20 +02:00
Magnus Norddahl
77a566a57e Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-12 07:38:56 +02:00
Magnus Norddahl
698b05ee69 Fix pixel center and letter box issues 2016-10-12 07:34:07 +02:00
Major Cooke
41bf9def80 GZDoom compatibility for PSPF_FLIP. 2016-10-11 20:18:06 -05:00
Major Cooke
3de83b8943 Added PSPF_FLIP.
Flips the overlay on the X axis.
2016-10-11 17:20:58 -05:00
Christoph Oelckers
f46b6b5be5 - fixed some issues with the grammar for parsing states:
* Goto did not support the class scope operator '::'. Like in DECORATE, this cannot be done with a simple '.' because it creates semantic problems with first part of a state label. This requires different syntax so that it can unambiguously distinguish between a scope identifier and the actual label
 * Goto used the incorrect token PLUS for '+' instead of ADD.
 * The state's duration was not stored in the AST.
 * Truncating the sprite name inside the parser is probably not the best idea because it used a simple Printf to report this. Let's do this during processing of the AST where this can be properly handled as an error.
2016-10-12 00:04:30 +02:00
raa-eruanna
49745e133d Merge http://github.com/rheit/zdoom 2016-10-11 17:43:27 -04:00
raa-eruanna
13271cb967 - Created menus for all this render-switching insanity. 2016-10-11 17:42:46 -04:00
raa-eruanna
5e458866bc - Added CVAR handling for vid_used3d - allows to switch software mode canvas between OpenGL and Direct3D upon restart. 2016-10-11 17:10:54 -04:00
Major Cooke
5dc94a10c3 Added A_SetInventory.
- Sets the absolute amount of an inventory actor.
- Limits itself to the range [0, MaxAmount]. Setting beyondMax to true disregards the MaxAmount. Default is false.
2016-10-11 14:44:31 -05:00
Christoph Oelckers
d8c689d874 - initialize function symbols. At the moment all it does is process the existing native functions. Any further processing will be done once the base classes of the engine can be parsed from the scripting files.
- switched the types of the internal 'self' and 'stateowner' parameters so that they get assigned correctly. I can't tell if this will error out if fields get accessed from the caller with the wrong class, but for actual scripting to work these must be correct.

The committed 'actor.txt' can be parsed successfully, with the exception of a few subclass references that cannot be resolved yet.
2016-10-11 18:53:10 +02:00
raa-eruanna
289e76cce7 Merge http://github.com/rheit/zdoom 2016-10-11 10:38:05 -04:00
raa-eruanna
b724de6ee3 Merge http://github.com/coelckers/gzdoom 2016-10-11 10:38:02 -04:00
Magnus Norddahl
f37ee3a024 Add bgra support to OpenGLSWFrameBuffer 2016-10-11 15:43:12 +02:00
Magnus Norddahl
f5c069c759 Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-11 14:54:18 +02:00
Christoph Oelckers
bdbc7c3fb7 - removed CreateDamageFunction, because it's no longer needed for defining a 'damage' constant. 2016-10-11 14:43:17 +02:00
Magnus Norddahl
3c7d6234cb Add wipes 2016-10-11 14:37:57 +02:00
alexey.lysiuk
7510ad1635 Fixed missing fake floors in deferred buffer mode
wow.wad is now genuine and authentic...
2016-10-11 14:56:22 +03:00
Christoph Oelckers
6989b81688 - extended the grammar so that the DECORATE function declaration list can almost be used as-is, with the sole exception of requiring any action function to declare a return type, even if it is void.
This adds:
 * builtin types color, state and sound.
 * ending a parameter list with an ellipsis to declare a varargs list. (A_Jump uses this.)
 * allowing to declare optional arguments by giving them a default value.
 * adding an 'action' qualifier for function declarations.
2016-10-11 13:11:40 +02:00
Magnus Norddahl
7911302ad8 Hook in gamma shader 2016-10-11 13:09:32 +02:00
Magnus Norddahl
01dc9de8d1 Misc bug fixes and performance improvements 2016-10-11 10:27:18 +02:00
Christoph Oelckers
dde25820e2 - fixed winding of voxel polygons. 2016-10-11 09:08:31 +02:00
raa-eruanna
1ea533add5 Merge http://github.com/rheit/zdoom 2016-10-11 02:27:55 -04:00