Decompile texInflateNonZlib
This commit is contained in:
parent
c69f70c5a9
commit
9fd5942f1c
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
void func0f013b80(void)
|
||||
{
|
||||
var800ab538 = 0;
|
||||
g_TexCacheCount = 0;
|
||||
var800aabc8.unk00 = NULL;
|
||||
var800aabc8.unk04 = NULL;
|
||||
var800aabc8.unk0c = NULL;
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
#include "textureconfig.h"
|
||||
#include "types.h"
|
||||
|
||||
void func0f173520(u8 *arg0)
|
||||
void texSetBitstring(u8 *arg0)
|
||||
{
|
||||
var800ab540 = arg0;
|
||||
var800ab544 = 0;
|
||||
var800ab548 = 0;
|
||||
}
|
||||
|
||||
s32 func0f17353c(s32 arg0)
|
||||
s32 texReadBits(s32 arg0)
|
||||
{
|
||||
while (var800ab548 < arg0) {
|
||||
var800ab544 = *var800ab540 | var800ab544 << 8;
|
||||
|
|
|
|||
|
|
@ -329,17 +329,17 @@ glabel func0f173c10
|
|||
/* f173c1c: 00601025 */ or $v0,$v1,$zero
|
||||
.L0f173c20:
|
||||
/* f173c20: 8c8e000c */ lw $t6,0xc($a0)
|
||||
/* f173c24: 3c02800b */ lui $v0,%hi(var800ab538)
|
||||
/* f173c24: 3c02800b */ lui $v0,%hi(g_TexCacheCount)
|
||||
/* f173c28: 000ec080 */ sll $t8,$t6,0x2
|
||||
/* f173c2c: 07010018 */ bgez $t8,.L0f173c90
|
||||
/* f173c30: 00000000 */ nop
|
||||
/* f173c34: 8c42b538 */ lw $v0,%lo(var800ab538)($v0)
|
||||
/* f173c34: 8c42b538 */ lw $v0,%lo(g_TexCacheCount)($v0)
|
||||
/* f173c38: 00003025 */ or $a2,$zero,$zero
|
||||
/* f173c3c: 18400012 */ blez $v0,.L0f173c88
|
||||
/* f173c40: 00000000 */ nop
|
||||
/* f173c44: 8c830000 */ lw $v1,0x0($a0)
|
||||
/* f173c48: 3c07800b */ lui $a3,%hi(var800aabd8)
|
||||
/* f173c4c: 24e7abd8 */ addiu $a3,$a3,%lo(var800aabd8)
|
||||
/* f173c48: 3c07800b */ lui $a3,%hi(g_TexCacheItems)
|
||||
/* f173c4c: 24e7abd8 */ addiu $a3,$a3,%lo(g_TexCacheItems)
|
||||
/* f173c50: 0003cd02 */ srl $t9,$v1,0x14
|
||||
/* f173c54: 03201825 */ or $v1,$t9,$zero
|
||||
.L0f173c58:
|
||||
|
|
@ -347,10 +347,10 @@ glabel func0f173c10
|
|||
/* f173c5c: 14680006 */ bne $v1,$t0,.L0f173c78
|
||||
/* f173c60: 00064900 */ sll $t1,$a2,0x4
|
||||
/* f173c64: 01255021 */ addu $t2,$t1,$a1
|
||||
/* f173c68: 3c02800b */ lui $v0,%hi(var800aabd8+0x1)
|
||||
/* f173c68: 3c02800b */ lui $v0,%hi(g_TexCacheItems+0x1)
|
||||
/* f173c6c: 004a1021 */ addu $v0,$v0,$t2
|
||||
/* f173c70: 03e00008 */ jr $ra
|
||||
/* f173c74: 9042abd9 */ lbu $v0,%lo(var800aabd8+0x1)($v0)
|
||||
/* f173c74: 9042abd9 */ lbu $v0,%lo(g_TexCacheItems+0x1)($v0)
|
||||
.L0f173c78:
|
||||
/* f173c78: 24c60001 */ addiu $a2,$a2,0x1
|
||||
/* f173c7c: 00c2082a */ slt $at,$a2,$v0
|
||||
|
|
@ -382,17 +382,17 @@ glabel func0f173cb8
|
|||
/* f173cc4: 00601025 */ or $v0,$v1,$zero
|
||||
.L0f173cc8:
|
||||
/* f173cc8: 8c8e000c */ lw $t6,0xc($a0)
|
||||
/* f173ccc: 3c02800b */ lui $v0,%hi(var800ab538)
|
||||
/* f173ccc: 3c02800b */ lui $v0,%hi(g_TexCacheCount)
|
||||
/* f173cd0: 000ec080 */ sll $t8,$t6,0x2
|
||||
/* f173cd4: 07010018 */ bgez $t8,.L0f173d38
|
||||
/* f173cd8: 00000000 */ nop
|
||||
/* f173cdc: 8c42b538 */ lw $v0,%lo(var800ab538)($v0)
|
||||
/* f173cdc: 8c42b538 */ lw $v0,%lo(g_TexCacheCount)($v0)
|
||||
/* f173ce0: 00003025 */ or $a2,$zero,$zero
|
||||
/* f173ce4: 18400012 */ blez $v0,.L0f173d30
|
||||
/* f173ce8: 00000000 */ nop
|
||||
/* f173cec: 8c830000 */ lw $v1,0x0($a0)
|
||||
/* f173cf0: 3c07800b */ lui $a3,%hi(var800aabd8)
|
||||
/* f173cf4: 24e7abd8 */ addiu $a3,$a3,%lo(var800aabd8)
|
||||
/* f173cf0: 3c07800b */ lui $a3,%hi(g_TexCacheItems)
|
||||
/* f173cf4: 24e7abd8 */ addiu $a3,$a3,%lo(g_TexCacheItems)
|
||||
/* f173cf8: 0003cd02 */ srl $t9,$v1,0x14
|
||||
/* f173cfc: 03201825 */ or $v1,$t9,$zero
|
||||
.L0f173d00:
|
||||
|
|
@ -400,10 +400,10 @@ glabel func0f173cb8
|
|||
/* f173d04: 14680006 */ bne $v1,$t0,.L0f173d20
|
||||
/* f173d08: 00064900 */ sll $t1,$a2,0x4
|
||||
/* f173d0c: 01255021 */ addu $t2,$t1,$a1
|
||||
/* f173d10: 3c02800b */ lui $v0,%hi(var800aabd8+0x8)
|
||||
/* f173d10: 3c02800b */ lui $v0,%hi(g_TexCacheItems+0x8)
|
||||
/* f173d14: 004a1021 */ addu $v0,$v0,$t2
|
||||
/* f173d18: 03e00008 */ jr $ra
|
||||
/* f173d1c: 9042abe0 */ lbu $v0,%lo(var800aabd8+0x8)($v0)
|
||||
/* f173d1c: 9042abe0 */ lbu $v0,%lo(g_TexCacheItems+0x8)($v0)
|
||||
.L0f173d20:
|
||||
/* f173d20: 24c60001 */ addiu $a2,$a2,0x1
|
||||
/* f173d24: 00c2082a */ slt $at,$a2,$v0
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -255,8 +255,8 @@ extern void *var800aabb4;
|
|||
extern struct var800aabb8 *var800aabb8;
|
||||
extern struct texture *g_Textures;
|
||||
extern struct texturething var800aabc8;
|
||||
extern u8 var800aabd8[2400];
|
||||
extern u32 var800ab538;
|
||||
extern struct texcacheitem g_TexCacheItems[150];
|
||||
extern s32 g_TexCacheCount;
|
||||
extern u8 *var800ab540;
|
||||
extern u32 var800ab544;
|
||||
extern s32 var800ab548;
|
||||
|
|
|
|||
|
|
@ -3886,6 +3886,31 @@
|
|||
#define TELEPORTSTATE_WHITE 3
|
||||
#define TELEPORTSTATE_EXITING 4
|
||||
|
||||
#define TEXCOMPMETHOD_0 0
|
||||
#define TEXCOMPMETHOD_1 1
|
||||
#define TEXCOMPMETHOD_HUFFMAN2 2
|
||||
#define TEXCOMPMETHOD_HUFFMAN3 3
|
||||
#define TEXCOMPMETHOD_RLE 4
|
||||
#define TEXCOMPMETHOD_LOOKUP 5
|
||||
#define TEXCOMPMETHOD_HUFFMANLOOKUP 6
|
||||
#define TEXCOMPMETHOD_RLELOOKUP 7
|
||||
#define TEXCOMPMETHOD_HUFFMANPREPROCESSED 8
|
||||
#define TEXCOMPMETHOD_9 9
|
||||
|
||||
#define TEXFORMAT_RGBA32 0x00 // 32-bit RGBA (8/8/8/8)
|
||||
#define TEXFORMAT_RGBA16 0x01 // 16-bit RGBA (5/5/5/1)
|
||||
#define TEXFORMAT_RGB24 0x02 // 24-bit RGB (8/8/8)
|
||||
#define TEXFORMAT_RGB15 0x03 // 15-bit RGB (5/5/5)
|
||||
#define TEXFORMAT_IA16 0x04 // 16-bit grayscale+alpha
|
||||
#define TEXFORMAT_IA8 0x05 // 8-bit grayscale+alpha (4/4)
|
||||
#define TEXFORMAT_IA4 0x06 // 4-bit grayscale+alpha (3/1)
|
||||
#define TEXFORMAT_I8 0x07 // 8-bit grayscale
|
||||
#define TEXFORMAT_I4 0x08 // 4-bit grayscale
|
||||
#define TEXFORMAT_RGBA16_CI8 0x09 // 16-bit 5551 paletted colour with 8-bit palette indexes
|
||||
#define TEXFORMAT_RGBA16_CI4 0x0a // 16-bit 5551 paletted colour with 4-bit palette indexes
|
||||
#define TEXFORMAT_IA16_CI8 0x0b // 16-bit 88 paletted greyscale+alpha with 8-bit palette indexes
|
||||
#define TEXFORMAT_0C 0x0c
|
||||
|
||||
#define THREAD_RMON 0
|
||||
#define THREAD_IDLE 1
|
||||
#define THREAD_SCHED 2
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
#include "types.h"
|
||||
|
||||
void func0f16e810(u32 arg0);
|
||||
s32 texLoadZlib(u8 *ptr, u32 *texturenum, s32 arg2, s32 lod, struct texturething *arg4, s32 arg5);
|
||||
s32 texInflateZlib(u8 *ptr, u32 *texturenum, s32 arg2, s32 lod, struct texturething *arg4, s32 arg5);
|
||||
u32 func0f16edac(void);
|
||||
u32 func0f16ee58(void);
|
||||
u32 func0f16eefc(void);
|
||||
|
|
@ -14,19 +14,19 @@ u32 func0f16f044(void);
|
|||
u32 func0f16f0f4(void);
|
||||
u32 func0f16fc8c(void);
|
||||
s32 func0f16fd50(u16 *arg0, s32 arg1, s32 arg2, s32 arg3);
|
||||
s32 texLoadNonZlib(u8 *ptr, u32 *texturenum, s32 arg2, s32 lod, struct texturething *arg4, s32 arg5);
|
||||
u32 func0f1706ec(void);
|
||||
u32 func0f1711b4(void);
|
||||
u32 func0f171558(void);
|
||||
u32 func0f171724(void);
|
||||
s32 texInflateNonZlib(u8 *src, u8 *dst, s32 arg2, s32 forcenumimages, struct texturething *arg4, s32 arg5);
|
||||
s32 func0f1706ec(u8 *arg0, u8 *arg1, s32 arg2, s32 arg3, s32 format);
|
||||
void func0f1711b4(u8 *arg0, s32 arg1, s32 chansize);
|
||||
void texInflateRle(u8 *arg0, s32 arg1);
|
||||
s32 texBuildLookup(u8 *arg0, s32 bpp);
|
||||
s32 func0f171828(s32 arg0);
|
||||
void func0f17184c(u8 *arg0, s32 arg1);
|
||||
u32 func0f1718a0(void);
|
||||
u32 func0f171ba8(void);
|
||||
u32 func0f17218c(void);
|
||||
u32 func0f172554(void);
|
||||
u32 func0f1729f8(void);
|
||||
u32 func0f172b5c(void);
|
||||
void texReadAlphaBits(u8 *dst, s32 count);
|
||||
s32 texInflateMethod1(u8 *arg0, s32 width, s32 height, s32 format);
|
||||
s32 func0f171ba8(u8 *arg0, s32 width, s32 height, u8 *arg3, s32 format);
|
||||
s32 func0f17218c(s32 width, s32 height, u8 *arg2, u8 *arg3, s32 arg4, s32 format);
|
||||
s32 func0f172554(u8 *arg0, s32 width, s32 height, u8 *arg3, u8 *arg4, s32 arg5, s32 format);
|
||||
void func0f1729f8(u8 *arg0, s32 width, s32 height, s32 format);
|
||||
void func0f172b5c(u8 *arg0, s32 width, s32 arg2, s32 arg3, s32 chansize);
|
||||
void func0f172e70(s32 *arg0, void *arg1, s32 arg2);
|
||||
struct texloadthing *func0f172e8c(s32 texturenum, struct texturething *arg1);
|
||||
s32 func0f172f44(struct texturething *arg0);
|
||||
|
|
@ -35,8 +35,8 @@ void texLoadFromDisplayList(Gfx *gdl, struct texturething *arg1, s32 arg2);
|
|||
void texLoad(u32 *texturenum, struct texturething *arg1, s32 arg2);
|
||||
void texLoadFromConfigs(struct textureconfig *configs, s32 numconfigs, struct texturething *arg2, s32 arg3);
|
||||
void texLoadFromTextureNum(u32 arg0, struct texturething *arg1);
|
||||
void func0f173520(u8 *arg0);
|
||||
s32 func0f17353c(s32 arg0);
|
||||
void texSetBitstring(u8 *arg0);
|
||||
s32 texReadBits(s32 arg0);
|
||||
void texturesLoadConfigs(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -6764,16 +6764,19 @@ struct texturething {
|
|||
};
|
||||
|
||||
struct texloadthing {
|
||||
u16 unk00_00 : 12;
|
||||
u16 texturenum : 12;
|
||||
u16 unk00_0c : 4;
|
||||
void *unk04;
|
||||
s16 unk08;
|
||||
u16 unk0a;
|
||||
u8 width;
|
||||
u8 height;
|
||||
u8 unk0a;
|
||||
u8 unk0b_00 : 3;
|
||||
u8 gbiformat : 3;
|
||||
u8 unk0b_06 : 2;
|
||||
union {
|
||||
u32 unk0c;
|
||||
struct {
|
||||
u32 unk0c_00 : 1;
|
||||
u32 unk0c_01 : 1;
|
||||
u32 unk0c_00 : 2;
|
||||
u32 unk0c_02 : 1;
|
||||
u32 unk0c_03 : 1;
|
||||
u32 unk0c_04 : 24;
|
||||
|
|
@ -6781,4 +6784,10 @@ struct texloadthing {
|
|||
};
|
||||
};
|
||||
|
||||
struct texcacheitem {
|
||||
s16 texturenum;
|
||||
u8 widths[7];
|
||||
u8 heights[7];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue