Credit Claude Code: note at the top of the README, in CREDITS and the standalone file; pixel-art mark with link next to the licence on title and login screens

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-03 14:44:28 +01:00
1 parent ea0623fbe3
commit d92b45a0b8
7 files changed
+47 -1

No files matched your search

+37
View File
@@ -205,6 +205,7 @@ enum Btn {
StartMission,
Goals,
Repo,
ClaudeCode,
Field(usize),
DoLogin,
Account,
@@ -216,6 +217,27 @@ enum Btn {
}
pub const REPO_URL: &str = "https://git.familie-zink.org/zink/dungeoncraft";
pub const CLAUDE_CODE_URL: &str = "https://claude.com/claude-code";
// the Claude Code mark as pixel art (drawn next to the "made with" note)
const CLAUDE_MARK: [&str; 5] = [
"...############...",
"...##.######.##...",
".################.",
"...############...",
"....#.#....#.#....",
];
pub fn draw_claude_mark(x: f32, y: f32, px: f32) {
let c = Color::from_rgba(0xd9, 0x77, 0x57, 255);
for (r, row) in CLAUDE_MARK.iter().enumerate() {
for (k, ch) in row.chars().enumerate() {
if ch == '#' {
draw_rectangle(x + k as f32 * px, y + r as f32 * px, px, px, c);
}
}
}
}
pub enum MenuAction {
None,
@@ -236,6 +258,7 @@ pub enum MenuAction {
EditName, // the name field was tapped (touch: ask with a browser dialog)
StartMission(usize),
OpenRepo,
OpenClaudeCode,
Login(String, String),
Logout,
OpenAccount,
@@ -478,6 +501,7 @@ impl Menu {
}
Some(Btn::NameField) => MenuAction::EditName,
Some(Btn::Repo) => MenuAction::OpenRepo,
Some(Btn::ClaudeCode) => MenuAction::OpenClaudeCode,
Some(Btn::Field(i)) => {
self.focus = i;
MenuAction::EditField(i)
@@ -620,6 +644,19 @@ impl Menu {
pub fn draw_license(&mut self, gfx: &Gfx) {
let (sw, sh) = (sw(), sh());
let (mx, my) = mouse();
// "made with Claude Code" with the pixel mark, a link to Claude Code
let made = tr("menu.made_with");
let px = (SMALL() * 2.0).round().max(2.0);
let mark_w = 18.0 * px;
let tw = gfx.measure(&made, SMALL());
let total = mark_w + CW() * 0.5 + tw;
let mx0 = grid_center(sw, total);
let my0 = sh - CH() * 4.0;
let r = Rect::new(mx0, my0, total, GH * SMALL() + 2.0);
let hot = r.contains(vec2(mx, my));
draw_claude_mark(mx0, my0 + (GH * SMALL() - 5.0 * px) * 0.5, px);
gfx.text(&made, mx0 + mark_w + CW() * 0.5, my0, SMALL(), if hot { FRAME_HI } else { Color::from_rgba(0xd9, 0x77, 0x57, 255) });
self.buttons.push((r, Btn::ClaudeCode));
let lic = tr("menu.license");
gfx.text(&lic, grid_center(sw, gfx.measure(&lic, SMALL())), sh - CH() * 2.5, SMALL(), DIM);
let url = REPO_URL.trim_start_matches("https://");