Commit graph

387 commits

Author SHA1 Message Date
Christoph Oelckers
77bfffaee0 - removed a few __cdecl's from the source. 2016-04-11 12:46:48 +02:00
Christoph Oelckers
db86385cf6 - removed STACK_ARGS.
The only reason this even existed was that ZDoom's original VC projects used __fastcall. The CMake generated project do not, they stick to __cdecl.
Since no performance gain can be seen by using __fastcall the best course of action is to just remove all traces of it from the source and forget that it ever existed.
2016-04-11 10:46:30 +02:00
Christoph Oelckers
12129b0f07 - added a system-include independent wrapper for Windows's OutputDebugString, so that this can be used more easily in files that cannot include windows.h. 2016-04-10 13:03:44 +02:00
Christoph Oelckers
a827bab576 - refactored the use of tag lists so that they do not have to be passed around between functions.
This means that the varargs functions themselves are now responsible for parsing them into DrawParms.
This was done because DrawTextV made a blanket assumption that every single vararg has the size of a 32 bit integer and caused crashes when anything else was passed. It also failed to eliminate any tag that is incompatible with text display. These will now abort DrawText and trigger an assert.
2016-04-09 20:47:54 +02:00
Christoph Oelckers
e2ae7d8f5d - removed the unused x and y parameters from DrawTextureParms. 2016-04-09 12:59:50 +02:00
Christoph Oelckers
43dd759859 - changed DrawTexture so that the parameters get parsed in the varargs function directly and that the virtual function that is getting called gets the fully prepared data.
In order to avoid passing around tag lists, DrawTextV needs to parse everything itself and then pass a fully initialized structure to DrawTexture. This cannot be done if all variants require a varargs tag list.
Apparently the only reason for the old approach was the 'hw' parameter which was never used.
2016-04-09 12:55:12 +02:00
Christoph Oelckers
5409ada0e3 let WM_DISPLAYCHANGE and WM_STYLECHANGED call DefWindowProc.
At least on GZDoom it seems to be important on some systems.
2016-04-07 10:26:57 +02:00
Christoph Oelckers
8680391e0b - floatified the global view variables.
The software renderer still uses internal copies of the fixed point version.
2016-04-01 12:22:16 +02:00
Christoph Oelckers
66929cbaff - floatified p_trace, p_slopes and p_udmf.cpp.
- major cleanup of unused code.
2016-03-30 16:30:22 +02:00
Christoph Oelckers
dabed04d2a - floatification of p_3dfloors, p_3dmidtex and p_acs.cpp plus some leftovers.
- removed all references to Doom specific headers from xs_Float.h and cmath.h.
2016-03-26 12:36:15 +01:00
Christoph Oelckers
41387622f2 - changed angle parameter of FillSimplePoly. 2016-03-24 16:36:43 +01:00
Christoph Oelckers
09d8b4af80 - changed I_GetTimeFrac to return a double instead of a fixed_t. 2016-03-24 12:00:21 +01:00
Christoph Oelckers
2a0d5a621a - floatified some stuff in g_shared.
Note: This commit does not handle z-spawn positions correctly.
2016-03-23 00:53:09 +01:00
Christoph Oelckers
1eb106e2c5 - floatification of some alpha parameters. 2016-03-22 13:35:16 +01:00
Christoph Oelckers
51b05d331d - replaced AActor::vel and player_t::Vel with a floating point version.
- Converted P_MovePlayer and all associated variables to floating point because this wasn't working well with a mixture between float and fixed.

Like the angle commit this has just been patched up to compile, the bulk of work is yet to be done.
2016-03-20 00:54:18 +01:00
Michael Labbe
a4705c8404 vid_listmodes crash fix 2016-03-03 17:31:12 -06:00
Michael Labbe
97821a3036 21:9 aspect ratio support
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00
Christoph Oelckers
44a6cafd4b - we are using C++11 now, so all those old VC 2005 project files are of no use anymore. 2016-03-01 09:38:49 +01:00
Christoph Oelckers
0cf9cae7f3 - added some #pragma warnings to i_crash.cpp to silence a warning message in Microsoft's headers. 2016-02-29 10:48:51 +01:00
DaMan
78552cc676 Disable UAC virtualization 2016-02-22 17:56:18 -06:00
Christoph Oelckers
340faef1ec - fixed a few 64-bit warnings. 2016-02-13 13:37:28 +01:00
Christoph Oelckers
bcfb437302 - fixed message output. 2016-02-09 15:06:55 +01:00
Christoph Oelckers
4d2a52418f - added an errorlog option.
This cuts down on as much message noise as possible, outputs everything to a file specified as a parameter and then quits immediately, allowing this to run from a batch that's supposed to check a larger list of files for errors.
Multiple outputs get appended if the file already exists.
2016-02-09 14:20:49 +01:00
Randy Heit
09a17c2198 Quiet some narrowing conversion warnings from VS2015 2016-02-05 22:18:53 -06:00
Randy Heit
b3b0886b64 Merge branch 'scripting'
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_blastradius.cpp
	src/p_enemy.cpp
	src/p_enemy.h
	src/thingdef/thingdef.h
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/constants.txt
2016-02-04 15:17:22 -06:00
Christoph Oelckers
06fdb6ca45 - fixed: The reverb editor failed to open in fullscreen mode at desktop resolution.
According to Blzut3:

The issue happens when the fullscreen resolution is the same as the desktop resolution. In this case WM_DISPLAYCHANGE doesn't occur so the editor never appears. This appears to be fixable by also catching WM_STYLECHANGED since at the very least the window caption will appear/disappear.
2016-01-30 21:49:03 +01:00
Christoph Oelckers
bf747075e8 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_hexen/a_clericstaff.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:57:55 +01:00
Christoph Oelckers
cfcd2668cc Merge commit '772a5724313f2ad0bd6828fcc28545a9ee5e6068' into scripting
Conflicts:
	src/p_pspr.cpp
	src/thingdef/thingdef_codeptr.cpp
2016-01-17 20:00:45 +01:00
Christoph Oelckers
5207aa6cc0 Merge commit '125afcf3defb901e23bd44d32fa86681ef1748f6' into scripting
Conflicts:
	src/p_local.h
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/shared/inventory.txt
2016-01-17 19:09:05 +01:00
Randy Heit
42e9a6a711 Make atlas size a macro definition and default it to 512x512 (was 256x256) 2016-01-10 22:14:35 -06:00
Randy Heit
aaac5ac7a1 Use not so brilliant backgrounds for allocated atlas backgrounds 2016-01-10 22:01:29 -06:00
Randy Heit
4f0046105d Change texture atlas display to show allocated rectangles 2016-01-10 21:09:16 -06:00
Randy Heit
bf31d66d31 Use a better packing algorithm for the texture atlases
- The old algorithm is something I threw together that produced decent,
  but not spectacular results since it had a tendency to waste space by
  forcing everything onto "shelves".
  The new packer is the Skyline-MinWaste-WasteMap-BestFirstFit algorithm
  described by Jukka Jylanki in his paper *A Thousand Ways to Pack the Bin - A
  Practical Approach to Two-Dimensional Rectangle Bin Packing*, which can
  currently be read at http://clb.demon.fi/files/RectangleBinPack.pdf
  This is minus the optimization to rotate rectangles to make better fits.
2016-01-08 22:37:06 -06:00
Randy Heit
f330a81909 Rename packing textures to texture atlases for the D3D code
- I figure since I now know the "proper" name for these things, I should
  call them by it.
2016-01-08 20:08:10 -06:00
Braden Obrzut
964ee6bb23 - Worked around issue where stat doesn't work in v140_xp. Even though the bug was supposedly fixed for awhile now it didn't make it into Update 1. 2015-12-07 04:49:40 -05:00
alexey.lysiuk
37dde2e77d Make console to Windows debug output controlled by CVAR
DebugView can be used to view output without debugger attached
2015-09-23 10:18:57 +03:00
alexey.lysiuk
c743b19e6d Make console text to appear in Windows debug output
This works in Debug configuration only
Color escape sequences are stripped from text before output
2015-09-22 15:19:44 +03:00
Edward Richardson
abb033d400 Fix deallocation of controllers with no axes 2015-09-05 14:18:48 +12:00
Gaerzi
98f214ee66 Added support for GOG paths
This works a bit differently from the Steam version, because each game
has its own registry keys and its own independent path.
2015-08-28 19:14:25 +02:00
Christoph Oelckers
d8ea128f38 Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
2015-07-16 20:37:17 +02:00
Christoph Oelckers
add52d48cd - fixed: INPUT_XInput must also be available when compiling without XInput support so that the corresponding JoyDevice can be accessed. 2015-07-15 14:44:37 +02:00
Christoph Oelckers
47303b26c7 - define GET_XBUTTON_WPARAM for MinGW in all file which need it. 2015-07-15 14:09:21 +02:00
Christoph Oelckers
c677dd37f5 - changed I_PrintStr so that it doesn't add everything to the RichEdit control right away.
The RichEdit control can become quite slow with large amounts of text being added constantly.
Since anything that gets added while the game is running can't be seen anyway unless a fatal error is produced, it buffers the text locally now, without any processing, and only adds it to the RichEdit control in case a fatal error causes the control to be displayed again.
2015-07-15 12:53:58 +02:00
Christoph Oelckers
450e5aec52 - this shouldn't have been committed. 2015-04-28 15:45:10 +02:00
Christoph Oelckers
2d0f6339f7 - fixed some memory leaks: The global symbol table and the argument list for DECORATE called action specials were never freed. 2015-04-28 15:34:48 +02:00
Christoph Oelckers
2e0f999fea Merge branch 'master' into scripting
Conflicts:
	src/p_effect.cpp
	src/p_effect.h
	src/p_local.h
	src/p_map.cpp
	src/thingdef/thingdef_codeptr.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/shared/inventory.txt
	zdoom.vcproj
2015-04-28 14:45:13 +02:00
Christoph Oelckers
8447990889 Merge commit '2719ce86dc07c9f7b1ad6d61a9a49c974896abf2' into scripting
Conflicts:
	src/info.h
	src/thingdef/thingdef_codeptr.cpp

(until right before the main work for multiple tags.)
2015-04-28 13:32:50 +02:00
Christoph Oelckers
065c0a79cd Merge commit '4f7ec3ad891d556c0d3f680e209a120ed38e9cdb' into scripting
Conflicts:
	src/d_main.cpp
	src/info.cpp
	src/info.h
	src/p_acs.cpp
	src/p_interaction.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_properties.cpp

(scripting branch update part 5)
2015-04-28 12:48:33 +02:00
Christoph Oelckers
792cad89b3 Merge commit '3849cb86231ce24131a86e9c29795a8cf3706a3d' into scripting
Conflicts:
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_hexenspecialdecs.cpp
	src/p_acs.cpp
	src/p_enemy.cpp
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_expression.cpp

(Scripting branch update part 4)
2015-04-28 11:59:33 +02:00