Release Secret Maryo Chronicles


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
9,306
Age
51
Location
France, near Lyon
Here is Secret Maryo Chronicles aka SMC.

preview1.png

And a video of the Gameplay on the Pandora by IngoReis

https://www.youtube.com/embed/Idx-GCtM0tc?feature=oembed

I ported it using gl4es. It's quite fast, but may slowdown in some later levels, so you may need to reduce graphical details in the Options screen and recreate the cache (that option screen seems a bit crashy, the Texture resolution slider doesn't works in fact and crash, but the geometry level is fine: fixed with build 02).

By the way, the Creation of the Cache is very long!

The 4 actions keys are mapped to the 4 Pandora buttons by default, but you can change them (if you prefer Run on a shoulder instead of {A}

History log
========

Build 04
----------

  • Repackage to add missing libs
Build 03
----------

  • Rebuilt with latest tools
  • Updated libs
Build 02
----------

  • Compatible with Firmware SZ 1.62+
  • (somewhat) Fixed the menu to change Texture & Geometry details (I suggest you reduce Texture detail on CC model)
Build 01
----------

  • Initial build
  • Using latest GIT code
  • Key & Screen configured for Pandora
 
Last edited:
Whoohoo ;)

I waited Years for this Game,tried to port it myself but ever fails on GL Errors.

Many Thx for Releasing this wonderfull Game :)
 
Ah Memories... when sebt3 converted the menuengine to gles and I did all the quads just to see that it didn't work ;)


Great to se glshim on a level where it can handle that stuff now :)
 
This was one of my original goals with glshim! I tested a while back and it got ingame but failed a bit. Good to see a release.

Can you run prof on it to see where the performance problems originate? Might be something I can optimize in glshim or point you in the right direction to optimize in the game.
 
This was one of my original goals with glshim! I tested a while back and it got ingame but failed a bit. Good to see a release.


Can you run prof on it to see where the performance problems originate? Might be something I can optimize in glshim or point you in the right direction to optimize in the game.
I'll do that tomorrow. I didn't witness the slowdown myself, ekyanjo did, so I may fist to find one of the offending level...

*EDIT* here is screen shot of perf mon on 1st level.perf_smc.png. We can see Vorbis and GLES taking much of time... And I guess the CPU is waiting for the GPU (with the omap3_enter_idle).
 
Last edited by a moderator:
What vorbis version are we using? Isn't there one especially optimized for arm with only integer math or something?
 
What vorbis version are we using? Isn't there one especially optimized for arm with only integer math or something?
I haven't found this one. There're supposed to be some integer-only path in the code, but when I activate it (in the F1-Spirit game), I found it broke the audio. But maybe I have to look again and try harder...
 
the lib is called "libtremor" and is directly from xiph. i've used it on the wiz and didnt have any problems with it.


ninja'd
 
Last edited by a moderator:
Pretty big game (130MiB). Would like if PND or in future PYR files could have some delta-upgrade facility to prevent redownloading all the data.

EDIT: Tutorial level is around 10fps. Beginning level of normal game around 20. I hope some speed improvements can be found.
 
Last edited by a moderator:
Pretty big game (130MiB). Would like if PND or in future PYR files could have some delta-upgrade facility to prevent redownloading all the data.
I can provide manual delta update (like I have done with UFO:AI or WoP), but 130M is not that big by current standard.
 
The crash in the "Change Video Texture" option seems to by in CEGUI :( . Quite difficult to track.

I added glGetTexLevelParams and glGetTexImage (a simplified version), but it doesn't seem to crash in glshim.

It seems inside video.cpp source, line 410 with


pGuiRenderer->grabTextures();


Which is inside CEGUI (I compiled 0.7.9 for SMC).

in file CEGUIOpenGLRenderer.cpp:


//----------------------------------------------------------------------------//
void OpenGLRenderer::grabTextures()
{
    // perform grab operations for texture targets
    TextureTargetList::iterator target_iterator = d_textureTargets.begin();
    for (; target_iterator != d_textureTargets.end(); ++target_iterator)
        static_cast<OpenGLTextureTarget*>(*target_iterator)->grabTexture();
 
    // perform grab on regular textures
    TextureList::iterator texture_iterator = d_textures.begin();
    for (; texture_iterator != d_textures.end(); ++texture_iterator)
        (*texture_iterator)->grabTexture();
}


and in CEGUIOpenGLTextureTarget.cpp:


void OpenGLTextureTarget::grabTexture()
{
    if (d_CEGUITexture)
    {
        d_owner.destroyTexture(*d_CEGUITexture);
        d_texture = 0;
        d_CEGUITexture = 0;
    }
}


And in CEGUIOpenGLTexture


void OpenGLTexture::grabTexture()
{
    // if texture has already been grabbed, do nothing.
    if (d_grabBuffer)
        return;
 
    // save old texture binding
    GLuint old_tex;
    glGetIntegerv(GL_TEXTURE_BINDING_2D, reinterpret_cast<GLint*>(&old_tex));
 
    // bind the texture we want to grab
    glBindTexture(GL_TEXTURE_2D, d_ogltexture);
    // allocate the buffer for storing the image data
    d_grabBuffer = new uint8[static_cast<int>(4*d_size.d_width*d_size.d_height)];
    glGetTexImage(GL_TEXTURE_2D, 0, GL_RGBA, GL_UNSIGNED_BYTE, d_grabBuffer);
    // delete the texture
    glDeleteTextures(1, &d_ogltexture);
 
    // restore previous texture binding.
    glBindTexture(GL_TEXTURE_2D, old_tex);
}


After that, I don't know (yet) what it does...
 
Last edited by a moderator:
Hi

have the download Problems from the PC

i only download games from the PC,cause from Pandora,it is really a pain....

greetings Walter
 
Back
Top