Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
102 user(s) are online (52 user(s) are browsing Forums)

Members: 1
Guests: 101

FlynnTheAvatar, more...

Headlines

 
  Register To Post  

« 1 ... 9 10 11 (12) 13 14 15 ... 36 »
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
It looks like Homeworld was a good idea. The game has an almost complete support for big endian platforms. It only took me an afternoon to get a working version. Not everything is perfect though, there's no sound, saving/loading is broken and there are some graphic glitches in the menu. It's unlikely that I can fix the latter, so I appriciate any help from the Warp3D/MiniGL guys.
Once I fixed the former issues I'll upload the game for testing.

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
@BSzili

And it is great working on efika too... For sure Will great on the small 440 ;)

Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
I wouldn't bet my life on it. I had some slowdowns when I was selecting multiple units from all the rectangles being drawn.

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
@BSzili

On my Efika there is the 9250 I don't have slowdown :)

Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
Good for you, but I'm talking about the the OS4 port I'm working on, not the MorphOS version.

edit: A small update: the Save/Load issue only happens with saves from the tutorial mission. It's not OS4 specific, I had the same issue on Linux too. Since the tutorial isn't very long I might leave fixing this to later. This leaves me with the no sound issue.


Edited by BSzili on 2014/4/20 13:04:46
This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
More updates on Homeworld. Since the fix was simple enough, I've dealt with the save game issue on the tutorial mission. The sound is mostly working too, after I fixed the endianness issues. They have just disabled it for the PPC Mac build.. neat. There's one remaining issue, the sound mixer thread won't stop at exit. After I've dealt with this one, I'll upload a debug build for testing.

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Just can't stay away
Just can't stay away


See User information
@BSziliQuote:
They have just disabled it for the PPC Mac build.. neat

They couldn't make it work. Once again Amiga developers will teach them how to do it properly

Philippe 'Elwood' FERRUCCI
Sam460ex 1.10 Ghz
http://elwoodb.free.fr
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
Either way here's a debug build for testing:
http://bszili.morphos.me/ports/homeworld-os4.lha
It's full of debugging junk, so it's going to be slow. This is not the final version! If you want to test it, you need the data files (Update.big, HW_Music.wxd, Homeworld.big, HW_Comp.vce) from Homeworld patched to v1.05.

edit: Reuploaded the archive with a couple of bugs fixed: no speech, audio crackling, startup in window mode only.


Edited by BSzili on 2014/4/21 17:25:22
Edited by BSzili on 2014/4/22 8:58:08
This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Not too shy to talk
Not too shy to talk


See User information
@BSzili

Just tried the training mission on Sam460/RadeonHD with Wazp3D. Wazp3D is slow, but it runs.

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
Nice! Was half of the loading screen missing? (the upper left triangle)

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Home away from home
Home away from home


See User information
@BSzili
Tested on peg2/real warp3d : so far all seems works, and sound, and window (default) and fullscreen when specify /fullscreen (fullscreen also seems faster with same settings). Sounds also works, run/quit works without crashes, etc.

The only problems i notice is those missing triangles. They happens and when loading screen , and , when i just start mission, rotate a bit in few sides, and then press "esc" for options.

Check those screens:

Resized Image

Resized Image

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
I know about the missing triangles. I have the same issue, but I don't know the dos and don'ts if MiniGL, and the same code works on MorphOS, Linux, etc. Unless someone knows how to debug this, it's going to stay this way.
You were lucky not to get any crashes, the code which picks random unit sounds is broken. Eventually it will pick a huge value for the variation, try to play a non-existent sound, and crash. I more or less fixed it, but I still have no unit sounds, so it needs some more work before I upload it.

edit: Contrary to my previous post, the debug versions are hardcoded to run in a window, so I can always see the console output.

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Home away from home
Home away from home


See User information
@BSzili

Quote:
I know about the missing triangles. I have the same issue, but I don't know the dos and don'ts if MiniGL, and the same code works on MorphOS, Linux, etc. Unless someone knows how to debug this, it's going to stay this way.


What type of primitives is it rendering at that point? How is it being rendered? Using vertex arrays?

