mirror of
https://github.com/krystalgamer/spidey-decomp.git
synced 2025-02-17 11:27:50 +00:00
PCTex_CreateTexturePVR
This commit is contained in:
parent
354fc552c2
commit
ae534ddcae
44
PCTex.cpp
44
PCTex.cpp
@ -118,21 +118,49 @@ void PCTex_CreateTexture256(i32,i32,void const *,u16 const *,u32,char const *,i3
|
||||
printf("PCTex_CreateTexture256(i32,i32,void const *,u16 const *,u32,char const *,i32,i32)");
|
||||
}
|
||||
|
||||
// @SMALLTODO
|
||||
i32 PCTex_CreateTexturePVR(i32,i32,u32,void *,u32, const char *,u32)
|
||||
// @Ok
|
||||
i32 PCTex_CreateTexturePVR(
|
||||
i32 a1,
|
||||
i32 a2,
|
||||
u32 a3,
|
||||
void* pData,
|
||||
u32 a5,
|
||||
const char* a6,
|
||||
u32 a7)
|
||||
{
|
||||
printf("PCTex_CreateTexturePVR(i32,i32,u32,void const *,u32,char const *,u32)");
|
||||
return 0x19082024;
|
||||
print_if_false(
|
||||
(reinterpret_cast<i32>(pData) & 3) == 0,
|
||||
"texture data pointer must be aligned to 4 byte boundary");
|
||||
|
||||
i32 unusedId = PCTex_FindUnusedTextureId();
|
||||
i32 res = PCTex_CreateTexturePVRInId(
|
||||
unusedId,
|
||||
a1,
|
||||
a2,
|
||||
a3,
|
||||
pData,
|
||||
a5,
|
||||
a6,
|
||||
a7);
|
||||
if (!res)
|
||||
return -1;
|
||||
|
||||
gGlobalTextures[unusedId].pTextureData = pData;
|
||||
gGlobalTextures[unusedId].field_60 = a3;
|
||||
gGlobalTextures[unusedId].field_64 = 0x10000;
|
||||
|
||||
return unusedId;
|
||||
}
|
||||
|
||||
// @MEDIUMTODO
|
||||
void PCTex_CreateTexturePVRInId(i32,i32,i32,u32,void const *,u32,char const *,u32)
|
||||
i32 PCTex_CreateTexturePVRInId(i32,i32,i32,u32,const void* ,u32,char const *,u32)
|
||||
{
|
||||
printf("PCTex_CreateTexturePVRInId(i32,i32,i32,u32,void const *,u32,char const *,u32)");
|
||||
return 0x20082024;
|
||||
}
|
||||
|
||||
// @Ok
|
||||
i32 PCTex_FindUnusedTextureId(void)
|
||||
INLINE i32 PCTex_FindUnusedTextureId(void)
|
||||
{
|
||||
i32 id = 8;
|
||||
for (;
|
||||
@ -485,6 +513,10 @@ void validate_SPCTexture(void)
|
||||
VALIDATE(SPCTexture, mFlags, 0x20);
|
||||
VALIDATE(SPCTexture, mSplitCount, 0x54);
|
||||
VALIDATE(SPCTexture, mSplit, 0x58);
|
||||
|
||||
VALIDATE(SPCTexture, pTextureData, 0x5C);
|
||||
VALIDATE(SPCTexture, field_60, 0x60);
|
||||
VALIDATE(SPCTexture, field_64, 0x64);
|
||||
}
|
||||
|
||||
void validate_PVRHeader(void)
|
||||
|
7
PCTex.h
7
PCTex.h
@ -48,7 +48,10 @@ struct SPCTexture
|
||||
|
||||
i32 mSplitCount;
|
||||
i32 *mSplit;
|
||||
unsigned char pad[0x68-0x58-4];
|
||||
|
||||
void* pTextureData;
|
||||
i32 field_60;
|
||||
i32 field_64;
|
||||
};
|
||||
|
||||
EXPORT void PCTex_SetTextureUserData(int, Bitmap256*);
|
||||
@ -67,7 +70,7 @@ EXPORT void PCTex_CreateClut(i32);
|
||||
EXPORT void PCTex_CreateTexture16(i32,i32,void const *,u16 const *,char const *,i32,i32,u32);
|
||||
EXPORT void PCTex_CreateTexture256(i32,i32,void const *,u16 const *,u32,char const *,i32,i32);
|
||||
EXPORT i32 PCTex_CreateTexturePVR(i32,i32,u32,void *,u32,const char *,u32);
|
||||
EXPORT void PCTex_CreateTexturePVRInId(i32,i32,i32,u32,void const *,u32,char const *,u32);
|
||||
EXPORT i32 PCTex_CreateTexturePVRInId(i32,i32,i32,u32, const void *,u32, const char*,u32);
|
||||
EXPORT i32 PCTex_FindUnusedTextureId(void);
|
||||
EXPORT void PCTex_FreePcIcons(void);
|
||||
EXPORT IDirectDrawSurface7* PCTex_GetDirect3DTexture(i32);
|
||||
|
Loading…
x
Reference in New Issue
Block a user