Add sheet viewer page
This commit is contained in:
22
spritetab.ts
22
spritetab.ts
@ -1,22 +1,20 @@
|
||||
import { clearScreen, fillRect, setPixelColor } from "./window.ts";
|
||||
import { drawSprite } from "./builtins.ts";
|
||||
import { COLOR } from "./colors.ts";
|
||||
import {getSheet, setSheet} from "./sheet.ts";
|
||||
import { getSpriteSheet, setSheet } from "./sheet.ts";
|
||||
import { mouseHeld, mousePos } from "./mouse.ts";
|
||||
import { inRect } from "./util.ts";
|
||||
import { inRect, reGrid } from "./util.ts";
|
||||
import { page } from "./viewsheets.ts";
|
||||
import { useSpritesheet } from "./builtins.ts";
|
||||
|
||||
const state = {
|
||||
selectedSprite: 0,
|
||||
selectedColor: 0,
|
||||
get sprites() {
|
||||
const {sheet_type, value} = getSheet(2);
|
||||
if (sheet_type !== "spritesheet") {
|
||||
throw "Trying to use a non-sprite sheet as a spritesheet."
|
||||
}
|
||||
return value;
|
||||
return getSpriteSheet(page.activeSheet);
|
||||
},
|
||||
set sprites(val) {
|
||||
setSheet(0, "spritesheet", val);
|
||||
setSheet(page.activeSheet, "spritesheet", val);
|
||||
}
|
||||
}
|
||||
|
||||
@ -40,13 +38,6 @@ const sheetY = 88;
|
||||
const sheetW = 16;
|
||||
const sheetH = 4;
|
||||
|
||||
const reGrid = (x: number, y: number, gridX: number, gridY: number, cellW: number, cellH: number) => {
|
||||
return {
|
||||
x: Math.floor((x-gridX)/cellW),
|
||||
y: Math.floor((y-gridY)/cellH),
|
||||
}
|
||||
}
|
||||
|
||||
const update = () => {
|
||||
if (mouseHeld()) {
|
||||
const {x: mouseX, y: mouseY} = mousePos();
|
||||
@ -87,6 +78,7 @@ const drawTransparentRect = (x: number, y: number, w: number, h: number) => {
|
||||
const draw = () => {
|
||||
const {sprites, selectedSprite, selectedColor} = state;
|
||||
clearScreen();
|
||||
useSpritesheet(page.activeSheet);
|
||||
fillRect(0, 8, 128, 112, COLOR.BROWN);
|
||||
|
||||
// Draw the palette
|
||||
|
Reference in New Issue
Block a user