Commit graph

6132 commits

Author SHA1 Message Date
Christoph Oelckers
ad960ab052 - first round of fixes to abandoned commit. 2016-01-01 13:35:49 +01:00
Christoph Oelckers
a5e1228cec - added lost definition. 2016-01-01 12:45:50 +01:00
Christoph Oelckers
3b0c1aa37d - changed texture2d to texture in modified shader sources. 2016-01-01 12:39:29 +01:00
Christoph Oelckers
efb41cd268 - split up texel function into a coordinate function and a texel function so that brightmaps work on warped textures because the light function needs the manipulated coordinate for them which previously was internal to the texel function.
(Not yet tested!)

Conflicts:
	src/gl/textures/gl_material.cpp
2016-01-01 12:38:44 +01:00
Christoph Oelckers
334463e834 - implemented uniform/material interface.
Conflicts:
	src/gl/shaders/gl_shader.h
	src/gl/textures/gl_material.cpp
2016-01-01 12:37:32 +01:00
Christoph Oelckers
a93085153a - added parsing of uniform declarations in shader definitions.
Conflicts:
	src/gl/shaders/gl_shader.cpp
2016-01-01 12:33:27 +01:00
Christoph Oelckers
df96b17be9 - adjust code to additions. 2016-01-01 12:33:05 +01:00
Christoph Oelckers
590321687c - store all texture layer info by texture unit name.
Conflicts:
	src/gl/textures/gl_material.cpp
2016-01-01 11:44:31 +01:00
Christoph Oelckers
fedfc2578f - read texture sampler names from the GLDEFS definition instead of just using texture? with ? ranging from 2 to 16.
Conflicts:
	src/gl/shaders/gl_shader.cpp
	wadsrc/static/shaders/glsl/func_brightmap.fp
2016-01-01 11:43:16 +01:00
Christoph Oelckers
89ec6aa45a - added missing implementation of NoLightShader flag. 2016-01-01 11:42:21 +01:00
Christoph Oelckers
56d26ba50f - rework of shader initialization complete.
Conflicts:
	src/gl/shaders/gl_shader.cpp
2016-01-01 11:42:11 +01:00
Christoph Oelckers
07f5bfe45c - some unsaved stuff from last commit. 2016-01-01 11:41:21 +01:00
Christoph Oelckers
298b2bae7c - basics of hardware shader framework complete. The implementation in the shader manager still needs to be done, though.
Conflicts:
	src/gl/textures/gl_material.cpp
2016-01-01 11:40:55 +01:00
Christoph Oelckers
f852f46a96 - basic outline of definition stuff and adjustment of shader sources. 2016-01-01 11:30:56 +01:00
Christoph Oelckers
f2c890272f - FRenderState::Apply does not need to call ApplyColorMask. 2016-01-01 10:59:34 +01:00
Christoph Oelckers
3bad7f9b55 Merge branch 'master' of https://github.com/rheit/zdoom 2016-01-01 00:46:00 +01:00
Randy Heit
1d759283c0 Cleanup the zoom/reload/userX handling for A_WeaponReady
- There was lots of code duplication. Consolidated it.
- Renamed WRF_UserX to WRF_AllowUserX for consistancy.
2015-12-31 16:46:19 -06:00
Randy Heit
afbf88cc63 Remove WRF_ALLUSER. 2015-12-31 16:46:18 -06:00
Randy Heit
4931c90839 Bump save version for bigger WeaponState property 2015-12-31 16:46:18 -06:00
MajorCooke
3566d3157a Use | instead of +. 2015-12-31 16:46:17 -06:00
MajorCooke
6478b98eea Update serialization to BYTE from WORD for older save games. 2015-12-31 16:46:17 -06:00
MajorCooke
b09a81126f - Changed WeaponState from 8-bit to 16-bit integer.
- Because the flags for WF_USER#OK are 256 on up, this is required in order to work.
2015-12-31 16:46:17 -06:00
MajorCooke
eed6680a67 Added support for weapon states User#.
- Added keybinds for the user state triggering.
- Added WRF_USER# flags which must be specified in order to use.
- # can be 1-4.
2015-12-31 16:46:16 -06:00
Christoph Oelckers
addd059410 Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-31 23:05:13 +01:00
Christoph Oelckers
5e975ac9f6 - extended $mididevice to add an optional parameter, which has the following meaning for the different MIDI devices:
* OPL: specify the core to use for playing this song
* FluidSynth: specify a soundfont that should be used for playing the song.
* WildMidi: specify a config file that should be used for playing the song.
* Timidity++: specify an executable that should be used for playing the song. At least under Windows this allows using Timidity++ with different configs if the executable and each single config are placed in different directories.
* GUS: currently not operational, but should later also specify the config. This will need some work, because right now this is initialized only when the sound system is initialized.
* all other: no function.

These options should mainly be for end users who want to fine-tune how to play the music.
2015-12-31 23:03:53 +01:00
Randy Heit
d8af2e558f Fix potentiol buffer overrun in MUSSong2::Precache() 2015-12-31 15:28:18 -06:00
Christopher Bruns
ac6e2f4979 Use gl_RenderState to manipulate OpenGL color mask for anaglyph modes, to avoid glGet... 2015-12-31 11:57:21 -05:00
Christopher Bruns
95f4134630 Refactor stereo3d classes to use TArray instead of std::vector. 2015-12-31 09:36:37 -05:00
Christopher Bruns
5b7f9b04cd Add license headers to stereo3d source files. 2015-12-31 09:06:44 -05:00
Christoph Oelckers
1316120fe4 - fixed: The MUS precacher did not handle invalid patches well.
- increased the valid range of patch values for MUS. According to the original MIDI2MUS code it can handle numbers up to 188, not 181, and at least one track from Eternal Doom uses #183.
2015-12-31 14:35:34 +01:00
Christopher Bruns
655defed28 Avoid compile errors on Linux. Fixes #107. 2015-12-30 17:54:54 -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
c88ed426a8 - oops, this somehow lost the shift operator... 2015-12-30 20:39:38 +01:00
Christoph Oelckers
3c40d71c20 - hopefully fixed the MUS precaching for good.
According to blzut3, it looks like it is a byte followed by a variable length field. It can be any value 0-15 and will be followed by that many bytes one for each bank used. If the bank count is 0 then it is shorthand for using one bank (bank 0).
2015-12-30 20:32:19 +01:00
Christoph Oelckers
be6daf5d78 - changed instrument lookup in MUS files.
Based on evidence from several songs in Eternal Doom the description in all known documents is wrong. The instruments are not stored in a 16-bit word but in an 8-bit byte, followed by some variable size data.

Known variations are:

* second byte is 0 - no additional data follows
* second byte is 1 - a third byte for the 'bank' value follows.
2015-12-30 19:13:28 +01:00
Christoph Oelckers
86797b419f Merge branch 'master' of https://github.com/rheit/zdoom 2015-12-30 12:28:55 +01:00
coelckers
8f149d9048 Merge pull request #455 from edward-san/more_wildmidi_fixes
- Fixed Clang errors/warnings on wildMIDI code.
2015-12-30 12:27:56 +01:00
Edoardo Prezioso
a2b377c580 - Fixed Clang errors/warnings on wildMIDI code. 2015-12-30 10:58:52 +01:00
Christoph Oelckers
aff42a6186 - don't look up a lump name in PathExpander if we are only looking for real files. 2015-12-30 10:21:17 +01:00
Christoph Oelckers
1def61e3e3 - allow changing the reverb and resampling mode setting for WildMidi.
- fixed: WildMidi did not initialize the reverb data structures.
- removed the menu option for midi_timiditylike.
2015-12-30 10:14:18 +01:00
coelckers
2b1730deae Merge pull request #454 from kevans91/timidity-instrum-fix
Fix for __unix__ compilation -- section not changed with the rest of …
2015-12-30 09:16:46 +01:00
Kyle Evans
6c13ba40ac Fix for __unix__ compilation -- section not changed with the rest of fe2dcfd588 2015-12-30 01:09:11 -06:00
Randy Heit
3ec6ad5018 Add SysEx retrieval to the MIDI file reader 2015-12-29 22:39:38 -06:00
Randy Heit
92e0bbeee9 Handle WildMidi's supported SysEx messages 2015-12-29 18:25:13 -06:00
Randy Heit
6d2e93254f Fix CreateSMF's SysEx writing
- It was wrong before. It might still be wrong, but at least it doesn't
  look obviously wrong anymore.
2015-12-29 17:55:20 -06:00
Randy Heit
545e2f7c69 Slap WildMidi onto snd_listmididevices's output for Windows 2015-12-29 17:55:20 -06: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
Randy Heit
14361d9313 Remove midi_timiditylike
- Did anybody actually use this? Use WildMidi instead if you want
  something that sounds more like Timidity++ without actually being
  Timidity++, since not even the old Timidity manages that.
2015-12-29 17:51:08 -06:00
Christoph Oelckers
0cc4bd56d1 - removed the original WildMidi loader and the main playback function because none of those is actually being used anymore. 2015-12-29 23:18:39 +01:00
Christoph Oelckers
e0f9a59a9a - add WildMidi config file CVAR to menu. 2015-12-29 22:14:40 +01:00