MiniGL can be compiled with debugging output enabled. The debug output does slow things down a lot, though. With simple scenes it can give you an idea as to what's going on. Personally, I prefer trying to isolate the source code in the game/app, but compiling a debug version is an option. You can do this by checking out the code from the svn. See this page for the svn's URL.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
@Hans
Thanks, I'll try to build a debug version of MiniGL if everything else fails. The loading screen uses glDrawArrays, which is kind of a waste for a single quad. Here's the code which does the loading screen:
#define primScreenToGLX(x) (((real32)(x)+0.325f) / (real32)(MAIN_WindowWidth) * 2.0f - 1.0f)

#define primScreenToGLY(y) (1.0f - ((real32)(y)+0.325f) / (real32)(MAIN_WindowHeight) * 2.0f)

udword rndTextureEnvironment(udword textureMode)
{
    
udword oldMode rndTextureEnviron;
    
    if (
rndTextureEnviron != textureMode)
    {
        
rndTextureEnviron textureMode;
        
glTexEnvi(GL_TEXTURE_ENVGL_TEXTURE_ENV_MODErndTextureEnviron);
    }
    
    return 
oldMode;
}

sdword rndTextureEnable(sdword bEnable)
{
    
sdword enabled rndTextureEnabled;
    if (
bEnable)
    {
        if (!
rndTextureEnabled)
        {
            
glEnable(GL_TEXTURE_2D);
            
rndTextureEnabled TRUE;
        }
    }
    else
    {
        if (
rndTextureEnabled)
        {
            
glDisable(GL_TEXTURE_2D);
            
rndTextureEnabled FALSE;
        }
    }
    return(
enabled);
}

void hrRectSolidTextured2(rectangle *rect)
{
    
GLfloat t[8] = { 0.0f1.0f1.0f1.0f0.0f0.0f1.0f0.0f };
    
GLfloat v[8] = { primScreenToGLX(rect->x0), primScreenToGLY(rect->y1 1),
                     
primScreenToGLX(rect->x1), primScreenToGLY(rect->y1 1),
                     
primScreenToGLX(rect->x0), primScreenToGLY(rect->y0),
                     
primScreenToGLX(rect->x1), primScreenToGLY(rect->y0) };

    
glColor4f(1.0f1.0f1.0f1.0f);

    
rndTextureEnvironment(RTE_Replace);
    
rndTextureEnable(TRUE);

    
glEnableClientState(GL_VERTEX_ARRAY);
    
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
    
glVertexPointer(2GL_FLOAT0v);
    
glTexCoordPointer(2GL_FLOAT0t);
    
glDrawArrays(GL_TRIANGLE_STRIP04);
    
glDisableClientState(GL_VERTEX_ARRAY);
    
glDisableClientState(GL_TEXTURE_COORD_ARRAY);

    
rndTextureEnable(FALSE);
    
rndTextureEnvironment(RTE_Modulate);
}

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Home away from home
Home away from home


See User information

Go to top
Re: BSzili port requests
Not too shy to talk
Not too shy to talk


See User information
@BSzili

Yes upper left triangle was missing.

Sinan - AmigaOS4 Beta-Tester
- AmigaOne X5000
- AmigaOne A1222
- Sam460ex
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
I tried running the game using a debug build of minigl, but all the debug output slowed things down to a crawl. I couldn't even pick an option from the menu. Before I start to cherry-pick which prints I want from the library, I'll wait for Hans' answer, maybe there's some obvious problem with the way HomeWorld renders the 2D primitives.

edit: These random unit sounds are starting to really piss me off. After a few instances it thrashes the mixer's memory, what a mess. No wonder they didn't bother fixing the sound engine for the PPC Mac port.


Edited by BSzili on 2014/4/22 20:05:59
This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Home away from home
Home away from home


See User information
@BSzili

Could you try disabling back-face culling at the start of hrRectSolidTextured2()? So, something like:
glPushAttrib(GL_ENABLE_BIT);
glDisable(GL_CULL_FACE);

// .. Actual render code

