GZDoom 3.3.0 released

News about ZDoom, its child ports, or any closely related projects.
[ZDoom Home] [Documentation (Wiki)] [Official News] [Downloads]

[Tap Here for Mobile-Friendly Forums]

Moderator: Developers

Re: GZDoom 3.3.0 released

Postby Chris » Thu Mar 29, 2018 10:58 am

Csonicgo wrote:If MAME OPL2 is to be made available to ADLMIDI, it needs to be stated that not all banks will work. DMXOPL is a prime example of a bank that wouldn't work with the OPL2 core at all due to its use of features that the OPL2 simply doesn't have.

Is there some way to tell if a bank relies on OPL3 features? If so, it shouldn't be hard to add a query to the core interface to report of it's OPL3 or OPL2, and exclude OPL3 sound banks from OPL2 cores.
User avatar
Chris
 
Joined: 17 Jul 2003

Re: GZDoom 3.3.0 released

Postby Csonicgo » Thu Mar 29, 2018 11:14 am

Chris wrote:
Csonicgo wrote:If MAME OPL2 is to be made available to ADLMIDI, it needs to be stated that not all banks will work. DMXOPL is a prime example of a bank that wouldn't work with the OPL2 core at all due to its use of features that the OPL2 simply doesn't have.

Is there some way to tell if a bank relies on OPL3 features? If so, it shouldn't be hard to add a query to the core interface to report of it's OPL3 or OPL2, and exclude OPL3 sound banks from OPL2 cores.


The OPL3 really has no way of knowing. All it knows is if its 4-op capable registers are being activated as 4-op, or if its voice registers have numbers in them. But this is OPL emulation, so it's not like we have to look at the chip - we can look at the banks.

If the bank in question uses the additional waveforms the OPL3 offers in any of the instruments, or uses "true" 4-op mode in any of the instruments, it's an OPL3 bank. If the bank uses what ADLMIDI calls "pseudo 4-op", which is just two 2-op registers playing together, the OPL2 will have no problem. So basically it'd be down to scanning the instruments and checking for numbers that exceed the threshold of the OPL2. any instrument that uses waveforms 4-7 should flag the whole bank as OPL3 only. Same with the "4-op" flag, which I do think is available in ADLMIDI, although not all of the source banks from which the cpp files are generated would have that information.
User avatar
Csonicgo
OPL Goddess
 
Joined: 15 Apr 2004
Location: Leeds

Re: GZDoom 3.3.0 released

Postby Wohlstand » Thu Mar 29, 2018 11:46 am

It's not hard to analyze register data for OPL3 data not supported on the OPL2 chip, then, use a special internal table to mark banks are OPL2-only are allowed to work on OPL2 cores. As another example are lots of banks are using 4-oprerator instruments which is a feature of OPL3. OPL3 has some things are not related to 4-operators support:
- Supports left-center-right panning
- Supports 18 channels (OPL2 supports 9 only)
- Has 4 extra waveforms are introduced in OPL3 only.
There are can be used well in two-operator bank formats as well as there are allowing to store that data into same registers. When speaking about four-operators, that requires extra data and a bit different logic to manage chip registers.
User avatar
Wohlstand
lib[ADL&OPN]MIDI Developer
 
Joined: 17 Dec 2017
Location: Moscow, Russia
Discord: Wohlstand#4881

Re: GZDoom 3.3.0 released

Postby Gez » Thu Mar 29, 2018 12:05 pm

I believe that stereo panning and 18 channels is possible with dual OPL2 chips. An OPL chip can behave as if it were two OPL2 chips, and in addition it has four more waveforms.

The ZDoom OPL emulator allows full stereo panning (something real OPL never allowed) and pretty much unlimited channels by emulating more chips than any sound card ever had anyway; so only the waveform limitation is really important IMO.
Gez
 
 
 
Joined: 06 Jul 2007

Re: GZDoom 3.3.0 released

Postby Csonicgo » Thu Mar 29, 2018 12:26 pm

Gez wrote:I believe that stereo panning and 18 channels is possible with dual OPL2 chips. An OPL chip can behave as if it were two OPL2 chips, and in addition it has four more waveforms.

The ZDoom OPL emulator allows full stereo panning (something real OPL never allowed) and pretty much unlimited channels by emulating more chips than any sound card ever had anyway; so only the waveform limitation is really important IMO.


You'd still need to check for 4-op mode for completeness. I could make a bank that is true 4-op but never use a single new waveform - which is what FatMan did with his 4-op bank, IIRC.
User avatar
Csonicgo
OPL Goddess
 
Joined: 15 Apr 2004
Location: Leeds

Re: GZDoom 3.3.0 released

Postby The Ultimate DooMer » Fri Mar 30, 2018 9:22 am

Since using this version, I notice that my graphics card continues to work hard even when the game is paused and minimised. I presume it's due to this change from 3.2.4:

OpenGL rendering now continues even when losing focus if not running fullscreen


May I ask why this was implemented? (the reason I use windowed mode is simply because in fullscreen mode the game steals focus and prevents other windows from being used when alt-tabbing to them...an issue which has been around for years)
User avatar
The Ultimate DooMer
Will you start the fans please!
 
Joined: 15 Jul 2003
Location: Industrial Zone

Re: GZDoom 3.3.0 released

Postby _mental_ » Fri Mar 30, 2018 9:31 am

The Ultimate DooMer wrote:May I ask why this was implemented? (the reason I use windowed mode is simply because in fullscreen mode the game steals focus and prevents other windows from being used when alt-tabbing to them...an issue which has been around for years)

Can't say anything about this feature but did you try borderless windowed mode?
_mental_
 
 
 
Joined: 07 Aug 2011

Re: GZDoom 3.3.0 released

Postby Graf Zahl » Fri Mar 30, 2018 9:41 am

Who implemented such a thing without providing a switch?
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: GZDoom 3.3.0 released

Postby Rachael » Fri Mar 30, 2018 11:43 am

I did that. At the time, it seemed to me that GZDoom was still making full use of the GPU even when minimized, so I figured I might as well at least make it update the screen while it is doing that so that it would not be wasted work by the GPU. Probably my mistake for not using actual profiling tools for this, though. AFAIR dpJudas said something to the effect of GZDoom needing a window to draw on, even when minimized, because it would affect some display calculations that were happening regardless of whether it was minimized or not (elsewise it would crash). Also, my GPU temps never went down, even when GZDoom was hiding in my taskbar and supposedly "inactive". The only way to cool the GPU was to quit GZDoom.
User avatar
Rachael
QZDoom + Webmaster
 
Joined: 13 Jan 2004

Re: GZDoom 3.3.0 released

Postby Graf Zahl » Fri Mar 30, 2018 12:01 pm

AFAIK that was the result of a bug that got fixed in the mean time.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: GZDoom 3.3.0 released

Postby Hirogen2 » Sun Apr 01, 2018 9:28 am

Graf Zahl wrote:
  • Import Timidity++ into GZDoom directly

This somehow broke timidity playback under Linux. In 3.2.5, a separate process would be spawn and play the music, in 3.3.0 no such thing happens and it falls back to fluid. Console says:
Code: Select allExpand view
GZDoom 3.3.0 -  - SDL version
Compiled on

M_LoadDefaults: Load system defaults.
W_Init: Init WADfiles.
 adding /usr/share/doom/gzdoom.pk3, 684 lumps
 adding /usr/share/doom/doom2.wad, 2919 lumps
Unknown command "nofullscreen"
I_Init: Setting up machine state.
CPU Vendor ID: GenuineIntel
  Name: Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
  Family 6, Model 142, Stepping 10
  Features: SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 HyperThreading
I_InitSound: Initializing OpenAL
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
No protocol specified
  Opened device ALSA Default
  EFX enabled
V_Init: allocate screen.
S_Init: Setting up sound.
ST_Init: Init startup screen.
Checking cmd-line parameters...
S_InitData: Load sound definitions.
G_ParseMapInfo: Load map definitions.
Texman.Init: Init texture manager.
ParseTeamInfo: Load team definitions.
LoadActors: Load actor definitions.
script parsing took 197.17 ms
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init menus.
P_Init: Init Playloop state.
ParseSBarInfo: Loading custom status bar definition.
D_CheckNetGame: Checking network game status.
player 1 of 1 (1 nodes)
No protocol specified
No protocol specified
Using video driver x11
GL_VENDOR: Intel Open Source Technology Center
GL_RENDERER: Mesa DRI Intel(R) UHD Graphics 620 (Kabylake GT2)
GL_VERSION: 4.5 (Core Profile) Mesa 18.0.0-rc5 (Core profile)
GL_SHADING_LANGUAGE_VERSION: 4.50

Max. texture size: 16384
Max. texture units: 32
Max. varying: 128
Max. combined shader storage blocks: 72
Max. vertex shader storage blocks: 12
Resolution: 640 x 480
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
fluidsynth: warning: No preset found on channel 0 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 1 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 2 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 3 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 4 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 5 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 6 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 7 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 8 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 9 [bank=128 prog=0]
fluidsynth: warning: No preset found on channel 10 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 11 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 12 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 13 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 14 [bank=0 prog=0]
fluidsynth: warning: No preset found on channel 15 [bank=0 prog=0]
fluidsynth: warning: Failed to pin the sample data to RAM; swapping is possible.
Unable to create Timidity++ MIDI device. Falling back to FluidSynth
User avatar
Hirogen2
 
Joined: 19 Jul 2003
Location: Central Germany

Re: GZDoom 3.3.0 released

Postby Graf Zahl » Sun Apr 01, 2018 9:40 am

The external process is no longer being supported. You have to make sure that your Timidity sound font settings are ok, otherwise, if it cannot find something it can play with, it will try the next synth in the list. And all your warnings suggest that you also do not have a valid setup for FluidSynth.
User avatar
Graf Zahl
Lead GZDoom Developer
 
Joined: 19 Jul 2003
Location: Germany

Re: GZDoom 3.3.0 released

Postby m8f » Sun Apr 01, 2018 9:43 am

Hirogen2 wrote:This somehow broke timidity playback under Linux. In 3.2.5, a separate process would be spawn and play the music, in 3.3.0 no such thing happens and it falls back to fluid.

See this topic. The summary: enter this in console:
Code: Select allExpand view
timidity_config /opt/gzdoom/gzdoom.sf2

Edit: or
Code: Select allExpand view
timidity_config where_your_gzdoom_is_installed/gzdoom.sf2
User avatar
m8f
the dreamer
 
Joined: 29 Dec 2017
Location: Siberia
Discord: m8f#0629

Re: GZDoom 3.3.0 released

Postby Rachael » Mon Apr 02, 2018 1:00 am

GZDoom 3.3.0 post-mortem download stats:
User avatar
Rachael
QZDoom + Webmaster
 
Joined: 13 Jan 2004

Re: GZDoom 3.3.0 released

Postby De-M-oN » Fri Apr 13, 2018 1:28 pm

oh I missed the survey. Sorry.
I'm another user with a GTX1080 card and so a vulkan supporting computer^^
User avatar
De-M-oN
 
Joined: 26 May 2008

PreviousNext

Return to ZDoom (and related) News

Who is online

Users browsing this forum: No registered users and 2 guests