mirror of
https://github.com/GRRLIB/GRRLIB.git
synced 2024-12-23 02:39:19 +00:00
[CHG] Created a GRRLIB.c/.h and move GRRLIB_ScrShot and
GRRLIB_LoadTextureFromFile to it since it's not really Lib related. (need to fix warning)
This commit is contained in:
parent
e9bb506e09
commit
cbe8627249
4 changed files with 97 additions and 46 deletions
|
@ -15,14 +15,14 @@
|
|||
#include "../lib/libjpeg/jpeglib.h"
|
||||
#include "GRRLIB.h"
|
||||
#include <ogc/conf.h>
|
||||
#include <fat.h>
|
||||
|
||||
|
||||
#define DEFAULT_FIFO_SIZE (256 * 1024) /**< GX fifo buffer size. */
|
||||
|
||||
|
||||
u32 fb = 0;
|
||||
static void *xfb[2] = {NULL, NULL};
|
||||
static Mtx GXmodelView2D;
|
||||
void *xfb[2] = {NULL, NULL};
|
||||
Mtx GXmodelView2D;
|
||||
GXRModeObj *rmode;
|
||||
void *gp_fifo = NULL;
|
||||
|
||||
|
@ -485,28 +485,6 @@ GRRLIB_texImg *GRRLIB_LoadTexture(const unsigned char my_img[]) {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load a texture from a file.
|
||||
* @param filename The JPEG or PNG filename to load.
|
||||
* @return A GRRLIB_texImg structure filled with image informations.
|
||||
*/
|
||||
GRRLIB_texImg *GRRLIB_LoadTextureFromFile(const char *filename) {
|
||||
fatInitDefault();
|
||||
FILE *fd = fopen(filename, "rb");
|
||||
|
||||
fseek(fd, 0, SEEK_END);
|
||||
long lsize = ftell(fd);
|
||||
rewind(fd);
|
||||
|
||||
unsigned char *buffer = (unsigned char*) malloc (sizeof(unsigned char)*lsize);
|
||||
fread (buffer, 1, lsize, fd);
|
||||
GRRLIB_texImg *tex = GRRLIB_LoadTexture(buffer);
|
||||
free(buffer);
|
||||
|
||||
fclose(fd);
|
||||
return tex;
|
||||
}
|
||||
|
||||
/**
|
||||
* Free memory allocated for texture.
|
||||
* @param tex A GRRLIB_texImg structure.
|
||||
|
@ -1257,24 +1235,6 @@ void GRRLIB_Exit() {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a PNG screenshot on the SD card.
|
||||
* libfat is required to use the function.
|
||||
* @param File name of the file to write.
|
||||
* @return true if every thing worked, false otherwise.
|
||||
*/
|
||||
bool GRRLIB_ScrShot(const char* File) {
|
||||
int ErrorCode = -1;
|
||||
IMGCTX pngContext;
|
||||
|
||||
if(fatInitDefault() && (pngContext = PNGU_SelectImageFromDevice(File))) {
|
||||
ErrorCode = PNGU_EncodeFromYCbYCr(pngContext, rmode->fbWidth, rmode->efbHeight, xfb[fb], 0);
|
||||
PNGU_ReleaseImageContext(pngContext);
|
||||
}
|
||||
return !ErrorCode;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Reads a pixel directly from the FrontBuffer.
|
||||
* Since the FB is stored in YCbCr,
|
||||
|
|
|
@ -109,7 +109,7 @@ GRRLIB_texImg *GRRLIB_CreateEmptyTexture(unsigned int, unsigned int);
|
|||
GRRLIB_texImg *GRRLIB_LoadTexture(const unsigned char my_img[]);
|
||||
GRRLIB_texImg *GRRLIB_LoadTextureJPG(const unsigned char my_jpg[]);
|
||||
GRRLIB_texImg *GRRLIB_LoadTexturePNG(const unsigned char my_png[]);
|
||||
GRRLIB_texImg *GRRLIB_LoadTextureFromFile(const char *filename);
|
||||
|
||||
void GRRLIB_FreeTexture(struct GRRLIB_texImg *tex);
|
||||
|
||||
GRRLIB_bytemapFont *GRRLIB_LoadBMF(const unsigned char my_bmf[]);
|
||||
|
@ -156,8 +156,6 @@ void GRRLIB_Render();
|
|||
|
||||
void GRRLIB_Exit();
|
||||
|
||||
bool GRRLIB_ScrShot(const char*);
|
||||
|
||||
void GRRLIB_GetPixelFromFB(int x, int y, u8 *R1, u8 *G1, u8 *B1, u8* R2, u8 *G2, u8 *B2 );
|
||||
u8 GRRLIB_ClampVar8 (float Value);
|
||||
|
||||
|
|
62
GRRLIB/GRRLIB/GRRLIBaddon.c
Normal file
62
GRRLIB/GRRLIB/GRRLIBaddon.c
Normal file
|
@ -0,0 +1,62 @@
|
|||
/*===========================================
|
||||
GRRLIB (GX version) 4.0.0 addon
|
||||
Code : NoNameNo
|
||||
Additional Code : Crayon & Xane
|
||||
GX hints : RedShade
|
||||
===========================================*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <malloc.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <math.h>
|
||||
#include "../lib/libpng/pngu/pngu.h"
|
||||
#include "GRRLIB.h"
|
||||
#include "GRRLIBaddon.h"
|
||||
#include <ogc/conf.h>
|
||||
#include <fat.h>
|
||||
|
||||
extern u32 fb;
|
||||
extern void *xfb[2];
|
||||
extern GXRModeObj *rmode;
|
||||
|
||||
|
||||
/**
|
||||
* Load a texture from a file.
|
||||
* @param filename The JPEG or PNG filename to load.
|
||||
* @return A GRRLIB_texImg structure filled with image informations.
|
||||
*/
|
||||
GRRLIB_texImg *GRRLIB_LoadTextureFromFile(const char *filename) {
|
||||
fatInitDefault();
|
||||
FILE *fd = fopen(filename, "rb");
|
||||
|
||||
fseek(fd, 0, SEEK_END);
|
||||
long lsize = ftell(fd);
|
||||
rewind(fd);
|
||||
|
||||
unsigned char *buffer = (unsigned char*) malloc (sizeof(unsigned char)*lsize);
|
||||
fread (buffer, 1, lsize, fd);
|
||||
GRRLIB_texImg *tex = GRRLIB_LoadTexture(buffer);
|
||||
free(buffer);
|
||||
|
||||
fclose(fd);
|
||||
return tex;
|
||||
}
|
||||
|
||||
/**
|
||||
* Make a PNG screenshot on the SD card.
|
||||
* libfat is required to use the function.
|
||||
* @param File name of the file to write.
|
||||
* @return true if every thing worked, false otherwise.
|
||||
*/
|
||||
bool GRRLIB_ScrShot(const char* File) {
|
||||
int ErrorCode = -1;
|
||||
IMGCTX pngContext;
|
||||
|
||||
if(fatInitDefault() && (pngContext = PNGU_SelectImageFromDevice(File))) {
|
||||
ErrorCode = PNGU_EncodeFromYCbYCr(pngContext, rmode->fbWidth, rmode->efbHeight, xfb[fb], 0);
|
||||
PNGU_ReleaseImageContext(pngContext);
|
||||
}
|
||||
return !ErrorCode;
|
||||
}
|
31
GRRLIB/GRRLIB/GRRLIBaddon.h
Normal file
31
GRRLIB/GRRLIB/GRRLIBaddon.h
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*===========================================
|
||||
GRRLIB (GX version) 4.0.0 addon
|
||||
Code : NoNameNo
|
||||
Additional Code : Crayon & Xane
|
||||
GX hints : RedShade
|
||||
===========================================*/
|
||||
|
||||
#ifndef __GXHDR__
|
||||
#define __GXHDR__
|
||||
|
||||
/**
|
||||
* @file GRRLIBaddon.h
|
||||
* GRRLIB library.
|
||||
*/
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
GRRLIB_texImg *GRRLIB_LoadTextureFromFile(const char *filename);
|
||||
bool GRRLIB_ScrShot(const char*);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in a new issue