Warning! This repository is not maintained anymore and left here only for historical reasons. If you want to submit some code, use the primary repo, which now contains code from all pantheon subprojects.
Tyr is a tool for online game recording in japanese (riichi) mahjong sessions. Tyr uses Mimir as its supporting backend. Features:
- Preview of current game state: players' points, riichi bets on table, renchan/honba count, current round.
- Preview of payments scheme.
- In-place check of yaku compatibility (to reduce common mistakes).
- In-place points calculation based on given yaku list.
- Live preview of timer (in tournament mode).
- Ability to start the game with arbitrary player list (in regular mode).
Tyr is a part of Pantheon system.
Please use our Bug tracker for error reports and feature requests.
- Tyr is a single-page web application. It runs inside your mobile browser.
- Based on Angular.js framework and hardly depends on it.
- Written in Typescript.
- Created with Angular CLI tool, thus supporting all commands of
ng
-tool, likeng build
orng test
.
- Make sure you run *nix-based OS or VM. Tyr is not tested to run on Windows host.
- Make sure you have Nodejs v6 or later installed globally on your system. Also you will need
npm
v3+ oryarn
. - Run
make deps
from Tyr's root directory. This will take some time. - Run
make dev
. Tyr will be run in development mode on port 4200 (http://localhost:4200/
). - If you want some production build, run
make build
- this will output production-compiled files intodist
folder. Tyr does not have any server-side logic, so you need just to put these files somewhere on your server. - If you want Tyr to use some other API entry point other than default, change API_URL constant (in
app/services/riichiApi.ts
) to whatever you need, then re-run dev or build task.
Run make deps
and then make dev
to run dev server.
Please send your issues and pull requests. Any help is appreciated.
Týr (/ˈtɪər/) is germanic one-handed god, associated with law, warriors and glory. See wikipedia for details :)