Rachael Alexanderson
beab686ca6
Merge branch 'master' of http://github.com/rheit/zdoom
2016-10-30 23:44:09 -04:00
Braden Obrzut
43b2584f79
- Fixed: Reference to freed stack object in R_FindPlane. This caused a massive slowdown (90% drop in total performance) in R_FindPlane when built with optimizations on in GCC6. Although I don't really understand why since the comparison should have been O(1) regardless of memory contents and even if the check failed every plane it would still be pretty fast, this is what they mean when they say that anything can happen when undefined behavior is triggered.
2016-10-30 23:27:29 -04:00
Marisa Heit
6ff973a06b
Modify CMPJMP to produce more compact code (as far as VC++ is concerned, anyway)
2016-10-30 22:16:02 -05:00
Rachael Alexanderson
de2122e2aa
Merge branch 'master' of http://github.com/rheit/zdoom
2016-10-30 21:36:13 -04:00
Christoph Oelckers
ede350ba36
- there seem to be some problems with the line endings...
2016-10-30 23:44:55 +01:00
FishyClockwork
4fc5d527c6
Moved 'goodbye' from usdf.txt to usdf_zdoom.txt
...
I have undone all my changes to usdf.txt.
It should look like how it did before commit 0df6ba6
2016-10-30 20:30:32 +01:00
FishyClockwork
7c1f7aa81c
Restricted custom goodbyes to ZSDF
2016-10-30 20:27:07 +01:00
Kyle Evans
1502eae2ac
Add XPM (X PixMap) version of ZDoom icon
2016-10-30 19:31:32 +01:00
FishyClockwork
8f2e9be70c
Changed a description in usdf_zdoom.txt
...
Changed a description in usdf_zdoom.txt to be more truthful. It's not just one new field anymore.
(I really should learn to read these things before changing them.)
2016-10-30 19:30:56 +01:00
FishyClockwork
4a56d426c3
Actually put the new info in the proper section
...
Actually put the new info in the proper section in usdf_zdoom.txt
2016-10-30 19:30:55 +01:00
FishyClockwork
42be7bee93
For USDF treat Require/Exclude as unknown
...
For USDF treat Require/Exclude as an unknown keyword.
2016-10-30 19:30:55 +01:00
FishyClockwork
f450a60f66
Undone changes to usdf.txt, updated usdf_zdoom.txt
...
Undone changes to usdf.txt, updated usdf_zdoom.txt
2016-10-30 19:30:55 +01:00
FishyClockwork
c341bc0d3c
Added restriction of Require/Exclude to ZSDF
...
Added restriction of Require/Exclude to ZSDF (namespace = "ZDoom";).
A warning will be printed if a Require/Exclude block is detected in USDF (namespace = "Strife";).
2016-10-30 19:30:54 +01:00
FishyClockwork
f1a80770e1
Updated the USDF specs
...
Updated the USDF specs about 'require' and 'exclude'.
2016-10-30 19:30:54 +01:00
FishyClockwork
b1880964fa
Added two new sub-blocks for Choice blocks
...
Added two new sub-blocks for Choice blocks: Require and Exclude.
The syntax for both is the same as Cost blocks.
Require defines what item must be present in your inventory in order to show this choice/reply.
Exclude defines what item must not be present in your inventory in order to show this choice/reply.
If any Require/Exclude blocks are defined then this choice/reply will be hidden until all blocks of both types are satisfied.
2016-10-30 19:30:53 +01:00
Christoph Oelckers
2857fac338
- scriptified a_archvile.cpp.
...
- fixed the type checks for the conditional operator.
2016-10-30 18:41:39 +01:00
Christoph Oelckers
a652c5f259
- fixed: For named functions the prototype needs to be set before the code generator starts resolving. Otherwise it will crash on incompletely set up forward declarations.
2016-10-30 16:21:44 +01:00
Christoph Oelckers
f8ccda2dc8
- scriptified A_Mushroom to test something a bit more complex.
...
- fixed: FxMinusSign trashed local variables that were used with negation.
- fixed: FxConditional only handled ints and floats, but not pointers and strings.
- fixed: A 'no states in non-actors' error was triggered, even for classes without any states.
2016-10-30 14:00:11 +01:00
Christoph Oelckers
9eeb56212b
- fixed: A VM function's NumArgs value needs to count stack arguments, not logical ones, meaning that for vectors each element needs to count separately.
...
- renamed VMFunction::Defaults to DefaultArgs to make searching easier.
- let ZCCCompiler process vector defaults for function parameters.
2016-10-30 09:05:42 +01:00
Magnus Norddahl
a7d06ddd77
Add texturing to triangle drawer
2016-10-30 08:18:55 +01:00
Leonard2
06ec6318a9
Fixed: A vector value could point to garbage data after being 'unnested'
2016-10-30 07:37:13 +01:00
Leonard2
5643d6c692
Make sure to use the REGT_MULTIREG flags for opcodes that need it
2016-10-30 07:37:12 +01:00
Leonard2
8be7af41a9
Don't use a struct reference for vectors as return type just like for parameters
2016-10-30 07:36:00 +01:00
Leonard2
94410accf4
Renamed "VectorInitializer" to "VectorValue"
...
This was really confusing for me as this is an actual vector "value" rather than an "initializer"
2016-10-30 07:34:14 +01:00
Rachael Alexanderson
6ea0baac3a
- Next "pre" tag.
2016-10-29 22:49:34 -04:00
Rachael Alexanderson
e2fa16c99e
Actually - changed our minds - this is going to be 1.0. :)
2016-10-29 21:51:43 -04:00
Rachael Alexanderson
09961abeea
- Version 0.1.1 tag
2016-10-29 21:44:30 -04:00
Christoph Oelckers
ac1c022911
- implemented the 'is' operator (i.e. class type check.)
2016-10-30 01:05:56 +02:00
Christoph Oelckers
78a18acf46
- added string handling to comparison operators.
2016-10-29 18:57:56 +02:00
Christoph Oelckers
853c6f6684
- fixed initialization of local variables with other local variables.
...
- fixed several occurenced where vectors were treated as floats. NOTE: The entire codegen.cpp file needs to be carefully reviewed for bad use of the REGT_ constants, there's probably more places where using them has broken some type checks.
- fixed: committed test version of zscript.txt instead of changed actor.txt by accident.
Initialization and assignment for strings is working with this commit.
2016-10-29 16:49:21 +02:00
Christoph Oelckers
7f2350cf64
Merge branch 'master' of https://github.com/rheit/zdoom
2016-10-29 16:08:46 +02:00
Christoph Oelckers
4dc97a6ed0
- fixed register allocation for vector arguments to script functions.
...
- handle 2D and 3D vectors in SetReturn.
2016-10-29 13:42:37 +02:00
Christoph Oelckers
7209f9edd6
- implemented passing vectors as parameters. So far working for native functions.
...
- removed the bogus optional value from the first A_Jump argument. A quick test with an older ZDoom revealed that this was never working - and implementing it would make things a lot more complicated, especially error checking in the code generator.
- fixed: The check for insufficient parameters to a function call was missing.
2016-10-29 13:10:27 +02:00
Christoph Oelckers
e94b4cc74e
Merge branch 'master' into zscript
2016-10-29 11:20:32 +02:00
Christoph Oelckers
f5d1b1a491
- added vector builtins Length() and Unit().
...
This should complete the vector type except for use as function parameter.
2016-10-29 10:43:22 +02:00
Christoph Oelckers
b5222f08e8
- implemented dot and cross products (not that I'd ever expect these to become useful in a game like Doom...)
2016-10-29 10:16:00 +02:00
Magnus Norddahl
de8260ed8b
Merge remote-tracking branch 'origin/dancingsprites' into qzdoom
2016-10-29 08:13:20 +02:00
Magnus Norddahl
87ea75169e
Fix texturefrac out of bounds bug
2016-10-29 08:11:12 +02:00
Magnus Norddahl
ea44a445af
Improve drawer debug info details
2016-10-29 07:20:16 +02:00
Magnus Norddahl
ea9b45d988
Change read access violations to be non-fatal
2016-10-29 06:50:09 +02:00
Magnus Norddahl
deaced4bfa
Merge remote-tracking branch 'origin/dancingsprites' into qzdoom
2016-10-29 06:14:22 +02:00
Magnus Norddahl
837ed7bd80
Fix dancing sprites due to texture coordinate calculations not taking pixel centers into account
...
Merge R_DrawMaskedColumn and R_DrawMaskedColumnHoriz into one function to remove code duplication
2016-10-29 05:35:41 +02:00
Leonard2
594a0c2008
Fixed: FxVMFunctionCall didn't check for varargs while checking argument count
2016-10-29 02:18:15 +02:00
Christoph Oelckers
e5878f0cb2
- implemented vector operations. Vectors are now fully working as local variables.
...
- removed mulv_kr and divv_kr instructions. The first are redundant and the second are useless. Maybe remove all other vector/const operations as well? They won't get used by the code generator.
- fixed disassembly of vector multiplication and division instructions.
2016-10-29 01:39:25 +02:00
Christoph Oelckers
9400f97189
- implemented local vector variables. Currently only the definition plus initial assignment works.
...
- removed all vector4 handling that had already been added, now that this type can no longer be defined.
2016-10-28 15:15:30 +02:00
Christoph Oelckers
f2f365bfef
- fixed setup for PString which was missing the load/store/move instructions which caused me to overlook its register type.
...
- properly set up the vector types.
- fixed: a struct must start with a size of 0, not 1. This caused the layout of the vectors to be broken.
2016-10-28 14:43:29 +02:00
Christoph Oelckers
ed5a94d187
- fixed GetOps() call and added info for vectors.
2016-10-28 13:30:19 +02:00
Christoph Oelckers
f511a9398e
- changed GetStore/LoadMoveOp and GetRegType to be based on a set of member variables instead of using virtual functions to return such trivial values. This not only creates significantly better code but also allows overriding these settings without having to create a new class just for changing them (as is needed for vectors.)
2016-10-28 10:44:01 +02:00
Christoph Oelckers
3b1f411dce
- added a full set of 2D vector instructions to the VM. The existing one was 3D only but there's also need to handle two-dimensional vectors.
...
- added the missing divv* instructions.
2016-10-28 10:13:07 +02:00
Christoph Oelckers
35cd48b86b
- fixed grammar rule for two-dimensional vectors.
2016-10-28 09:47:22 +02:00