mirror of
https://gitea.com/SweetSea-ButImNotSweet/tromi_mobile.git
synced 2025-01-08 17:33:09 +08:00
Update icon + README file
This commit is contained in:
34
README.md
34
README.md
@@ -1,33 +1,55 @@
|
||||
# Tromi (MOBILE port)
|
||||
# Tromi (ANDROID port)
|
||||
A old-fashioned but modern block-stacking game. Made with love by [mycophobia](https://mycophobia.org/tromi).<br>
|
||||
Ported to Android by SweetSea with on-screen control (with some necessary changes)
|
||||
Ported to Android (mobile and TV) by SweetSea with on-screen control (with some necessary changes)
|
||||
|
||||
# How to play
|
||||
> :warning: There is no Android build (aka APK file) right now. If you see any pre-built APK files on the internet. Please be aware
|
||||
## Install
|
||||
## For mobile
|
||||
### Install
|
||||
1. Download Tromi from [Releases tab](https://gitea.com/SweetSea-ButImNotSweet/tromi_mobile/releases) and place ``tromi_mobile.love`` to somewhere you can easy to navigate
|
||||
2. Download [love2d engine](https://love2d.org) (You should get 11.5 or above)
|
||||
3. Install love2d engine (extra steps may require, you can read [this article from WikiHow](https://www.wikihow.com/Install-APK-Files-on-Android) if this is the first time for you to install app from APK file)
|
||||
4. Now, press Home (or back to app launcher), you can see two icons: ``LÖVE for Android`` and ``LÖVE Launcher``. You should use the ``LÖVE Launcher`` to launch Tromi
|
||||
## Launch
|
||||
### Launch
|
||||
1. Launch ``LÖVE Launcher``, an file picker will appear
|
||||
2. Navigate to where you put the bare ``tromi_mobile.love``
|
||||
3. Pick the file and enjoy
|
||||
|
||||
## For TV
|
||||
> :warning: Before telling you how to, I have something to tell you.<br>
|
||||
> I don't really encourage you to play Tromi on TV if you ***don't want*** your electricity bill to skyrocket as if to punch you in the face.<br>
|
||||
> If you can, **plug in a keyboard or gamepad** and play the original Tromi instead of this one.<br>
|
||||
> You can still use the remote, but remember that the remote ***is not designed for gaming***. And if you lose before the speed reaches 20G, I earnestly beg you ***not to throw the remote at your precious TV and then curse me because your performance is worse than when playing on the keyboard***.
|
||||
### Install
|
||||
1. Install this file manager on your TV: https://play.google.com/store/apps/details?id=com.alphainventor.filemanager. After installing you should see [this icon](https://play-lh.googleusercontent.com/9PzlG2XGr5sQDf5925tlZhqluOreI2cwzp-FOZiuj545Kt1Gk5EE9J4IdGsD7e5xWw=w240-h480-rw)
|
||||
2. Opening the app, click on ``Access from...`` (network/other devices/etc...)
|
||||
3. Now, on another devices, download both Tromi and love2d (like on mobile)
|
||||
4. Transferring 2 downloaded files to TV
|
||||
5. Install love2d app
|
||||
6. *(Only first time)*, open the ``tromi_mobile.love``. When the file manager asks for opening the file as what. Choose ``Other``, then pick ``LÖVE for Android`` and click ``Always``
|
||||
|
||||
### Launch
|
||||
Navigate to where you put ``tromi_mobile.love`` in the File manager (the one you downloaded from the link in Install part), just opening and Tromi should be launched.
|
||||
|
||||
# Differences from original Tromi
|
||||
> This is required, to follow the used license (GNU GPL v3)
|
||||
* No differences in gameplay
|
||||
* Files will be saved into ``Android/data/org.love2d.android/tromi_mobile`` instead the location where the game files in
|
||||
* Add ``simple-button`` module, made by SweetSea
|
||||
* All UIs are touch-able
|
||||
* Add on-screen buttons
|
||||
* Replaced icons for 3 direction buttons (Left, Down, Right)
|
||||
<img src="https://gitea.com/SweetSea-ButImNotSweet/tromi_mobile/raw/branch/main/Replay screen differences.png">
|
||||
* <details><summary>Add a special pre-made keybind for Android TV (only supports TV models have their remote has numerical area (0-9))</summary><img src="https://gitea.com/SweetSea-ButImNotSweet/tromi_mobile/raw/branch/main/screenshot/SPOILER_tv_code.png"></special>
|
||||
* <details><summary>Changes the way to input secret code to activate Pentominoes mode</summary><img src="https://gitea.com/SweetSea-ButImNotSweet/tromi_mobile/raw/branch/main/screenshot/SPOILER_pento_code.png">To insert the left arrow, tap on the left, so does to right arrow.</details>
|
||||
* Add a loading screen (this need to be updated later)
|
||||
* Replaced ``binser`` serializer with ``bitser`` serializer (IDK why it is failed when saving, this change ***make configuration and profile files cannot be imported back to original Tromi***, except replay)
|
||||
* Update ``binser`` library, this fixes some weird bugs related to saving
|
||||
* Replaced old Cambridge's ``config`` module with the new one inspired by "the sequel of Techmino"s ``SETTINGS`` module
|
||||
|
||||
# TODO
|
||||
|
||||
- [ ] Add a way to export replay for Android > 11
|
||||
- [ ] Revert ``bitser`` with ``binser`` (if and only if I can make it works)
|
||||
- [x] Revert ``bitser`` with ``binser`` (if and only if I can make it works)
|
||||
- [ ] Design a new on-screen buttons skin (the current one is come from [C₂₉H₂₅N₃O₅](https://github.com/C29H25N3O5), I am aware that it's not fit to Tromi's design language)
|
||||
- [ ] (Low priority) Design a new menu screen
|
||||
|
||||
|
||||
@@ -921,19 +921,19 @@ end
|
||||
|
||||
function GameMode:drawInputDisplay(left, top)
|
||||
if self.replay_inputs[self.frames] ~= nil then
|
||||
drawText("·", left+10, top+8, 1000, "left")
|
||||
drawText("↓", left+10, top+18, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['down']),1,1-boolToInt(self.replay_inputs[self.frames]['down']),1})
|
||||
drawText("←", left, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['left']),1,1-boolToInt(self.replay_inputs[self.frames]['left']),1})
|
||||
drawText("→", left+20, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['right']),1,1-boolToInt(self.replay_inputs[self.frames]['right']),1})
|
||||
drawText("+", left+10, top+8, 1000, "left")
|
||||
drawText("▼", left+10, top+18, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['down']),1,1-boolToInt(self.replay_inputs[self.frames]['down']),1})
|
||||
drawText("◀", left, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['left']),1,1-boolToInt(self.replay_inputs[self.frames]['left']),1})
|
||||
drawText("▶", left+20, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['right']),1,1-boolToInt(self.replay_inputs[self.frames]['right']),1})
|
||||
drawText("L", left+35, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['rotate_left']),1,1-boolToInt(self.replay_inputs[self.frames]['rotate_left']),1})
|
||||
drawText("R", left+50, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['rotate_right']),1,1-boolToInt(self.replay_inputs[self.frames]['rotate_right']),1})
|
||||
drawText("L", left+65, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['rotate_left2']),1,1-boolToInt(self.replay_inputs[self.frames]['rotate_left2']),1})
|
||||
drawText("R", left+80, top+8, 1000, "left",{1-boolToInt(self.replay_inputs[self.frames]['rotate_right2']),1,1-boolToInt(self.replay_inputs[self.frames]['rotate_right2']),1})
|
||||
else
|
||||
drawText("·", left+10, top+8, 1000, "left")
|
||||
drawText("↓", left+10, top+18, 1000, "left")
|
||||
drawText("←", left, top+8, 1000, "left")
|
||||
drawText("→", left+20, top+8, 1000, "left")
|
||||
drawText("+", left+10, top+8, 1000, "left")
|
||||
drawText("▼", left+10, top+18, 1000, "left")
|
||||
drawText("◀", left, top+8, 1000, "left")
|
||||
drawText("▶", left+20, top+8, 1000, "left")
|
||||
drawText("L", left+35, top+8, 1000, "left")
|
||||
drawText("R", left+50, top+8, 1000, "left")
|
||||
drawText("L", left+65, top+8, 1000, "left")
|
||||
|
||||
BIN
screenshot/Replay screen differences.png
Normal file
BIN
screenshot/Replay screen differences.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.0 MiB |
Binary file not shown.
|
Before Width: | Height: | Size: 494 KiB After Width: | Height: | Size: 404 KiB |
Reference in New Issue
Block a user