mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 11:10:47 +00:00
Trivial G_Util_PtrToIdx*() tweaks.
git-svn-id: https://svn.eduke32.com/eduke32@3150 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
3d74c8a9fd
commit
ed9fa753f1
2 changed files with 12 additions and 16 deletions
|
@ -36,10 +36,11 @@ extern char *bitptr;
|
||||||
// back_p==1: "small int" -> ptr
|
// back_p==1: "small int" -> ptr
|
||||||
//
|
//
|
||||||
// mode: see enum in savegame.h
|
// mode: see enum in savegame.h
|
||||||
void G_Util_PtrToIdx(void *ptr, uint32_t len, const void *base, int32_t mode)
|
void G_Util_PtrToIdx(void *ptr, int32_t count, const void *base, int32_t mode)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
int32_t i;
|
||||||
intptr_t *iptr = ptr, ibase = (intptr_t)base;
|
intptr_t *iptr = ptr;
|
||||||
|
intptr_t ibase = (intptr_t)base;
|
||||||
int32_t back_p = mode&P2I_BACK_BIT;
|
int32_t back_p = mode&P2I_BACK_BIT;
|
||||||
int32_t onlynon0_p = mode&P2I_ONLYNON0_BIT;
|
int32_t onlynon0_p = mode&P2I_ONLYNON0_BIT;
|
||||||
|
|
||||||
|
@ -47,7 +48,7 @@ void G_Util_PtrToIdx(void *ptr, uint32_t len, const void *base, int32_t mode)
|
||||||
// compatibility between 32- and 64-bit systems in the netplay.
|
// compatibility between 32- and 64-bit systems in the netplay.
|
||||||
// REMEMBER to bump BYTEVERSION then.
|
// REMEMBER to bump BYTEVERSION then.
|
||||||
|
|
||||||
for (i=0; i<len; i++)
|
for (i=0; i<count; i++)
|
||||||
// WARNING: C std doesn't say that bit pattern of NULL is necessarily 0!
|
// WARNING: C std doesn't say that bit pattern of NULL is necessarily 0!
|
||||||
if (!onlynon0_p || iptr[i])
|
if (!onlynon0_p || iptr[i])
|
||||||
{
|
{
|
||||||
|
@ -58,21 +59,16 @@ void G_Util_PtrToIdx(void *ptr, uint32_t len, const void *base, int32_t mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void G_Util_PtrToIdx2(void *ptr, uint32_t len, size_t ofs, const void *base, int32_t mode)
|
void G_Util_PtrToIdx2(void *ptr, int32_t count, size_t stride, const void *base, int32_t mode)
|
||||||
{
|
{
|
||||||
uint32_t i;
|
int32_t i;
|
||||||
uint8_t *iptr = (uint8_t *)ptr;
|
uint8_t *iptr = (uint8_t *)ptr;
|
||||||
intptr_t ibase = (intptr_t)base;
|
intptr_t ibase = (intptr_t)base;
|
||||||
int32_t back_p = mode&P2I_BACK_BIT;
|
int32_t back_p = mode&P2I_BACK_BIT;
|
||||||
int32_t onlynon0_p = mode&P2I_ONLYNON0_BIT;
|
int32_t onlynon0_p = mode&P2I_ONLYNON0_BIT;
|
||||||
|
|
||||||
// TODO: convert to proper offsets/indices for (a step towards) cross-
|
for (i=0; i<count; i++)
|
||||||
// compatibility between 32- and 64-bit systems in the netplay.
|
|
||||||
// REMEMBER to bump BYTEVERSION then.
|
|
||||||
|
|
||||||
for (i=0; i<len; i++)
|
|
||||||
{
|
{
|
||||||
// WARNING: C std doesn't say that bit pattern of NULL is necessarily 0!
|
|
||||||
if (!onlynon0_p || *(intptr_t *)iptr)
|
if (!onlynon0_p || *(intptr_t *)iptr)
|
||||||
{
|
{
|
||||||
if (!back_p)
|
if (!back_p)
|
||||||
|
@ -81,7 +77,7 @@ void G_Util_PtrToIdx2(void *ptr, uint32_t len, size_t ofs, const void *base, int
|
||||||
*(intptr_t *)iptr += ibase;
|
*(intptr_t *)iptr += ibase;
|
||||||
}
|
}
|
||||||
|
|
||||||
iptr += ofs;
|
iptr += stride;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,7 +80,7 @@ enum
|
||||||
P2I_FWD_NON0 = 0+2,
|
P2I_FWD_NON0 = 0+2,
|
||||||
P2I_BACK_NON0 = 1+2,
|
P2I_BACK_NON0 = 1+2,
|
||||||
};
|
};
|
||||||
void G_Util_PtrToIdx(void *ptr, uint32_t len, const void *base, int32_t mode);
|
void G_Util_PtrToIdx(void *ptr, int32_t count, const void *base, int32_t mode);
|
||||||
void G_Util_PtrToIdx2(void *ptr, uint32_t len, size_t ofs, const void *base, int32_t mode);
|
void G_Util_PtrToIdx2(void *ptr, int32_t count, size_t stride, const void *base, int32_t mode);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue