mirror of
https://github.com/perfect-dark-pc-port/perfect_dark.git
synced 2026-10-23 15:52:41 +02:00
savebuffer: extended read/write to accept 64 bits, renamed a function, removed an unused function
This commit is contained in:
1 parent
a1d6916871
commit
4d4fa8f681
6 files changed
+26
-46
No files matched your search
+1
-5
@@ -138,8 +138,6 @@ void bossfileLoad(void)
|
||||
g_BossFile.usingmultipletunes = savebufferReadBits(&buffer, 1);
|
||||
g_AltTitleUnlocked = savebufferReadBits(&buffer, 1);
|
||||
g_AltTitleEnabled = savebufferReadBits(&buffer, 1);
|
||||
|
||||
func0f0d54c4(&buffer);
|
||||
}
|
||||
|
||||
if (failed) {
|
||||
@@ -168,7 +166,7 @@ void bossfileSave(void)
|
||||
savebufferOr(&buffer, g_Vars.language, 4);
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_BossFile.teamnames); i++) {
|
||||
func0f0d55a4(&buffer, g_BossFile.teamnames[i]);
|
||||
savebufferWriteString(&buffer, g_BossFile.teamnames[i]);
|
||||
}
|
||||
|
||||
if (g_BossFile.tracknum == -1) {
|
||||
@@ -185,8 +183,6 @@ void bossfileSave(void)
|
||||
savebufferOr(&buffer, g_AltTitleUnlocked, 1);
|
||||
savebufferOr(&buffer, g_AltTitleEnabled, 1);
|
||||
|
||||
func0f0d54c4(&buffer);
|
||||
|
||||
fileid = bossfileFindFileId();
|
||||
|
||||
if (fileid == 0) {
|
||||
|
||||
+1
-5
@@ -395,8 +395,6 @@ s32 gamefileLoad(s32 device)
|
||||
frSetWeaponFound(WEAPON_REMOTEMINE);
|
||||
}
|
||||
#endif
|
||||
|
||||
func0f0d54c4(&buffer);
|
||||
gamefileApplyOptions(&g_GameFile);
|
||||
|
||||
return 0;
|
||||
@@ -499,7 +497,7 @@ s32 gamefileSave(s32 device, s32 fileid, u16 deviceserial)
|
||||
|
||||
if (device >= 0) {
|
||||
savebufferClear(&buffer);
|
||||
func0f0d55a4(&buffer, g_GameFile.name);
|
||||
savebufferWriteString(&buffer, g_GameFile.name);
|
||||
|
||||
savebufferOr(&buffer, g_GameFile.thumbnail, 5);
|
||||
savebufferOr(&buffer, g_GameFile.totaltime, 32);
|
||||
@@ -556,8 +554,6 @@ s32 gamefileSave(s32 device, s32 fileid, u16 deviceserial)
|
||||
savebufferOr(&buffer, g_GameFile.weaponsfound[i], 8);
|
||||
}
|
||||
|
||||
func0f0d54c4(&buffer);
|
||||
|
||||
ret = pakSaveAtGuid(device, fileid, PAKFILETYPE_GAME, buffer.bytes, &newfileid, 0);
|
||||
g_FilemgrLastPakError = ret;
|
||||
|
||||
|
||||
@@ -3533,7 +3533,7 @@ void mpplayerfileSaveWad(s32 playernum, struct savebuffer *buffer)
|
||||
s32 j;
|
||||
u32 stack;
|
||||
|
||||
func0f0d55a4(buffer, g_PlayerConfigsArray[playernum].base.name);
|
||||
savebufferWriteString(buffer, g_PlayerConfigsArray[playernum].base.name);
|
||||
|
||||
if (g_PlayerConfigsArray[playernum].time > 0x0fffffff) { // over 3106 days
|
||||
g_PlayerConfigsArray[playernum].time = 0x0fffffff;
|
||||
@@ -3684,8 +3684,6 @@ s32 mpplayerfileSave(s32 playernum, s32 device, s32 fileid, u16 deviceserial)
|
||||
if (device >= 0) {
|
||||
savebufferClear(&buffer);
|
||||
mpplayerfileSaveWad(playernum, &buffer);
|
||||
func0f0d54c4(&buffer);
|
||||
|
||||
var80075bd0[2] = true;
|
||||
|
||||
ret = pakSaveAtGuid(device, fileid, PAKFILETYPE_MPPLAYER, buffer.bytes, &newfileid, 0);
|
||||
@@ -3718,8 +3716,6 @@ s32 mpplayerfileLoad(s32 playernum, s32 device, s32 fileid, u16 deviceserial)
|
||||
g_PlayerConfigsArray[playernum].fileguid.deviceserial = deviceserial;
|
||||
|
||||
mpplayerfileLoadWad(playernum, &buffer, 1);
|
||||
func0f0d54c4(&buffer);
|
||||
|
||||
g_PlayerConfigsArray[playernum].handicap = 0x80;
|
||||
return 0;
|
||||
}
|
||||
@@ -3917,7 +3913,7 @@ static u64 packWeaponSetRandomFilters()
|
||||
{
|
||||
u64 packed = 0;
|
||||
for (int i = 0; i < NUM_MPWEAPONS; ++i) {
|
||||
packed |= g_MpWeaponSetRandomFilters[i] != 0 ? (1 << i) : 0;
|
||||
packed |= g_MpWeaponSetRandomFilters[i] != 0 ? (1LL << i) : 0;
|
||||
}
|
||||
|
||||
return packed;
|
||||
@@ -3926,11 +3922,11 @@ static u64 packWeaponSetRandomFilters()
|
||||
static void unpackWeaponSetRandomFilters(u64 packed)
|
||||
{
|
||||
for (int i = 0; i < NUM_MPWEAPONS; ++i) {
|
||||
g_MpWeaponSetRandomFilters[i] = (packed & (1 << i)) >> i;
|
||||
g_MpWeaponSetRandomFilters[i] = (packed & (1LL << i)) != 0;
|
||||
}
|
||||
}
|
||||
|
||||
void mpsetupfileLoadWad(struct savebuffer *buffer)
|
||||
void mpsetupfileLoadWad(struct savebuffer *buffer, u8 version)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
@@ -3993,7 +3989,7 @@ void mpsetupfileSaveWad(struct savebuffer *buffer)
|
||||
s32 mpbodynum;
|
||||
s32 i;
|
||||
|
||||
func0f0d55a4_ext(buffer, g_MpSetup.name, MPSETUP_MAXNAME+1);
|
||||
savebufferWriteString_ext(buffer, g_MpSetup.name, MPSETUP_MAXNAME + 1);
|
||||
|
||||
for (i = 0; i < MAX_BOTS; i++) {
|
||||
if (g_MpSetup.chrslots & (1 << (i + 4))) {
|
||||
|
||||
+13
-20
@@ -374,13 +374,13 @@ Gfx *menugfxDrawPlane(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, u32 colour1, u32
|
||||
/**
|
||||
* Write the specified amount of bits to the buffer, advancing the internal pointer.
|
||||
*
|
||||
* numbits is expected to be 32 or less.
|
||||
* numbits is expected to be 64 or less.
|
||||
*
|
||||
* This function only sets bits to on and does not unset them.
|
||||
*/
|
||||
void savebufferOr(struct savebuffer *buffer, u32 value, s32 numbits)
|
||||
void savebufferOr(struct savebuffer *buffer, u64 value, s32 numbits)
|
||||
{
|
||||
u32 bit = 1 << (numbits - 1);
|
||||
u64 bit = 1LL << (numbits - 1LL);
|
||||
|
||||
for (; bit; bit >>= 1) {
|
||||
if (bit & value) {
|
||||
@@ -399,11 +399,11 @@ void savebufferOr(struct savebuffer *buffer, u32 value, s32 numbits)
|
||||
/**
|
||||
* Write the specified amount of bits to the buffer, advancing the internal pointer.
|
||||
*
|
||||
* numbits is expected to be 32 or less.
|
||||
* numbits is expected to be 64 or less.
|
||||
*/
|
||||
void savebufferWriteBits(struct savebuffer *buffer, u32 value, s32 numbits, u8 *dst)
|
||||
void savebufferWriteBits(struct savebuffer *buffer, u64 value, s32 numbits, u8 *dst)
|
||||
{
|
||||
u32 bit = 1 << (numbits - 1);
|
||||
u64 bit = 1LL << (numbits - 1);
|
||||
|
||||
for (; bit; bit >>= 1) {
|
||||
s32 bitindex = buffer->bitpos % 8;
|
||||
@@ -425,12 +425,12 @@ void savebufferWriteBits(struct savebuffer *buffer, u32 value, s32 numbits, u8 *
|
||||
* Read the specified amount of bits from the buffer and return it as an
|
||||
* integer, advancing the internal pointer.
|
||||
*
|
||||
* numbits is expected to be 32 or less.
|
||||
* numbits is expected to be 64 or less.
|
||||
*/
|
||||
u32 savebufferReadBits(struct savebuffer *buffer, s32 numbits)
|
||||
u64 savebufferReadBits(struct savebuffer *buffer, s32 numbits)
|
||||
{
|
||||
u32 bit = 1 << (numbits - 1);
|
||||
u32 value = 0;
|
||||
u64 bit = 1LL << (numbits - 1);
|
||||
u64 value = 0;
|
||||
|
||||
for (; bit; bit >>= 1) {
|
||||
s32 bitindex = buffer->bitpos % 8;
|
||||
@@ -470,13 +470,6 @@ void savebufferWriteData(struct savebuffer *buffer, u8 *data, u8 len)
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0d54c4(struct savebuffer *buffer)
|
||||
{
|
||||
s32 tmp = buffer->bitpos;
|
||||
|
||||
if (tmp / 8 && buffer->bitpos);
|
||||
}
|
||||
|
||||
/**
|
||||
* Read a zero-terminated string from the buffer and move the buffer's internal
|
||||
* pointer past the end of the string.
|
||||
@@ -514,7 +507,7 @@ void savebufferReadString(struct savebuffer *buffer, char *dst, bool addlinebrea
|
||||
savebufferReadString_ext(buffer, dst, addlinebreak, 10);
|
||||
}
|
||||
|
||||
void func0f0d55a4_ext(struct savebuffer *buffer, char *src, u8 len)
|
||||
void savebufferWriteString_ext(struct savebuffer *buffer, char *src, u8 len)
|
||||
{
|
||||
bool done = false;
|
||||
s32 i;
|
||||
@@ -537,9 +530,9 @@ void func0f0d55a4_ext(struct savebuffer *buffer, char *src, u8 len)
|
||||
}
|
||||
}
|
||||
|
||||
void func0f0d55a4(struct savebuffer *buffer, char *src)
|
||||
void savebufferWriteString(struct savebuffer *buffer, char *src)
|
||||
{
|
||||
func0f0d55a4_ext(buffer, src, 10);
|
||||
savebufferWriteString_ext(buffer, src, 10);
|
||||
}
|
||||
|
||||
void func0f0d564c_ext(u8 *data, char *dst, bool addlinebreak, u8 len)
|
||||
|
||||
@@ -118,7 +118,7 @@ s32 mpGetNumUnlockedPresets(void);
|
||||
char *mpGetPresetNameBySlot(s32 slot);
|
||||
void mpApplyConfig(struct mpconfigfull *mpconfig);
|
||||
void mp0f18dec4(s32 arg0);
|
||||
void mpsetupfileLoadWad(struct savebuffer *buffer);
|
||||
void mpsetupfileLoadWad(struct savebuffer *buffer, u8 version);
|
||||
void mpsetupfileSaveWad(struct savebuffer *buffer);
|
||||
void mpsetupfileGetOverview(char *arg0, char *filename, u16 *numsims, u16 *stagenum, u16 *scenarionum);
|
||||
s32 mpsetupfileSave(s32 device, s32 filenum, u16 deviceserial);
|
||||
|
||||
@@ -11,16 +11,15 @@ Gfx *func0f0d49c8(Gfx *gdl);
|
||||
Gfx *func0f0d4a3c(Gfx *gdl, s32 arg1);
|
||||
Gfx *func0f0d4c80(Gfx *gdl);
|
||||
Gfx *menugfxDrawPlane(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, u32 colour1, u32 colour2, s32 type);
|
||||
void savebufferOr(struct savebuffer *buffer, u32 arg1, s32 arg2);
|
||||
void savebufferWriteBits(struct savebuffer *buffer, u32 value, s32 numbits, u8 *dst);
|
||||
u32 savebufferReadBits(struct savebuffer *buffer, s32 offset);
|
||||
void savebufferOr(struct savebuffer *buffer, u64 arg1, s32 arg2);
|
||||
void savebufferWriteBits(struct savebuffer *buffer, u64 value, s32 numbits, u8 *dst);
|
||||
u64 savebufferReadBits(struct savebuffer *buffer, s32 offset);
|
||||
void savebufferClear(struct savebuffer *buffer);
|
||||
void savebufferWriteData(struct savebuffer *buffer, u8 *data, u8 len);
|
||||
void func0f0d54c4(struct savebuffer *buffer);
|
||||
void savebufferReadString_ext(struct savebuffer *buffer, char *dst, bool addlinebreak, u8 len);
|
||||
void savebufferReadString(struct savebuffer *buffer, char *dst, bool addlinebreak);
|
||||
void func0f0d55a4_ext(struct savebuffer *buffer, char *src, u8 len);
|
||||
void func0f0d55a4(struct savebuffer *buffer, char *src);
|
||||
void savebufferWriteString_ext(struct savebuffer *buffer, char *src, u8 len);
|
||||
void savebufferWriteString(struct savebuffer *buffer, char *src);
|
||||
void func0f0d564c_ext(u8 *data, char *dst, bool addlinebreak, u8 len);
|
||||
void func0f0d564c(u8 *data, char *dst, bool addlinebreak);
|
||||
void func0f0d5690(u8 *dst, char *buffer);
|
||||
|
||||
Reference in new issue
Block a user