From 1991fbf056198c51eff48c8a11c87761b7878677 Mon Sep 17 00:00:00 2001
From: Corwin
Date: Sun, 28 Apr 2024 23:29:57 +0100
Subject: [PATCH] add dpl
---
justfile | 3 +-
website/agb/src/app/showcase/[game]/page.tsx | 2 +-
.../showcase/data/tapir/dungeon/dungeon.tsx | 30 ++++++++++++++++++
.../dungeon/the-dungeon-puzzlers-lament-0.png | Bin 0 -> 5939 bytes
.../dungeon/the-dungeon-puzzlers-lament-1.png | Bin 0 -> 8105 bytes
.../data/tapir/hyperspace/hyperspace.tsx | 2 +-
website/agb/src/app/showcase/games.tsx | 8 ++++-
website/agb/src/app/showcase/page.tsx | 2 +-
website/agb/src/app/showcase/styles.tsx | 5 +--
9 files changed, 45 insertions(+), 7 deletions(-)
create mode 100644 website/agb/src/app/showcase/data/tapir/dungeon/dungeon.tsx
create mode 100644 website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-0.png
create mode 100644 website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-1.png
diff --git a/justfile b/justfile
index b59c3838..95e4a4b6 100644
--- a/justfile
+++ b/justfile
@@ -109,7 +109,8 @@ build-mgba-wasm:
build-combo-rom-site:
just _build-rom "examples/combo" "AGBGAMES"
- gzip -9 -c examples/target/examples/combo.gba > website/agb/src/app/combo.gba.gz
+ mkdir -p website/agb/src/roms
+ gzip -9 -c examples/target/examples/combo.gba > website/agb/src/roms/combo.gba.gz
setup-app-build: build-mgba-wasm build-combo-rom-site build-website-backtrace
diff --git a/website/agb/src/app/showcase/[game]/page.tsx b/website/agb/src/app/showcase/[game]/page.tsx
index cf3b2138..e4b82f72 100644
--- a/website/agb/src/app/showcase/[game]/page.tsx
+++ b/website/agb/src/app/showcase/[game]/page.tsx
@@ -18,7 +18,7 @@ export async function generateStaticParams() {
}));
}
-export function getGame(slug: string) {
+function getGame(slug: string) {
const game = Games.find((game) => slugify(game.name) === slug);
if (!game) {
throw new Error("Not valid game name, this should never happen");
diff --git a/website/agb/src/app/showcase/data/tapir/dungeon/dungeon.tsx b/website/agb/src/app/showcase/data/tapir/dungeon/dungeon.tsx
new file mode 100644
index 00000000..1940f75b
--- /dev/null
+++ b/website/agb/src/app/showcase/data/tapir/dungeon/dungeon.tsx
@@ -0,0 +1,30 @@
+import { ShowcaseGame, shuffle } from "@/app/showcase/games";
+import d1 from "./the-dungeon-puzzlers-lament-0.png";
+import d2 from "./the-dungeon-puzzlers-lament-1.png";
+
+const Screenshots = [d1, d2];
+
+export const Dungeon: ShowcaseGame = {
+ name: "The Dungeon Puzzler's Lament",
+ developers: shuffle(["Corwin Kuiper", "Gwilym Inzani"]),
+ screenshots: Screenshots,
+ description: (
+ <>
+
+ Get through as many levels as possible in this space themed, dice
+ rolling roguelike.
+
+
+ Build up powerful combos to defeat enemies which keep getting stronger.
+ Slowly acquire more dice and upgrade them in order to handle the
+ increasing strength of the enemies you face.
+
+
+
+ Hyperspace Roll was influenced by great games such as Slay the Spire,
+ FTL and the board game Escape: The Curse of the Temple.
+
+ >
+ ),
+ itch: new URL("https://setsquare.itch.io/dungeon-puzzlers-lament"),
+};
diff --git a/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-0.png b/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-0.png
new file mode 100644
index 0000000000000000000000000000000000000000..7129214de1e6f4568c5076db07d068305e800d0b
GIT binary patch
literal 5939
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
K$ydo*g#Hh)rngrB
literal 0
HcmV?d00001
diff --git a/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-1.png b/website/agb/src/app/showcase/data/tapir/dungeon/the-dungeon-puzzlers-lament-1.png
new file mode 100644
index 0000000000000000000000000000000000000000..d73f10471ac099ccfe4e3e6eb25cac520ef03fdd
GIT binary patch
literal 8105
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
D_<#pN
literal 0
HcmV?d00001
diff --git a/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx
index 84ffdcd9..945dc2dd 100644
--- a/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx
+++ b/website/agb/src/app/showcase/data/tapir/hyperspace/hyperspace.tsx
@@ -26,5 +26,5 @@ export const Hyperspace: ShowcaseGame = {
>
),
- itch: new URL("https://lostimmortal.itch.io/the-purple-night"),
+ itch: new URL("https://lostimmortal.itch.io/hyperspace-roll"),
};
diff --git a/website/agb/src/app/showcase/games.tsx b/website/agb/src/app/showcase/games.tsx
index 02418bb7..952b1106 100644
--- a/website/agb/src/app/showcase/games.tsx
+++ b/website/agb/src/app/showcase/games.tsx
@@ -3,6 +3,7 @@ import { ReactNode } from "react";
import { HatWiz } from "./data/tapir/hatwiz/hatwiz";
import { Purple } from "./data/tapir/purple/purple";
import { Hyperspace } from "./data/tapir/hyperspace/hyperspace";
+import { Dungeon } from "./data/tapir/dungeon/dungeon";
export interface ShowcaseGame {
name: string;
@@ -25,4 +26,9 @@ export function shuffle(a: T[]) {
return a;
}
-export const Games: ShowcaseGame[] = [HatWiz, Purple, Hyperspace];
+export const Games: ShowcaseGame[] = shuffle([
+ HatWiz,
+ Purple,
+ Hyperspace,
+ Dungeon,
+]);
diff --git a/website/agb/src/app/showcase/page.tsx b/website/agb/src/app/showcase/page.tsx
index 8ebb7fbc..00021d5a 100644
--- a/website/agb/src/app/showcase/page.tsx
+++ b/website/agb/src/app/showcase/page.tsx
@@ -5,7 +5,7 @@ import { slugify } from "@/sluggify";
import { GameDisplay, GameGrid, GameImage } from "./styles";
export const metadata: Metadata = {
- title: "Games made with agb",
+ title: "Showcase - agb",
};
export default function ColourPickerPage() {
diff --git a/website/agb/src/app/showcase/styles.tsx b/website/agb/src/app/showcase/styles.tsx
index 32936871..33c6ac08 100644
--- a/website/agb/src/app/showcase/styles.tsx
+++ b/website/agb/src/app/showcase/styles.tsx
@@ -5,9 +5,10 @@ import styled from "styled-components";
import Image from "next/image";
export const GameGrid = styled.div`
- display: flex;
- flex-wrap: wrap;
+ display: grid;
+ grid-template-columns: repeat(auto-fit, 600px);
justify-content: center;
+ gap: 48px;
`;
export const GameImage = styled(Image)`