1
0

Fix SPCOL

This commit is contained in:
otya128
2016-12-23 15:51:42 +09:00
parent eacf57205e
commit 82781a9dd2

View File

@@ -292,6 +292,7 @@ struct SpriteData
//SPCOL //SPCOL
SpriteCollision col; SpriteCollision col;
bool enableCol;
} }
class Sprite class Sprite
{ {
@@ -1091,6 +1092,7 @@ class Sprite
void spcol(int id, short sx, short sy, ushort w, ushort h, bool scale, int mask) void spcol(int id, short sx, short sy, ushort w, ushort h, bool scale, int mask)
{ {
id = spid(id); id = spid(id);
sprites[id].enableCol = true;
sprites[id].col.data = &sprites[id]; sprites[id].col.data = &sprites[id];
sprites[id].col.sx = sx; sprites[id].col.sx = sx;
sprites[id].col.sy = sy; sprites[id].col.sy = sy;
@@ -1137,11 +1139,14 @@ class Sprite
} }
int sphitsp2(int id, int start, int end) int sphitsp2(int id, int start, int end)
{ {
for(; start <= end; start++) if (!sprites[id].enableCol)
{ {
//自分を除外すべきか? return -1;
if(id == start) continue;//???? }
if(sprites[id].col.detection(sprites[start])) synchronized (this) for(; start <= end; start++)
{
if(id == start) continue;
if(sprites[start].enableCol && sprites[id].col.detection(sprites[start]))
return start; return start;
} }
return -1; return -1;