Release Secret Maryo Chronicles


ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,771
Age
47
Location
France, near Lyon
Here is Secret Maryo Chronicles aka SMC.


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:

ingoreis

Advanced Member
Staff member
Joined
Jan 18, 2010
Messages
8,117
Age
39
Location
49.491276,8.423518
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 :)
 

mcobit

Advanced Member
Joined
Jul 28, 2008
Messages
6,910
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 :)
 

lunixbochs

Moderator
Staff member
Joined
Sep 18, 2011
Messages
742
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.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,771
Age
47
Location
France, near Lyon
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:

mcobit

Advanced Member
Joined
Jul 28, 2008
Messages
6,910
What vorbis version are we using? Isn't there one especially optimized for arm with only integer math or something?
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,771
Age
47
Location
France, near Lyon
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...
 

crow_riot

Well-Known Member
Joined
Sep 21, 2009
Messages
1,763
Location
.at
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:

klapse

Central Scrutinizer
Joined
Aug 30, 2012
Messages
1,932
Location
Germany
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:

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,771
Age
47
Location
France, near Lyon
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.
 

ptitSeb

Serial Porter
Joined
Aug 15, 2012
Messages
8,771
Age
47
Location
France, near Lyon
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:

gambler172

Still Fresh
Joined
May 13, 2012
Messages
38
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
 
Top