Commit graph

1207 commits

Author SHA1 Message Date
Christoph Oelckers
e0bd6a2c0a - fixed a memory leak in the compiler.
- removed test Printfs.
2016-11-10 13:37:38 +01:00
Christoph Oelckers
5c7affd102 Merge branch 'master' of https://github.com/rheit/zdoom 2016-11-08 14:31:10 +01:00
Magnus Norddahl
cb4b74e0c3 Double render speed of triangle drawer in the poly version by removing sprite clip and assigning whole blocks to threads 2016-11-08 14:28:58 +01:00
Christoph Oelckers
cf9cdeb480 - scriptified the Revenant's code. 2016-11-07 23:16:25 +01:00
Magnus Norddahl
237f54f4be Toying with triangle drawer and GL BSP nodes 2016-11-07 09:25:12 +01:00
Magnus Norddahl
4e717cd9ee Merge remote-tracking branch 'origin/triangledrawer' into qzdoom 2016-11-07 04:30:28 +01:00
Christoph Oelckers
b206d19df4 - fixed: RegAvailability never set the number of allocated registers to more than 32.
- fixed register allocation in ?: operator which was quite broken.
2016-11-07 01:10:56 +01:00
Christoph Oelckers
ca878b5e6b Merge branch 'master' of https://github.com/rheit/zdoom into zscript 2016-11-05 10:40:02 +01:00
Rachael Alexanderson
2fe5cb4f77 Merge branch 'master' of https://github.com/rheit/zdoom 2016-11-04 23:53:05 -04:00
Braden Obrzut
dd1f72bbf9 - Check the version of FMOD in CMake to produce an error on the condition that OpenAL is also enabled and the FMOD version is low enough to also export Xiph symbols. 2016-11-04 23:27:04 -04:00
Christoph Oelckers
010fd038be - scriptified A_KeenDie.
- added an 'exact' parameter to FThinkerIterator's Next function. This is mainly for scripting which allows to do a lot more checks natively when running the iterator while looking for one specific class.
2016-11-05 01:19:41 +01:00
Christoph Oelckers
570572fcf2 - scriptified a_hereticimp.cpp.
- fixed the comparison against 0 simplification which did not negate the result for '=='.
2016-11-02 11:44:48 +01:00
Magnus Norddahl
a1ba371eed Added triangle drawer to the software renderer 2016-10-31 06:09:46 +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
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
7f2350cf64 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-29 16:08:46 +02:00
Christoph Oelckers
e94b4cc74e Merge branch 'master' into zscript 2016-10-29 11:20:32 +02:00
Rachael Alexanderson
9ed45c7e03 Merge branch 'master' of http://github.com/rheit/zdoom 2016-10-26 22:06:25 -04:00
Jason A. Yundt
4c420938c9 - Added install rules so that 'make install' works. 2016-10-26 20:57:42 -04:00
Christoph Oelckers
d32d52c0b9 - scriptified a_spidermaster.cpp.
- fixed bad assert in XOR_RK instruction.
2016-10-26 17:21:25 +02:00
Christoph Oelckers
823c52aeb2 - scriptified the functions in a_possessed.cpp and added the needed exports and constants.
- fixed: Script functions did not receive the function name when being created.
- relaxed the asserts for PARAM_STATE, because the VM knows nothing about ATAG_STATE. Any state variable's content (e.g. Actor.SeeState) will receive ATAG_GENERIC, rather than ATAG_STATE.
- added a 'NeedResult' flag so that certain operations can create shorter code if the result of the expression is not needed. So far only used for postdecrement/increment statements on local variables (which is the most frequent case where this matters.)
- fixed postincrement and decrement for local variables. Due to the result preservation semantics it created faulty code.
2016-10-26 11:30:30 +02:00
Christoph Oelckers
6d0dad3b38 - scriptified the code for the Demon and DoomImp. 2016-10-25 14:41:58 +02:00
Christoph Oelckers
ae728cc61a - made the count flags and NOBLOCKMAP and NOSECTOR read-only. These require special treatment to work which can only be done by a setter function. 2016-10-25 09:55:13 +02:00
Christoph Oelckers
5b952b116a - named class functions are working. Yay!!
- converted A_BspiAttack and A_BabyMetal to script functions to test the implementation.
2016-10-23 14:26:33 +02:00
Magnus Norddahl
be2c50f11c Merge remote-tracking branch 'gzdoom/master' into ssao 2016-10-21 23:48:30 +02:00
raa-eruanna
68efdf5cef - Fixed: Added linker flags for Linux to prevent crashes using LLVM. Using fix found by dpJudas. 2016-10-18 18:21:22 -04:00
Christoph Oelckers
938ab4ca70 - implemented '**' (power) operator. To ensure reliability, acustom 'pow' function will be used to calculate it.
- fixed: FxBinary::ResolveLR' check for numeric operations was incomplete. Like far too many other places it just assumed that everything with ValueType->GetRegType() == REGT_INT is a numeric type, but for names this is not the case.
2016-10-17 15:17:48 +02:00
Magnus Norddahl
f8f710d9e2 Fix linker errors on Windows 2016-10-17 01:17:48 +02:00
Magnus Norddahl
dfed525e18 macOS warnings and build fix 2016-10-16 23:18:56 +02:00
Christoph Oelckers
b03489a43c Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-16 08:51:13 +02:00
Christoph Oelckers
091da92819 - Added AStateProvider class which is used to define the special action function behavior of weapons and custom inventorys. The class itself does not do anything, but the compiler will use it to set up the action function prototypes differently which in turn will be used to do type checking during code generation. 2016-10-15 15:10:48 +02:00
Magnus Norddahl
491a4e28c0 Move true color sky drawing to its own drawers and chamge r_stretchsky to false as the new drawers can fade to a solid color 2016-10-15 15:04:14 +02:00
Christoph Oelckers
2cb5839c11 - count errors in the parser and abort afterward if there were some.
- use FScriptPosition's error counter throughout the compiler so that there is only one counter for everything, not two.

Parts of the compiler use FScriptPosition, so this is easier to handle than having a separate counter in the compiler class. It also avoids having to pass the compiler object to any function where an error may be output. The TreeNodes contain sufficient data to be converted to an FScriptPosition and using that for error message formatting.
2016-10-15 12:15:25 +02:00
Christoph Oelckers
f86e64e712 - renamed thingdef_expression to codegen. Eventually this needs to be split up into smaller units because the file is already quite large and there's still a lot to add here. 2016-10-15 10:39:58 +02:00
Christoph Oelckers
a72fbb771f - separated the code generation from the DECORATE parser and cleaned up the interface to the code generator. Most importantly, the VMScriptFunctions are now preallocated when being added to the list of functions to compile and will be filled in later by the code generator. This allowed the removal of some ugly maintenance code. 2016-10-13 00:53:59 +02:00
raa-eruanna
e01cdf6946 Merge http://github.com/rheit/zdoom 2016-10-12 18:20:44 -04:00
Christoph Oelckers
b1a83bfd26 - started with cleanup and separation of DECORATE code.
* everything related to scripting is now placed in a subdirectory 'scripting', which itself is separated into DECORATE, ZSCRIPT, the VM and code generation.
 * a few items have been moved to different headers so that the DECORATE parser definitions can mostly be kept local. The only exception at the moment is the flags interface on which 3 source files depend.
2016-10-12 19:22:33 +02:00
Christoph Oelckers
6f92efc72c - renamed thingdef_codeptr.cpp and moved it out of thingdef/.
Ultimately, thingdef should only contain code that is directly related to the DECORATE parser, but that's not the case with this file. It's only function definitions which get used during gameplay and will also be accessed by ZScript.
The change is intentionally on master so that pull requests can adjust to it now instead of creating conflicts later.
2016-10-12 12:43:26 +02:00
Magnus Norddahl
f5c069c759 Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-11 14:54:18 +02:00
Magnus Norddahl
3c7d6234cb Add wipes 2016-10-11 14:37:57 +02:00
Magnus Norddahl
5f0088ab8b Created new OpenGL framebuffer using the software renderer's hardware acceleration 2016-10-09 12:50:57 +02:00
Magnus Norddahl
584220edf0 Move DrawerCommandQueue to its own file 2016-10-07 04:01:38 +02:00
Magnus Norddahl
ecb57d6cd9 Merge remote-tracking branch 'gzdoom/master' into ssao
# Conflicts:
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	src/gl/shaders/gl_shader.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-04 00:01:03 +02:00
Magnus Norddahl
9c8f841858 Merge branch 'llvmcompiler' into qzdoom 2016-10-03 23:22:28 +02:00
raa-eruanna
267b131c03 Merge http://github.com/rheit/zdoom 2016-10-02 23:10:28 -04:00
raa-eruanna
c6408e92e2 Merge http://github.com/coelckers/gzdoom
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderer.cpp
#	src/gl/scene/gl_scene.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.zz
2016-10-02 23:10:07 -04:00
Christoph Oelckers
2da18bfa56 Merge branch 'master' of https://github.com/rheit/zdoom 2016-10-03 00:56:55 +02:00
alexey.lysiuk
c68aa2b241 Added FXAA post-processing
Implementation of Fast Approximate Anti-Aliasing is based on nVidia sample:
https://github.com/NVIDIAGameWorks/GraphicsSamples/tree/master/samples/es3-kepler/FXAA
2016-10-03 00:15:45 +02:00
Christopher Bruns
460b653709 Row interlaced 3d might be working, at least in fullscreen 1920x1080 mode. 2016-10-02 16:10:21 -04:00
Christopher Bruns
960d4d6755 Create TopBottom3D mode and begin sketching RowInterleaved3D mode. 2016-10-02 16:09:02 -04:00
N.E.C
671646be26 Fix errors encountered when compiling for v140_xp target 2016-10-02 13:05:26 -07:00
Magnus Norddahl
c960742dbd Fix 64 bit compile errors 2016-10-01 11:47:21 +02:00
Magnus Norddahl
8765cf2016 Change Windows build to use a precompiled version of LLVM 2016-10-01 06:51:55 +02:00
Magnus Norddahl
7be2511269 Add codegen files for walls and columns 2016-09-29 05:21:43 +02:00
Magnus Norddahl
bfa291b02f Create LLVMDrawers class as the external interface to the drawers 2016-09-29 02:10:14 +02:00
Magnus Norddahl
20f67ad40a Add SSAShort, shift, and, or, and fix unaligned store 2016-09-27 22:53:20 +02:00
Magnus Norddahl
4f2ae42ed5 Revert duplicate entry in CMakeLists.txt 2016-09-26 09:04:29 +02:00
Magnus Norddahl
3dd8b593b6 Use LLVM to JIT the code for one of the drawer functions 2016-09-26 09:00:19 +02:00
raa-eruanna
ed07ff1bdd Merge http://github.com/dpjudas/dpdoom 2016-09-25 02:19:39 -04:00
Magnus Norddahl
9076d46261 Added SSAO pass 2016-09-25 00:19:15 +02:00
Magnus Norddahl
5ef46d1730 Merge remote-tracking branch 'gzdoom/master' into qzdoom 2016-09-24 09:37:18 +02:00
Magnus Norddahl
7ef5a9f117 Add the experimental swrenderer2 2016-09-24 09:36:37 +02:00
Magnus Norddahl
c21090333f Merge remote-tracking branch 'qzdoom/master' into dpdoom 2016-09-24 08:17:49 +02:00
Magnus Norddahl
d126e91ded Merge remote-tracking branch 'gzdoom/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
2016-09-24 08:12:12 +02:00
Christoph Oelckers
6bfbe30b99 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/g_level.cpp
#	src/p_saveg.cpp
#	src/r_defs.h
#	src/version.h

(note that this commit will not compile!)
2016-09-24 00:40:15 +02:00
Christoph Oelckers
01d28e3eb2 - added the last missing bits of the savegame code - thinker list deserialization and handling of players during hub travel. Now testing is what remains... 2016-09-23 17:49:33 +02:00
raa-eruanna
2a9e97688d Merge http://github.com/coelckers/gzdoom 2016-09-22 05:23:02 -04:00
Christopher Bruns
9a257ac158 Implement side-by-side narrow 3D mode. 2016-09-22 09:25:46 +02:00
Christoph Oelckers
f93e4813d1 - removed farchive.cpp and .h 2016-09-22 00:48:22 +02:00
Christoph Oelckers
e754fae0a8 - removed FS HUD pics. No mod in existence ever used them and a quickly thrown together test showed that the code did not even work. And since there's no reason to fix it they are gone now. 2016-09-19 10:41:21 +02:00
Christoph Oelckers
65c6388d44 Merge branch 'master' into json 2016-09-19 03:54:36 +02:00
Christoph Oelckers
718614a820 - cleanup 2016-09-19 01:07:51 +02:00
Christoph Oelckers
9313a99e12 - started implementing a JSON based serializer. Unfortunately it is far too slow to be of any real use. 2016-09-18 13:26:34 +02:00
Magnus Norddahl
95fef44200 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-15 00:31:34 +02:00
Christoph Oelckers
d128e28044 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-14 21:05:45 +02:00
raa-eruanna
81545d9b4e Merge http://github.com/rheit/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-14 02:24:59 -04:00
Braden Obrzut
f1bca9d20e The old DirectX setup is required to utilize v140_xp.
Revert "- removed DirectX setup from CMakeLists for Visual Studio"

