Pack_Unpack

This commit is contained in:
krystalgamer 2024-09-13 18:35:20 +02:00
parent b996545b33
commit 07336347d0
3 changed files with 63 additions and 2 deletions

View File

@ -77,6 +77,7 @@
#include "SpideyDX.h"
#include "DXsound.h"
#include "DXinit.h"
#include "pack.h"
extern int FAIL_VALIDATION;
@ -391,6 +392,7 @@ i32 validate(void)
validate_SDataGlyph();
validate_POLY_FT4();
validate_POLY_GT4();
validate_SPack();
puts("[*] Validation done!");

View File

@ -1 +1,46 @@
#include "pack.h"
#include "pack.h"
#include "mem.h"
#include "validate.h"
EXPORT SPack Pack_pFull;
// @SMALLTODO
void Pack_Init(void)
{
printf("Pack_Init(void)");
}
// @SMALLTODO
void Pack_Pack(i32,i32,i32,i32 *,i32 *,i32,i32,u32)
{
printf("Pack_Pack(i32,i32,i32,i32 *,i32 *,i32,i32,u32)");
}
// @Ok
// @Matching
void Pack_Unpack(SPack* a1)
{
SPack* pPrev = &Pack_pFull;
for (SPack *pCur = pPrev->pNext;
pCur;
pCur = pCur->pNext)
{
if (a1 == pCur)
{
pPrev->pNext = pCur->pNext;
Mem_Delete(a1);
return;
}
pPrev = pCur;
}
print_if_false(0, "Couldn't find pack structure.");
Mem_Delete(a1);
}
void validate_SPack(void)
{
VALIDATE_SIZE(SPack, 0xC);
VALIDATE(SPack, pNext, 0x8);
}

16
pack.h
View File

@ -3,4 +3,18 @@
#ifndef PACK_H
#define PACK_H
#endif
#include "export.h"
struct SPack
{
u8 padTop[8];
SPack* pNext;
};
EXPORT void Pack_Init(void);
EXPORT void Pack_Pack(i32,i32,i32,i32 *,i32 *,i32,i32,u32);
EXPORT void Pack_Unpack(SPack *);
void validate_SPack(void);
#endif