| MGF v.0.0.3.7 (25.11.2007) |
class MGF;
Представляет собой набор интерфейсов для работы с временем, графикой, текстурами.
Для того, чтобы получить экземпляр класса MGF нужно вызвать функцию mgfCreate(void). Функция вернёт указатель на экземпляр класса. Функцию можно вызывать в любом месте программы любое количество раз, она всегда бдет возвращать один и тот же указатель и вести учёт запросов. Обязательно, если вызывается функция mgfCreate, то позже должен быть вызван метод Release(void) класса MGF для очищения памяти. Метод не очистит память, пока Release не будет вызван такое же количество раз, как mgfCreate. |
| содержание / вверх |
| Game |
class MGFAPP;
Является прототипом основного класса программы. Экземпляр этого класса нужно регистрировать в MGF
Методы
virtual bool Update(float delta);
Вызывается в основном цикле MGF для обновления данных. Если метод возвращает true - происходит выход из программы.
virtual bool Render(void);
Вызывается в основном цикле MGF для отрисовки данных.
virtual void Init(void);
Вызывается перед основным циклом MGF.
virtual void Deinit(void);
Вызывается после основного цикла MGF.
|
| содержание / вверх |
| System |
bool System_Init(void);
Инициализирует фреймворк и подготавливает его для работы. Возвращает true при успешной инициализации.
void System_Shutdown(void);
Уничтожает все ресурсы, связанные с фреймворком. Вызывается при завершении программы.
void System_Run(MGFAPP *app, bool dialog);
Стартует основной цикл программы. Внутри себя вызывает методы Update и Render параметра app. Если dialog равняется true, то app->Init() и app->Deinit() не вызываются.
void System_SetState(int state, bool value);
Устанавливает булевые параметры MGF.
state принимает значения:
MGF_DEBUG - устанавливает режим отладки приложения.
MGF_VSYNC - включает вертикальню синхронизацию.
MGF_TEXTURE_SWIZZLE - устанавливает режим обработки текстур. Должен быть становлен до вызова метода System_Init. После вызова этого метода установливать этот параметр нельзя.
void System_SetState(int state, void *value);
Устанавливает не булевые параметры MGF.
state принимает значения:
MGF_USERDATA - регистрирует указатель на данные пользователя.
void System_Log(const char *format, ...);
Сохраняет лог сообщений. Так же в режиме отладки выводит информацию в STDERR. |
| содержание / вверх |
| Timer |
int Timer_GetFps(void);
Возвращает текущее количество FPS.
float Timer_GetDelta(void);
Возвращает время в миллисекундах, пройденное с последней итерации основного цикла программы. |
| содержание / вверх |
| Input |
bool Input_GetKeyState(int key);
Возвращает true если кнопка с кодом key нажата в данный. Коды для кнопок смотреть в PSPSDK (позже распишу).
bool Input_IsKeyClick(int key);
Возвращает true, если кнопка с кодом key была только что нажата.
void Input_GetAnalog(int &x, int &y);
Заполняет указатели x и y значениями смещения аналогового джойстика. |
| содержание / вверх |
| Gfx |
void Gfx_SetClipping(int x = -1, int y = -1, int width = -1, int height = -1);
Обозначает область экрана, по котрой будет производиться отсечение. Если x = -1, то функция восстановит область отсечения до размеров экрана PSP (480, 272).
void Gfx_SetBlend(int type);
Определяет параметры блендинга.
type принимает значения:
MGFBLEND_NONE - без блендинга.
MGFBLEND_SUB - альфаканал текстур и прозрачность.
MGFBLEND_ADD - сложение цветов.
void Gfx_Clear(int color);
Очищение экрана цветом color.
void Gfx_BeginScene(void);
Начало рендеринга. Этот метод должен вызываться до того, как будет начнётся отрисовка.
void Gfx_EndScene(void);
Завершение рендеринга. Этот метод должен вызываться после завершения отрисовки.
void Gfx_SetProjection(int type);
Устанавливает проекцию рендеринга.
type принимает значения:
MGF_PERSPECTIVE - перспективная проекция, используется для 3D-рендеринга.
MGF_ORTHO - ортогональная проекция, используется для 2D-рендеринга.
void Gfx_RenderFps(void);
Выводит в debug-консоли значение FPS.
void Gfx_RenderDebug(int x, int y, const char *text);
Выводит в координатах x и y debug-консоли текст text. |
| содержание / вверх |
| Textures |
MGFTEXTURE *Texture_Add(const char *filename);
Возвращает указатель на экземпляр класса MGFTEXTURE (см. ниже), заполненный данными из файла filename. Поддерживается 3 формата текстур. (TGA 32bit без сжатия, PNG и JPEG)
void Texture_Remove(MGFTEXTURE *tex);
Удаляет текстуру tex.
void Texture_Clear(void);
Удаляет все загруженные текстуры. Вызывается в методе System_Shutdown.
void Texture_Bind(MGFTEXTURE *tex);
Устанавливает текстуру tex текущей для рендеринга полигонов.
void Texture_Enable(bool value);
Разрешает или запрещает использование текстур.
class MGFTEXTURE;
Методы
int Width(bool orig = true);
Возвращает ширину текстуры. Если orig = true - ближайшую до кратного степени 2.
int Height(bool orig = true);
Возвращает высоту текстуры. Если orig = true - ближайшую до кратного степени 2.
int Bits(void);
Возвращает количество байт на пиксель.
unsigned char* Image(void);
Возвращает указатель на массив данных.
bool Swizzled(void);
Возвращает true, если текстура загружена загружена в режиме обработки MGF_TEXTURE_SWIZZLE. |
| содержание / вверх |
| Random |
void Random_Seed(int seed = 0);
Устанавливает смещение случайных чисел.
int Random_Int(int lo, int hi);
Возвращает случайное целое число в диапазоне (lo; hi) включительно.
float Random_Float(float lo, float hi);
Возвращает случайное число с плавающей точкой в диапазоне (lo; hi) включительно. |
| содержание / вверх |
|