mirror of
https://gitlab.com/shinovon/re3-symbian.git
synced 2026-05-22 17:47:20 +03:00
Fix
This commit is contained in:
parent
dfdd037ed3
commit
6c644421fd
2 changed files with 6 additions and 6 deletions
4
vendor/librw/src/gl/gl3raster.cpp
vendored
4
vendor/librw/src/gl/gl3raster.cpp
vendored
|
|
@ -630,7 +630,7 @@ rasterUnlock(Raster *raster, int32 level)
|
|||
#endif
|
||||
) {
|
||||
// convert to 16-bit
|
||||
uint16_t* pixels16 = (uint16_t*)rwMalloc(raster->width * raster->height * sizeof(uint16_t));
|
||||
uint16_t* pixels16 = (uint16_t*)rwMalloc(raster->width * raster->height * sizeof(uint16_t), MEMDUR_FUNCTION | ID_DRIVER);
|
||||
uint8_t* pixels8 = (uint8_t*)raster->pixels;
|
||||
|
||||
for (int i = 0; i < raster->width * raster->height; i++) {
|
||||
|
|
@ -642,7 +642,7 @@ rasterUnlock(Raster *raster, int32 level)
|
|||
pixels16[i] = ((r >> 4) << 12) | ((g >> 4) << 8) | ((b >> 4) << 4) | (a >> 4);
|
||||
}
|
||||
glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA, raster->width, raster->height, 0, GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, pixels16);
|
||||
free(pixels16);
|
||||
rwFree(pixels16);
|
||||
CHECK_GL_ERROR("glTexImage2D 1");
|
||||
} else
|
||||
{
|
||||
|
|
|
|||
8
vendor/librw/src/gles1/gl1raster.cpp
vendored
8
vendor/librw/src/gles1/gl1raster.cpp
vendored
|
|
@ -453,7 +453,7 @@ void rasterUnlock(Raster *raster, int32 level){
|
|||
// flip vertical (igual que antes)
|
||||
{
|
||||
int stride = raster->width * natras->bpp;
|
||||
uint8_t *tmp = (uint8_t*)rwMalloc(stride);
|
||||
uint8_t *tmp = (uint8_t*)rwMalloc(stride, MEMDUR_FUNCTION | ID_DRIVER);
|
||||
for(int y = 0; y < raster->height / 2; y++){
|
||||
uint8_t *a = (uint8_t*)raster->pixels + y * stride;
|
||||
uint8_t *b = (uint8_t*)raster->pixels + (raster->height - 1 - y) * stride;
|
||||
|
|
@ -461,13 +461,13 @@ void rasterUnlock(Raster *raster, int32 level){
|
|||
memcpy(a, b, stride);
|
||||
memcpy(b, tmp, stride);
|
||||
}
|
||||
free(tmp);
|
||||
rwFree(tmp);
|
||||
}
|
||||
|
||||
if(!natras->isCompressed){
|
||||
if(natras->format == GL_RGBA && natras->type == GL_UNSIGNED_BYTE){
|
||||
// convertir RGBA8888 → RGBA4444
|
||||
uint16_t *pixels16 = (uint16_t*)rwMalloc(raster->width * raster->height * 2);
|
||||
uint16_t *pixels16 = (uint16_t*)rwMalloc(raster->width * raster->height * 2, MEMDUR_FUNCTION | ID_DRIVER);
|
||||
uint8_t *pixels8 = (uint8_t*)raster->pixels;
|
||||
for(int i = 0; i < raster->width * raster->height; i++){
|
||||
uint8_t r = pixels8[i*4+0];
|
||||
|
|
@ -479,7 +479,7 @@ void rasterUnlock(Raster *raster, int32 level){
|
|||
glTexImage2D(GL_TEXTURE_2D, level, GL_RGBA,
|
||||
raster->width, raster->height, 0,
|
||||
GL_RGBA, GL_UNSIGNED_SHORT_4_4_4_4, pixels16);
|
||||
free(pixels16);
|
||||
rwFree(pixels16);
|
||||
} else {
|
||||
glTexImage2D(GL_TEXTURE_2D, level, natras->internalFormat,
|
||||
raster->width, raster->height, 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue