Public Access
Add four Star Trek / Lower Decks pages with a 3D printer red alert
LCARS ship status, the Cerritos duty roster from the agenda, a warp core driven by solar power with Rutherford's advice, and a captain's log under a viewscreen. Original pixel art in tools/trek_sprites.py. When the 3D printer (Moonraker current_print_state, `printer` substitution) is paused or in error, the panel jumps to LCARS Status in red alert and holds the rotation until it carries on. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4c6286e794
commit
13a499fd97
8 files changed
+811
-8
No files matched your search
@@ -0,0 +1,109 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Pixel art for the Star Trek / Lower Decks pages (components/el512/trek.cpp).
|
||||
|
||||
Original 1-bit fan art: '#' is a lit pixel. Writes
|
||||
components/el512/trek_sprites.h and, with --preview, a magnified PNG.
|
||||
|
||||
python tools/trek_sprites.py
|
||||
python tools/trek_sprites.py --preview sprites.png
|
||||
"""
|
||||
|
||||
from konosuba_sprites import main, padded
|
||||
|
||||
# Starfleet uniform shared by the ensigns: lit shoulders, combadge on the chest.
|
||||
BODY = [
|
||||
"....#######.....",
|
||||
"..###########...",
|
||||
".#############..",
|
||||
".##.###.#####...",
|
||||
".##.##...###.#..",
|
||||
".##.#######.##..",
|
||||
".##.#.....#.##..",
|
||||
".#..#.....#..#..",
|
||||
"....#######.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"....##...##.....",
|
||||
"...###...###....",
|
||||
]
|
||||
|
||||
SPRITES = {
|
||||
# Mariner: hair up in a bun, a smirk.
|
||||
"MARINER": [
|
||||
".......##.......",
|
||||
"......####......",
|
||||
"....########....",
|
||||
"...##########...",
|
||||
"...#.#....#.#...",
|
||||
"...#........#...",
|
||||
"...#.##..##.#...",
|
||||
"...#........#...",
|
||||
"...#......#.#...",
|
||||
"....#..###.#....",
|
||||
".....######.....",
|
||||
] + BODY,
|
||||
# Boimler: neat side part, worried open mouth.
|
||||
"BOIMLER": [
|
||||
"....#######.....",
|
||||
"...#########....",
|
||||
"...######...#...",
|
||||
"...#........#...",
|
||||
"...#.##..##.#...",
|
||||
"...#........#...",
|
||||
"...#...##...#...",
|
||||
"...#..####..#...",
|
||||
"...#..#..#..#...",
|
||||
"....#.####.#....",
|
||||
".....######.....",
|
||||
] + BODY,
|
||||
# Tendi: long hair down both sides, big smile.
|
||||
"TENDI": [
|
||||
".....######.....",
|
||||
"...##########...",
|
||||
"..############..",
|
||||
"..##........##..",
|
||||
"..#..##..##..#..",
|
||||
"..#..........#..",
|
||||
"..#.#......#.#..",
|
||||
"..#..######..#..",
|
||||
"..##........##..",
|
||||
"..###......###..",
|
||||
"..###.####.###..",
|
||||
] + BODY,
|
||||
# Rutherford: cybernetic implant over his left eye and temple.
|
||||
"RUTHERFORD": [
|
||||
"....########....",
|
||||
"...##########...",
|
||||
"...#.#.#.#.##...",
|
||||
"..####......#...",
|
||||
"..#..#.##...#...",
|
||||
"..####......#...",
|
||||
"..####......#...",
|
||||
"...##...##..#...",
|
||||
"...#..#####.#...",
|
||||
"....#......#....",
|
||||
".....######.....",
|
||||
] + BODY,
|
||||
# A Starfleet ship in profile, heading right: nacelle, pylons, engineering
|
||||
# hull and saucer.
|
||||
"SHIP": [
|
||||
"######################..........................",
|
||||
"#....................###........................",
|
||||
"######################..........................",
|
||||
".....#.......#..................................",
|
||||
"......#.......#...................#############.",
|
||||
".......#.......#...............##################",
|
||||
"........###########......#######################.",
|
||||
"........#.........######.........##############..",
|
||||
"........#.....................#..................",
|
||||
"........#######################..................",
|
||||
".........#.....#####.........#...................",
|
||||
"..........######...##########....................",
|
||||
],
|
||||
}
|
||||
|
||||
for _name in SPRITES:
|
||||
SPRITES[_name] = padded(SPRITES[_name])
|
||||
|
||||
if __name__ == "__main__":
|
||||
main(SPRITES, "Star Trek", "trek_sprites.py", "trek", __doc__)
|
||||
Reference in new issue
Block a user