I built the Zandronum 1.1 alpha on a PPC Mac under Tiger but when I run it, it stays at "Texman.Init: Init texture manager." for eternity. Whee.
Can anything be done or is it hopeless?
My PPC Mac build hangs at Texman.Init
-
- Banned
- Posts: 3
- Joined: Mon Jan 21, 2013 4:50 am
- Banned: Permanently
-
- Banned
- Posts: 3
- Joined: Mon Jan 21, 2013 4:50 am
- Banned: Permanently
RE: My PPC Mac build hangs at Texman.Init
Nope.
I did some poking around and found the problem.
Open up pngtexture.cpp and go to FPNGTexture::FPNGTexture. See where it says while(id != MAKE_ID('I','D','A','T') && id != MAKE_ID('I','E','N','D'))?
THAT'S SUPPOSED BE AN IF STATEMENT.
Now my Zandronum build doesn't get stuck in an endless loop at texman init. The framerate may suck at high res, the SFX don't play(wtf), and it keeps showing malloc errors in the terminal, but it's playable.
I'd kind of like the SFX to work, though. Any hints there?
I did some poking around and found the problem.
Open up pngtexture.cpp and go to FPNGTexture::FPNGTexture. See where it says while(id != MAKE_ID('I','D','A','T') && id != MAKE_ID('I','E','N','D'))?
THAT'S SUPPOSED BE AN IF STATEMENT.
Now my Zandronum build doesn't get stuck in an endless loop at texman init. The framerate may suck at high res, the SFX don't play(wtf), and it keeps showing malloc errors in the terminal, but it's playable.
I'd kind of like the SFX to work, though. Any hints there?
- Torr Samaho
- Lead Developer
- Posts: 1543
- Joined: Fri May 25, 2012 6:03 pm
- Location: Germany
RE: My PPC Mac build hangs at Texman.Init
What makes you think so? id is updated inside the while loop.texman_init wrote: Open up pngtexture.cpp and go to FPNGTexture::FPNGTexture. See where it says while(id != MAKE_ID('I','D','A','T') && id != MAKE_ID('I','E','N','D'))?
THAT'S SUPPOSED BE AN IF STATEMENT.
RE: My PPC Mac build hangs at Texman.Init
Actually it's supposed to be loop. It's parsing all the chunks in the PNG until it hits the image data (or end of the PNG). Look at the end of the loop and you'll see that id changes. The latest version of ZDoom has this at the end:texman_init wrote: THAT'S SUPPOSED BE AN IF STATEMENT.
Code: Select all
lump.Seek(4, SEEK_CUR); // Skip CRC
lump.Read(&len, 4);
id = MAKE_ID('I','E','N','D');
lump.Read(&id, 4);
Like I said in the post linked, there are a ton of Mac/Linux support improvements in ZDoom, so be sure to look at the differences there. To make things more difficult, there are some rewrites between 2.3.1 (which Zandronum is based off) and when Mac OS X was supported.
Last edited by Blzut3 on Mon Jan 21, 2013 6:43 pm, edited 1 time in total.