glPopAttrib();


I suspect that backface culling might be misbehaving. It may be treating one triangle as being clockwise and the other as being anti-clockwise. If so, then this is a MiniGL bug that needs fixing.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top
Re: BSzili port requests
Quite a regular
Quite a regular


See User information
Ok, I accidentally copied the wrong function. The one which draws the background disables backface culling:
void hrDrawBackground(void)
{
    
rndClearToBlack();

    if (
hrBackgroundTexture)
    {
        
real32 x = -((real32)hrBackXSize / (real32)MAIN_WindowWidth);
        
real32 y = -((real32)hrBackYSize / (real32)MAIN_WindowHeight);
        
GLfloat v[8], t[8];

        
sdword oldTex rndTextureEnable(TRUE);
        
udword oldMode rndTextureEnvironment(RTE_Replace);
        
bool cull glIsEnabled(GL_CULL_FACE) ? TRUE FALSE;
        
bool blend glIsEnabled(GL_BLEND) ? TRUE FALSE;
        
glDisable(GL_CULL_FACE);
        
glEnable(GL_BLEND);

        
trClearCurrent();
        
glBindTexture(GL_TEXTURE_2DhrBackgroundTexture);

        
t[0] = 0.0f;        t[1] = 0.0f;
        
t[2] = hrBackXFract[3] = 0.0f;
        
t[4] = 0.0f;        t[5] = hrBackYFrac;
        
t[6] = hrBackXFract[7] = hrBackYFrac;

        
v[0] = primScreenToGLX(hrScaleMissionLoadingScreens feResRepositionScaledX(0) : feResRepositionCentredX(0));
        
v[1] = primScreenToGLY(hrScaleMissionLoadingScreens feResRepositionScaledY(0) : feResRepositionCentredY(0));
        
v[2] = primScreenToGLX(hrScaleMissionLoadingScreens feResRepositionScaledX(640) : feResRepositionCentredX(640));
        
v[3] = primScreenToGLY(hrScaleMissionLoadingScreens feResRepositionScaledY(0) : feResRepositionCentredY(0));
        
v[4] = primScreenToGLX(hrScaleMissionLoadingScreens feResRepositionScaledX(0) : feResRepositionCentredX(0));
        
v[5] = primScreenToGLY(hrScaleMissionLoadingScreens feResRepositionScaledY(480) : feResRepositionCentredY(480));
        
v[6] = primScreenToGLX(hrScaleMissionLoadingScreens feResRepositionScaledX(640) : feResRepositionCentredX(640));
        
v[7] = primScreenToGLY(hrScaleMissionLoadingScreens feResRepositionScaledY(480) : feResRepositionCentredY(480));

        
glEnableClientState(GL_VERTEX_ARRAY);
        
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
        
glTexCoordPointer(2GL_FLOAT0t);
        
glVertexPointer(2GL_FLOAT0v);
        
glDrawArrays(GL_TRIANGLE_STRIP04);
        
glDisableClientState(GL_VERTEX_ARRAY);
        
glDisableClientState(GL_TEXTURE_COORD_ARRAY);

        
rndTextureEnvironment(oldMode);
        
rndTextureEnable(oldTex);
        if (
cullglEnable(GL_CULL_FACE);
        if (!
blendglDisable(GL_BLEND);
    }
}


hrRectSolidTextured2 is used to draw some red arrows, which aren't seen on the screenshot above, but are displayed correctly.

This is just like television, only you can see much further.
Go to top
Re: BSzili port requests
Home away from home
Home away from home


See User information
@BSzili

Are you sure that you have the right function now? Kas1e's screenshot #1 has the triangle edge going from bottom-left to top-right, but that code renders it the other way roung (top-left to bottom-right).

Also, the background on the menu screen is fine; it's the menu itself that's messed up.

Hans

http://hdrlab.org.nz/ - Amiga OS 4 projects, programming articles and more.
https://keasigmadelta.com/ - more of my work
Go to top

  Register To Post
« 1 ... 9 10 11 (12) 13 14 15 ... 36 »

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2023 The XOOPS Project