This reverts commit 954ac8ce5e.
2016-09-13 20:12:59 -04:00
Magnus Norddahl
0fc5ee1ffd Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath 2016-09-12 22:30:46 +02:00
Christoph Oelckers
3778799f92 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-12 21:33:49 +02:00
alexey.lysiuk
b308a7df52 Proper name of FMOD .dylib in loading path adjustment for macOS 2016-09-12 20:37:13 +02:00
alexey.lysiuk
9c91686e0f Set delay loading for proper .dll depending on FMOD version (Studio vs. Ex) 2016-09-12 20:37:13 +02:00
alexey.lysiuk
7e61a1ce2b Added simple detection for FMOD Studio API in CMake 2016-09-12 20:37:12 +02:00
Magnus Norddahl
f6bede8374 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/renderer/gl_renderbuffers.h
#	src/gl/renderer/gl_renderer.h
#	src/gl/scene/gl_scene.cpp
#	wadsrc/static/language.enu
#	wadsrc/static/menudef.z
2016-09-09 09:31:30 +02:00
raa-eruanna
dede94b7e2 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
#	src/win32/hardware.cpp
#	wadsrc/static/menudef.txt
2016-09-08 03:26:11 -04:00
raa-eruanna
32f758de41 Merge branch 'truecolor' of https://github.com/dpjudas/zdoom
# Conflicts:
#	src/v_video.cpp
2016-09-08 03:19:08 -04:00
Christoph Oelckers
37d0f97808 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-04 10:29:15 +02:00
Christoph Oelckers
954ac8ce5e - removed DirectX setup from CMakeLists for Visual Studio
For VS 2015 this is no longer needed, the DX headers and libraries are part of the Windows SDK and do not need to be looked for explicitly.
2016-09-04 10:28:29 +02:00
Christoph Oelckers
e08015a181 Merge branch 'master' of https://github.com/rheit/zdoom 2016-09-03 14:02:28 +02:00
Christoph Oelckers
aece9aaa58 - added xBRZ texture scaler after clearing the licensing conditions. A screenshot of the confirmation that this is ok has been added to the 'licenses' folder. 2016-09-03 14:01:51 +02:00
Christoph Oelckers
5770e5dfaf - split up m_specialpaths.cpp to be a separate file for each operating system.
The reason for this is that the macOS version uses a deprecated API and in order to correct this, the file needs to be compiled as Objective-C++ which requires a different extension.
2016-09-03 12:00:08 +02:00
Magnus Norddahl
5a0c61a2d5 Merge remote-tracking branch 'gzdoom_upstream/master' into lightmath
# Conflicts:
#	src/gl/renderer/gl_postprocess.cpp
#	src/gl/renderer/gl_renderbuffers.cpp
#	src/gl/scene/gl_scene.cpp
2016-09-02 02:40:44 +02:00
Christoph Oelckers
589936f570 - draw the colormap blend after postprocessing, not before it.
- added colormap shader to postprocessing.

This replaces the in-place application of fullscreen colormaps if renderbuffers are active. This way the fully composed scene gets inverted, not each element on its own which is highly problematic for additively blended things.
2016-09-01 17:14:51 +02:00
Magnus Norddahl
737e700774 Added SSAO pass 2016-08-29 13:10:22 +02:00
Christoph Oelckers
7ba5acfb35 - added quad drawer interface so that this part can be done without altering a vertex buffer.
So far it's only the framework, the new code is not active yet.
2016-08-22 14:00:25 +02:00
Magnus Norddahl
2cb5f1740e Add OpenGL debug messages to the console 2016-08-17 20:33:10 +02:00
Christoph Oelckers
def3ad7533 - refactored all 2D drawing to use its own vertex buffer which does not need to be mapped permanently. 2016-08-08 12:13:09 +02:00
Christoph Oelckers
9a5cbbe6d8 Merge branch 'master' of https://github.com/rheit/zdoom 2016-08-07 22:13:55 +02:00
Edoardo Prezioso
5a66fdf9be - Hide Clang -Winconsistent-missing-override warnings in non-Apple targets, too. 2016-08-07 20:55:16 +02:00
Magnus Norddahl
346badf25f Moved state to FGLPostProcessState and merged vertex shaders 2016-08-06 11:51:08 +02:00
Magnus Norddahl
6b9529d70f Added lens distortion shader 2016-08-02 17:32:21 +02:00
Magnus Norddahl
9bfce5b6ea Moved post processing effects to its own file 2016-07-30 00:02:26 +02:00
Magnus Norddahl
0efee85bd8 Added tonemapping and sector based exposure control 2016-07-29 00:36:43 +02:00
Magnus Norddahl
69f52cc898 Added bloom shaders 2016-07-27 21:50:30 +02:00
Magnus Norddahl
aeb7df09de Added hardware gamma option and improved window handling on Windows 2016-07-27 11:15:19 +02:00
Magnus Norddahl
421cd2f403 Merge remote-tracking branch 'upstream/master' into truecolor 2016-07-17 23:36:35 +02:00
Christoph Oelckers
bce9929c22 Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-16 19:57:09 +02:00
alexey.lysiuk
ee72760f3a libc++ is now used by the linker too (when applicable) 2016-07-16 17:04:38 +02:00
Christoph Oelckers
2a42c20c8c Merge branch 'master' of https://github.com/rheit/zdoom 2016-07-13 09:30:16 +02:00
Braden Obrzut
e401588f40 - Set -stdlib=libc++ and disable inconsistent-missing-override warning with OS X Clang (the latter may be useful for recent versions of Clang in general, but I can't tell at the moment.) 2016-07-11 01:22:37 -04:00
Magnus Norddahl
8f38d3af99 Replaced the bicubic interpolation filter with a simple sharpening filter 2016-06-27 10:49:15 +02:00
Magnus Norddahl
3b6d177787 Added bicubic interpolation when generating mipmaps 2016-06-25 12:14:15 +02:00
Magnus Norddahl
9420826094 Merge remote-tracking branch 'upstream/master' 2016-06-10 16:59:20 +02:00
Magnus Norddahl
c5fcfb664f Changed rgba renderer to use a command queue system for its drawers 2016-06-07 00:55:52 +02:00
Christoph Oelckers
18ebe92cfc Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/g_level.cpp
2016-06-01 11:45:57 +02:00
Magnus Norddahl
8aabc26cd9 Created standalone rgba drawing functions 2016-05-30 05:52:15 +02:00
alexey.lysiuk
5348a15b75 Added option to control dynamic loading of OpenAL
Dynamic loading is enabled by default, set DYN_OPENAL to OFF to link with static or dynamic library

# Conflicts:
#	src/sound/oalsound.cpp
#	src/sound/oalsound.h
2016-05-29 14:25:04 +02:00
Christoph Oelckers
60a78a0d9b Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-28 17:35:52 +02:00
Christoph Oelckers
ef98757c7c - replaced finesine for texture warping with a smaller custom table, based on the old 2005 FP code, but fixes the generation of the sine table.
- removed all remnants of finesine and deleted tables.c and tables.h.
2016-04-28 15:59:37 +02:00
Christoph Oelckers
7e6e2bc0a8 - stated adding GL 2.0 compatibility handling 2016-04-26 18:24:02 +02:00
Christoph Oelckers
a90bef9c68 - 64 bit doesn't require NO_ASM. 2016-04-18 10:38:27 +02:00
Christopher Bruns
09d0cb5fd5 Merge branch 'master' of https://github.com/coelckers/gzdoom into two_more_stereo_modes
# Conflicts:
#	src/gl/system/gl_framebuffer.cpp
2016-04-11 18:25:54 -04:00
Christoph Oelckers
7ce670951b Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-04-11 10:49:11 +02:00
Christoph Oelckers
fe973ba442 - tried to add precompiled headers to fastmath sources as well, but VC++ doesn't seem to want to play along. So I left this stuff in but disabled the precompilation until a solution can be found. 2016-04-10 13:54:42 +02:00
Christoph Oelckers
9cc873ecdd - enable use of precompiled headers for MSVC. Thanks to a small CMake script I recently found this could be done non-invasively.
Due to the VC++ 2015 headers being rather bloated (the average include size per source is 400-500kb) this provides a noticable compile speedup, although right now this only covers the game code, so there should be more room for improvement.
2016-04-10 13:08:54 +02:00
Christopher Bruns
355bc75001 Merge branch 'master' of https://github.com/coelckers/gzdoom into two_more_stereo_modes 2016-04-09 21:46:33 -04:00
Christoph Oelckers
dc753fca6e Merge branch 'master' of https://github.com/rheit/zdoom 2016-04-09 23:30:29 +02:00
Christoph Oelckers
dc72e7f3c2 - removed the check for VA_COPY from CMakeLists.txt.
This is because nothing uses va_copy anymore and it's a mandatory part of C++11, therefore always available.
2016-04-09 22:07:14 +02:00
Christopher Bruns
c6fa01dfbf Reimplement blue/yellow and quadbuffered stereo, this time with an additional CVAR gate on quadbuffered, for better hardware compatibility.obj
Something is terribly wrong with the separation in all stereo modes now though.
2016-04-09 15:40:55 -04:00
alexey.lysiuk
daa112e2ac Fixed OS X compilation after floating point merge
Header files from Carbon framework caused a few symbol conflicts
2016-04-09 20:54:04 +02:00
Christoph Oelckers
ae14268989 Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/r_utility.cpp
2016-03-29 10:09:03 +02:00
Christoph Oelckers
d87f861e87 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 22:23:41 +02:00
Christoph Oelckers
59920095af - separated pushers into their own file. 2016-03-28 21:57:22 +02:00
Christoph Oelckers
a46a4c81b1 Merge branch 'master' into floatcvt
# Conflicts:
#	src/p_lnspec.cpp
#	src/p_spec.cpp
#	src/p_spec.h
2016-03-28 17:46:19 +02:00
Christoph Oelckers
b5f333798e - moved all scroller related code into its own file, including the DScroller class definition. 2016-03-28 17:27:55 +02:00
Christoph Oelckers
48afdd7dcb Merge branch 'floatcvt' of https://github.com/rheit/zdoom into floatcvt
# Conflicts:
#	src/CMakeLists.txt
#	src/actor.h
2016-03-21 01:34:39 +01:00
Christoph Oelckers
904a027bd2 Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-21 01:31:32 +01:00
Christoph Oelckers
11e613f578 Merge branch 'master' into floatcvt
# Conflicts:
#	src/g_doom/a_revenant.cpp
2016-03-21 01:28:50 +01:00
Randy Heit
baa6dc0568 Add zcc-parse.c and .h to the ZScript project folder 2016-03-20 15:57:00 -05:00
Randy Heit
2a394d0cb8 Do not copy lemon grammars to the output directory
- Having my edits to the grammar disappear because Visual Studio had
  opened the copy instead of the original was super annoying. Using the -C
  option with Lemon, this problem is avoided because there are no copies
  to worry about.
2016-03-20 14:34:44 -05: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
Christoph Oelckers
c64eee5b15 Merge branch 'master' into float
# Conflicts:
#	src/g_heretic/a_hereticweaps.cpp
#	src/p_map.cpp
#	src/p_mobj.cpp
#	src/p_things.cpp
#	src/portal.cpp
2016-03-15 00:16:13 +01:00
Christoph Oelckers
f4f489b33d Merge branch 'master' of https://github.com/rheit/zdoom 2016-03-14 22:02:58 +01:00
Braden Obrzut
93be5aca05 - Fixed: Modern versions of GCC on PowerPC inserted padding to the end of pragma packed structures.
- Worked aorund modern GCC bug where C++ exceptions in Objective-C++ code would result in an ICE (bug is already on their tracker, but I doubt it will be fixed unless I decide to dig into the issue myself).
- Turn off fused floating point instructions since these can cause slight deviations in floating point code.
- Use -static-libgcc when compiling on the Mac with GCC since we need to use a custom version of GCC to do so now.
- Note: ZDoom will currently still crash on exit on PowerPC since it seems to be deciding that NameManager needs to be destructed before the console commands.
2016-03-13 01:14:08 -05:00
Christoph Oelckers
161d03231a - added custom math routines for reliability. 2016-03-11 15:45:47 +01:00
Christoph Oelckers
9a0de6c0fa Merge branch 'master' of c:\programming\doom-dev\zdoom 2016-02-28 09:32:28 +01:00
Edoardo Prezioso
cd85f6768c - Improve Mac GCC errors fix to work only for GCC.
This fixes Clang complaining about unknown command option '-Wno-unused-but-set-variable' when compiling dumb.
Also I got no new warnings on Clang by excluding '-Wno-unused-result'.
2016-02-27 23:49:02 +01:00
Christoph Oelckers
e305f5211a Merge branch 'zmaster' 2016-02-27 23:36:52 +01:00
Braden Obrzut
6baa1b0674 - Compile with -std=c++14 or -std=c++11 on GCC/Clang.
- Fixed initialization crossing goto.
2016-02-27 02:20:34 -05:00
Christoph Oelckers
dfd7e08307 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	wadsrc/static/menudef.txt
2016-02-21 01:55:15 +01:00
Edoardo Prezioso
d1502b1086 - Simplify expressions inside some else/endif.
We aren't bound to old cmake anymore.
2016-02-20 11:38:30 +01:00
Edoardo Prezioso
3dcc6d0330 [fmod] Improve the checks for fmod 4.44.
- The FMOD 4.44 linux package contains both 32 and 64-bit versions, with the folder name without the '64' suffix for 64-bit.
- Add minor version '61' so that the latest FMOD package (at the time of this commit) can be detected and compiled successfully.
2016-02-20 11:38:29 +01:00
Christoph Oelckers
6e6ddfbc25 Merge remote-tracking branch 'remotes/zdoom/master' 2016-02-19 16:14:52 +01:00
Edoardo Prezioso
f338e5f1c4 - Apply the fast math flags for non-MSVC, too.
Move the fast flags string creation in the main cmake file and use it where needed.
2016-02-18 23:13:02 +01:00
Christoph Oelckers
56202c49f1 Merge branch 'master' of c:\programming\doom-dev\zdoom
# Conflicts:
#	.gitignore
2016-02-16 21:02:13 +01:00
Christoph Oelckers
45108e9bb8 - added two missing files to CMakeLists.txt. 2016-02-16 12:52:45 +01:00
Christoph Oelckers
ca87e2fa3c Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-02-13 15:36:04 +01:00
Randy Heit
01bed05275 Do not use fast math for the node builder
- The node builder generates data used by the playsim, so should be as
  consistant as we can manage across compilers and architectures.
2016-02-12 16:27:47 -06:00
Christoph Oelckers
b818624f58 - enabled fast math for all known non-playsim files in the CMake project. 2016-02-12 12:51:09 +01:00
Christoph Oelckers
1098093ead Merge branch 'master' of https://github.com/rheit/zdoom 2016-02-10 20:49:32 +01:00
Braden Obrzut
f33993dcb5 - Load OpenAL at runtime for all platforms because I can't think of a good reason not to handle them all the same right now. 2016-02-09 22:40:19 -05:00
Christoph Oelckers
0678a469de Merge remote-tracking branch 'remotes/zdoom/master'
# Conflicts:
#	src/win32/i_system.cpp
#	tools/re2c/re2c.vcproj
2016-02-08 21:47:19 +01:00
Christoph Oelckers
f625be61a2 - fixed: CMake should not disable OpenAL on Windows if it can't find the library (which is neither needed nor requested anymore.) 2016-02-07 13:30:28 +01:00
coelckers
1480fa7579 Merge pull request #542 from alexey-lysiuk/fix_openal_nonwin
Fixed build with OpenAL on non-Windows systems
2016-02-06 20:11:48 +01:00
Braden Obrzut
1101546e9c - Fixed: Possible CMake wrong number of parameters configuration error. 2016-02-06 13:06:25 -05:00
alexey.lysiuk
46267f52d6 Fixed build with OpenAL on non-Windows systems
We still need to link with OpenAL library on OSes other than Windows
2016-02-06 10:58:25 +02:00
Christoph Oelckers
34216ddd8e Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
2016-02-06 05:28:53 +01:00
Christoph Oelckers
275ced288b - we no longer link to the OpenAL import library so the respective handling can be removed from CMakeLists.txt. 2016-02-06 05:26:37 +01:00
Christoph Oelckers
760db90d71 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	CMakeLists.txt
2016-02-06 05:21:48 +01:00
Randy Heit
0892650465 Don't add /delayload for OpenAL stuff if OpenAL is disabled
- Also, I believe openal32.dll no longer needs a /delayload flag since
  it's dynamically loaded now.
2016-02-05 22:18:53 -06:00
Braden Obrzut
dce3f0f757 - Bump CMake version requirement to 2.8.7. This means that generator expressions must be supported as well as empty else and endif expressions (like most sane languages). ZDoom probably didn't work with 2.4 anymore anyway. 2016-02-05 21:19:29 -05:00
Christoph Oelckers
e88901f4b7 - added the EE-Extradata parser I wrote for GZDoom so I can use the Vaporware demo map for testing portal stuff. 2016-02-05 23:51:28 +01:00
Christoph Oelckers
dda73b531c Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/CMakeLists.txt
#	src/p_setup.cpp
#	src/r_defs.h
#	src/version.h

This only updates to a compileable state. The new portals are not yet functional in the hardware renderer because they require some refactoring in the data management first.
2016-02-05 12:31:41 +01:00
Braden Obrzut
ba54d73e07 Merge branch 'portals2_visual' 2016-02-05 00:10:46 -05: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
d8d4679471 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-25 21:13:04 +01:00
Braden Obrzut
4d225e7a00 - Fixed: Mac GCC errors due to not recognizing the newly disabled warnings. 2016-01-24 23:03:59 -05:00
Braden Obrzut
20f7f524ca - Don't link against sndfile and mpg123 if not compiling with OpenAL support. 2016-01-23 20:09:39 -05:00
Braden Obrzut
88a616da75 - Removed what appears to be a debug breakpoint.
- Cleared some GCC and Clang warnings. Mostly static analysis false positives, but one of them generated a pretty massive warning in a release build.
- Use -Wno-unused-result since I doubt we're going to address those unless they actually prove to be a problem (and they only appear in release builds).
2016-01-23 19:36:13 -05:00
Braden Obrzut
f3f77a1ba0 Merge branch 'master' into portals2_visual 2016-01-18 09:45:42 -05: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
4d2ca0da45 - empty gl_portals.cpp file. 2016-01-12 21:36:33 +01:00
Christoph Oelckers
aa69c39ff1 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/CMakeLists.txt
2016-01-12 11:23:45 +01:00
Christoph Oelckers
9e33599536 - at least get the terms being used right. Of course it's not EDF (which would way beyond the scope of what's intended here) but only Extradata, that's being supported.
(For EDF an external converter would make more sense.)
2016-01-12 09:13:55 +01:00
Braden Obrzut
0c3b468e42 Merge branch 'osx_start_wnd' 2016-01-11 20:47:06 -05:00
Christoph Oelckers
76b0971067 Merge branch 'master' into edf-gl 2016-01-10 10:31:00 +01:00
Christoph Oelckers
9fe016d6d0 - EDF parser part 1: Mapthings. 2016-01-10 10:05:04 +01:00
Christoph Oelckers
f391216ab9 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-09 19:48:01 +01: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
alexey.lysiuk
d97494afea - fixed: check for MMX availability
the check was using C compiler flags instead of C++ which led to test failure for 32-bit Intel targets, at least on Linux with GCC
2016-01-08 10:18:16 +02:00
Braden Obrzut
a1e0ac0b71 Merge branch 'osx_start_wnd' of git://github.com/alexey-lysiuk/gzdoom into osx_start_wnd 2016-01-04 22:11:46 -05:00
Christopher Bruns
8e237e6146 Merge branch 'master' of https://github.com/coelckers/gzdoom into stereo3d 2015-12-30 17:41:49 -05:00
Christoph Oelckers
86797b419f Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-30 12:28:55 +01:00
Randy Heit
900937929e Use critical sections for WildMidi locking
...because when you're trying to be thread-safe, it's generally a good
idea to use mechanisms that work across multiple processor cores.
2015-12-29 17:55:19 -06:00
Christoph Oelckers
fe2dcfd588 - refactored the GUS/Timidity player's path building code so that it can also be used by WildMidi.
- fixed crash during sound reset - in this case I_ShutdownMusic should not close the WildMidi player.
2015-12-29 20:38:08 +01:00
Christoph Oelckers
9297c60ecd Merge branch 'master' of https://github.com/coelckers/gzdoom 2015-12-29 15:22:38 +01:00
alexey.lysiuk
3af95e0aea Added native startup window for OS X 2015-12-29 15:19:42 +02:00
alexey.lysiuk
0efdccd942 Separated POSIX's i_system.cpp from native OS X implementation 2015-12-29 14:52:18 +02:00
Christoph Oelckers
c6b3b90f37 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-29 09:27:57 +01:00
Randy Heit
afc36544b7 Add a WildMidi softsynth device
- This removes the preceding psuedo MIDI device for WildMidi.
2015-12-28 22:16:35 -06:00
Christoph Oelckers
b27116cbbd Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-28 22:52:48 +01:00
Christoph Oelckers
9d48c84ee3 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-28 21:24:41 +01:00
Christoph Oelckers
a94120b6a4 Merge branch 'master' into WildMidi 2015-12-28 21:01:17 +01:00
Kyle Evans
5346b813da Re-do GTK2_LIBARY_DIRS inclusion on a separate branch 2015-12-27 09:48:22 -06:00
alexey.lysiuk
1c5d0ccd65 - enabled hqNx MMX on all platforms with Intel intrinsics support 2015-12-25 15:41:06 +02:00
Christopher Bruns
10088544c3 Merge branch 'master' of https://github.com/coelckers/gzdoom into stereo3d
Conflicts:
	src/win32/i_system.cpp
2015-12-09 18:34:20 -05:00
Christoph Oelckers
5b4323ec6c Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-08 09:35:06 +01: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
Christoph Oelckers
a03b947729 - WildMidi generally working, some cleanup left to do... 2015-11-28 20:58:14 +01:00
Christoph Oelckers
eff2286bc9 - added WildMidi library sources - all converted to C++ so that they can later interface with ZDoom's own MIDI code. Also redid the file loading function to use ZDoom's FileReader instead of low level IO. 2015-11-28 17:38:40 +01:00
Christopher Bruns
0874455faf Initial implementation of five 3D modes -- some bugs remain. 2015-10-30 20:51:35 -04: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
d58d38a1d3 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/p_3dfloors.cpp
2015-07-13 21:36:19 +02:00
ZZYZX
31cad858d9 Fixed odd merge bugs 2015-06-07 20:54:36 +03:00
alexey.lysiuk
2200569793 Fixed build on OS X without FMODEx 2015-06-07 11:31:53 +03:00
Christoph Oelckers
bb85625d52 Merge branch 'master' of https://github.com/rheit/zdoom 2015-05-01 00:08:42 +02:00
Christoph Oelckers
5f1c4d157c Merge branch 'master' into scripting
Conflicts:
	src/g_shared/a_sharedglobal.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_data.cpp
2015-04-30 12:30:36 +02:00
Christoph Oelckers
84351419a3 Merge branch 'master' of https://github.com/crimsondusk/zdoom
Conflicts:
	src/actor.h
