Magnus Norddahl
6f5e720576
Split drawer command queue from drawer threads
2017-02-04 12:38:05 +01:00
Rachael Alexanderson
ebb8da563a
Merge https://github.com/coelckers/gzdoom
2017-02-04 02:56:18 -05:00
Magnus Norddahl
45f623faf4
Move frame memory allocator into RenderThread
2017-02-04 02:50:52 +01:00
Christoph Oelckers
abac756289
- exported some stuff for fonts and screen size that will be needed for the menus.
2017-02-04 00:46:22 +01:00
Magnus Norddahl
627a388d57
Move renderer singletons into a RenderThread class
2017-02-04 00:25:37 +01:00
Christoph Oelckers
d5b908186c
- some work on the base classes for menus. None of this is being used yet.
2017-02-04 00:19:25 +01:00
Christoph Oelckers
8578a5a12e
- added a 'new' intrinsic to create new objects from inside scripts.
...
This is not tested yet and likely to not working correctly yet. Will be fixed once I get far enough to use it later.
2017-02-03 22:56:03 +01:00
Christoph Oelckers
d5962b290c
- turned all menu items into actual objects.
...
This is needed for script export.
2017-02-03 21:35:42 +01:00
Magnus Norddahl
4fadc4e9a3
Fix typo
2017-02-03 21:25:51 +01:00
Magnus Norddahl
da346427d3
Change draw segment list to use TArray
2017-02-03 21:11:55 +01:00
alexey.lysiuk
c6e42d6fa0
Added handling of modifier keys for mouse events in Cocoa backend
2017-02-03 22:01:34 +02:00
alexey.lysiuk
f04b0d129d
Removed useless assignment in Cocoa backend
2017-02-03 21:56:14 +02:00
Christoph Oelckers
82eae78f7e
- fixed a small memory leak in the texture manager.
2017-02-03 13:11:55 +01:00
Christoph Oelckers
a5f417b1e5
- removed all uses of BYTE as function return value or functio parameter from the dynamic light code.
...
These were truncating the actual light values.
2017-02-03 10:13:41 +01:00
Magnus Norddahl
812cc61b16
Fix some typos
2017-02-03 09:08:00 +01:00
Magnus Norddahl
892350ac2e
Add functions to CameraLight
2017-02-03 09:00:46 +01:00
Magnus Norddahl
a0a40281b3
Simplify skyplane light selection
2017-02-03 08:19:59 +01:00
Magnus Norddahl
191438b238
Move Drawers function to viewport
2017-02-03 08:06:47 +01:00
Christoph Oelckers
1515ab8f4a
- removed the long broken and obsolete PlayMovie code.
2017-02-02 23:21:21 +01:00
Magnus Norddahl
c219969b68
Fix blinking wall light regression
2017-02-02 18:46:21 +01:00
Magnus Norddahl
7b4d9675c9
Fix compile errors
2017-02-02 15:24:21 +01:00
Magnus Norddahl
e90b73539e
Move viewport drawing to its own folder
2017-02-02 15:10:06 +01:00
Magnus Norddahl
d8c6f9acfd
Limit access to sprite drawer variables
2017-02-02 13:51:41 +01:00
Magnus Norddahl
f3d968cf41
Move wall drawer args into functions
2017-02-02 11:16:18 +01:00
Rachael Alexanderson
226e5238fc
Merge https://github.com/coelckers/gzdoom
2017-02-01 21:57:37 -05:00
Magnus Norddahl
69b7312099
Add some transform helpers on RenderViewport
2017-02-01 23:23:10 +01:00
Magnus Norddahl
d91e6ccece
Remove dc_destorg and ylookup
2017-02-01 22:24:34 +01:00
Magnus Norddahl
ca93d7456a
Change redundant bRenderingToCanvas into a helper function
2017-02-01 21:59:48 +01:00
Magnus Norddahl
bb0a223b80
Remove unused dc_destheight
2017-02-01 21:55:55 +01:00
Magnus Norddahl
7b578bbb53
Remove redundant dc_pitch
2017-02-01 21:52:29 +01:00
Magnus Norddahl
93166fa150
Remove r_swtruecolor variable as it is redundant
2017-02-01 21:42:08 +01:00
Christoph Oelckers
becc00a8be
- added a check to P_VerifyBlockmap to discard all blockmap with blocks whose first entry is not 0.
...
Seems someone has written a node builder which violates this long-standing assumption (https://www.doomworld.com/vb/source-ports/92468-introducing-zokumbsp/ )
However, rather than second-guessing the format's correctness it's more advisable to just discard such blockmaps to avoid some less obvious issues that may creep up.
2017-02-01 21:40:47 +01:00
Christoph Oelckers
d663f31e77
- removed the annoying assert in the dynamic light code.
...
I don't think that any of the remaining situations are a genuine problem, so let's just set the radius to the larger value.
2017-02-01 19:24:05 +01:00
Christoph Oelckers
a59a9e7420
- missed one.
2017-02-01 19:17:56 +01:00
Christoph Oelckers
6bfbff2a69
- renamed RF_INTERPOLATE to RF_INTERPOLATEANGLES to avoid confusion about its meaning.
2017-02-01 19:11:14 +01:00
Major Cooke
d55f1d3f6f
- Adopted Nash's code for handling models with INTERPOLATE.
2017-02-01 19:09:18 +01:00
Major Cooke
39fcea9176
Added INTERPOLATE actor flag, allowing the previously reverted interpolation code to be toggleable.
2017-02-01 19:09:18 +01:00
Christoph Oelckers
04988a331b
- fixed warning.
2017-02-01 19:07:41 +01:00
Magnus Norddahl
e78e76a593
Move r_viewport variables into a class
2017-02-01 16:02:21 +01:00
Christoph Oelckers
b77a0eb7cf
- let D_PageDrawer always clear the background.
...
The math in DCanvas::FillBorder does not always work out so better clean the entire screen before drawing a fullscreen image to ensure that the menu blend is always drawn over something valid.
2017-02-01 11:44:13 +01:00
Christoph Oelckers
bc29f61bfd
- set the default for menu mouse input to 'touchscreen-like' because there's too much hardware out there which doesn't play nice with mouse input events.
2017-02-01 11:25:28 +01:00
Christoph Oelckers
6d28aa3541
- do not use strtol for parsing critical values that can get large.
...
This function will truncate everything that is larger than LONG_MAX or smaller than LONG_MIN to fit into a long variable, but longs are 32 bit on Windows and 64 bit elsewhere, so to ensure consistency and the ability to parse larger values better use strtoll which does not truncate 32 bit values.
2017-02-01 11:19:55 +01:00
Rachael Alexanderson
4e45ea2300
Merge https://github.com/coelckers/gzdoom
2017-01-31 23:04:56 -05:00
Christoph Oelckers
90ee22b760
- don't let monsters without a See state disappear if they try to enter it.
2017-02-01 01:13:26 +01:00
alexey.lysiuk
3d147a032c
Proper RDTSC implementation for x86_64 targets
...
Higher 32 bits of Time Stamp Counter were ignored in non-MSVC Windows and macOS builds
2017-01-31 17:51:12 +02:00
alexey.lysiuk
47faaa87fc
Fixed deprecation warning reported by Clang
...
warning: 'register' storage class specifier is deprecated and incompatible with C++1z [-Wdeprecated-register]
2017-01-31 17:41:44 +02:00
alexey.lysiuk
b12c8a8f79
RDTSC-based glcycle_t for macOS
...
Time profiler implementation is now closer to Windows version
2017-01-31 16:00:14 +02:00
alexey.lysiuk
1cdfcb4935
RDTSC-based cycle_t for macOS
...
Windows and macOS now share most of related code
Old implementation using mach_absolute_time() was more precise (at least in theory) but too costly
2017-01-31 15:57:47 +02:00
alexey.lysiuk
6225f60eb2
Added cheat flag for console variables
...
CVAR with this flag can be set in console or from command line when sv_cheats is enabled
There is no such restriction for changing its value from ACS, via SetCVar() and related functions
'cheat' modifier can be used in CVARINFO lump to create variable of this kind
2017-01-31 14:08:09 +01:00
Christoph Oelckers
94d5d6848e
- moved all code that deletes some data from P_SetupLevel to P_FreeLevelData so that P_Shutdown can also call it.
...
This is particularly important for camera textures which otherwise would not be taken down before a restart.
2017-01-31 13:46:35 +01:00
Christoph Oelckers
3131c08640
- fixed: the restart CCMD must clear out all statically stored pointers to VM functions because they do not survive the shutdown that is needed before loading new data.
2017-01-31 13:41:23 +01:00
Magnus Norddahl
4fdacfe96e
Fix crash in palette mode
2017-01-31 13:26:06 +01:00
Christoph Oelckers
f0a325a904
- fixed: The restart CCMD needs to clear the global FraggleScript before taking down the class system.
...
This is a soft root and would never be deleted otherwise.
2017-01-31 13:22:05 +01:00
Rachael Alexanderson
e715e53c1d
Merge https://github.com/coelckers/gzdoom
2017-01-30 17:16:01 -05:00
Christoph Oelckers
0e5aee48aa
- clamp MAPINFO provided fog density values to a valid range because negative values can trigger undefined shader behavior.
2017-01-30 22:23:36 +01:00
Magnus Norddahl
eadeccd709
Fix typo
2017-01-30 20:23:50 +01:00
Magnus Norddahl
0c61b56655
Clean up SkyDrawerArgs interface
2017-01-30 20:21:18 +01:00
Christoph Oelckers
7c5e3fb677
- disabled angular interpolation again.
...
This can only be used if the entirety of the game code is aware and dealing with this properly. However, that isn't the case so the amount of glitches this causes far exceeds the number of desired interpolations.
2017-01-30 14:19:50 +01:00
Magnus Norddahl
98fa2976fa
Clean up the SpanDrawerArgs interface a bit
2017-01-30 12:46:17 +01:00
Magnus Norddahl
c574b0ad3f
Remove R_InitColumnDrawers and only allow DrawerArgs classes to call drawers
2017-01-30 11:53:11 +01:00
Magnus Norddahl
c486892c4a
Make colfunc, wallfunc, spanfunc private and remove the rest
2017-01-30 11:43:15 +01:00
Magnus Norddahl
2f365e7d2b
Rename ColumnDrawerArgs to SpriteDrawerArgs
2017-01-30 11:27:58 +01:00
Magnus Norddahl
e17c8c1678
Split wall drawer selection from sprite
2017-01-30 11:25:25 +01:00
Magnus Norddahl
36a23d60b8
Make spanfunc private and local to SpanDrawerArgs
2017-01-30 05:26:57 +01:00
Magnus Norddahl
81a20213a7
Force colormap/light selection to go through function calls
2017-01-30 05:07:07 +01:00
Magnus Norddahl
fd459b1f13
Remove redundant span drawer args
2017-01-30 04:35:28 +01:00
Christoph Oelckers
ba629379ca
- fixed: for levels with 0-length lines the allocation size of the lines array was too large because it didn't subtract those deleted lines.
2017-01-30 00:25:40 +01:00
Rachael Alexanderson
0af86efb17
Merge https://github.com/coelckers/gzdoom
2017-01-29 18:17:09 -05:00
Christoph Oelckers
b93c3619e9
- fixed: The implementation for Doom64 colors did not handle particles.
2017-01-29 18:57:47 +01:00
Christoph Oelckers
729eade8f5
- enable terrain splashes for non-solid non-swimmable 3D floors.
2017-01-29 18:46:35 +01:00
Christoph Oelckers
2883b113f3
- fixed bad scale setting for SBarInfo.
2017-01-29 18:33:19 +01:00
Christoph Oelckers
eef91463ab
- fixed: Non-actor classes never called InitializeDefaults to set up their special variables.
...
- fixed: DThinkerIterator and DBlockThingsIterator did not have a default constructor that was safe to call from an out-of-game context.
2017-01-29 18:23:39 +01:00
Christoph Oelckers
c0ef052d07
- added interpolation for actor angles which for models is needed.
2017-01-29 13:13:00 +01:00
Christoph Oelckers
1884c8a98d
- ensure that the radius of a dynamic light remains positive to avoid problems with the assumption that a light has an actual size.
...
- extended the maximum settable light size in GLDEFS to 1024 throughout.
- fixed: A fullbright flat should not be subjected to a sector's material color.
2017-01-29 12:00:05 +01:00
Christoph Oelckers
a2a1d214c0
- extended give and take cheat's arguments to full integers.
2017-01-29 11:45:28 +01:00
Magnus Norddahl
162f469630
Remove unused variables from the old 4 column drawers
2017-01-29 10:25:32 +01:00
Magnus Norddahl
7c7d6e99e9
Split DrawerArgs into WallDrawerArgs, ColumnDrawerArgs, SpanDrawerArgs and SkyDrawerArgs
2017-01-29 10:05:37 +01:00
Christoph Oelckers
8e469c1343
Corrected bad 'or' operation
2017-01-29 09:57:55 +01:00
Magnus Norddahl
92bd752935
Move drawerargs globals into a class and make them local
2017-01-29 07:49:04 +01:00
Rachael Alexanderson
0c101102dc
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_main.cpp
# src/r_segs.cpp
# src/r_things.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-01-28 17:39:55 -05:00
Rachael Alexanderson
2fb82aaa9f
Revert "- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers."
...
This reverts commit 2f9453bc86
.
# Conflicts:
# src/swrenderer/line/r_line.cpp
# src/swrenderer/line/r_renderdrawsegment.cpp
# src/swrenderer/things/r_decal.cpp
# src/swrenderer/things/r_wallsprite.cpp
2017-01-28 17:37:57 -05:00
Christoph Oelckers
4f5d5d5de7
- this should have been in the last commit.
2017-01-28 21:49:52 +01:00
Christoph Oelckers
95afc97d48
- ok, that color_absolute option was pretty much redundant, considering that it is already possible to explicitly set a fog density per sector - it was only necessary to give that priority over standard depth fade calculations for fog-less sectors.
2017-01-28 21:42:58 +01:00
Christoph Oelckers
476aceb5d7
- added new properties to UDMF spec.
...
- implemented color_absolute flag,
2017-01-28 21:22:48 +01:00
Christoph Oelckers
e96f231420
- added Doom64 colors for sprites.
2017-01-28 21:02:03 +01:00
Christoph Oelckers
ee22a9371b
- use Doom64 colors on sectors and linedefs.
2017-01-28 20:44:46 +01:00
Christoph Oelckers
12d073a27d
- objectcolor stuff.
...
# Conflicts:
# src/gl/renderer/gl_renderstate.cpp
2017-01-28 19:06:21 +01:00
Christoph Oelckers
dbbd797baa
- added the needed properties for Doom64 colors and a little FraggleScript hack to test it with existing maps.
2017-01-28 19:05:39 +01:00
Christoph Oelckers
1d2ae53ecb
Revert "- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly."
...
This reverts commit dd03bb1fcb
.
Turns out that making this work in GL will create a complete mess so better remove the option as it would only cause problems.
2017-01-28 18:26:52 +01:00
Magnus Norddahl
4afac0f2cc
Force all drawing to go through DrawerStyle
2017-01-28 16:36:39 +01:00
Rachael Alexanderson
2f9453bc86
- Fully implemented Graf's level.PreserveSectorColor() changes into the software renderers.
2017-01-28 09:53:24 -05:00
Rachael Alexanderson
d27a152d9b
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_bsp.cpp
# src/r_main.cpp
# src/r_segs.cpp
# src/r_things.cpp
# wadsrc/static/language.enu
# wadsrc/static/menudef.txt
2017-01-28 09:38:10 -05:00
Christoph Oelckers
dd03bb1fcb
- made r_fullbrightignoresectorcolor a MAPINFO option, so far only working on the software renderer. GL still needs a few changes to handle it correctly.
2017-01-28 12:20:18 +01:00
Rachael Alexanderson
c923f8c5e1
- fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game.
2017-01-28 10:04:22 +01:00
Magnus Norddahl
8fceb60532
Removed unused variable
2017-01-28 08:40:31 +01:00
Magnus Norddahl
bd35d1d39f
Remove ds_fcolormap
2017-01-28 08:19:21 +01:00
Magnus Norddahl
dbf9cd5de5
Remove a few more drawerargs
2017-01-28 08:17:31 +01:00
Magnus Norddahl
9eebe3e940
Remove unused drawer args
2017-01-28 08:04:11 +01:00
Magnus Norddahl
fe40ad200e
Remove the goto in RenderDecal::Render!
2017-01-28 07:13:52 +01:00
Magnus Norddahl
5f38b15635
Move colfunc family of globals into a DrawerStyle class and localize its usage
2017-01-28 07:08:59 +01:00
Rachael Alexanderson
f9eb06a22e
- fixed: If GLRenderer is uninitialized (i.e. using software renderer, or during startup), gl_paltonemap_* CVARs would crash the game.
2017-01-28 00:13:27 -05:00
Rachael Alexanderson
00823217c7
Merge https://github.com/coelckers/gzdoom
2017-01-27 19:17:24 -05:00
ZZYZX
13c6d16905
Fixed: compile-time error in vararg function call would result in a crash.
2017-01-28 00:32:43 +01:00
Major Cooke
46ee2c5ec6
- Fixed HITTARGET, HITMASTER, HITTRACER, crash and xdeath states being broken on bouncing actors that die/explode.
2017-01-27 18:03:09 +01:00
Rachael Alexanderson
5cbe829c05
Merge https://github.com/coelckers/gzdoom
2017-01-27 11:33:05 -05:00
Christoph Oelckers
1eb2c75328
- explode bouncing objects directly inside P_BounceActor if the bounce count expired. The calling code is too messed up to handle this cleanly.
2017-01-27 16:15:17 +01:00
Christoph Oelckers
08c252274a
- fixed issues with uninitialized RNGs and bad assumptions about corpse pointers always being fully initialized when being destroyed.
...
Both of these may be true when occuring during normal gameplay, but not during an exception unwind in the serializer, which caused crashes if ACS errored out due to mismatched scripts.
2017-01-27 12:02:47 +01:00
Christoph Oelckers
15b95cc023
- fixed: DECORATE was creating a new global constant namespace for each single included file, not just once per DECORATE lump.
2017-01-27 10:51:12 +01:00
alexey.lysiuk
6a826f37bd
Fixed compilation with GCC/Clang
...
No more 'error: cannot jump from this goto statement to its label'
2017-01-26 22:21:22 +02:00
Magnus Norddahl
ed05a2edd3
Create CameraLight class
2017-01-26 10:22:54 +01:00
Magnus Norddahl
4bbf1ba11c
Move visibility stuff into LightVisibility
2017-01-26 09:49:07 +01:00
Magnus Norddahl
933f2d116a
Move DrewAVoxel to VisibleSpriteList
2017-01-26 08:39:44 +01:00
Magnus Norddahl
34f85569b4
Change RenderTranslucentPass to be a singleton
2017-01-26 08:36:28 +01:00
Magnus Norddahl
8b0304c1e3
Remove static from RenderFogBoundary
2017-01-26 08:24:44 +01:00
Magnus Norddahl
29dcea49d7
Move RenderDrawSegment to its own file
2017-01-26 08:13:39 +01:00
Magnus Norddahl
6899b351a2
Create class for draw segment list
2017-01-26 08:01:44 +01:00
Magnus Norddahl
2821c15795
Rename drawseg_t to DrawSegment
2017-01-26 07:03:27 +01:00
Magnus Norddahl
9d9395c855
Updated the copyright
2017-01-26 06:59:20 +01:00
Magnus Norddahl
9c4b11b671
Add OpenGL ES support to Linux target and enable it for ARM devices
2017-01-25 07:18:26 +01:00
Magnus Norddahl
348b73eb83
Fix gcc warning
2017-01-25 03:45:57 +01:00
Magnus Norddahl
eb2b5269f9
Fix linux compile errors
2017-01-25 03:28:11 +01:00
Rachael Alexanderson
a04699ec1c
Merge https://github.com/coelckers/gzdoom
2017-01-24 18:15:39 -05:00
Rachael Alexanderson
c1ff1c6336
- Set banded light to "false" to not impact GZDoom defaults.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
9a777f719b
- Added "gl_bandedswlight" to reduce the software light emulation gradient to 32 levels.
2017-01-24 22:24:53 +01:00
Rachael Alexanderson
84d2a89f49
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# wadsrc/static/language.enu
2017-01-24 12:03:57 -05:00
Rachael Alexanderson
eb3f83f908
- Since tonemap tweaks are on the menu now, make their changes affect instantly.
2017-01-24 17:57:03 +01:00
Rachael Alexanderson
494be00ce5
- Made default values for gl_paltonemap_powtable and gl_paltonemap_reverselookup more "id-like".
2017-01-24 17:57:03 +01:00
Rachael Alexanderson
6e47bf9bbc
- Added gl_paltonemap_powtable and gl_paltonemap_reverselookup for tweaking palette tonemap generation.
2017-01-24 17:57:03 +01:00
Magnus Norddahl
934f6a88bb
Fix compile error
2017-01-24 17:10:28 +01:00
Rachael Alexanderson
20a83f95b9
Merge https://github.com/coelckers/gzdoom
2017-01-24 08:39:22 -05:00
Christoph Oelckers
02f678dccc
- there seem to be ACS compilers which let 'delay' pass inside a function. Since this is an unsupported feature which brings the ACS VM into an unstable state it has to be handled with a hard abort to avoid crashes.
2017-01-24 11:59:59 +01:00
Christoph Oelckers
e3c36998b6
- delete all compile-time symbols for scripting after finishing compiling data.
...
Even the bare-bones gzdoom.pk3 gets rid of over 2000 symbols this way that otherwise would need to be tracked by the garbage collector.
2017-01-24 11:57:42 +01:00
Christoph Oelckers
c12dfd7e4d
- fixed: only explicit class type casts must obey strict namespace rules, i.e. only '(class<type>)(variable_to_cast)'
...
The general rule is as follows: A class name as a string will always be looked up fully, even if the class name gets shadows by another variable because strings are not identifiers.
It is only class names as identifiers that must obey the rule that if it is not known yet or hidden by something else that it may not be found to ensure that the older variable does not take over the name if it gets reused.
2017-01-24 10:04:46 +01:00
Magnus Norddahl
86d9594d6e
Convert r_walldraw to a class
2017-01-24 08:41:35 +01:00
Magnus Norddahl
b256f6ed89
Make wallsetup globals local to where they are used
2017-01-24 07:06:47 +01:00
Magnus Norddahl
ac74a7a1e0
Refactor wall setup into ProjectedWallLine and ProjectWallTexcoords
2017-01-24 06:50:17 +01:00
Magnus Norddahl
12271cbfb5
Remove the 1000 portal segment limit and make WallPortals private to RenderPortal
2017-01-24 05:31:39 +01:00
Magnus Norddahl
946ab93ff6
Remove unused friend declaration
2017-01-24 05:00:11 +01:00
Magnus Norddahl
f94cced13d
Move ColormapLight to r_light
2017-01-24 04:24:04 +01:00
Magnus Norddahl
ca8f71b561
Remove the need for RenderPlayerSprites::SetupSpriteScale
2017-01-24 04:19:43 +01:00
Magnus Norddahl
ba6094be2e
Detach player sprites from VisibleSprite
2017-01-24 04:15:54 +01:00
Rachael Alexanderson
3ea27cd996
Merge https://github.com/coelckers/gzdoom
2017-01-23 22:12:55 -05:00
Magnus Norddahl
07acd9375b
The memset antipattern cannot be used on classes with a virtual table
2017-01-24 02:28:32 +01:00
Magnus Norddahl
55d9392fb8
Add fallback code to Linux target so if OpenGL is either unavailable or can't be used it falls back to the old software SDL FB
2017-01-24 01:43:45 +01:00
Christoph Oelckers
17ed23bfcc
- don't read the full height of a player from the defaults, because that cannot be changed by A_SetHeight.
...
Instead a new member, FullHeight is used for this now.
2017-01-24 00:12:06 +01:00
Christoph Oelckers
3f999a990c
- removed a line of debug code that made GCC/Clang go nuclear.
2017-01-23 23:06:29 +01:00
alexey.lysiuk
6586877ac5
Merge branch 'master' of https://github.com/coelckers/gzdoom into master
2017-01-23 22:48:16 +02:00
alexey.lysiuk
799f6c6e26
Fixed compilation error with GCC/Clang
...
src/scripting/zscript/zcc_compile.cpp:1039:11: error: no viable conversion from 'FName' to 'FString'
2017-01-23 22:20:07 +02:00
Christoph Oelckers
b3aa7c61a9
- fixed: Class and struct name lookup was not context aware.
...
If a later module reused an existing name for a different class or struct type, this new name would completely shadow the old one, even in the base files.
Changed it so that each compilation unit (i.e. each ZScript and DECORATE lump) get their own symbol table and can only see the symbol tables that got defined in lower numbered resource files so that later definitions do not pollute the available list of symbols when running the compiler backend and code generator - which happens after everything has been parsed.
Another effect of this is that a mod that reuses the name of an internal global constant will only see its own constant, again reducing the risk of potential errors in case the internal definitions add some new values.
Global constants are still discouraged from being used because what this does not and can not handle is the case that a mod defines a global constant with the same name as a class variable. In such a case the class variable will always take precedence for code inside that class.
Note that the internal struct String had to be renamed for this because the stricter checks did not let the type String pass on the left side of a '.' anymore.
- made PEnum inherit from PInt and not from PNamedType.
The old inheritance broke nearly every check for integer compatibility in the compiler, so this hopefully leads to a working enum implementation.
2017-01-23 19:10:28 +01:00
alexey.lysiuk
d0565cafbd
Fixed compilation error with GCC/Clang
...
src/scripting/zscript/zcc_compile.h:95:10: error: extra qualification ‘ZCCCompiler::’ on member ‘StringConstFromNode’ [-fpermissive]
2017-01-23 11:19:26 +02:00
Rachael Alexanderson
03226e5a0a
Merge https://github.com/coelckers/gzdoom
...
# Conflicts:
# src/r_things.cpp
2017-01-23 00:17:25 -05:00
Christoph Oelckers
5a4a5a17db
- added core lump checks for ZScript.
...
- load internal shaders only from file 0. This does not contain aborts, like most of the other checks,but it will now refuse to load any core shader file from anything but gzdoom.pk3.
2017-01-23 01:56:15 +01:00
Christoph Oelckers
517733a04e
Merge branch 'clangfix' of https://github.com/edward-san/zdoom
...
# Conflicts:
# src/scripting/zscript/zcc_compile.h
2017-01-23 01:39:31 +01:00
Christoph Oelckers
f720073b31
- removed all code that was only there to implement the broken Simplifier that just got removed.
2017-01-23 01:37:43 +01:00
Christoph Oelckers
68c3f42a53
- no more Simplify for global constants as well.
2017-01-23 01:10:40 +01:00
Edoardo Prezioso
4694f9b201
- Fixed GCC/Clang 'extra qualification' error.
2017-01-23 00:22:25 +01:00
Edoardo Prezioso
092b2d6ea0
- Fixed Clang compile error [-Wnon-pod-varargs].
2017-01-23 00:11:42 +01:00
Christoph Oelckers
061ba48dc1
- no more simplify in state parameters.
...
- resolving constants with the backend requires a few more error checks.
2017-01-22 23:53:50 +01:00
Christoph Oelckers
2880f56080
- also switched scripted properties away from Simplify.
2017-01-22 23:00:41 +01:00
Christoph Oelckers
4c93e2baa3
- use the expression evaluation capabilities of the compiler backend to resolve constants in actor defaults.
...
This is the first step to get rid of Simplify and all the baggage it depends on.
2017-01-22 22:19:32 +01:00
Christoph Oelckers
f9f5e45824
- memset the entire vissprite structure when drawing a psprite because this does not initialize all fields.
2017-01-22 20:12:44 +01:00
Christoph Oelckers
f15b051327
- use std::unique_ptr to manage the resource file for loading a savegame because the try/catch handler to ensure its deletion was causing some problems.
2017-01-22 20:06:11 +01:00
alexey.lysiuk
f9ef935840
Fixed warning reported by GCC/Clang when optimization is enabled
...
src/scripting/codegeneration/codegen.cpp:4097:12: warning: variable 'cast' is used uninitialized whenever 'if' condition is false
2017-01-22 17:00:36 +02:00
alexey.lysiuk
935d49d75f
Fixed returning of value from TakeInventory() function
...
Issuing take CCMD no longer causes assertion failure at src/scripting/vm/vmexec.h:662
assert(numret == C && "Number of parameters returned differs from what was expected by the caller")
2017-01-22 13:51:46 +02:00
alexey.lysiuk
03f9425eb1
Fixed missing xBRZ menu options on platforms without MMX support
...
xBRZ texture resize modes are no longer removed from menu for targets with HAVE_MMX undefined
2017-01-22 12:11:17 +02:00
alexey.lysiuk
33b69a27ae
Restored HAVE_MMX definition in CMake
2017-01-22 11:14:48 +02:00
alexey.lysiuk
da4981ef91
Fixed invisible mouse cursor in SDL backend
...
See https://mantis.zdoom.org/view.php?id=71
2017-01-22 10:25:37 +02:00
Rachael Alexanderson
df35d53a57
Merge https://github.com/coelckers/gzdoom
2017-01-21 22:02:50 -05:00
Christoph Oelckers
d289c00ae3
- restored a line of code that got lost when fixing the parameter checks in CallStateChain.
2017-01-22 01:28:37 +01:00
Rachael Alexanderson
53acc28f26
Merge https://github.com/coelckers/gzdoom
2017-01-21 17:47:18 -05:00
Christoph Oelckers
ee40135d55
- removed the bogus SetPointer method from PClassPointer.
...
This was blocking proper bookkeeping of class pointer variables, in particular it rendered PointerSubstitution ineffective.
2017-01-21 23:26:58 +01:00
ZZYZX
659c11514b
OpenGL: Added picnum override handling for actors
2017-01-21 23:04:45 +01:00
Christoph Oelckers
aaae52c60b
- fixed: FResourceFile::OpenResourceFile did not close the opened file in case it contained invalid data.
2017-01-21 20:15:06 +01:00
alexey.lysiuk
2358b65921
Fixed compiler warning reported by GGC/Clang
...
No more 'warning: comparison of integers of different signs: int and unsigned long'
2017-01-21 14:47:10 +02:00
Christoph Oelckers
45d3b58cc6
- fixed redundant variable declaration shadowing an outer one.
2017-01-21 13:26:26 +01:00
Christoph Oelckers
2a6fafa15e
- don't let P_DamageMobj return negative values.
...
This serves no purpose, there's not a single place in the code which checks for it, but if that negative values goes unchecked to functions that expect an actually meaningful value for damage inflicted, some bad results can happen. If no damage is inflicted, a proper 0 needs to be returned so that the value can actually be worked with. The return value was a ZDoom invention, it is completely unclear why -1 was chosen if some kind of protection rendered the damage ineffective.
2017-01-21 13:12:34 +01:00
Christoph Oelckers
4dc1d117f2
- fixed: Without letting CMake find OpenGL, under Windows the library must be added manually to the project or linker errors will happen.
2017-01-21 11:50:53 +01:00
Christoph Oelckers
cbdf9870ec
- fix uninitialized variable.
2017-01-21 11:46:23 +01:00
Christoph Oelckers
19df603f92
- fixed: P_RailAttack did not make adjustments for the shooter's floorclip.
2017-01-21 10:55:57 +01:00
alexey.lysiuk
5158b1c337
Fixed undefined behavior of DropInventory()
...
See https://mantis.zdoom.org/view.php?id=93
2017-01-21 11:43:11 +02:00
ZZYZX
6f5fff00a0
Implemented static methods in String struct. Implemented String.Format and String.AppendFormat. Implemented native vararg methods for the future.
2017-01-21 10:32:26 +01:00
Rachael Alexanderson
07409f4997
- fixed compile error with status bar code in poly renderer.
2017-01-21 01:23:49 -05:00
Edoardo Prezioso
da3da61b67
- Make OpenGL library link fully dynamic on Unix.
...
Also, remove all the OpenGL CMake checks, because they're not needed anymore.
2017-01-20 23:21:37 -05:00
Rachael Alexanderson
410a1aa24c
Merge https://github.com/coelckers/gzdoom
2017-01-20 20:56:02 -05:00
Christoph Oelckers
7e114c1127
- moved some more code out of the way.
2017-01-21 00:49:54 +01:00
Christoph Oelckers
274727e8ae
- moved the draw functions which are exclusively used by the Strife status bar into strife_sbar.cpp to get them out of the way. They are not expected to survive anyway.
2017-01-21 00:41:59 +01:00
Christoph Oelckers
74f4171947
- removed several unused draw functions from DBaseStatusBar.
2017-01-21 00:29:19 +01:00
Christoph Oelckers
355570198d
- moved statusbar code to a separate directory before starting work on it.
2017-01-20 22:59:31 +01:00
Christoph Oelckers
36e1d71f2b
- fix spelling error.
2017-01-20 22:45:09 +01:00
Christoph Oelckers
23a7fd40aa
- fixed: The script wrapper for AActor::TakeInventory erroneously called RemoveInventory, not TakeInventory.
2017-01-20 20:04:57 +01:00
Christoph Oelckers
7adc34932f
- fixed: The state parameter for CallStateChain was checked for the wrong type.
2017-01-20 19:56:29 +01:00
Edoardo Prezioso
e993f9304b
- Fixed GCC/Clang compile error.
2017-01-20 19:10:07 +01:00
Christoph Oelckers
4fa5055548
- fixed: With some functions moved to Weapon, Dehacked needs to check Weapon, not StateProvider to find its code pointers.
2017-01-20 17:23:13 +01:00
Christoph Oelckers
302cb41403
- fixed typo in MorphMonster definition.
2017-01-20 17:20:50 +01:00
Christoph Oelckers
314e49f791
- let A_SpawnProjectile, A_FireProjectile, A_SpawnItem(Ex) and A_ThrowGrenade return the spawned actors to the calling code.
...
- fixed the return type checks in CallStateChain. These made some bogus assumptions about what return prototypes to support and would have skipped any multi-return function whose first argument was actually usable.
2017-01-20 12:39:51 +01:00
Christoph Oelckers
f5421491ec
- wrapped the entire DSBarInfo class in a container and completely decoupled it from DBaseStatusBar.
...
The idea is, when status bars are moved to ZScript that only this small wrapper class needs to be dealt with and the implementation can be left alone. SBARINFO is far too complex to be scriptified, but having it inherit directly from DBaseStatusBar and access its member variables severely limits the options of dealing with the status bar code. This way, it only accesses some globally visible functions in DBaseStatusBar and no variables.
- renamed the global ST_X and ST_Y variables because it is far too confusing and error-prone to have the same names inside and outside DBaseStatusBar.
2017-01-20 11:11:22 +01:00
Rachael Alexanderson
f3159af211
- fixed: Remove ccmd should check if an object is actually an inventory object before attempting to check its owner. (Ooops!)
2017-01-20 10:03:33 +01:00
Rachael Alexanderson
e52772745b
Merge https://github.com/coelckers/gzdoom
2017-01-19 23:07:14 -05:00
Christoph Oelckers
9d828a7ca0
- marked all virtual overrides in DSBarInfo with the 'override' keyword so that I do not have to search for them again.
2017-01-20 01:42:21 +01:00
Christoph Oelckers
c880b26d98
- scriptified MorphProjectile and CustomSprite.
...
This should for now conclude actor class scriptification. The remaining ten classes with the exception of MorphedMonster are all too essential or too closely tied to engine feature so they should remain native.
2017-01-20 01:11:36 +01:00