Commit graph

20417 commits

Author SHA1 Message Date
Marisa Heit
66460bfeb8 Add support for nested user types
The grammar already understood these constructs. Now the compiler does too.
2022-08-04 07:42:46 +02:00
Christoph Oelckers
ef0e9c025e - fixed comparison checks. 2022-08-03 10:58:37 +02:00
Christoph Oelckers
3563c99ead - made adjustments for proper int type promotion to allow internal ZScript to compile with it on.
* Emit a warning when relational comparisons are made between signed and unsigned ints.
* Handle shift operators so that they do not fail for constant definitions.
* changed return type of Array::Size() to signed int as most code out there is using it this way and would otherwise drown in warnings.
* fixed a few deprecation warnings.
2022-08-03 10:26:29 +02:00
Christoph Oelckers
388a5cb481 - ZScript: fixed integer type promotion for shift operator
* the first operand must never be sign-changed.
* the second operand should always be made unsigned. Shift by negative values is undefined and may produce undefined behavior on some systems.
2022-08-03 09:03:03 +02:00
Christoph Oelckers
8eabaf61c9 - version-restrict int to uint promotion.
Some mods depend on this not happening.
2022-08-03 08:45:37 +02:00
Christoph Oelckers
5cee2b5803 - fixed: The compile context for constant evaluation did not initialize its Version member. 2022-08-03 08:44:38 +02:00
Marisa Heit
f7f9746a0f Don't throw away unsignedness when passing unsigned constants to the codegen 2022-08-02 07:48:21 +02:00
Marisa Heit
7ce29fe855 Add signed->unsigned promotion for binary operators
The C-style rules for integer promotion are that when you have a signed int and an unsigned int, if you can't promote to a wider type, then the signed type is promoted to an unsigned type.
2022-08-02 07:48:21 +02:00
Christoph Oelckers
15c5728f01 - fixes and improvements for survey code.
Check for Windows on ARM and do proper checks for GLES.
32 bit checks are still retained to catch non-official builds that disable the compile check.
2022-07-31 17:49:21 +02:00
Alexander Kromm
46d9564507 localize "Unknown" option menu string 2022-07-30 17:54:19 +02:00
Christoph Oelckers
4422f9079c - fix menu commands with semicolon separated commands
C_DoCommand only executes one command, to do full processing AddCommandString is needed.
2022-07-29 08:38:34 +02:00
Christoph Oelckers
ee2c775bd8 - fix last commit 2022-07-29 08:36:26 +02:00
Christoph Oelckers
5bae588f80 - get rid of M_Malloc call in WriteSavePic
Use TArray instead
2022-07-29 08:25:55 +02:00
Marisa Heit
b9501a7291 Fix definition order of ZScript structs
Do a first pass over the Structs array in CompileAllFields() to reorder them such that if a struct uses other structs, those structs will be resolved first.
2022-07-29 08:17:33 +02:00
Magnus Norddahl
742ae8c907 Fix viewpoint buffer not getting cleared when in the menus 2022-07-28 13:52:09 +02:00
Christoph Oelckers
aae85a1b91 - backported KDE detection from Raze. 2022-07-28 10:52:26 +02:00
Christoph Oelckers
5a63044141 - Project fix for Softpoly removal. 2022-07-28 10:51:55 +02:00
Christoph Oelckers
93e934c8d0 - removed the Softpoly backend.
Its only relevant use case has been to use the software renderer on hardware not capable of OpenGL 3.3, but a large chunk of that can now be serviced with GLES.
In addition it has ceased further development and has not received any of the recent 2D render features which further reduces its viability.
2022-07-28 10:31:56 +02:00
Marisa the Magician
9eb8d65cb1 Fix another incorrect mapping of texture indices for UE1 models. 2022-07-27 10:21:29 +02:00
Shiny Metagross
83077b6f95 Update models.cpp
- Removed a useless bool
- Fixed an issue with model containers having less models than their smf total models amount using the smaller amount
2022-07-27 07:38:50 +02:00
Magnus Norddahl
e2778ba442 Move TexMan.GetCanvas and GetTextureCanvas to common 2022-07-25 18:50:16 +02:00
Magnus Norddahl
753822359e Add support for multiple 2d drawer viewpoints in the same frame 2022-07-25 18:50:16 +02:00
Magnus Norddahl
6c3fd3cc4d Fix softpoly null pointer crash 2022-07-25 18:50:16 +02:00
Magnus Norddahl
fe3751a502 Fix renderdoc error message about not all textures getting bound 2022-07-25 18:50:16 +02:00
Magnus Norddahl
b8569fa29f Fix GC shutdown crash due to canvas objects not getting GC'ed at the end
Fix typo in Draw2D and add support for specifying the viewport size directly
2022-07-25 18:50:16 +02:00
Magnus Norddahl
6137ea12d1 Fix typo 2022-07-25 18:50:16 +02:00
Magnus Norddahl
bb503950df Add canvastexture definition to animdefs.
Split canvas texture rendering from camera texture rendering.
2022-07-25 18:50:16 +02:00
Magnus Norddahl
aa083604e1 Fix variable arg bindings
Always clear the drawer
2022-07-25 18:50:16 +02:00
Magnus Norddahl
0049fea8d6 Add missing DrawText binding 2022-07-25 18:50:16 +02:00
Magnus Norddahl
4f0b02b396 Add a 2d drawer to canvas textures 2022-07-25 18:50:16 +02:00
Marisa the Magician
cd20d707d4 Fix incorrect mapping of texture indices for UE1 models. 2022-07-25 13:52:46 +02:00
nashmuhandes
351a4c9a5a Added PitchFromMomentum, UseActorPitch and UseActorRoll to VOXELDEF. Behaves exactly like their 3D model counterparts. Hardware renderer only. 2022-07-25 08:06:44 +02:00
Rachael Alexanderson
eb94f81a83
update badge again, one last time 2022-07-24 16:26:33 -04:00
alexey.lysiuk
b402aa24eb
- updated continuous integration badge in readme
[skip ci]
2022-07-24 10:10:42 +03:00
Ricardo Luís Vaz Silva
12660b0015 Add special case for relative includes from top-level files 2022-07-24 09:05:16 +02:00
Rachael Alexanderson
27d4fc28db - implement fix as suggested by user 'axet' fixes issue #1621 2022-07-23 19:00:59 -04:00
Christoph Oelckers
9875850c19 - got rid of the state variables in the model class entirely.
This is *not* the right way to reduce function parameter count. The data in question is far easier evaluated at the calling site and passed as a parameter.
2022-07-23 10:35:01 +02:00
Christoph Oelckers
76c8214d67 - fixed destructive logic and memory allocation issues in RenderFrameModels.
This completely avoids modification of the model data, instead using local variables.
2022-07-23 10:10:15 +02:00
Christoph Oelckers
0665a28253 - removed some redundant chaaracters from the Doom SmallFont.
The two Greek letters are not supposed to be used in allcaps, and the Cyrillic Ё has a remapping to the equivalent Latin letter.
2022-07-23 08:51:27 +02:00
Shiny Metagross
9ab6557822 A_ChangeModel now has generatorIndex
- To really take advantage of this function, I thought it would be useful to be able to add additional models if the user wants to. Let's say you got a player model at index 0. Your gun model has the same frames, but you don't want to duplicate the modeldef data. With generator index, you don't need to duplicate the data, just tell generator index to clone frame data from index 0.
- Implemented a little something to check if a negative skin or model index were passed, and prevent modders from pulling that off.
2022-07-22 17:11:59 +02:00
Shiny Metagross
fa6dfdf64c Update p_actionfunctions.cpp
Woah, this didn't work with custom inventory chains!
2022-07-22 17:11:59 +02:00
Shiny Metagross
69ee1eb0a2 Surfaceskin modification
- Made it so when rendering a model, it clones an smf to use so that data isn't overwritten
- Reimplemented the skin index property. This changes the behavior of this index if CMDL_USESURFACESKIN is activated
2022-07-22 17:11:59 +02:00
Shiny Metagross
ec3d81a34f More fixes
- Let's fill the holes of serialized data so it can properly be removed instead of leaving undefined behavior behind.
- Added CMDL_HIDEMODEL flag. This makes a model index invisible.
2022-07-22 17:11:59 +02:00
Shiny Metagross
11f342795b I did a no no
- This should fix it
2022-07-22 17:11:59 +02:00
Shiny Metagross
9805851bd8 Update p_actionfunctions.cpp
Uhh, maybe this is why mac builds failed
2022-07-22 17:11:59 +02:00
Shiny Metagross
9f2c7c850d Update p_actionfunctions.cpp
- Let's fix some of the compile warnings
- We don't want to include models that were already parsed by modelDef, or already in savedModelFiles
2022-07-22 17:11:59 +02:00
Shiny Metagross
6d00e4a3f3 Finished serializing
- Implemented an FString TArray which goes into save files that saves a model file and path, and when the game is loaded, spits back out the model to be Loaded when loading a save file
2022-07-22 17:11:59 +02:00
Shiny Metagross
5b8789977a Another fix, most serialization is working
- Changed some logic when giving an actor that doesn't have a modeldef a modeldef to make sure it knows it doesn't have one when cleared
- Fixed the serialization for modelData. Only problem now is that I was right about needing to push the models on load
2022-07-22 17:11:59 +02:00
Shiny Metagross
83a23c6525 Other updates
- Moved modelDef to modelData
- Replaced TArray.Deletes with TArray.Pop
- Made a few other optimizations in other places in the action function
2022-07-22 17:11:59 +02:00
Shiny Metagross
e827e9b086 TArrays to TObjPtr
- Made the 2 TArrays into a class called DActorModelData.
- Removed the skinindex and now just uses one index
- Replaced a bunch of nullptr for modelDef checking with NAME_None
- Added some garbage cleanup to A_ChangeModel itself, as well as removing memory of modelData that is no longer needed
- Attempted serialize code, putting up for review
2022-07-22 17:11:59 +02:00