2015-04-30 10:03:50 +02:00
Christoph Oelckers
137e624b55 - needed one more fix in CMake project. 2015-04-28 15:12:21 +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
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
Christoph Oelckers
7898e189df - fixed problems in CMake project files:
* thingdef_function.cpp no longer exists
* the build rule for zcc-parse.c was not correct.
2015-04-28 09:40:57 +02:00
Christoph Oelckers
8b3045e255 - seems some OpenGL related stuff got lost during merge. Reinstated checks for OpenGL itself but since GLU is no longer needed it was removed for good from the project files. 2015-04-27 09:51:39 +02:00
Christoph Oelckers
3ddc3d8feb Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/CMakeLists.txt
2015-04-27 09:41:06 +02:00
Christoph Oelckers
ab1d90038c Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/p_3dfloors.cpp
2015-04-25 19:45:27 +02:00
Christoph Oelckers
d880783784 - make OpenAL and the decoder libraries delay loaded so that ZDoom can still start without them being present.
This required the addition of a few exception handlers so to avoid #ifdef overuse I also added some #defines for non-Windows systems that allow using __try and __except directly in the code without #ifdef'ing them out.
2015-04-25 12:25:10 +02:00
Christoph Oelckers
0da6939e84 - unmark OpenAL as 'advanced' in CMake so we can set its include and library paths in the IDE without having to enable the advanced display which isn't really helpful. 2015-04-24 22:30:28 +02:00
Christoph Oelckers
1f2a431d15 Merge branch 'master' into openal 2015-04-24 09:21:06 +02:00
Christoph Oelckers
6326cd74b4 - moved tag iterators to their own file. 2015-04-19 09:07:05 +02:00
arezey
810a1dc28d Fixed the way mt.exe is invoked 2015-04-12 02:44:12 +03:00
arezey
a6287a4706 Fix compilation with CMake on Windows when some other building tool than
msbuild is used.
2015-04-12 02:11:51 +03:00
Christoph Oelckers
5f2f11a43b Merge branch 'master' of https://github.com/rheit/zdoom 2015-04-04 10:32:23 +02:00
Christoph Oelckers
ccd9fb9c23 - moved FDoomEdMap to its own file to make the upcoming changes a bit nicer to handle. 2015-04-03 10:54:55 +02:00
Christoph Oelckers
f0886ce1f1 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/version.h
2015-04-03 09:45:04 +02:00
Randy Heit
d37f9cbcae Add flies (doomed #112) from the Hexen retail beta
...because it brought back memories of adding Strife support.
- The search function is radically different, but the flying mechanics are
  the same.
2015-04-02 17:52:54 -05:00
Christoph Oelckers
6eb4e2a224 Merge branch 'master' of https://github.com/rheit/zdoom 2015-03-31 18:25:31 +02:00
Christoph Oelckers
c249157876 Merge branch 'master' into openal 2015-03-24 17:59:08 +01:00
Braden Obrzut
b958e930cf - Cleared developer warnings with modern (3.0+) versions of CMake. 2015-03-23 23:28:18 -04:00
Christoph Oelckers
97947f9e10 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	dumb/vc6/dumb_static/dumb_static.vcproj
	wadsrc/static/compatibility.txt
2015-03-15 11:42:59 +01:00
Randy Heit
719dfbe5a9 Don't die on configuration if xinput.h is not found 2015-02-27 21:51:04 -06:00
Randy Heit
775e33ede7 Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_doom/a_archvile.cpp
	src/g_shared/a_morph.cpp
	src/p_enemy.h
	src/p_local.h
	src/p_mobj.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_exp.h
	src/thingdef/thingdef_expression.cpp
	src/thingdef/thingdef_states.cpp
	wadsrc/static/actors/actor.txt
2015-01-29 20:53:08 -06:00
Chris Robinson
a8348b13de Merge remote-tracking branch 'zdoom/master' into openal
Conflicts:
	output_sdl/CMakeLists.txt
	src/namedef.h
2015-01-15 13:08:05 -08:00
Christoph Oelckers
df93d1a9f1 Merge branch 'SDL2_gz' of https://github.com/edward-san/zdoom 2015-01-08 09:27:42 +01:00
Christoph Oelckers
1c3561d71e Merge branch 'master' of https://github.com/rheit/zdoom 2015-01-08 09:27:30 +01:00
Edoardo Prezioso
c9150497e3 - Move sdlglvideo code from sdl to posix/sdl.
Re-add sdlglvideo.cpp path in CMakeLists.txt . Warning: it won't compile yet.
2015-01-07 21:07:40 +01:00
Christoph Oelckers
c424a1afcb Merge branch 'master' of https://github.com/rheit/zdoom 2015-01-04 17:58:04 +01:00
alexey.lysiuk
aa1f51d3d2 Reimplemented gaming controllers support in native OS X backend using pure IOKit 2015-01-04 14:08:53 +02:00
alexey.lysiuk
a67dc4148b Split implementation of native OS X backend into several files 2014-12-28 16:35:00 +02:00
Christoph Oelckers
c39e962fd5 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/CMakeLists.txt
	src/posix/sdl/hardware.cpp

Please note that this will NOT(!!!) compile on Linux without adjusting sdlglvideo.cpp!
2014-12-25 22:50:15 +01:00
Randy Heit
b5e4153c78 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/b_think.cpp
	src/g_doom/a_doomweaps.cpp
	src/g_hexen/a_clericstaff.cpp
	src/g_hexen/a_fighterplayer.cpp
	src/namedef.h
	src/p_enemy.cpp
	src/p_local.h
	src/p_mobj.cpp
	src/p_teleport.cpp
	src/sc_man_tokens.h
	src/thingdef/thingdef_codeptr.cpp
	src/thingdef/thingdef_function.cpp
	src/thingdef/thingdef_parse.cpp
	wadsrc/static/actors/actor.txt
	wadsrc/static/actors/constants.txt
	wadsrc/static/actors/shared/inventory.txt

- Added register reuse to VMFunctionBuilder for FxPick's code emitter.
- Note to self: Need to reimplement IsPointerEqual and CheckClass, which
  were added to thingdef_function.cpp over the past year, as this file no
  longer exists in this branch.
2014-12-21 21:15:11 -06:00
Randy Heit
2d87eb0ba2 Merge branch 'master' into gonesolong
Conflicts:
	src/CMakeLists.txt
	src/actor.h
	src/g_heretic/a_hereticmisc.cpp
	src/g_heretic/a_hereticweaps.cpp
	src/g_heretic/a_ironlich.cpp
	src/info.h
	src/namedef.h
	src/p_buildmap.cpp
	src/p_enemy.cpp
	src/p_map.cpp
	src/p_mobj.cpp
	src/thingdef/thingdef_codeptr.cpp
	zdoom.vcproj
2014-12-20 19:13:14 -06:00
alexey.lysiuk
1433bf3f78 Put all non-Windows source code into posix directory and its subdirectories 2014-12-18 11:52:29 +02:00
alexey.lysiuk
84b12d23b5 Native OS X backend no longer requires SDL 2014-12-16 23:20:54 +02:00
alexey.lysiuk
3c76e5689a Fixed path to SDL specific Obj-C++ file 2014-12-16 23:20:14 +02:00
Christoph Oelckers
4f00aa3957 Merge branch 'master' of https://github.com/rheit/zdoom 2014-12-16 17:38:37 +01:00
alexey.lysiuk
83c8f44cc4 Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_pure 2014-12-16 10:25:34 +02:00
alexey.lysiuk
8bc890c995 Rearranged files to avoid usage of symbolic links 2014-12-15 17:40:30 +02:00
alexey.lysiuk
9d135a0586 Get rid of SDL in more parts of native OS X backend 2014-12-14 16:28:31 +02:00
alexey.lysiuk
8d16c2e3c0 OS X native backend no longer use files from src/sdl directly
Cocoa backend is compiling but failed to link
Some files are referenced using symbolic links
Apple's HID Utilities were moved to own directory
2014-12-14 11:57:08 +02:00
Braden Obrzut
86372fce34 - Added Steam detection for Stife: Veteran Edition.
- Added Steam install scanning for Linux and OS X. (OS X and Win32 not yet tested.)
2014-12-12 16:23:46 -05:00
Braden Obrzut
da8f2185d8 - Adapt SDL2 changes for the Mac (both using SDL2 backend and Cocoa). 2014-12-11 16:54:38 -05:00
Edoardo Prezioso
372f7e7002 - Various CMake fixes for two problems.
1) Don't show OSX_COCOA_BACKEND option if the host is not OSX;
2) Don't use the '-msse' compiler flag in dumb/ if the architecture does not support it.
2014-12-10 21:11:26 +01:00
Braden Obrzut
a7b33a8ce3 - Removed XCursor code since SDL2 has proper color cursor support.
- Improved international keyboard support by falling back to scan codes if we don't recognize a keycode.
- Clear out any residual mouse movement when entering relative mouse mode.
2014-12-10 01:53:22 -05:00
Braden Obrzut
d625caf03c - Ported SDL backend to SDL 2.0. Still needs a little bit of polish, but it works. 2014-12-08 18:46:10 -05:00
Christoph Oelckers
a7a2d55695 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/sdl/iwadpicker_cocoa.mm
2014-11-25 16:39:56 +01:00
Christoph Oelckers
4a3427fe50 Merge branch 'opl3emu' of https://github.com/khokh2001/zdoom 2014-11-25 16:32:52 +01:00
khokh2001
e9075334a3 new opl3 emulator 2014-11-23 00:36:22 +09:00
alexey.lysiuk
3e1bb9017b Merge branch 'master' of https://github.com/rheit/zdoom into z_osx_clean 2014-11-22 12:09:50 +02:00
Braden Obrzut
601852d224 - Fixed: fixrtext isn't needed with Win64 builds. 2014-11-17 21:56:16 -05:00
alexey.lysiuk
64e34d883b Fixed build on UNIX systems other than OS X 2014-11-17 14:54:46 +02:00
alexey.lysiuk
b63bd56da8 Removed .xib file and, therefore, dependency from ibtool
Menu is now created in code
2014-11-15 13:32:37 +02:00
alexey.lysiuk
d2d6d2a7f8 Lowered minimum OS requirement to 10.5 Leopard 2014-11-08 13:30:41 +02:00
Christoph Oelckers
111205a0f5 Merge branch 'master' of https://github.com/rheit/zdoom 2014-10-23 08:51:16 +02:00
alexey.lysiuk
949325df68 Merge branch 'fix_cmake_unix' into z_osx_clean 2014-10-18 12:36:09 +03:00
alexey.lysiuk
1715b25a3e Fixed Unknown CMake command "CHECK_LIBRARY_EXISTS" error on Unix targets
Previously it worked somehow but not with CMake 3.0.2
2014-10-18 12:33:39 +03:00
alexey.lysiuk
49dca4d9cb Native Cocoa back-end is enabled by default 2014-09-20 11:56:15 +03:00
Chris Robinson
ff6eb6df5c Merge remote-tracking branch 'zdoom/master' into openal
Conflicts:
	src/s_sound.cpp
2014-09-09 14:45:53 -07:00
Christoph Oelckers
1050013017 major cleanup of the texture manager:
- use sampler objects to avoid creating up to 4 different system textures for one game texture just because of different clamping settings.
- avoids flushing all textures for change of texture filter mode.
- separate sprite and regular dimensions on the material level to have better control over which one gets used. It's now an explicit parameter of ValidateTexture. The main reason for this change is better handling of wall sprites which may not be subjected to such handling.
- create mipmaps based on use case, not texture type.
- allows removal of FCloneTexture hack for proper sharing of the same sprite for decals and other purposes.
- better precaching of skyboxes.
2014-08-22 23:50:38 +02:00
Christoph Oelckers
e132fc5eed - replaced GLEW with GLLoadGen for GL access. This allows to have a header that only contains what's actually required, namely OpenGL 3.3 plus glBegin and glEnd which are the only compatibility functions needed for the fallback render path.
GLEW has two major problems:

- it always includes everything, there is no way to restrict the header to a specific GL version
- it is mostly broken with a core profile and only works if all sanity checks get switched off.
2014-08-21 11:02:46 +02:00
Christoph Oelckers
6f65bccf1c - reinstated the far superior assembly HQnX version for Visual C++. 2014-08-20 12:45:33 +02:00
alexey.lysiuk
9479a89b66 Fixed crash on Release targets 2014-08-16 13:55:05 +03:00
alexey.lysiuk
96a3e0f729 Set more descriptive name for SDL source files list in CMake file 2014-08-10 12:30:19 +03:00
alexey.lysiuk
82e8c514e9 Renamed SDL specific source file with GUI related code 2014-08-09 13:20:52 +03:00
Braden Obrzut
177112603d Added support for Cocoa back-end in CMake build system 2014-08-03 12:38:56 +03:00
alexey.lysiuk
fecd1b6401 Moved cursor and timer implementations into separate files 2014-08-03 12:33:29 +03:00
Christoph Oelckers
c98e3ca99d Merge branch 'master' into v2.x 2014-08-03 10:58:41 +02:00
Christoph Oelckers
1b55c17379 Merge branch 'master' of https://github.com/rheit/zdoom 2014-08-03 10:08:05 +02:00
Randy Heit
bbc3b69a7c Remove polymost stuff
- Maybe it will be back someday, but it's been essentially dead for nearly
  10 years, so don't hold your breath.
2014-07-31 19:44:41 -05:00
Christoph Oelckers
1ec58011d2 - start of light buffer implementation so that we don't have to use uniform arrays which appear to be broken on AMD. 2014-07-31 00:44:22 +02:00
Chris Robinson
e8233d7e87 Merge remote-tracking branch 'zdoom/master' into openal 2014-07-16 08:31:12 -07:00
Christoph Oelckers
4df25d951b Merge branch 'master' into Glew_Version_For_Real 2014-07-14 16:51:41 +02:00
Christoph Oelckers
4297bd9a51 Merge branch 'master' of https://github.com/rheit/zdoom 2014-07-14 00:32:16 +02:00
Christoph Oelckers
d868f60f6c - since the clip planes for plane mirrors did not work anymore I reimplemented them using shader based logic. It still needs to be seen if this affects performance on older hardware. 2014-07-13 12:14:12 +02:00
Edoardo Prezioso
d83f048858 - Miscellaneous CMakeLists.txt fixes.
- fixed a CMake warning about uninitialized use of the variable CROSS_EXPORTS in the tools subfolder when CMAKE_CROSSCOMPILING is off;
- fixed a variable typo: CMAKE_CURRENTY_BINARY_DIR instead of CMAKE_CURRENT_BINARY_DIR;
- in src/CMakeLists.txt, fixed a missing merge of a portion of code from maint branch to master.
2014-07-01 19:13:05 +02:00
Christoph Oelckers
54297acde4 - removed obsolete gl_lightbuffer code.
This never worked properly and by now far better options are available to solve the problem of dynamic light data uploads.
2014-06-30 13:30:10 +02:00
Chris Robinson
48df515dd1 Merge remote-tracking branch 'zdoom/master' into openal 2014-06-28 23:29:48 -07:00
Christoph Oelckers
28afd04aef Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/CMakeLists.txt
2014-06-27 01:10:09 +02:00
Edoardo Prezioso
1a3ac9d0b3 - Simplify CMake GCC and Clang checking.
Introduce the variable 'ZD_CMAKE_COMPILER_IS_GNUC(XX)_COMPATIBLE' and replace any occurrence of '"${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_C(XX)_COMPILER_ID}" STREQUAL "Clang"' with it. This makes it possible to add more GCC compatible compilers in just one place.
2014-06-26 01:23:41 +02:00
Chris Robinson
eeae36fbf7 Rename the decoder sources 2014-06-19 17:53:37 -07:00
Chris Robinson
77b1febd0e Add an mp3 decoder using libmpg123
Does not currently handle direct file sources
2014-06-19 06:40:27 -07:00
Chris Robinson
14618cbf30 Remove use of SDL_sound 2014-06-19 04:33:00 -07:00
Chris Robinson
b38589e2dc Implement and use a libsndfile decoder 2014-06-19 04:13:42 -07:00
darealshinji
7757755e40 fix detection of libglew library on GNU/Linux 2014-06-19 10:43:37 +02:00
Chris Robinson
7ff7c151a8 Merge remote-tracking branch 'origin/master' into openal
Conflicts:
	src/CMakeLists.txt
