|
1 | 1 | # SPA2 |
2 | 2 |
|
3 | | -SPA2 is a self-hosted collection of cipher and code tools for Android |
4 | | -(substitution ciphers, Morse code, Braille, and more). Native UI in Java with |
5 | | -a C/C++ core (PCRE-based search). |
| 3 | +SPA2 (riddle-hunters' "Puzzlehunt Assistant") is a self-hosted collection of |
| 4 | +cipher and code tools for Android (substitution ciphers, Morse code, Braille, |
| 5 | +and more), plus a checkpoint logbook for field puzzle hunts. Native UI in Java |
| 6 | +with a C/C++ core (PCRE-based search). The UI is localized in English and |
| 7 | +Czech. |
| 8 | + |
| 9 | +## Screens |
| 10 | + |
| 11 | +The main menu (plus the app icon) opens one tool per screen; each cipher has a |
| 12 | +bottom tab bar switching between Encode, Decode and a Reference. The sample |
| 13 | +message **"Secret Message"** is used below so the encoded output is visible. |
| 14 | +All shots are from the v4.0.0 build on a Pixel 9 Pro XL (SDK 37); they are |
| 15 | +maintained as on-device captures attached to |
| 16 | +[issue #17](https://github.com/abandonrules/sifry/issues/17). |
| 17 | + |
| 18 | +| Screen | What it does | |
| 19 | +|---|---| |
| 20 | +| <img src="https://github.com/user-attachments/assets/6bb8a8d2-ca12-40be-b420-299487b846a1" width="280"> | **01 · Splash screen** — app icon on cold start | |
| 21 | +| <img src="https://github.com/user-attachments/assets/038516e0-4672-48fa-9fe8-e9e2440e3b02" width="280"> | **02 · Main menu** — every tool, tap to open | |
| 22 | +| <img src="https://github.com/user-attachments/assets/154e3261-fa85-4e8e-9222-d1367a1dc19f" width="280"> | **03 · Settings** — locale (English / čeština), logbook auto-numbering and friends | |
| 23 | +| <img src="https://github.com/user-attachments/assets/35f6c837-e672-4f31-8dd9-1dccedadab96" width="280"> | **04 · About / Licence** — version (Puzzlehunt Assistant v4.0.0), licensing and component credit (PCRE 8.45) | |
| 24 | +| <img src="https://github.com/user-attachments/assets/fee84eee-0f20-4970-80ee-da34bdf9d634" width="280"> | **05 · Release notes** — in-app changelog (v4.0 + older versions) | |
| 25 | +| <img src="https://github.com/user-attachments/assets/6349826b-c275-4ccc-8ee8-288cb08199b6" width="280"> | **06 · Morse code** — Encode tab: letters → dots/dashes, binary signal, and timing numbers (1 = dot, 2 = dash, 0 = separator) | |
| 26 | +| <img src="https://github.com/user-attachments/assets/e80654b0-70ac-4282-bb51-58bbe5221706" width="280"> | **07 · Braille** — Encode tab: letters → raised-dot pattern, numeric and binary (123456) representation | |
| 27 | +| <img src="https://github.com/user-attachments/assets/78e7da63-ebfb-49e7-9afd-709dd0eb8f90" width="280"> | **08 · Letter numbers** — Encode tab: letters → 1-based/0-based numbers and ASCII codes | |
| 28 | +| <img src="https://github.com/user-attachments/assets/3f8ec1a7-ade9-4859-96c4-d313398cab8d" width="280"> | **09 · Semaphore** — Encode tab: letters → flag pairs and the numeric mapping used on paper | |
| 29 | +| <img src="https://github.com/user-attachments/assets/19a0cc53-894f-4d46-b79d-53161409eaa3" width="280"> | **10 · Cipher grid** — Encode tab: letters into the 3×3+2×2 (or other) grid layout | |
| 30 | +| <img src="https://github.com/user-attachments/assets/c0c0af4d-9855-48f6-98e4-9dae20c971da" width="280"> | **11 · Signal flags** — Encode tab: letters → International Code of Signals flag icons | |
| 31 | +| <img src="https://github.com/user-attachments/assets/1b436bf5-a88f-4428-887d-969712703c9e" width="280"> | **12 · Frequency analysis** — letter/char counts, alphabetical order and word lengths, grouped per input | |
| 32 | +| <img src="https://github.com/user-attachments/assets/cc7f7f3f-a473-41af-a859-11fc0ec52587" width="280"> | **13 · Substitution ciphers** — brute-force all twenty-six Caesar/Atbash shifts at once | |
| 33 | +| <img src="https://github.com/user-attachments/assets/2c856d96-670c-4dc7-98ef-634f6edddf6e" width="280"> | **14 · Transposition** — multi-touch shape probing to recover transposed plaintext | |
| 34 | +| <img src="https://github.com/user-attachments/assets/70a3718d-5381-4f88-bf19-c62b32802238" width="280"> | **15 · Calendar** — month/year reference grid (e.g. for Caesar-keyed dates) | |
| 35 | +| <img src="https://github.com/user-attachments/assets/576fca76-c853-482d-b431-29e137fa2734" width="280"> | **16 · Checkpoint logbook** — add a checkpoint: title, code, check-in time, remark | |
| 36 | +| <img src="https://github.com/user-attachments/assets/cd6c92a3-9c63-448c-8ac0-e7a97794a4f5" width="280"> | **17 · Checkpoint logbook** — the field list of captured checkpoints | |
| 37 | +| <img src="https://github.com/user-attachments/assets/8dc1fca0-251c-4cb1-81dd-a93f447a3f3d" width="280"> | **18 · Dictionary search** — PCRE/regular-expression filter over the bundled dictionary ("sifr" → words) | |
6 | 38 |
|
7 | 39 | ## Building |
8 | 40 |
|
|
0 commit comments