Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x 9x | import { commandIndex as cmd, JUMP } from "./scriptCommands";
export const getActorIndex = (actorId, scene) => {
return scene.actors.findIndex((a) => a.id === actorId) + 1;
};
export const getActor = (actorId, scene) => {
return scene.actors.find((a) => a.id === actorId);
};
export const getMusicIndex = (musicId, music) => {
const musicIndex = music.findIndex((track) => track.id === musicId);
return musicIndex;
};
export const getSpriteIndex = (spriteId, sprites) => {
const spriteIndex = sprites.findIndex((sprite) => sprite.id === spriteId);
Iif (spriteIndex === -1) {
return 0;
}
return spriteIndex;
};
export const getSprite = (spriteId, sprites) => {
return sprites.find((sprite) => sprite.id === spriteId);
};
export const getSpriteOffset = (spriteId, sprites, scene) => {
const spriteIndex = getSpriteIndex(spriteId, sprites);
let spriteOffset = 6;
for (let i = 0; i < scene.sprites.length; i++) {
Iif (scene.sprites[i] === spriteIndex) {
break;
}
const sprite = sprites[scene.sprites[i]];
spriteOffset += sprite.size / 64;
}
return spriteOffset;
};
export const getSpriteSceneIndex = (spriteId, sprites, scene) => {
const spriteIndex = getSpriteIndex(spriteId, sprites);
return scene.sprites.indexOf(spriteIndex) + 1;
};
export const getVariableIndex = (variable, variables) => {
const normalisedVariable = String(variable)
.replace(/\$/g, "")
.replace(/^0+([0-9])/, "$1");
let variableIndex = variables.indexOf(normalisedVariable);
Iif (variableIndex === -1) {
variables.push(normalisedVariable);
variableIndex = variables.length - 1;
}
return variableIndex;
};
export const compileConditional = (truePath, falsePath, options) => {
const { output, compileEvents } = options;
const truePtrIndex = output.length;
output.push("PTR_PLACEHOLDER1");
output.push("PTR_PLACEHOLDER2");
if (typeof falsePath === "function") {
falsePath();
} else Iif (falsePath) {
compileEvents(falsePath);
}
output.push(cmd(JUMP));
const endPtrIndex = output.length;
output.push("PTR_PLACEHOLDER1");
output.push("PTR_PLACEHOLDER2");
const truePointer = output.length;
output[truePtrIndex] = truePointer >> 8;
output[truePtrIndex + 1] = truePointer & 0xff;
if (typeof truePath === "function") {
truePath();
} else Iif (truePath) {
compileEvents(truePath);
}
const endIfPointer = output.length;
output[endPtrIndex] = endIfPointer >> 8;
output[endPtrIndex + 1] = endIfPointer & 0xff;
};
export const pushToArray = (output, data) => {
output.push(...data);
};
|