2014-06-15 12:04:15 -07:00
Chris Robinson
82de7e6357 Convert line-endings 2014-06-15 11:36:49 -07:00
Chris Robinson
0e21057a2a Merge remote-tracking branch 'origin/openal' into openal
Conflicts:
	src/sound/fmodsound.cpp
	src/sound/oalsound.cpp
	src/sound/oalsound.h
2014-06-15 09:59:24 -07:00
Christoph Oelckers
3c5d07e9c6 Merge branch 'master' of https://github.com/rheit/zdoom 2014-05-31 11:05:44 +02:00
Christoph Oelckers
9d846395bc - replaced console buffer with a significantly more efficient new version that also can hold a lot more data. 2014-05-24 21:05:00 +02:00
Christoph Oelckers
94b06900cb - got rid of a lot of stuff that's no longer required with GLEW.
- replaced GLUs texture scaling with our own function. This is only used to scale down textures larger than what the hardware can handle so we do not need a dependency to an essentially deprecated library for it.
2014-04-15 11:59:41 +02:00
Christoph Oelckers
69af73d9b9 - alternative configuration using GLEW to get extension functions. This requires GL 2.0, though so it won't be promoted to the mainline for the time being.
- removed all pre GL 2.0 support.
2014-04-06 14:35:44 +02:00
galtgendo
4909aa750f Use more portable hqx code from googlecode hqx
Conflicts:
	src/CMakeLists.txt
2014-03-28 01:49:53 +01:00
Braden Obrzut
efa9e0c3ee Merge branch 'maint' 2014-01-18 18:10:48 -05:00
Braden Obrzut
6f7885210b - Fixed: Some setups require the dynamic linking library to be linked explicitly, so specify it when using DYN_FLUIDSYNTH 2014-01-18 14:58:39 -05:00
Christoph Oelckers
7954263f5c Merge branch 'master' of https://github.com/rheit/zdoom 2014-01-18 01:19:36 +01:00
Christoph Oelckers
dc8f81c2a7 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/sdl/iwadpicker_cocoa.mm
2014-01-18 01:18:21 +01:00
Christoph Oelckers
6824e8c931 Merge branch 'maint' 2014-01-18 01:12:06 +01:00
Christoph Oelckers
1fd1ac9bab Merge branch 'cmake_uninitialized_fix' of https://github.com/edward-san/zdoom into maint 2014-01-18 01:10:33 +01:00
Edoardo Prezioso
b329a34a58 - Fixed some cmake --warn-uninitialized messages 2014-01-17 23:36:59 +01:00
Christoph Oelckers
e126c3ec2f Merge branch 'maint' 2014-01-17 20:45:20 +01:00
Edoardo Prezioso
aafea851f0 - Remove clang check from GCC-related workaround
It caused a clang warning/error regarding the non-existing flags '-fno-tree-dominator-opts' and '-fno-tree-fre'.
2014-01-17 19:11:29 +01:00
Braden Obrzut
d8ff4ec281 - Fixed: All clang 5.0 warnings.
- Renamed autostart/autozend since Xcode’s build process links in strictly alphabetical order.
2014-01-05 19:50:09 -05:00
Christoph Oelckers
d2927c3d8c Merge branch 'master' of https://github.com/rheit/zdoom 2013-12-09 11:34:41 +01:00
Christoph Oelckers
74dee4cd63 - removed ddraw.lib from CMake files because that library is not used anymore. 2013-12-09 11:24:58 +01:00
Christoph Oelckers
cdd0aef1ce - fixed: HQnX must be excluded on Win64 builds. 2013-11-30 10:20:24 +01:00
Christoph Oelckers
3fbcfa7551 Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-30 01:34:10 +01:00
Braden Obrzut
c04a800e2b - When doing OLDSTYLE builds we can use the RUNTIME_OUTPUT_DIRECTORY_<CONFIG> properties to force the output location properly. 2013-11-29 17:10:29 -05:00
Christoph Oelckers
5624b1ace0 Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-29 12:53:31 +01:00
Christoph Oelckers
b9c032461e - add a CMake option to enable/disable SSE2 with Visual C++. This is necessary because since VC 2012 SSE2 is the default instruction set. 2013-11-29 12:35:45 +01:00
Christoph Oelckers
bac9303fe4 Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-29 10:09:12 +01:00
Braden Obrzut
a8090dc22c - Remove a hardcoded "zdoom" so that the name passed into the copy operation should always match that passed to /MAP. 2013-11-29 02:09:27 -05:00
Braden Obrzut
c21beb0b6c - Fixed: Some versions of Visual Studio put the map file in a different location. 2013-11-29 01:54:46 -05:00
Christoph Oelckers
45070114e8 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	.gitignore
	CMakeLists.txt
2013-11-28 12:44:27 +01:00
Braden Obrzut
0c1d92834a - Fixed: Some setups require the dynamic linking library to be linked explicitly, so specify it when using DYN_FLUIDSYNTH 2013-11-26 17:58:55 -05:00
Christoph Oelckers
40d4ebcbc5 Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-26 22:12:18 +01:00
Braden Obrzut
c7632174d8 - Fixed error in manifest embedding that stopped the binary from working on Windows XP.
- Tweaked PK3 copying commands so that it shouldn't be possible to end up with files named Debug/Release.
2013-11-26 12:49:23 -05:00
Christoph Oelckers
8bf5872fc0 - always add DelayImp.lib for MSVC. 2013-11-24 10:27:08 +01:00
Christoph Oelckers
4122e4041a Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-20 09:16:12 +01:00
Braden Obrzut
c7099744bd - Minor changes to the CMake since it looks like VS2005 doesn't support a few things that were added. 2013-11-11 23:56:58 -05:00
Christoph Oelckers
0b1ccfb582 Merge branch 'master' of https://github.com/rheit/zdoom 2013-11-11 09:58:55 +01:00
Braden Obrzut
f0b946c3cf - Allow use of system GME library. It defaults to forcing the use of the internal library at least for now though. 2013-11-06 13:37:34 -05:00
Christoph Oelckers
b91d5d5eb5 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	CMakeLists.txt
	src/CMakeLists.txt
2013-11-03 16:55:00 +01:00
Randy Heit
850055a766 Add evaluation of constant unary and binary expressions
- Added ZCCCompiler class as a place to generate IR and symbols from an
  AST. Right now, all it does is simplify constant expressions into
  constant values.
- Do type promotion on the AST where appropriate.
- Added true and false tokens to the parser driver.
2013-10-25 22:30:24 -05:00
Braden Obrzut
97d7b1e59e Merge branch 'origin/maint'
Conflicts:
	src/sound/fmodsound.cpp
2013-10-23 19:39:22 -04:00
Braden Obrzut
7dbf4ec38f - Slight cleanup and I accidentally inverted the map generation flag. 2013-10-12 01:58:39 -04:00
Braden Obrzut
0759a4b438 - Actually, lets not use /Gm since it's incompatible with /MP which will be much faster on multi-core machines.
- Added ZDOOM_GENERATE_MAPFILE which enables linker map file generation.
2013-10-12 01:44:57 -04:00
Braden Obrzut
03b75ae7c1 - Fixed a few flags for Visual Studio compilation. 2013-10-12 00:56:49 -04:00
Braden Obrzut
b9a1528747 - DYN_FLUIDSYNTH now defaults to ON.
- Added ZDOOM_OUTPUT_OLDSTYLE (could probably use a more descriptive name) which causes CMake to vary the executable name by build type and place the exes and pk3s into the directory specified in ZDOOM_OUTPUT_DIR.
- ALL_BUILD will now launch ZDoom.
2013-10-10 17:40:15 -07:00
Christoph Oelckers
d89ece5802 - removed duplicate HQNX entries in CMakeLists.txt 2013-10-09 13:08:49 +02:00
Christoph Oelckers
abb3f66104 Merge branch 'master' of https://github.com/coelckers/gzdoom 2013-10-09 13:06:46 +02:00
Christoph Oelckers
03f19a12fa Merge branch 'maint' 2013-10-09 12:52:33 +02:00
Christoph Oelckers
8170cfbf98 - added my own FMOD path to CMakeLists.txt so that I can use it to create VC++ 2010 files with it. 2013-10-09 12:52:07 +02:00
Christoph Oelckers
f239a40caa - fixed CMakeLists to generate working VC++ projects. 2013-10-09 12:16:08 +02:00
Christoph Oelckers
cde0c465c6 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/CMakeLists.txt
2013-10-09 11:32:58 +02:00
Braden Obrzut
4ced90756a - Let CMake know about noncompiled cpp files so they can appear in project files.
- Fixed: Somehow when I added a way to disable generator expressions I inverted the meaning of NO_GENERATOR_EXPRESSIONS.
2013-10-08 15:35:50 -04:00
Braden Obrzut
f386d6b1e3 - Embed the proper manifest file and group soure files when building Visual Studio projects with CMake. (The groups probably also apply to other project types as well.) 2013-10-06 14:37:51 -04:00
Braden Obrzut
759139e6f3 - Fixed compilation with Visual Studio using CMake project by using slightly modified version of the code in Zandronum's changeset 597309d. 2013-10-05 14:48:26 -04:00
Christoph Oelckers
daf5b97ff9 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	src/version.h
2013-09-28 23:37:41 +02:00
Randy Heit
da02a44126 Consolidate special path functions into m_specialpaths.cpp
- Also remove CDROM_DIR while I'm at it.
2013-09-14 21:04:00 -05:00
Christoph Oelckers
2885056f46 - moved GLEXT API out of RenderContext struct. 2013-09-03 18:29:39 +02:00
Randy Heit
9c86f1c220 Merge branch 'master' into scripting for plugged userinfo memory leak
Conflicts:
	src/d_player.h
	src/p_interaction.cpp
	src/thingdef/thingdef_codeptr.cpp
2013-07-23 21:01:13 -05:00
Christoph Oelckers
503dc1d9a1 Merge branch 'master' of https://github.com/rheit/zdoom
Conflicts:
	wadsrc/CMakeLists.txt
