Magnus Norddahl
5de8112578
Add support for capping sky with a solid color
2016-10-19 23:52:09 +02:00
Magnus Norddahl
4ccb69fa61
Palette version of sky drawers
2016-10-19 23:21:09 +02:00
Christoph Oelckers
2d85efce2a
- added processing of compound statements to the compiler. This means that anonymous functions without control statements are generating code now.
...
- added local variable declarations to the code generator. This is not tested yet, that will come with the next commit.
2016-10-19 19:05:48 +02:00
Magnus Norddahl
d5865a46a0
Move triangle drawer into a command and change the sky code to use it if r_cubesky is enabled
2016-10-19 17:44:50 +02:00
Christoph Oelckers
8a6230d64a
- Renamed FxSequence to FxCompoundStatement.
...
- fixed: The state parser was unable to accept empty anonymous functions, which should be treated as if there is none at all.
2016-10-19 16:15:02 +02:00
Magnus Norddahl
ea72152c31
Add doom style column clipping to triangle drawer
2016-10-19 15:43:10 +02:00
Christoph Oelckers
458c68775f
- fixed handling of loop statements.
...
All break and continue statements were collected in one list, and each loop statement taking hold of that entire list, including the breaks and continues from previous outer loops.
Changed it so that loop statements contain the jump addresses themselves and set a pointer in FCompileContext, so that the jump point can be set directly in the loop statement - and an error printed if there is none in the resolving stage, not the emitting one.
Consolidated the identical backpatching code of the three loop statement nodes into a subfunction.
2016-10-19 14:36:54 +02:00
Magnus Norddahl
6a7bb43ce1
Fix clipping bug
2016-10-19 14:32:28 +02:00
Christoph Oelckers
cfbcfc440d
- 'fixed' local variable declrations to work like C, not like some Lua-inspired nightmare. Also added proper initialization syntax for arrays.
2016-10-19 13:07:44 +02:00
Christoph Oelckers
33567741f5
- fixed: The parser was not generating a compound statement node for anonymous action functions.
2016-10-19 10:38:25 +02:00
Magnus Norddahl
ef70ba0985
More triangle rendering
2016-10-19 03:49:42 +02:00
Christoph Oelckers
665d752686
- added 'null' token to the ZScript parser which is needed for null pointers.
...
- removed function declaration parser from DECORATE because it is not needed anymore.
- fixed: comparison operators could not handle names.
2016-10-19 00:35:34 +02:00
raa-eruanna
68efdf5cef
- Fixed: Added linker flags for Linux to prevent crashes using LLVM. Using fix found by dpJudas.
2016-10-18 18:21:22 -04:00
Christoph Oelckers
f6b3cdc23d
- converted the Chex Quest actors, completing the DECORATE conversion.
2016-10-18 23:22:41 +02:00
Christoph Oelckers
5643831ccc
- converted all Strife actors.
2016-10-18 23:05:58 +02:00
raa-eruanna
226287875b
Creating 0.2pre tag
2016-10-18 14:07:44 -04:00
Magnus Norddahl
694cae054c
Add some experimental draw triangle code
2016-10-18 18:23:56 +02:00
Christoph Oelckers
1bdc1ccb6c
- converted the remaining Hexen actors.
2016-10-18 18:11:13 +02:00
raa-eruanna
79b14bbc08
- Updated version.h for beta tag
2016-10-18 11:38:35 -04:00
raa-eruanna
7df28f14a3
Merge http://github.com/rheit/zdoom
2016-10-18 11:34:12 -04:00
Christoph Oelckers
2c1d9a7a96
- another bunch of Hexen actors converted.
2016-10-18 15:15:06 +02:00
Christoph Oelckers
bef71f29e2
- make generation of the AST dump a command line parameter instead of having it depend on running a debug build.
...
- disable generation of the parser's trace file in debug builds.
This increases parsing time by a factor of 15 and is only needed when debugging a problem in the grammar.
2016-10-18 10:17:09 +02:00
Christoph Oelckers
61cc7dbb29
- another batch of Hexen items converted.
...
- fixed parsing of named damage types and pain chances.
2016-10-18 10:09:02 +02:00
Marisa Heit
1652c02a08
Add unsigned division opcodes to the VM
2016-10-17 22:37:49 -05:00
Marisa Heit
d2a9f7ac6f
Fix Raise definition for DoomImp
2016-10-17 21:45:06 -05:00
Magnus Norddahl
49b4860426
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2016-10-18 01:16:45 +02:00
Magnus Norddahl
df3f5ae882
Use OpenGL to allocate the canvas buffer to avoid a costly memcpy
2016-10-18 01:16:36 +02:00
Christoph Oelckers
646f9b21c7
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
...
# Conflicts:
# src/scripting/codegeneration/codegen.cpp
2016-10-18 00:55:56 +02:00
Christoph Oelckers
4aecc4f565
- more Hexen conversions.
2016-10-18 00:49:13 +02:00
Christoph Oelckers
d66631478a
- converted some Hexen stuff.
2016-10-17 23:27:34 +02:00
raa-eruanna
f32a2547bc
- Fixed LLVM compile for LLVM 3.8 (Ubuntu)
2016-10-17 16:05:14 -04:00
Christoph Oelckers
1c21dbc44c
- handle trinary conditional statement.
2016-10-17 21:43:14 +02:00
Christoph Oelckers
a6a0c4b93c
- handle all unary operators.
...
- handle all binary operators which are already implemented in the code generator.
- implemented sizeof/alignof operators in code generator.
- rewrote RequestAddress so that its return value is not the writability of an address but the mere existence. Also changed it to not output errors itself because those cannot be dealt with by the calling function.
2016-10-17 20:33:35 +02:00
Christoph Oelckers
23a2a19a78
- added handling for shift and bit operators.
...
- added the '>>>' (unsigned shift) operator. Although, with unsigned numbers available, this is technically not really needed, DECORATE supports this so ZScript should, too, if only for the benefit of making conversion tools easier to handle.
2016-10-17 15:52:29 +02:00
Christoph Oelckers
938ab4ca70
- implemented '**' (power) operator. To ensure reliability, acustom 'pow' function will be used to calculate it.
...
- fixed: FxBinary::ResolveLR' check for numeric operations was incomplete. Like far too many other places it just assumed that everything with ValueType->GetRegType() == REGT_INT is a numeric type, but for names this is not the case.
2016-10-17 15:17:48 +02:00
raa-eruanna
cd21d017fb
Merge remote-tracking branch 'remotes/origin/decorate-viewbob'
2016-10-17 09:04:37 -04:00
Christoph Oelckers
d0a8960f61
- added genuine PEX_GT, PEX_GTEQ and PEX_NEQ operations to the parser.
...
These were previously faked with the inverse plus a boolean not. Although this works, it either leads to sub-optimal code generation or some fudging to avoid the inefficient handling.
Just adding proper handling to the parser seems the easiest and most straightforward way to get around this. The code generator already can deal with these operations properly so there's no good reason to do it differently.
2016-10-17 14:38:51 +02:00
Christoph Oelckers
552f094ec1
- converted the rest of Heretic's actors.
...
- fixed: Boolean constants were not properly handled.
2016-10-17 12:58:23 +02:00
Magnus Norddahl
af937366d1
Added DetectRangeError function
2016-10-17 12:36:01 +02:00
Magnus Norddahl
c9a9e93c66
Fix warning C4805: '!=': unsafe mix of type 'bool' and type 'int' in operation
2016-10-17 11:54:03 +02:00
Christoph Oelckers
c13916ea18
- converted more Heretic actors.
2016-10-17 10:07:12 +02:00
raa-eruanna
931d241056
- Change "vid_used3d" to true by default, in Windows.
2016-10-17 01:13:58 -04:00
raa-eruanna
4ec2db43a4
Merge http://github.com/rheit/zdoom
2016-10-17 01:13:16 -04:00
Braden Obrzut
b4bdb8fa7d
- Fixed: Assertion failure if a save was loaded without starting a new game (due to uninitialized RNG).
2016-10-17 00:22:06 -04:00
Braden Obrzut
741c9edf42
- Clear out GCC 6.2 warnings (interestingly they now check for misleading indentation which found a good case in fragglescript/t_func.cpp even though I believe it was harmless)
2016-10-17 00:19:08 -04:00
Magnus Norddahl
f8f710d9e2
Fix linker errors on Windows
2016-10-17 01:17:48 +02:00
Christoph Oelckers
c623539d2d
Merge branch 'master' of https://github.com/rheit/zdoom into zscript
2016-10-17 00:33:28 +02:00
Christoph Oelckers
76f1b9d3f8
- converted the raven actors.
2016-10-17 00:21:52 +02:00
Magnus Norddahl
c706d5465a
Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom
2016-10-17 00:20:31 +02:00
Magnus Norddahl
d654301bc2
macOS compile fixes and support for slightly older versions of LLVM (to allow Mac users to brew install llvm)
2016-10-17 00:19:07 +02:00