From 567bed7a7c1a5e83dd524855f1f0dcd5a0a5afe8 Mon Sep 17 00:00:00 2001 From: Dani The Skunk Date: Fri, 21 Oct 2022 06:15:01 +0000 Subject: [PATCH] testing layout with chapter sidebar --- fonts/ega-16x28.png | Bin 0 -> 8422 bytes .../danitheskunk/skunkwrite/Skunkwrite.java | 26 +++++++++++++++--- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 fonts/ega-16x28.png diff --git a/fonts/ega-16x28.png b/fonts/ega-16x28.png new file mode 100644 index 0000000000000000000000000000000000000000..f039dc4108a14e1d708a1ead0b5c99fd29f13c81 GIT binary patch literal 8422 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 e?f)tBDq7oU`_#7CFkgXvz lines; public Skunkwrite() { @@ -42,11 +45,22 @@ public class Skunkwrite extends BaseGame { lines.add("Meatloaf turducken leberkas beef ribs drumstick fatback " + "landjaeger ribeye ham hamburger. Boudin ground round beef ribs cow strip steak alcatra. Jerky tenderloin chuck biltong prosciutto, chislic kielbasa. Ham kielbasa cupim cow boudin pork jerky fatback chicken shoulder landjaeger tail strip steak. Cupim tail meatball sausage, shank biltong ham corned beef chuck pancetta boudin pork alcatra bresaola ribeye. Pancetta ball tip buffalo bacon picanha, frankfurter pastrami pork loin ham hock."); term = new Terminal( - new Vec2i(160, 51), - window.loadFontTileset("fonts/ega-8x14.png") + new Vec2i(80, 25), + window.loadFontTileset("fonts/ega-16x28.png") ); //term.drawHalfString(new Vec2i(0, 0), "Meow", Color.GREEN); - term.clear(new Color(0xF2, 0xEE, 0xCB)); + term.clear(bgColor); + term.drawString(new Vec2i(0, 0), "Chapter 1", fgColor); + //term.setChar(new Vec2i(0, 1), Cp437.BOX_SINGLE_TOP_RIGHT, fgColor); + term.drawString(new Vec2i(2, 1), "Bacon", bgColor, fgColor); + term.drawString(new Vec2i(2, 2), "Beef", fgColor); + term.drawString(new Vec2i(2, 3), "Pork", fgColor); + term.drawString(new Vec2i(2, 4), "Steak", fgColor); + term.drawString(new Vec2i(0, 5), "Chapter 2", fgColor); + term.drawString(new Vec2i(2, 6), "Ribs", fgColor); + term.drawString(new Vec2i(2, 7), "Hamburger", fgColor); + + term.drawVerticalSingleLine(new Vec2i(19, 0), 25, fgColor); drawEditor(); } @@ -83,12 +97,16 @@ public class Skunkwrite extends BaseGame { private void drawEditor() { int lineLength = 60; int x = (term.getSize().getX() - lineLength)/2; + x = 20; int y = 0; for(int i = 0; i < lines.size(); ++i) { var l = splitIntoLines(lines.get(i), lineLength); for(int j = 0; j < l.size(); ++j) { - term.drawString(new Vec2i(x, y), l.get(j), Color.DARK_GRAY); + term.drawString(new Vec2i(x, y), l.get(j), fgColor); ++y; + if(y == term.getSize().getY()) { + return; + } } ++y; }