From 5279e5c62ee19d1f5b65bb41aad290df29c57028 Mon Sep 17 00:00:00 2001 From: otya128 Date: Fri, 30 Dec 2016 20:51:05 +0900 Subject: [PATCH] Implement SPUSED --- SMILEBASIC/builtinfunctions.d | 8 ++++++++ SMILEBASIC/sprite.d | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/SMILEBASIC/builtinfunctions.d b/SMILEBASIC/builtinfunctions.d index e1362d6..ffd78cd 100644 --- a/SMILEBASIC/builtinfunctions.d +++ b/SMILEBASIC/builtinfunctions.d @@ -1800,6 +1800,14 @@ class BuiltinFunction { p.sprite.spclip(x1, y1, x2, y2); } + static int SPUSED(PetitComputer p, int id) + { + if (!p.sprite.isValidSpriteId(id)) + { + throw new OutOfRange("SPUSED", 1); + } + return p.sprite.spused(id); + } static void BGMSTOP(PetitComputer p) { writeln("NOTIMPL:BGMSTOP"); diff --git a/SMILEBASIC/sprite.d b/SMILEBASIC/sprite.d index 5ef554e..5906582 100644 --- a/SMILEBASIC/sprite.d +++ b/SMILEBASIC/sprite.d @@ -1171,4 +1171,9 @@ class Sprite return sprites.length > id + spmax; } } + bool spused(int id) + { + id = spid(id); + return sprites[id].define; + } }