Implement SPLINK(2)
This commit is contained in:
@@ -1769,6 +1769,10 @@ class BuiltinFunction
|
|||||||
{
|
{
|
||||||
p.sprite.splink(child, parent);
|
p.sprite.splink(child, parent);
|
||||||
}
|
}
|
||||||
|
static int SPLINK(PetitComputer p, int id)
|
||||||
|
{
|
||||||
|
return p.sprite.splink(id);
|
||||||
|
}
|
||||||
static void SPUNLINK(PetitComputer p, int id)
|
static void SPUNLINK(PetitComputer p, int id)
|
||||||
{
|
{
|
||||||
if (!p.sprite.isSpriteDefined(id))
|
if (!p.sprite.isSpriteDefined(id))
|
||||||
|
|||||||
@@ -802,6 +802,14 @@ class Sprite
|
|||||||
}
|
}
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
int unspid(int id)
|
||||||
|
{
|
||||||
|
if(petitcom.displaynum == 1)
|
||||||
|
{
|
||||||
|
return id - this.spmax;
|
||||||
|
}
|
||||||
|
return id;
|
||||||
|
}
|
||||||
void spset(int id, int defno)
|
void spset(int id, int defno)
|
||||||
{
|
{
|
||||||
id = spid(id);
|
id = spid(id);
|
||||||
@@ -1056,6 +1064,19 @@ class Sprite
|
|||||||
zChange = true;
|
zChange = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
int splink(int id)
|
||||||
|
{
|
||||||
|
if (!isSpriteDefined(id))
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
id = spid(id);
|
||||||
|
if (!sprites[id].parent)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
return unspid(sprites[id].parent.id);
|
||||||
|
}
|
||||||
//再帰的にUNLINKされるのか?
|
//再帰的にUNLINKされるのか?
|
||||||
void spunlink(int id)
|
void spunlink(int id)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user