User Tag List

Page 3 of 3 FirstFirst 1 2 3
Results 21 to 30 of 30

Thread: Allegro 4.4 and GME 0.6 Thread

  1. #21
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,027
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.38%
    I haven't looked at GME. You think a newer version will fix some of the audio problems? I haven't experienced any artifacts on Windows 10, but I get no MIDIs on Ubuntu (even after trying Saffith's suggestion.)

    I fixed the problem by 1) patching Allegro's handling of focus switching and 2) modifying the ZC code to reset the screen state whenever it is running in full screen mode on windows and receives focus.

    The problem is that Microsoft dropped support of DirectDraw ages ago, so that ddraw.lib isn't even in the DirectX SDK. Instead when ZC uses direct draw, it gets old versions of the library included in Windows only for legacy programs, filtered through God knows how many layers of compatibility layers.

  2. #22
    Is this the end?
    ZC Developer
    Saffith's Avatar
    Join Date
    Jan 2001
    Age
    41
    Posts
    3,389
    Mentioned
    178 Post(s)
    Tagged
    6 Thread(s)
    vBActivity - Stats
    Points
    6,432
    Level
    24
    vBActivity - Bars
    Lv. Percent
    69.88%
    Quote Originally Posted by DarkDragon View Post
    but I get no MIDIs on Ubuntu (even after trying Saffith's suggestion.)
    Oh, you didn't mean the problem I thought you meant, I guess. You have samplesoundset/patches.dat in place, right?
    I'm pretty sure the MIDI handling hasn't changed for 4.4.

  3. #23
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,761
    Level
    21
    vBActivity - Bars
    Lv. Percent
    69.08%
    Quote Originally Posted by Saffith View Post
    Oh, you didn't mean the problem I thought you meant, I guess. You have samplesoundset/patches.dat in place, right?
    I'm pretty sure the MIDI handling hasn't changed for 4.4.
    MIDI handling should be the same, although I know that they did internalise some audio stuff (alogg, being one thing that is now in-built).

    Quote Originally Posted by DarkDragon View Post
    I haven't looked at GME. You think a newer version will fix some of the audio problems? I haven't experienced any artifacts on Windows 10, but I get no MIDIs on Ubuntu (even after trying Saffith's suggestion.)

    I fixed the problem by 1) patching Allegro's handling of focus switching and 2) modifying the ZC code to reset the screen state whenever it is running in full screen mode on windows and receives focus.

    The problem is that Microsoft dropped support of DirectDraw ages ago, so that ddraw.lib isn't even in the DirectX SDK. Instead when ZC uses direct draw, it gets old versions of the library included in Windows only for legacy programs, filtered through God knows how many layers of compatibility layers.

    It very well may resolve the audio issues, but I have not done enough research to give any definitive answer.

    Change Log for GME through 0.6.1

    Here's the latest repo and info:
    https://bitbucket.org/mpyne/game-music-emu/wiki/Home
    https://bitbucket.org/mpyne/game-music-emu/downloads

    Note that Blargg is not the lead developer these days, so his own website is also very outdated. Use the above links for the latest stuff, if you want to compare it, and check any of the logs.

    Older changes, through v0.5.2 were maintained here: http://www.slack.net/~ant/libs/audio.html

    For reference, we use 0.2.0 at present.

  4. #24
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.09%
    If you guys are feeling confident about allegro4.4 then what about changing the CreateWindowEx() function to allow applications (eg; ZC not ZQ) to set window resizing so users that have fulscreen problems can just maximize ZC? I already added the part that lets the ZC window be any resolution > 320x240 so it /should be only 2 more steps... I think...

    Code:
    		if (resizable)
    			win32Style |= WS_THICKFRAME | WS_MAXIMIZEBOX;
    And in wndproc
    Code:
    			// Resize event
    		case WM_SIZE :
    			{
    				if(wParam != SIZE_MINIMIZED)
    				{
    					windowRect ={ 0, 0, LOWORD(lParam), HIWORD(lParam) };
    				}
    				break;
    			}
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  5. #25
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,027
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.38%
    I can give it a try.

    Doesn't Allegro need to somewhere destroy and recreate the DirectDraw surface after resizing, though?

  6. #26
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,761
    Level
    21
    vBActivity - Bars
    Lv. Percent
    69.08%
    Quote Originally Posted by Gleeok View Post
    If you guys are feeling confident about allegro4.4 then what about changing the CreateWindowEx() function to allow applications (eg; ZC not ZQ) to set window resizing so users that have fulscreen problems can just maximize ZC? I already added the part that lets the ZC window be any resolution > 320x240 so it /should be only 2 more steps... I think...

    Code:
    		if (resizable)
    			win32Style |= WS_THICKFRAME | WS_MAXIMIZEBOX;
    And in wndproc
    Code:
    			// Resize event
    		case WM_SIZE :
    			{
    				if(wParam != SIZE_MINIMIZED)
    				{
    					windowRect ={ 0, 0, LOWORD(lParam), HIWORD(lParam) };
    				}
    				break;
    			}
    Please be certain that anything that you want to do to accomplish this is more than yet-another-allegro-hack. I'm not sold on a maximised display working properly, or even being something that enough users want, to justify the potential problems. Mostly, because the entire reason that the fullscreen crowd uses fullscreen, is to avoid looking at visual distractions, such as the menu bar.

    If we do this sort of thing, we should render a backdrop bitmap (black), and render the zc bitmap to it, scaling until one of the dimensions strikes the edge of the background bitmap. Thus, preserving the aspect ratio of the main ZC screen, whilst scaling it up and providing a border.

    That way, you don't need to worry about creating and destroying the main system bitmap, too. Only the main window bitmap need be regenerated, and the playfield can be scaled to it. Essentially, make this an option that only works with the new double-blitting.

  7. #27
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,027
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.38%
    Does the new double-blitting work for you in fullscreen? If so, there may not be a need for a maximized-window workaround.

  8. #28
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,958
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.09%
    Quote Originally Posted by DarkDragon View Post
    I can give it a try.

    Doesn't Allegro need to somewhere destroy and recreate the DirectDraw surface after resizing, though?
    Yep, you're right. I knew I was forgetting something.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  9. #29
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,761
    Level
    21
    vBActivity - Bars
    Lv. Percent
    69.08%
    Quote Originally Posted by DarkDragon View Post
    Does the new double-blitting work for you in fullscreen? If so, there may not be a need for a maximized-window workaround.
    It absolutely does. No more colour issues, no notable slowdown yet. I need to try some heavily scripted quests, and enable some cheats, to see if anything bad happens.

    My guess, is that the hardware bitmap as 8--bit simply isn't possible with modern GPUs. The colour table was probably being corrupted, by allegro, trying to write an 8-bit depth plane bitmap in ahrdware, versus a native bitmap in hardware, and a converted memory blit.

    We need to try this on Linux and MaxOSX builds--and aye, I will get 'round to those. I need to pick up one or two Apple laptops, and then see what issues we have. Unless @Saffith wants to share his VM image, so that I can run everything from one system. I'll buy some tools to ensure that we pack our files in a 'legal' way for 10.12, too.

  10. #30
    Administrator DarkDragon's Avatar
    Join Date
    Oct 2001
    Posts
    6,228
    Mentioned
    70 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    11,027
    Level
    31
    vBActivity - Bars
    Lv. Percent
    8.38%
    grayswandir has tested on Linux and it seems to work for him as well.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social