Commit graph

9939 commits

Author SHA1 Message Date
Magnus Norddahl
4be291fb61 Fix divide by zero (issue 0000022) 2017-01-10 18:25:06 +01:00
Rachael Alexanderson
866ee43ec9 Merge https://github.com/coelckers/gzdoom 2017-01-10 11:03:58 -05:00
alexey.lysiuk
d9efeb206d Fixed crash on loading GL nodes
See http://mantis.zdoom.org/view.php?id=21
2017-01-10 17:16:18 +02:00
Magnus Norddahl
ece8e95853 Revert range adjustment (can't make out if this is wrong or not - if it is, it is wrong across the entire function) 2017-01-10 15:16:55 +01:00
Magnus Norddahl
751bd120ac Fix warning about potential uninitialized lightfiller reported by gcc 2017-01-10 15:14:55 +01:00
Magnus Norddahl
8fc6660a4a Disable SSE stuff 2017-01-10 13:45:14 +01:00
Magnus Norddahl
c4573fa343 Disable SSE on arm 2017-01-10 13:39:57 +01:00
Christoph Oelckers
46179936ec - added global per-mod precaching lists, to be defined in MAPINFO's Gameinfo section. 2017-01-10 01:00:06 +01:00
Christoph Oelckers
96788850d3 - added a workaround for a crashing condition in FThinkerIterator.
It can actually happen that the thinker chain gets broken if an actor being iterated happens to destroy the immediately following actor in the chain as well. In that case both actors lose their chain links and the iterator cannot advance any further, the only solution to avoid a crash is to terminate the iteration of the current list.
2017-01-10 00:38:08 +01:00
Christoph Oelckers
26170419f4 - fixed: The stair builder code tried to access a member of a null pointer after finding no more stair sectors. 2017-01-09 23:24:00 +01:00
Edoardo Prezioso
815a440014 - Fixed the wrong handling of empty command line argument. 2017-01-09 22:00:48 +01:00
Christoph Oelckers
5396e8d07d - fixed: The Windows CreateFramebuffer methods need to check the desired screen size for an actual resolution when switching to fullscreen. 2017-01-09 21:26:19 +01:00
Christoph Oelckers
cc8c20adf8 - fixed: non-existent partner segs were not properly initialized. 2017-01-09 20:54:22 +01:00
alexey.lysiuk
079f3bd78c Fixed compilation errors with GCC/Clang
No more 'error: cannot jump from this goto statement to its label'
2017-01-09 17:26:19 +02:00
Rachael Alexanderson
6c04439315 - Fixed compile errors with last merge. 2017-01-09 10:16:24 -05:00
alexey.lysiuk
bc492a0b7f Autoaim is now updated when adjusting slider with mouse
Fixes #208 Autoaim slider in Player Setup does not save if changed with cursor
2017-01-09 16:52:15 +02:00
Rachael Alexanderson
05662e5c4d Merge https://github.com/coelckers/gzdoom
# Conflicts:
#	src/r_bsp.cpp
#	src/r_plane.cpp
#	src/r_things.cpp
2017-01-09 09:51:06 -05:00
Magnus Norddahl
4c67a717f8 Remove drawerargs from r_things 2017-01-09 14:56:29 +01:00
Magnus Norddahl
4eac238d26 Remove commented out code 2017-01-09 14:52:50 +01:00
Magnus Norddahl
bb2806c9ca Remove WallSpriteTile global 2017-01-09 14:51:34 +01:00
Magnus Norddahl
b9024f87a0 Remove unused globals 2017-01-09 14:48:19 +01:00
Magnus Norddahl
65fa807433 Remove spriteshade global 2017-01-09 14:46:57 +01:00
Magnus Norddahl
3b5dc96f4a Move player sprite scale to r_playersprite and make it private 2017-01-09 14:28:31 +01:00
Magnus Norddahl
da85de01de Move prototype 2017-01-09 14:22:00 +01:00
Magnus Norddahl
6d642b1906 Move FCoverageBuffer to r_voxel 2017-01-09 14:20:47 +01:00
Magnus Norddahl
579199a246 Move R_DrawVisSprite to r_sprite and move R_DrawMaskedColumn to r_draw 2017-01-09 13:53:02 +01:00
Kyle Evans
8cc52dab5e Fix build on GCC/Clang
Obtained from: kcat/Csonicgo (IRC)
2017-01-09 10:11:13 +02:00
Christoph Oelckers
472ace1bea - removed the needless copying around of the vertexdatas array. The slope code can just use this from the TArray created by the UDMF parser. 2017-01-09 01:40:14 +01:00
Christoph Oelckers
b9ac44e8f2 - fixed: The sight checker's portalgroup variable was not initialized.
- got rid of glsegextras.

This was probably one of the most ill-conceived means to save some memory in ZDoom, but now, when a pure software rendered engine no longer needs to be considered it's just totally useless to keep this mess in.
2017-01-09 01:28:07 +01:00
Christoph Oelckers
12037fdc95 - made the vertexes array VM friendly. 2017-01-09 00:46:16 +01:00
Christoph Oelckers
f78927500e - exported all meaningful parts of side_t to the VM. 2017-01-08 21:42:26 +01:00
Christoph Oelckers
97a90c52e0 - fixed: Particles should disappear if their alpha goes below zero. 2017-01-08 19:44:00 +01:00
Christoph Oelckers
c9964d36d6 - fixed: A single sight check iteration may not succeed if origin and end point are in different portal groups. All those may do is collect more portals. 2017-01-08 19:34:04 +01:00
Christoph Oelckers
7a5171a2e9 - fixed: The check for virtual function overrides was never done if the overriding function had no qualifier at all.
- fixed several occurences where an 'override' qualifier was missing.
2017-01-08 19:07:26 +01:00
Christoph Oelckers
cd7986b1b1 - refactored global sides array to be more VM friendly.
- moved FLevelLocals to its own header to resolve some circular include conflicts.
2017-01-08 18:46:17 +01:00
alexey.lysiuk
e188047d70 Fixed compilation with GCC/Clang 2017-01-08 17:20:27 +02:00
Christoph Oelckers
a54d2d8a55 - fixed UDMF initialization for linedef portal info. 2017-01-08 16:09:21 +01:00
Christoph Oelckers
1c74faea73 - exported line_t's functions to the VM. 2017-01-08 15:45:37 +01:00
Christoph Oelckers
cb89a1a81a - fixed inconsistent use of line_t::portaltransferred.
Some parts used 0 as 'nothing' others used UINT_MAX. 0 should refer to the map's default sky, not to nothing.
2017-01-08 14:59:31 +01:00
Christoph Oelckers
71d1138376 - refactored the global lines array into a more VM friendly form, moved it to FLevelLocals and exported it to ZScript.
- disabled the Build map loader after finding out that it has been completely broken and nonfunctional for a long time. Since this has no real value it will probably removed entirely in an upcoming commit.
2017-01-08 14:39:16 +01:00
Christoph Oelckers
5ee52f159e - refactored the level backup data needed by the serializer into p_saveg.h. 2017-01-08 12:11:31 +01:00
Christoph Oelckers
5ec786eef7 - removed the 'dumpmap' CCMD because it was mostly broken anyway and would require a complete rewrite in UDMF to get back on track. 2017-01-08 11:52:35 +01:00
Magnus Norddahl
3b7bc2d1e5 Add NO_DRAWERGEN define 2017-01-08 04:54:11 +01:00
Magnus Norddahl
d825ec334c Merge remote-tracking branch 'gzdoom/master' into qzdoom 2017-01-08 04:48:49 +01:00
Christoph Oelckers
d2a51a57e1 - added new Stairs_BuildUpDoomCrush special from Eternity and used it to fix the bad implementation to make Doom's turbo stairs crush. This also removes the crushing from Generic_Stairs entirely, just like it was in Boom. 2017-01-08 01:15:45 +01:00
Christoph Oelckers
3beed216dd - exported all relevant functions from sector_t.
Please note that currently most of these have little use, they are for future feature support.
2017-01-08 00:50:40 +01:00
Rachael Alexanderson
6e06adb795 Merge https://github.com/coelckers/gzdoom 2017-01-07 16:04:46 -05:00
Christoph Oelckers
82adc5bf1e - exported secplane_t to scripting. 2017-01-07 21:29:43 +01:00
Christoph Oelckers
91981e25a8 - moved all 'sectorptr - &level.sectors[0]' constructs into a subfunction. 2017-01-07 20:02:25 +01:00
Christoph Oelckers
c02281a439 - refactored the global sectors array into a more VM friendly type and moved it into FLevelLocals. 2017-01-07 19:32:24 +01:00
Magnus Norddahl
bf850bb788 Merge remote-tracking branch 'gzdoom/master' into qzdoom
# Conflicts:
#	src/swrenderer/scene/r_things.cpp
2017-01-07 17:44:15 +01:00
Christoph Oelckers
d381fb5e3f - fixed: A_SetInventory must check for voodoo dolls and delegate the action to the real player because it will always break the real player's inventory if done so. 2017-01-07 15:44:39 +01:00
Christoph Oelckers
581cd27818 - floatified the translucency values in particle_t to elimintate the gross inaccuracies with fadeout time.
- widened ttl variable in particle_t to short to allow longer living particles than 6 seconds.
- reordered fields in particle_t to reduce struct size a bit.
2017-01-07 15:44:39 +01:00
Christoph Oelckers
42b1432b64 - fixed: initialization of local vector variables did not properly allocate registers if the initializer was a subelement of another local vector variable. 2017-01-07 15:44:38 +01:00
Christoph Oelckers
acf66d9f8f - fixed some edge cases with visible player sprites through non-static line portals. This required reinstating some code which I thought was no longer needed. 2017-01-07 15:44:38 +01:00
Rachael Alexanderson
de5f5a1221 Merge https://github.com/coelckers/gzdoom 2017-01-06 22:06:25 -05:00
Christoph Oelckers
62ea83a35a - let the prediction code handle all 4 threaded lists an actor gets linked into.
This is mostly a straight refactoring of the existing code to work independently of specific member variables in the involved classes, using a bit of template magic to avoid redundancy and moving the work code into subfunctions.
It still needs some testing to see if it a) helps fix the crash issues and b) doesn't break anything-
2017-01-06 15:06:17 +01:00
Christoph Oelckers
c52bc06e9b - use a memory arena to allocate msecnodes.
These are rather small and extremely frequently allocated, so they are prime candidates for memory arena, because it not only avoids fragmentation and internal overhead due to mass allocation of small memory blocks but it also makes it a lot faster to free the memory when finishing a level.
2017-01-06 13:09:58 +01:00
Christoph Oelckers
ed25cf61c5 - moved the msecnode code to its own file.
Note that this originates from Boom so it needs to keep the Doom license.
2017-01-06 12:54:01 +01:00
Christoph Oelckers
b11c8fef57 - renamed a few variables for clarity. 2017-01-06 11:56:17 +01:00
Christoph Oelckers
44ad55602d - got rid of uint32(-1) casts. 2017-01-06 11:43:27 +01:00
alexey.lysiuk
b297047060 Removed useless integer type size expansion
Fixed Apple's Clang warnings:
absolute value function 'abs' given an argument of type 'long long' but has parameter of type 'int' which may cause truncation of value
2017-01-06 10:40:51 +01:00
alexey.lysiuk
1a0d8dffd9 Fixed harmless initialization order mismatch
No more 'field ... will be initialized after field ...' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
0e9f52f9e5 Added virtual destructor to FPresentShaderBase class
No more 'delete called on non-final class that has virtual functions but non-virtual destructor' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
d77718d422 Fixed harmless uninitialized variables warnings
No more 'variable  is used uninitialized whenever switch default is taken' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
alexey.lysiuk
9ed2da176e Fixed signed/unsigned mismatch in comparisons
No more 'comparison of integers of different signs' warnings reported by GCC/Clang
2017-01-06 10:40:51 +01:00
Christoph Oelckers
e0540c6b37 - fixed uninitialized variable warning in codegen.cpp 2017-01-06 10:33:58 +01:00
Rachael Alexanderson
3548f17f01 Merge https://github.com/coelckers/gzdoom 2017-01-05 10:38:14 -05:00
Christoph Oelckers
fcb1c1edc4 - only print GL extensions to the log, but not to the console.
The list has become so long by now that it's more of a distraction than help. Besides, searching on-screen for specific extensions is futile anyway.
2017-01-05 12:01:00 +01:00
Christoph Oelckers
c87836c3f3 - fixed check for Mesa driver. 2017-01-05 11:51:15 +01:00
Christoph Oelckers
b74c374a66 - fixed: The CheckReturn check for FxSwitchStatement was not strict enough.
It may only return true if there is no default case because without that any non-matching value will go past the statement.
2017-01-05 11:39:29 +01:00
Christoph Oelckers
e13627e9d8 - fixed: portal offsets at frame start were not applied to ViewActorPos. 2017-01-05 11:28:08 +01:00
Magnus Norddahl
e806b9424c Move r_portal into a class 2017-01-05 04:55:26 +01:00
Magnus Norddahl
4bcc34f01c Move openings deinit to r_memory 2017-01-04 19:13:58 +01:00
Magnus Norddahl
e0f1fc4066 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-04 19:03:40 +01:00
Magnus Norddahl
47ca45bf18 Convert FakeSide to enum class 2017-01-04 19:03:33 +01:00
Rachael Alexanderson
ac22d80170 Merge https://github.com/coelckers/gzdoom 2017-01-04 12:56:35 -05:00
Magnus Norddahl
5f8075f726 Convert r_3dfloors to a class 2017-01-04 18:54:14 +01:00
Magnus Norddahl
28732d63d2 Move r_bsp into a class 2017-01-04 15:39:47 +01:00
Christoph Oelckers
4be9222646 - fixed: Dehacked must flag all states it touched for use in weapons. 2017-01-04 11:13:19 +01:00
Magnus Norddahl
c396e7f949 Make r_bsp and r_line stop sharing floorplane and ceiling plane variables 2017-01-04 05:10:16 +01:00
Magnus Norddahl
38280b9315 Merge branch 'master' of https://github.com/raa-eruanna/qzdoom into qzdoom 2017-01-04 04:50:25 +01:00
Magnus Norddahl
5caea5a256 Fix clipping regression caused by splitting clip handling from line rendering 2017-01-04 04:49:10 +01:00
Rachael Alexanderson
13972eed2b Merge https://github.com/coelckers/gzdoom 2017-01-03 21:31:55 -05:00
Magnus Norddahl
dba81db198 Move material multiplication out of inner light loop 2017-01-03 21:16:21 +01:00
Christoph Oelckers
b132782c49 - scriptified PowerBuddha and PowerFrightener. 2017-01-03 21:03:05 +01:00
Magnus Norddahl
b3cee51fd0 Fixed clang errors about the gotos leaving certain variables uninitialized 2017-01-03 20:53:40 +01:00
Christoph Oelckers
15f30886cd - scriptified the TimeFreezer powerup. 2017-01-03 20:06:20 +01:00
Christoph Oelckers
37dab4a12c - fixed: 'out' parameters must always allocate an address register, regardless of type. 2017-01-03 13:59:09 -05:00
Christoph Oelckers
f30b2ca80d - disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken. 2017-01-03 13:59:09 -05:00
alexey.lysiuk
ca9523acef Fixed compilation with GCC/Clang
Fixes #175
2017-01-03 13:59:09 -05:00
Magnus Norddahl
abdc7f9ff1 Move WindowLeft, WindowRight, MirrorFlags to r_portal 2017-01-03 19:25:00 +01:00
Magnus Norddahl
e25645df46 Move r_fogboundary to line folder 2017-01-03 19:16:37 +01:00
Magnus Norddahl
863f17ada9 Fix function names 2017-01-03 19:08:02 +01:00
Magnus Norddahl
a4c0e29913 Moved r_line into a class and implemented proper parameter passing between r_line and r_bsp, r_walldraw, r_wallsetup, r_decal, r_wallsprite, r_fogboundary, r_portal and r_playersprite 2017-01-03 18:57:48 +01:00
Magnus Norddahl
aa11534033 Remove unused (and broken in swrenderer) back boolean from FakeFlat interface 2017-01-03 18:55:12 +01:00
Christoph Oelckers
341d9abdd0 - fixed: 'out' parameters must always allocate an address register, regardless of type. 2017-01-03 16:00:25 +01:00
Christoph Oelckers
96623b3052 - disabled OpenGL 3.0 on the Open Source Mesa driver for Linux because it appears to be broken. 2017-01-03 12:01:03 +01:00
alexey.lysiuk
2dec45ca39 Fixed compilation with GCC/Clang
Fixes #175
2017-01-03 09:45:53 +02:00
Magnus Norddahl
e7ab5dddb6 Put add the copyright statement from the files the code originated from 2017-01-03 07:17:54 +01:00