- fix issue 392 (broken tests) - Fix a bunch of memory leaks (guys please be careful!) - Added Logging facility in JGE - HBL Compatibility (cleaned up some code with MP3 in JGE) - Added "winGame" ability. Currently used mostly by the story mode, but some cards could probably need it too - Improved story mode and uncommented it from the source. -- The current campaign is of course very basic, anybody who wants to improve it or create other ones feel free to do so -- TODO (short term): save progress, rewards system, improve tutorial campaign -- I'll talk a bit more about this on the forums/email after a night of sleep
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
//-------------------------------------------------------------------------------------
|
|
//
|
|
// JGE is a hardware accelerated 2D game SDK for PSP/Windows.
|
|
//
|
|
// Licensed under the BSD license, see LICENSE in JGE root for details.
|
|
//
|
|
// Copyright (c) 2007 James Hui (a.k.a. Dr.Watson) <jhkhui@gmail.com>
|
|
// Copyright (c) 2008 Alexander Berl <raphael@fx-world.org>
|
|
// Copyright (c) 2008 WilLoW :--) <wagic.the.homebrew@gmail.com>
|
|
//
|
|
//-------------------------------------------------------------------------------------
|
|
|
|
#ifndef _JMP3_
|
|
#define _JMP3_
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
class JMP3
|
|
{
|
|
protected:
|
|
static bool loadModules();
|
|
int m_volume;
|
|
int m_samplesPlayed;
|
|
int m_inBufferSize, m_outBufferSize;
|
|
char m_inBuffer[16*1024] __attribute__((aligned(64))); // ?
|
|
short m_outBuffer[16*(1152/2)] __attribute__((aligned(64))); //?
|
|
int m_numChannels;
|
|
int m_samplingRate;
|
|
bool m_loop;
|
|
int m_lastDecoded;
|
|
int m_playTime;
|
|
int GetID3TagSize(char *fname);
|
|
static bool init_done;
|
|
public:
|
|
int m_paused;
|
|
int m_channel;
|
|
int m_mp3Handle;
|
|
int m_fileHandle;
|
|
int m_fileSize;
|
|
char m_fileName[256];
|
|
static JMP3* mInstance;
|
|
JMP3();
|
|
~JMP3();
|
|
static void init();
|
|
bool fillBuffers();
|
|
bool load(const std::string& filename, int inBufferSize = 16*1024, int outBufferSize = 16 * (1152/2));
|
|
bool unload();
|
|
bool update();
|
|
bool play();
|
|
bool pause();
|
|
bool setLoop(bool loop);
|
|
int setVolume(int volume);
|
|
int playTime() const;
|
|
int playTimeMinutes();
|
|
int playTimeSeconds();
|
|
|
|
};
|
|
|
|
#endif
|
|
|