forums.ps2dev.org Forum Index forums.ps2dev.org
Homebrew PS2, PSP & PS3 Development Discussions
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

JGE++ 1.0: Hardware accelerated 2D game SDK for PSP

 
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development
View previous topic :: View next topic  
Author Message
dr_watson



Joined: 28 Nov 2005
Posts: 42

PostPosted: Mon Oct 22, 2007 1:19 pm    Post subject: JGE++ 1.0: Hardware accelerated 2D game SDK for PSP Reply with quote

Introduction

JGE++ (Jas Game Engine++) is a hardware accelerated 2D game SDK for PSP. It supports cross-platform development under MS Windows. The entire game development process, including coding, debugging and testing, can be done in Windows. (However, it's still recommended to test your game on PSP from time to time to make sure everything is fine.)

You can use JGE++ to make Windows games but the primary platform is PSP.


Features


  • 1.xx and 3.xx firmware support on PSP.
  • Hardware accelerated 2D rendering including scaling, rotations and colour blending.
  • Animated sprites.
  • Geometry shapes rendering, including rectangle, circle, polygons and thick lines.
  • Loading PNG, JPEG and GIF.
  • Spline.
  • Advanced multiple emitter and key frame based particle system.
  • Bitmap fonts.
  • Chinese GBK fonts.
  • True Type fonts.
  • Stereo WAV playback.
  • Hardware MP3 decoding on PSP.
  • Resource manager.
  • Zipped resource support.
  • Frame based animation system using XML scripts.
  • Basic 3D functions, including support of rendering textured triangles, Quake 2 (MD2) model and OBJ model.
  • Port of HGE helper classes: hgeParticleSystem, hgeDistortionMesh and hgeFont.
  • Input system for English and Chinese.




Tutorials


  • 01.HelloWorld
  • 02.RenderingImages
  • 03.ResourceManager
  • 04.Splines
  • 05.Shapes
  • 06.TrueTypeFont
  • 07.DisplayingChinese
  • 08.Animator
  • 09.3DPrimer
  • 10.HGEDistortionMesh
  • 11.HGEParticles
  • 12.InputSystem




Project page

http://jge.googlecode.com/


Official forums

http://jge.khors.com/


License

JGE++ is Licensed under the BSD license, see LICENSE in root folder for details.



The JGE++ Team


  • James Hui (a.k.a. Dr.Watson)
  • Duan Sijiu (a.k.a. Chi80)




Special thanks to:


  • Cheese (WAV playback code)
  • Cooleyes (MP3 hardware decoder)
  • Fan990099
  • Firenonsuch
  • Newcreat
  • Raphael (VRAM manager)
  • Subelf
  • Youmentang
  • Jasmine (James' lovely wife)





Download]

JGE++ 1.0

(You can also download it from the project's home page on googlecode.)
Back to top
View user's profile Send private message
willow :--)



Joined: 13 Jan 2007
Posts: 126

PostPosted: Tue Oct 14, 2008 4:36 pm    Post subject: Reply with quote

I don't know how many applications still use JGE++ out there, but here are a few links to some bug fixes/discussions on the JGE forum.
This is a nice lib, it needs more love !

small bug in JGui.h
JGfx.cpp DrawRoundRect fix
IsPlaying() function is bugged?
Possible Bug (Memory leak ?) in JPEG Tex Loading functions
Back to top
View user's profile Send private message
willow :--)



Joined: 13 Jan 2007
Posts: 126

PostPosted: Fri Nov 21, 2008 11:55 am    Post subject: Reply with quote

With (lots of) help from a friend, I've been working on this lib and updated it.

The modified version can be found on Wagic's svn, info at :
http://code.google.com/p/wagic/

I still recommend that you Download Dr.Watson's version first, if only for the tutorials that ship with it.

The current SVN version has the following changes, compared to Dr Watson's latest version:
- (Linux) The Game can now be compiled for Linux (That's right, JGE is probably the only lib in the world that allows you to create a game for Linux, Windows and the PSP from the same source code)
- (PSP) Fixed a memory leak with jpg loading
- (PSP) Updated mp3 playback with the new method from Raphael (http://forums.ps2dev.org/viewtopic.php?t=10798). This fixes some random crashes when mp3 are being played.
- (PSP) Small fixes in graphical display
- (Windows) can now change the screen size (simple scaling stuff, but still nice, allows for some windowed full screen)

Chinese input is probably completely broken though, sorry for that :/

This is merely a tool for me, so please don't expect the kind of support you would have got from Dr.Watson, but feel free to use it.
This is still work in progress, DrWatson's version is way easier to use and compile, so if you don't have any issues with DrWatson's release, don't bother using this one !
Back to top
View user's profile Send private message
sakya



Joined: 28 Apr 2006
Posts: 190

PostPosted: Fri Nov 21, 2008 8:01 pm    Post subject: Reply with quote

Hi! :)

Many thanks.
Btw I read from the svn:
Quote:
- Fixed MP3 play bug on the psp. MP3 files need to have NO Id3v2 tag, or they won't play. Also, volume control is broken


To fix the id3v2 tag problem you can just seek past the tag (I don't use the new mp3 playback code but maybe you just have to set the mp3Init.mp3StreamStart).
This function works fine to calculate the tag dimension:
Code:
int GetID3TagSize(char *fname)
{
    SceUID fd;
    char header[10];
    int size = 0;
    fd = sceIoOpen(fname, PSP_O_RDONLY, 0777);
    if (fd < 0)
        return 0;

    sceIoRead(fd, header, sizeof(header));
    sceIoClose(fd);

    if (!strncmp((char*)header, "ea3", 3) || !strncmp((char*)header, "EA3", 3)
      ||!strncmp((char*)header, "ID3", 3))
    {
        //get the real size from the syncsafe int
        size = header[6];
        size = (size<<7) | header[7];
        size = (size<<7) | header[8];
        size = (size<<7) | header[9];

        size += 10;

        if (header[5] & 0x10) //has footer
            size += 10;
         return size;
    }
    return 0;
}


Ciaooo
Sakya
Back to top
View user's profile Send private message Visit poster's website
willow :--)



Joined: 13 Jan 2007
Posts: 126

PostPosted: Fri Nov 21, 2008 9:03 pm    Post subject: Reply with quote

Ah, thanks, I'll definitely use that !
Back to top
View user's profile Send private message
willow :--)



Joined: 13 Jan 2007
Posts: 126

PostPosted: Fri Oct 02, 2009 11:38 am    Post subject: Reply with quote

I saw that the JGE++ forums are closed. I don't know how many applications out there use it, but I now highly recommend to use the version from Wagic's svn, as it is maintained (which is not the case of the original one).

We've fixed lots of bugs from the original code.

However I'm still having a bad issue right now: The screen randomly displays crap:
To me it seems that the screen expects a 5551 framebuffer but actually gets a 8888 one. Am I right? If not, what would explain such a behavior?

Most of the time the display works correctly, but from time to time an update to the code will show that kind of screen. So I'm thinking of an uninitialized variable, but knowing what can cause this behavior would help me to track the bug down (the bug never reproduced with PSPLink, that would be too easy...)
_________________
Wagic. Play that card game against an AI on your PSP
Back to top
View user's profile Send private message
yeshua



Joined: 30 Nov 2009
Posts: 20

PostPosted: Mon Nov 30, 2009 10:58 am    Post subject: Reply with quote

Anyone have any idea how to fix the above problem this? Any info at all would be greatly appreciated.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    forums.ps2dev.org Forum Index -> PSP Development All times are GMT + 10 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group