Fixed more logic bugs.
SPR_FIRSTFREESLOT is not the same as SPR2_FIRSTFREESLOT. What was I, drunk?
This commit is contained in:
parent
24ab56691e
commit
4e2cc2c200
|
@ -674,11 +674,11 @@ static void readfreeslots(MYFILE *f)
|
||||||
else if (fastcmp(type, "SPR2"))
|
else if (fastcmp(type, "SPR2"))
|
||||||
{
|
{
|
||||||
// Search if we already have an SPR2 by that name...
|
// Search if we already have an SPR2 by that name...
|
||||||
for (i = SPR_FIRSTFREESLOT; i < free_spr2; i++)
|
for (i = SPR2_FIRSTFREESLOT; i < free_spr2; i++)
|
||||||
if (memcmp(spr2names[i],word,4) == 0)
|
if (memcmp(spr2names[i],word,4) == 0)
|
||||||
break;
|
break;
|
||||||
// We found it? (Two mods using the same SPR2 name?) Then don't allocate another one.
|
// We found it? (Two mods using the same SPR2 name?) Then don't allocate another one.
|
||||||
if (i != free_spr2)
|
if (i < free_spr2)
|
||||||
continue;
|
continue;
|
||||||
// Copy in the spr2 name and increment free_spr2.
|
// Copy in the spr2 name and increment free_spr2.
|
||||||
if (free_spr2 < NUMPLAYERSPRITES) {
|
if (free_spr2 < NUMPLAYERSPRITES) {
|
||||||
|
@ -8371,11 +8371,11 @@ static inline int lib_freeslot(lua_State *L)
|
||||||
{
|
{
|
||||||
// Search if we already have an SPR2 by that name...
|
// Search if we already have an SPR2 by that name...
|
||||||
enum playersprite i;
|
enum playersprite i;
|
||||||
for (i = SPR_FIRSTFREESLOT; i < free_spr2; i++)
|
for (i = SPR2_FIRSTFREESLOT; i < free_spr2; i++)
|
||||||
if (memcmp(spr2names[i],word,4) == 0)
|
if (memcmp(spr2names[i],word,4) == 0)
|
||||||
break;
|
break;
|
||||||
// We don't, so allocate a new one.
|
// We don't, so allocate a new one.
|
||||||
if (i == free_spr2) {
|
if (i >= free_spr2) {
|
||||||
if (free_spr2 < NUMPLAYERSPRITES)
|
if (free_spr2 < NUMPLAYERSPRITES)
|
||||||
{
|
{
|
||||||
CONS_Printf("Sprite SPR2_%s allocated.\n",word);
|
CONS_Printf("Sprite SPR2_%s allocated.\n",word);
|
||||||
|
|
Loading…
Reference in a new issue