2013-07-02 09:59:59 +02:00
Braden Obrzut
02ff428d54 - Allow generator expressions to be turned off during pk3 building with CMake.
- On Mac OS X, ensure assembly code is disabled by default (since it won't work).
2013-07-01 16:57:46 -04:00
Chris Robinson
69af01d629 Use SDL_sound when available to decode files 2013-06-30 07:45:57 -07:00
Chris Robinson
4f2e367ec6 Remove GStreamer support 2013-06-30 01:07:09 -07:00
Chris Robinson
18597a93a7 Merge remote-tracking branch 'origin' into openal
Conflicts:
	src/sound/fmodsound.cpp
2013-06-29 19:02:04 -07:00
alexey.lysiuk
28fd035b22 * fix build on OS X via CMake 2013-06-28 11:02:55 +03:00
Randy Heit
4deeb8d8ae Merge branch 'master' into scripting
Conflicts:
	src/actor.h
	src/g_doom/a_doomweaps.cpp
	src/p_local.h
	src/p_map.cpp
	src/sdl/i_main.cpp
	src/thingdef/thingdef_codeptr.cpp
2013-06-25 19:28:25 -05:00
Christoph Oelckers
93e040b322 Merge branch 'master' of https://github.com/rheit/zdoom 2013-06-25 09:23:11 +02:00
Randy Heit
a5f5d8adcb - Remove the first parameter from updaterevision, since it isn't needed with git. 2013-06-24 20:58:14 -05:00
Christoph Oelckers
d1835b2db8 - DavidPH's patch for Linux compilation. 2013-06-23 17:38:51 -05:00
Christoph Oelckers
ef42955053 - added DavidPH's patch for compiling with FModEx 4.44.01. 2013-06-23 17:38:51 -05:00
Christoph Oelckers
054899ea53 - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 17:38:51 -05:00
Christoph Oelckers
68984467b1 Merge branch 'master' of https://github.com/rheit/zdoom 2013-06-23 20:55:17 +02:00
Christoph Oelckers
3a477f6903 - DavidPH's patch for Linux compilation. 2013-06-23 20:54:21 +02:00
Christoph Oelckers
faeba3933e Merge branch 'master' of https://github.com/rheit/zdoom 2013-06-23 18:52:45 +02:00
Christoph Oelckers
a6ba2ce8b9 - added DavidPH's patch for compiling with FModEx 4.44.01. 2013-06-23 18:47:39 +02:00
Christoph Oelckers
7c81c2f1ee - added Edward-san's patch for allowing 'clang' compiler to use the same 'gcc' cmake settings 2013-06-23 18:37:13 +02:00
Christoph Oelckers
b2bb24ea0a - GZDoom project files and GZDoom related changes to main ZDoom code 2013-06-23 10:46:31 +02:00
Randy Heit
98ac224e53 - Use gitinfo.h instead of svnrevision.h for versioning.
- Use functions in gitinfo.cpp to retrieve the strings from gitinfo.h so
  that changes to gitinfo.h only require recompiling one file instead of
  several.
2013-06-22 21:49:51 -05:00
Randy Heit
459ad5abff - Updated scripting branch to latest version in trunk.
SVN r4337 (scripting)
2013-06-07 03:31:30 +00:00
Braden Obrzut
3fe31668a6 - More Visual Studio with CMake fixes.
SVN r4176 (trunk)
2013-03-08 19:23:06 +00:00
Braden Obrzut
01fed92920 - Added support for Visual Studio to the CMake project.
SVN r4166 (trunk)
2013-02-25 00:12:21 +00:00
Randy Heit
e59d7bc8b8 - Since we have two OPL cores now, what's one more? Added a straight, (highly) unoptimized port
of the Java OPL3 emulator.

SVN r3967 (trunk)
2012-11-15 05:23:24 +00:00
Randy Heit
3ec387ac32 - Renamed opl_stereo to opl_fullpan, since DOSBox's core is emulating an OPL3, which is stereo
but only supports three pan positions and not the full 127 MIDI pan positions.
- Added opl_core cvar to select emulator core. 0 is MAME and 1 is DOSBox.
- Added DOSBox's LGPL OPL core, distantly related to one adlibemu.c written by Ken Silverman
  (not to be confused with the ancient MAME-derived and GPL-licensed core also found in DOSBox).
  I believe this corresponds to their "compat" emulator, but I'm not sure.

SVN r3946 (trunk)
2012-11-08 05:45:58 +00:00
Randy Heit
31ab5ed866 - Added zcc-parse.c dependency to CMakeLists.txt
SVN r3916 (scripting)
2012-10-27 03:56:44 +00:00
Randy Heit
38d7b7d203 - Fixed errors and warnings when compiling with GCC. (Unfortunately, the VC++ debug builds
become ungodly slow when using mods with complex DECORATE. The GCC debug builds run just
  fine, however. Hopefully this is something that can be fixed later with an assembly-optimized
  version of the main VM loop, because I don't relish the thought of being stuck with GDB
  for debugging.)
- Fixed: The ACS_Named* action specials were erroneously defined as taking strings instead of
  names.
- Fixed: Copy-paste error caused FxMultiNameState::Emit to generate code that called
  DecoNameToClass instead of DecoFindMultiNameState.
- Updated FxActionSpecialCall::Emit for named script specials.
- Fixed inverted asserts for FxMinusSign::Emit and FxUnaryNotBitwise::Emit.


SVN r3893 (scripting)
2012-10-18 03:19:27 +00:00
Randy Heit
562cf04db2 - Update scripting branch to trunk.
SVN r3758 (scripting)
2012-07-14 03:04:41 +00:00
Christoph Oelckers
75dc6cb0b2 - changed damage screen blending code so that the same version can be used by any renderer.
- added GZDoom's version of blending for Strife's hazard sectors as an option to the paletteflash CVAR.


SVN r3613 (trunk)
2012-05-01 11:27:54 +00:00
Christoph Oelckers
4df1ea63b5 - added DavidPH's sqrt for DECORATE submission.
SVN r3586 (trunk)
2012-04-22 08:17:27 +00:00
Randy Heit
29369b4d34 - Change some of the CMake GCC build flags from appending new ones to prepending them so they
can be overridden.

SVN r3416 (trunk)
2012-03-09 23:30:47 +00:00
Braden Obrzut
449bd90121 - Fixed: Runtime error on Mac OS X. For whatever reason merely having the call to CFUserNotificationDisplayAlert() in I_FatalError caused exception handling to quit working. Moving it to a separate file seems to fix this. Also removed the warning about FRenderer having a non-virtual destructor.
SVN r3367 (trunk)
2012-02-16 22:58:17 +00:00
Braden Obrzut
6f17e0f51b - Fixed: Mac universal binary build. (I actually just realized that my DRDTeam build script ended up just working because of this modification.)
SVN r3362 (trunk)
2012-02-16 20:18:46 +00:00
Braden Obrzut
9c8bb236ec - Backport r1253 through r1256 and r1259 of GZDoom.
* By pressing request, allow Linux users to build ZDoom with an FMOD version that doesn't give them 3D sound positioning. :p
	* Fixed severe copy-pasta portal copy bug.
	* 3D floors hidden by being moved above the ceiling or below the floor will no longer show in the automap.
	* Reject TEXTURES scale of 0. They'd do nothing but provoke a division by zero error.
	* Maybe fixed Linux compilation?

SVN r3297 (trunk)
2011-09-27 01:14:31 +00:00
Braden Obrzut
f6ddad95b7 - Set the CMAKE_MODULE_DIR so that we can use find_package instead of include for FluidSynth.
- Fixed: FadeTo() accepted parameters out of range.
- Fixed: "Enable autosaves" menu option didn't handle all possible values of disableautosave.

SVN r3280 (trunk)
2011-08-16 21:59:35 +00:00
Braden Obrzut
dc50487432 - Lets try using semaphores on Linux instead of sleeping to implement cl_capfps.
SVN r3270 (trunk)
2011-07-11 02:35:33 +00:00
Christoph Oelckers
f84368677a - updated OpenAL branch.
SVN r3269 (openal)
2011-07-08 22:00:23 +00:00
Braden Obrzut
85bd2e02c9 - Fixed Linux build issues.
SVN r3265 (trunk)
2011-07-07 20:49:55 +00:00
Christoph Oelckers
5bfcaab25c - separation of software renderer from the rest of the code complete. All external access to the renderer is routed through the FRenderer interface class now, with two exceptions (2D texture drawing to a canvas and polymost testing code) that are handled by #defines.
SVN r3263 (trunk)
2011-07-07 15:37:47 +00:00
Christoph Oelckers
fbff5ca932 - moved r_interpolate.cpp and r_translate.cpp to r_data.
- merged r_jpeg.h into jpegtexture.cpp because that's the only place where it's ever used.


SVN r3255 (trunk)
2011-07-06 08:50:15 +00:00
Christoph Oelckers
5c6fd66ed5 - rename src/resources to src/r_data.
SVN r3254 (trunk)
2011-07-06 07:35:36 +00:00
Christoph Oelckers
5bf6398d85 - moved render style and border drawing code out of r_draw.cpp.
SVN r3251 (trunk)
2011-07-05 20:41:53 +00:00
Christoph Oelckers
17ed7aaabd - moved the code from r_data.cpp to some better fitting places and deleted this file and r_data.h because the remaining parts of it were just a random collection of unrelated functions.
SVN r3248 (trunk)
2011-07-05 10:02:38 +00:00
Christoph Oelckers
2a3d1a4493 - updated CMakeLists.txt for last commit.
SVN r3247 (trunk)
2011-07-05 08:20:15 +00:00
Christoph Oelckers
4626492f50 - separated all colormap related code from v_palette.cpp and r_data.cpp into its own file.
SVN r3245 (trunk)
2011-07-03 10:47:35 +00:00
Christoph Oelckers
5d65ab6e6c - cleaned up setPointer interface.
- ZDoom part of setPointer/setActivator, submitted by FDARI.


SVN r3230 (trunk)
2011-06-13 10:22:47 +00:00
Randy Heit
e6de6fed3c - Revert r3214, which added some completely useless warnings for GCC.
I'm sure there are good reasons even GCC doesn't enable them by default when you use -Wall.



SVN r3225 (trunk)
2011-06-12 19:17:21 +00:00
Christoph Oelckers
81ae38c072 - added submission for disabling some new and rather pointless GCC warnings.
SVN r3214 (trunk)
2011-05-26 23:19:20 +00:00
Randy Heit
d3b44a4172 - Fix errors/warnings from MinGW 4.5.0 (tdm-1).
- Disable the missing field initializers warnings that -Wextra produces from GCC.

SVN r3173 (trunk)
2011-03-29 05:20:33 +00:00
Randy Heit
9ab6ac39a0 - Undo unintentional commit of src/CMakeLists.txt.
SVN r3163 (trunk)
2011-03-10 22:52:34 +00:00
Christoph Oelckers
1993e969b7 - GCC warning fixes (GCC stupidity for the most part.)
SVN r3154 (trunk)
2011-02-19 08:59:43 +00:00
Randy Heit
060d740275 - Fixed: Fake floor's validcounts were not initialized.
- Fixed: When loading non-UDMF maps, things did not have their conversation field zero'ed.
- Added an assert for the FAKE3D_REFRESHCLIP case at the end of R_RenderMaskedSegRange(), because Valgrind indicates this is being run
  without ds->bkup being set to something valid. I do not immediately know how this should be fixed.



SVN r3130 (trunk)
2011-02-02 02:07:36 +00:00
Christoph Oelckers
fae8ed444c - merged 3dfloors2 branch into trunk.
SVN r3124 (trunk)
2011-01-29 11:09:38 +00:00
Randy Heit
2add3fb381 - Merge voxels back into trunk. Even if it needs further tweaking, it should at least be stable now.
SVN r3086 (trunk)
2011-01-02 18:02:27 +00:00
Christoph Oelckers
d851040ad6 - fixed GCC compilation.
SVN r3028 (trunk)
2010-12-12 07:59:38 +00:00
Braden Obrzut
72f589c8c3 - Fixed what appears to be a copy/paste error in the CMakeLists.txt.
SVN r3020 (trunk)
2010-12-02 21:45:38 +00:00
Christoph Oelckers
f3d05e2699 - applied Chriss OpenAL patch to make it uzable without GStreamer.
SVN r2984 (openal)
2010-11-07 07:17:57 +00:00
Braden Obrzut
0d10718e67 - Added SDL joystick support.
SVN r2939 (trunk)
2010-10-13 16:29:37 +00:00
Christoph Oelckers
0595724d68 - updated CMakeLists.txt for intermission changes.
SVN r2921 (trunk)
2010-10-07 21:34:21 +00:00
Christoph Oelckers
6d78ff3469 - Backported GZDoom revisions 1018-1019: Fixed spelling of "pseudo" because it bugged me too much. ;)
SVN r2880 (trunk)
2010-10-02 13:49:33 +00:00
Randy Heit
fa429ad844 - Fix incorrect parameters to PrintMidiDevice().
- Add music_psuedo_mididevice.cpp to CMakeLists.txt.

SVN r2873 (trunk)
2010-10-02 02:23:42 +00:00
Randy Heit
5a3b3631c3 - Added XMIDI support (including subsongs).
- Moved unaligned accessors into m_swap.h.

SVN r2859 (trunk)
2010-09-28 03:58:41 +00:00
Christoph Oelckers
54bdf38fef - resurrected some old statistics code I had and made some minor enhancements to be of more use.
SVN r2821 (trunk)
2010-09-18 16:08:10 +00:00
Randy Heit
99670b708c - Sync scripting branch with what was in trunk on Sunday. I believe that would be revision 2739.
SVN r2790 (scripting)
2010-09-16 03:14:32 +00:00
Christoph Oelckers
d64fcbd01e - applied Chris's latest OpenAL patch.
SVN r2781 (openal)
2010-09-15 13:45:08 +00:00
Christoph Oelckers
5e824ba0e0 - sync OpenAL branch with trunk.
SVN r2780 (openal)
2010-09-15 12:31:18 +00:00
Christoph Oelckers
8308a35345 - deleted empty old files.
SVN r2769 (trunk)
2010-09-14 17:29:54 +00:00
Christoph Oelckers
579502ab74 - merged menu branch back into trunk.
SVN r2768 (trunk)
2010-09-14 17:28:18 +00:00
Randy Heit
070ec75785 - Cleaned up the ugly MIDI song creating code a little.
- Added a generic Standard MIDI File creator that works with any of the sequencers. mus2midi.cpp
  is no longer used but is kept around as a reference.

SVN r2677 (trunk)
2010-09-03 05:08:05 +00:00
Randy Heit
81e21b0688 - Renamed music_midi_midiout.cpp to music_smf_midiout.cpp.
- Moved MIDI precaching logic into MIDIStreamer so that SMF and HMI files can both use the
  same implementation.
- Added a player for HMI midi files.

SVN r2675 (trunk)
2010-09-02 23:17:58 +00:00
Christoph Oelckers
9a4abe0915 - merged automap branch into trunk.
SVN r2609 (trunk)
2010-08-27 15:20:05 +00:00
Christoph Oelckers
b452bec0ee - merge USDF branch into trunk.
- add USDF spexs.


SVN r2561 (trunk)
2010-08-20 12:20:51 +00:00
Randy Heit
6f82db47b8 - Merge the shared code for the softsynths into a common base class.
SVN r2560 (trunk)
2010-08-20 04:21:53 +00:00
Randy Heit
a68e9c8fa6 - Added a dlopen() version of on-demand FluidSynth loading and exposed it
to CMake through the DYN_FLUIDSYNTH option.



SVN r2558 (trunk)
2010-08-19 20:46:19 +00:00
Randy Heit
576e597d2b - Increase the fluid_voices default to 128. It apparently has a poor voice cutting algorithm
which is painfully apparent on hexen.wad MAP01's music, which hits around 90 voices.
- Patch from Chris:
  * Add FluidSynth to the menu.
  * Enable FluidSynth for MIDI as well as MUS.
  * Fix CmakeLists.txt.


SVN r2554 (trunk)
2010-08-19 15:31:44 +00:00
Braden Obrzut
050b82f543 - Fixed: ZDoom wouldn't compile without FluidSynth.
SVN r2548 (trunk)
2010-08-17 04:22:17 +00:00
Randy Heit
1fa4bbf69c - Added FluidSynth support as snd_mididevice -5. Only tested with Linux. I will have
to try compiling it myself on Windows to see if it's really that slow or if
  Ubuntu just ships an unoptimized version, because performance is pretty pathetic
  when compared to the other options. (I understand that it's a complete SoundFont2
  renderer, so it is understandably slower than something like TiMidity++, but still.
  Does it really need to be around 10x slower? I played with the chorus, reverb, and
  interpolation settings, and none of them seemed to make much difference in
  performance.)



SVN r2545 (trunk)
2010-08-15 19:54:59 +00:00
Randy Heit
1063a98c47 - Maybe allow assembly on Intel Macs? - attempt 2
SVN r2537 (trunk)
2010-08-13 22:12:42 +00:00
Christoph Oelckers
5603c70574 [OpenAL branch]
- apply Chris's latest patch.




SVN r2534 (openal)
2010-08-13 07:07:26 +00:00
Randy Heit
dab3ff000e - Enable backpatching on non-Windows machines.
SVN r2528 (trunk)
2010-08-13 04:11:21 +00:00
Randy Heit
30ffe1d4b8 - Maybe enable assembly on Intel Macs?
SVN r2527 (trunk)
2010-08-13 03:14:05 +00:00
Randy Heit
c3fa9a54a0 - Fix printf warnings in p_setup.cpp.
- Fix buiding on PowerPC.



SVN r2522 (trunk)
2010-08-12 21:28:16 +00:00
Braden Obrzut
99e0adaf45 - Fixed some issues with compiling on the Mac. Some options were added to force compilation of internal libraries and added checks for building ppc binaries on x86.
SVN r2515 (trunk)
2010-08-12 02:32:03 +00:00
Randy Heit
677d07f837 - Merge BSP-able polyobjects back into the trunk.
SVN r2480 (trunk)
2010-08-01 02:41:56 +00:00
Braden Obrzut
1cf12693ba - Added Cocoa IWAD picker for Mac OS X.
SVN r2440 (trunk)
2010-07-18 08:00:12 +00:00
Braden Obrzut
d7686d0c26 - Added optional offset parameters to the drawshadow flag.
- Added character alignment parameter to font monospacing.
- Fixed: character shadows were not scaled.
- Heretic keys now have an icon associated with them so that they can be drawn through drawkeybar.
- Replaced the built in Heretic and Hexen status bars with SBarInfo equivalents.

SVN r2353 (trunk)
2010-06-02 20:26:27 +00:00
Braden Obrzut
5a4be4b62b - Added partial support for a signal based timer under Linux/Mac OS X in order to make cl_capfps effective at limiting CPU usage.
SVN r2310 (trunk)
2010-05-06 20:32:03 +00:00
Randy Heit
7aa402b2a5 - Add a preliminary grammar and a test driver for it.
SVN r2233 (scripting)
2010-03-19 04:04:13 +00:00
Randy Heit
913555aa4e - Synced the scripting branch with trunk.
SVN r2166 (scripting)
2010-02-17 04:46:11 +00:00
Christoph Oelckers
9aa1e20c77 - Added Blzut3's Solaris patch.
SVN r2070 (trunk)
2010-01-01 09:21:04 +00:00
Christoph Oelckers
3f4f0a8ae4 SBARINFO update:
- Reorganized the SBarInfo code.
- Added interpolate(<speed>) flag to drawnumber, drawbar, and drawgem.  The old
  way of interpolating the health and armor is depreciated.
- Added: armortype to drawswitchableimage loosely based on Gez's submission.
- As an extension to the previous you can now use comparison operators on
  inventory items and armortype in drawswitchableimage.


SVN r2069 (trunk)
2010-01-01 09:11:55 +00:00
Randy Heit
e9db2c83a5 - Just some stuff.
SVN r1878 (scripting)
2009-09-25 03:44:58 +00:00
Randy Heit
1a442742f7 - Sync with trunk.
SVN r1872 (scripting)
2009-09-23 00:24:47 +00:00
Randy Heit
1eb7912bd8 - Make the autosegs read-only.
- Derive PClass from dobject.cpp. This has one major ramification: Since the PClass
  is not allocated until runtime, you cannot initialize any static/global data
  structures with pointers to PClasses using RUNTIME_CLASS. Attempting to do so
  will just initialize with a NULL pointer. Instead, you can initialize using
  the address of the pointer returned by RUNTIME_CLASS and dereference that. By
  the time you have an opportunity to dereference it, it will no longer be NULL.
- Sync CmakeLists.txt.
- Random fixes for problems GCC spotted.

SVN r1852 (scripting)
2009-09-17 01:36:14 +00:00
Christoph Oelckers
dc292caaa3 - Added some pieces of MBF's friendly AI.
- Cleaned up A_LookEx code and merged most of it with the base functions.
  The major difference was a common piece of code that was repeated 5 times
  throughout the code so I moved it into a subfunction.
- Changed P_BlockmapSearch to pass a user parameter to its callback so that
  A_LookEx does not need to store its info inside the actor itself.


SVN r1846 (trunk)
2009-09-16 15:54:04 +00:00
Randy Heit
e1683dfed3 - Fixed: Linux version no longer linked with GTK+.
SVN r1807 (trunk)
2009-09-07 22:45:07 +00:00
Randy Heit
48d78730f3 - Mac version now links. Updaterevision refuses to give me a version number.
Zipdir is not doing byte swapping like it should. zdoom.ini is stored
  in ~/Preferences, but all other file accesses are probably going to be
  like Windows and look in the same directory as the executable.



SVN r1786 (trunk)
2009-09-03 03:51:41 +00:00
Randy Heit
33a397c04b - Basic Mac support: Everything compiles but does not yet link.
SVN r1780 (trunk)
2009-09-01 02:08:53 +00:00
Randy Heit
93202a5488 - Removed -fno-strict-aliasing from the GCC flags for ZDoom and fixed the
issues that caused its inclusion. Is an optimized GCC build any faster
  for being able to use strict aliasing rules? I dunno. It's still slower
  than a VC++ build.
  
  I did run into two cases where TAutoSegIterator caused intractable problems
  with breaking strict aliasing rules, so I removed the templating from it,
  and the caller is now responsible for casting the probe value from void *.
- Removed #include "autosegs.h" from several files that did not need it
  (in particular, dobject.h when not compiling with VC++).


SVN r1743 (trunk)
2009-08-02 03:38:57 +00:00
Randy Heit
f1e6ec1fd9 - Update src/CMakelists.txt to check for FMOD Ex 4.26 and look for its include files
in a few more locations.

SVN r1736 (trunk)
2009-07-25 00:59:26 +00:00
Randy Heit
417779440d - Added joystick config loading and saving support; moved generic joystick
interfaces to m_joy.h.
- Added Raw Input PS2 adapter support.


SVN r1713 (trunk)
2009-07-11 01:40:01 +00:00
Randy Heit
49b95be4b2 - Fixed some improper preprocessor lines in autostart/autozend.cpp.
- Added XInput support. For the benefit of people compiling with MinGW,
  the CMakeLists.txt checks for xinput.h and disables it if it cannot
  be found. (And much to my surprise, I accidentally discovered that if you
  have the DirectX SDK installed, those headers actually do work with GCC,
  though they add a few extra warnings.)


SVN r1686 (trunk)
2009-06-28 03:09:17 +00:00
Randy Heit
a5b118cf7c - The reorganized DirectInput game controller code finally compiles. (Ugh! It
took far too long to reach this point.) Manual axis configuration is
  currently disabled, since I need to rewrite that, too. The eventual point of
  this is that the code will be modular enough that I can just plop in
  routines for XInput controllers and driver-less PlayStation 2 adapters
  without much fuss, since the old joystick code was very much DirectInput-
  centric.


SVN r1672 (trunk)
2009-06-20 03:16:08 +00:00
Randy Heit
a8de4fc2da - Fixed compilation of i_keyboard.cpp with MinGW, because w32api still doesn't have
everything that was new for XP.
- Swapped snes_spc out for the full Game Music Emu library.

SVN r1631 (trunk)
2009-06-03 03:05:02 +00:00
Christoph Oelckers
627838f379 - Added loading directories into the lump directory.
- fixed: The Dehacked parser could not parse flag values with the highest bit
  set because it used atoi to convert the string into a number.

SVN r1624 (trunk)
2009-05-31 10:49:47 +00:00
Randy Heit
7fea07dff7 - Split DirectInput keyboard handling into a separate file and class. I also
switched it to buffered input, and the pause key seems to be properly
  cooked, so I don't need to look for it with WM_KEYDOWN/UP. Tab doesn't
  need to be special-cased either, because buffered input never passes on
  the Tab key when you press Alt+Tab. I have no idea why I special-cased
  Num Lock, but it seems to be working fine. By setting the exclusive mode
  to background, I can also avoid special code for releasing all keys when
  the window loses focus, because I'll still receive those events while the
  window is in the background.


SVN r1613 (trunk)
2009-05-27 03:16:46 +00:00
Christoph Oelckers
e43453b614 - added Hirogen2's patch for using the default BZip2 library under Linux.
SVN r1604 (trunk)
2009-05-25 20:58:59 +00:00
Randy Heit
0c4c90ac89 - SetCursorState() now calls ShowCursor() again, because capturing the mouse
with RIDEV_NOLEGACY apparently prevents SetCursor() from doing anything.
- Split mouse code off from i_input.cpp into i_mouse.cpp and added raw mouse
  handling. (WM_INPUT obsoleted most of DirectInput for XP.)
- Fixed: Similar to the Win32 mouse, using the DirectInput mouse in windowed
  mode, if you alt-tabbed away and then clicked on the window's title bar,
  mouse input would be frozen until the mouse was ungrabbed again.


SVN r1601 (trunk)
2009-05-24 03:15:04 +00:00
Randy Heit
2e87ebff22 - Added input buffering to the Implode and Shrink routines for a marked
speedup.
- Replaced the Shanno-Fano/Huffman reading routines from FZipExploder with
  ones of my own devising, based solely on the specs in the APPNOTE.


SVN r1590 (trunk)
2009-05-17 03:05:26 +00:00
Randy Heit
b9fa7626bc - Fixed non-POD passing in G_BuildSaveName() and other things GCC warned
about.
- Added support for imploded zips.



SVN r1581 (trunk)
2009-05-15 03:11:44 +00:00
Christoph Oelckers
512056aeed - added EmptyTexture.cpp to CMakeLists.txt.
SVN r1568 (trunk)
2009-05-02 21:53:27 +00:00
Christoph Oelckers
1ea8777572 - fixed typo in CMakeLists.txt.
SVN r1557 (trunk)
2009-04-24 06:22:30 +00:00
Christoph Oelckers
cc066bc409 - complete restructuring of resource file handling for more flexibility and future
extensions.
- Removed merging of special namespaces. For the texture manager this has
  become totally useless so there is no need to do this anymore. Not merging
  the namespaces also allows a much more reliable detection of lumps belonging
  to special namespaces so the ScanForFlatHack function is no longer needed.
  Instead, any lump up to F_END with a length of 4096 will be marked for 
  inclusion as a flat texture if no F_START marker is found.
- Made the counting of intermission stats in Doom a GAMEINFO option so that
  it can be activated in all games.


SVN r1555 (trunk)
2009-04-23 22:49:38 +00:00
Randy Heit
3dc01e77f7 - Added gprof support. Pass -DPROFILE=1 to cmake when using a Debug or RelWithDebInfo
CMAKE_BUILD_TYPE. (It seems to like to hang when generating arith.h for gdtoa when you
  do this, but killing the make process and restarting it seems to fix that.)

SVN r1531 (trunk)
2009-04-08 22:26:09 +00:00
Randy Heit
0060dab892 - Last was incomplete commit.
SVN r1528 (trunk)
2009-04-08 04:47:44 +00:00
Randy Heit
2ac649e09d - Added a va_copy/__va_copy check to CMakeLists.txt.
SVN r1526 (trunk)
2009-04-08 04:33:29 +00:00
Randy Heit
7371c4a516 - Changed random seed initialization so that it uses the system's
cryptographically secure random number generator, if available, instead
  of the current time.
- Changed the random number generator from Lee Killough's algorithm to the
  SFMT607 variant of the Mersenne Twister.

SVN r1507 (trunk)
2009-03-27 04:49:17 +00:00
Christoph Oelckers
218fc5018e - Fixed: Item tossing did not work anymore.
SVN r1502 (trunk)
2009-03-24 07:51:15 +00:00
Christoph Oelckers
9fdbf29cb1 - fixed Linux compile
SVN r1500 (trunk)
2009-03-23 07:37:57 +00:00
Christoph Oelckers
18b4577bbd - Fixed: S_StopSound may not assume that after stopping a sound channel
its link to the next item in the list is still valid.
- Fixed typo in src/CMakeLists.txt.
- Fixed: Armor only worked for players.


SVN r1489 (trunk)
2009-03-19 22:48:55 +00:00
Randy Heit
75b7db858f - Added support for zip/pk3 files with LZMA and bzip2 compression to ZDoom.
- Added more output to zipdir and a -q option to turn it off.
- Added -u option to zipdir to only recompress those files in a zip that have
  changed. 
- Added -d and -f options to zipdir. -d forces deflate compression, and -f
  forces a write of the zip, even if it's newer than all the files it contains.
- Added support for bzip2 and LZMA compression to zipdir.


SVN r1468 (trunk)
2009-03-10 23:07:37 +00:00
Randy Heit
7ee11638f2 - Need to add compatibility.cpp and md5.cpp to CMakeLists.txt.
SVN r1403 (trunk)
2009-02-05 03:39:02 +00:00
Christoph Oelckers
4bcd3faef8 - moved all code related to global ACS variables to p_acs.cpp where it belongs.
- fixed: The nextmap and nextsecret CCMDs need to call G_DeferedInitNew instead of G_InitNew.
- merged MAPINFO branch back into trunk.

SVN r1393 (trunk)
2009-02-03 19:11:43 +00:00
Randy Heit
a3b11af15a - More GCC warning removal, the most egregious of which was the potential
vulnerability "format not a string literal and no format arguments".
- Changed the CMake script to search for fmod libraries by full name instead
  of assuming a symbolic link has been placed for the latest version. It can
  also find a non-installed copy of FMOD if it is placed local to the ZDoom
  source tree.



SVN r1373 (trunk)
2009-01-28 05:29:41 +00:00
Christoph Oelckers
153a2a4c2c - Fixed: G_DoPlayDemo did not free the demobuffer or the CVAR backups when it
failed to start the demo.
- Added a MF5_BRIGHT flag to always render an actor fullbright.
- Fixed: Calling Door_Animated with a non-zero tag created a new thinker
  for each two-sided line of the sector.
- Added Karate Chris's submission for making 'spray' a cheat.
- Added CO2's default parameter additions for several Doom code pointers
  submission.
- Added CO2's A_RemoveMaster/A_RemoveChildren submission.
- Added Blzut3's SBARINFO replacement for the Doom statusbar.
- Fixed: SBarInfo still displayed the wrong bar for height 0
- Added A_KillSiblings and A_DamageSiblings code pointers.
- added MaxAbsorb and MaxFullAbsorb properties for Armor.


SVN r1304 (trunk)
2008-12-06 10:22:37 +00:00
Christoph Oelckers
904b59f266 - added a_fastprojectile.cpp to CMakeLists.txt
SVN r1291 (trunk)
2008-11-15 15:32:23 +00:00
Christoph Oelckers
d753d41752 - Added NULL checks to all places where class names are passed as DECORATE
parameters.
- All DECORATE parameters are passed as expressions now. This change allows
  for compile time checks of all class names being used in DECORATE so many
  incorrect definitions may output warnings now.
- Changed DECORATE sound and color parameters to use expressions.
- Changed: S_StopChannel now resets the actor's sound flags. The previous bug
  made me think that delaying this until FMod calls the end of sound callback 
  may simply be too late.


SVN r1276 (trunk)
2008-10-25 17:38:00 +00:00
Christoph Oelckers
b9afb78523 - Added native variables to expression evaluator and replaced the previous
handling of actor variables in expressions with it.
- Added support for floating point constants to DECORATE expression evaluator.

SVN r1271 (trunk)
2008-10-19 21:43:36 +00:00
Christoph Oelckers
7312e6a621 - Added a global symbol table and changed DECORATE parser to put its global
symbols there instead of into AActor.
- Changed the expression evaluator's floating point precision to double.
- Started rewriting the DECORATE expression evaluator to allow more flexibility.
  All the operators use the new functionality but functions, variables and
  constants are yet to be redone.
  While doing this rewrite I noticed that random2 was always evaluated as const.
  This got fixed automatically.


SVN r1264 (trunk)
2008-10-18 17:17:44 +00:00
Randy Heit
738e8ca7ad - GCC warning removal.
* This may or may not be a problem, but GCC warned that FStateDefinitions::
    AddStateDefines() does not initialize def.FStateDefine::DefineFlags, so
    I fixed that.


SVN r1262 (trunk)
2008-10-14 03:21:53 +00:00
Randy Heit
86e650207d - The root CMakeLists.txt now explicitly sets the build type to Debug if you
don't tell it otherwise.
- src/CMakeLists.txt now searches for fmod.hpp instead of fmod.h.

SVN r1260 (trunk)
2008-10-14 01:28:04 +00:00
Christoph Oelckers
3e291cf528 - Liux compile fixes.
SVN r1245 (trunk)
2008-09-23 07:46:23 +00:00
Randy Heit
00b21e4b96 - Apparently, YASM is not a suitable substitute for NASM when doing Win32 builds.
- Removed extraneous printf parameter for Texman.Init startup message.
- Added newlines to the ends of a few headers that were missing them.
- Fixed more GCC errors/warnings.

SVN r1232 (trunk)
2008-09-17 20:24:08 +00:00
Randy Heit
9802278357 - Fixed: src/CMakeLists.txt was broken for 32-bit MinGW Makefiles builds.
SVN r1231 (trunk)
2008-09-17 19:54:12 +00:00
Christoph Oelckers
760f70d3f1 - Changed compilation for g_doom, g_heretic, g_hexen and g_strife folders
so that all files are included by a central one instead of compiling 
  each one separately. This speeds up the compilation process by 25%
  when doing a complete rebuild in Visual C.
- Cleaned up more header dependencies.

SVN r1226 (trunk)
2008-09-15 14:11:05 +00:00
Randy Heit
c9187a0e09 - Ported asm_x86_64/tmap3.nas to AT&T syntax so it can be compiled with gas.
After finding out that gas does have directives to describe the .eh_frame
  metadata, I figured that would be significantly easier and quicker than
  trying to locate all the scattered docs I would need to read to figure out
  how to construct it by hand. Unfortunately, this now means I have to
  maintain two versions of exactly the same code. :( (But unless I add 32-bit
  color rendering in the future, the chances that I will have to touch it
  again are quite slim.)



SVN r1159 (trunk)
2008-08-12 02:49:00 +00:00
Randy Heit
a876ba55bd - Fixed: src/CMakeLists.txt did not pass -DNOASM to the compiler when assembly
is disabled.



SVN r1156 (trunk)
2008-08-11 22:29:09 +00:00
Christoph Oelckers
3dbebcb794 - deleted infodefaults.cpp from CMakeLists.txt
SVN r1147 (trunk)
2008-08-10 15:05:49 +00:00
Randy Heit
ad96225213 - Changed Linux to use clock_gettime for profiling instead of rdtsc. This
avoids potential erroneous results on multicore and variable speed
  processors. Windows will need to be updated accordingly.



SVN r1142 (trunk)
2008-08-10 03:25:08 +00:00
Randy Heit
dda5ddd3c2 - Ported vlinetallasm4 to AMD64 assembly. Even with the increased number of
registers AMD64 provides, this routine still needs to be written as self-
  modifying code for maximum performance. The additional registers do allow
  for further optimization over the x86 version by allowing all four pixels
  to be in flight at the same time. The end result is that AMD64 ASM is about
  2.18 times faster than AMD64 C and about 1.06 times faster than x86 ASM.
  (For further comparison, AMD64 C and x86 C are practically the same for
  this function.) Should I port any more assembly to AMD64, mvlineasm4 is the
  most likely candidate, but it's not used enough at this point to bother.
  Also, this may or may not work with Linux at the moment, since it doesn't
  have the eh_handler metadata. Win64 is easier, since I just need to
  structure the function prologue and epilogue properly and use some
  assembler directives/macros to automatically generate the metadata. And
  that brings up another point: You need YASM to assemble the AMD64 code,
  because NASM doesn't support the Win64 metadata directives.
- Added an SSE version of DoBlending. This is strictly C intrinsics.
  VC++ still throws around unneccessary register moves. GCC seems to be
  pretty close to optimal, requiring only about 2 cycles/color. They're
  both faster than my hand-written MMX routine, so I don't need to feel
  bad about not hand-optimizing this for x64 builds.
- Removed an extra instruction from DoBlending_MMX, transposed two
  instructions, and unrolled it once, shaving off about 80 cycles from the
  time required to blend 256 palette entries. Why? Because I tried writing
  a C version of the routine using compiler intrinsics and was appalled by
  all the extra movq's VC++ added to the code. GCC was better, but still
  generated extra instructions. I only wanted a C version because I can't
  use inline assembly with VC++'s x64 compiler, and x64 assembly is a bit
  of a pain. (It's a pain because Linux and Windows have different calling
  conventions, and you need to maintain extra metadata for functions.) So,
  the assembly version stays and the C version stays out.
- Removed all the pixel doubling r_detail modes, since the one platform they
  were intended to assist (486) actually sees very little benefit from them.
- Rewrote CheckMMX in C and renamed it to CheckCPU.
- Fixed: CPUID function 0x80000005 is specified to return detailed L1 cache
  only for AMD processors, so we must not use it on other architectures, or
  we end up overwriting the L1 cache line size with 0 or some other number
  we don't actually understand.


SVN r1134 (trunk)
2008-08-09 03:13:43 +00:00
Christoph Oelckers
b695330e90 - Removed FourthWeaponClass and based Hexen's fourth weapons on the generic weapon
pieces.
- Added DECORATE conversions for Hexen's Fighter weapons by Karate Chris.
- Added aWeaponGiver class to generalize the standing AssaultGun.
- converted a_Strifeweapons.cpp to DECORATE, except for the Sigil.


SVN r1129 (trunk)
2008-08-08 10:24:08 +00:00
Randy Heit
efb8ffc459 - The x87 precision control is now explicitly set for double precision, since
GCC defaults to extended precision instead, unlike Visual C++.
- Removed the useless src/Linux directory from the repository. This was a
  holdover from the long-gone 1.22 build system.



SVN r1118 (trunk)
2008-08-06 18:26:25 +00:00
Christoph Oelckers
4a9e70f1d2 - Converted the ScriptedMarines to DECORATE.
- Fixed: DLightTransfer and DWallLightTransfer were declared as actors.

SVN r1111 (trunk)
2008-08-05 13:50:57 +00:00
Randy Heit
ff2680baa9 - Removed new warning when using CMake 2.6.
- Fixed compilation of snes_spc on GCC <4.3.
- Fixed compilation of zstring.h on 32-bit MinGW, where SIZE_MAX
  and UINT_MAX are not considered identical by the preprocessor.

SVN r1096 (trunk)
2008-07-31 17:13:21 +00:00
Randy Heit
2ce3e1dd6a - Corrected the revision_check target so that it always checks the revision,
not just when src/svnrevision.h is not present.



SVN r1093 (trunk)
2008-07-25 01:41:31 +00:00
Randy Heit
de5d4715c2 - Added Linux support for the CMakeLists. This meant downgrading them for
CMake 2.4, since the distros don't seem to consider 2.6 stable yet.
  As a bonus, GTK+ is no longer a required dependency; now it's optional.
- Made dehsupp ignore CR characters, so it doesn't spew warnings on Linux.



SVN r1092 (trunk)
2008-07-25 01:37:44 +00:00
Randy Heit
fb50df2c63 About a week's worth of changes here. As a heads-up, I wouldn't be
surprised if this doesn't build in Linux right now. The CMakeLists.txt
were checked with MinGW and NMake, but how they fair under Linux is an
unknown to me at this time.

- Converted most sprintf (and all wsprintf) calls to either mysnprintf or
  FStrings, depending on the situation.
- Changed the strings in the wbstartstruct to be FStrings.
- Changed myvsnprintf() to output nothing if count is greater than INT_MAX.
  This is so that I can use a series of mysnprintf() calls and advance the
  pointer for each one. Once the pointer goes beyond the end of the buffer,
  the count will go negative, but since it's an unsigned type it will be
  seen as excessively huge instead. This should not be a problem, as there's
  no reason for ZDoom to be using text buffers larger than 2 GB anywhere.
- Ripped out the disabled bit from FGameConfigFile::MigrateOldConfig().
- Changed CalcMapName() to return an FString instead of a pointer to a static
  buffer.
- Changed startmap in d_main.cpp into an FString.
- Changed CheckWarpTransMap() to take an FString& as the first argument.
- Changed d_mapname in g_level.cpp into an FString.
- Changed DoSubstitution() in ct_chat.cpp to place the substitutions in an
  FString.
- Fixed: The MAPINFO parser wrote into the string buffer to construct a map
  name when given a Hexen map number. This was fine with the old scanner
  code, but only a happy coincidence prevents it from crashing with the new
  code
- Added the 'B' conversion specifier to StringFormat::VWorker() for printing
  binary numbers.
- Added CMake support for building with MinGW, MSYS, and NMake. Linux support
  is probably broken until I get around to booting into Linux again. Niceties
  provided over the existing Makefiles they're replacing:
  * All command-line builds can use the same build system, rather than having
    a separate one for MinGW and another for Linux.
  * Microsoft's NMake tool is supported as a target.
  * Progress meters.
  * Parallel makes work from a fresh checkout without needing to be primed
    first with a single-threaded make.
  * Porting to other architectures should be simplified, whenever that day
    comes.
- Replaced the makewad tool with zipdir. This handles the dependency tracking
  itself instead of generating an external makefile to do it, since I couldn't
  figure out how to generate a makefile with an external tool and include it
  with a CMake-generated makefile. Where makewad used a master list of files
  to generate the package file, zipdir just zips the entire contents of one or
  more directories.
- Added the gdtoa package from netlib's fp library so that ZDoom's printf-style
  formatting can be entirely independant of the CRT.

SVN r1082 (trunk)
2008-07-23 04:57:26 +00:00