https://github.com/spikehd/roguetop
Moddable, lightweight PokeRogue Desktop App for Windows, Mac and Linux, built for x86 and ARM.
https://github.com/spikehd/roguetop
Last synced: about 1 year ago
JSON representation
Moddable, lightweight PokeRogue Desktop App for Windows, Mac and Linux, built for x86 and ARM.
- Host: GitHub
- URL: https://github.com/spikehd/roguetop
- Owner: SpikeHD
- License: gpl-3.0
- Created: 2024-05-08T00:05:15.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-20T05:36:25.000Z (about 2 years ago)
- Last Synced: 2024-05-20T06:25:46.297Z (about 2 years ago)
- Language: Rust
- Homepage:
- Size: 1.35 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
RogueTop
# Installation
*You can also download portable versions for each platform, which you can find on the [releases](https://github.com/SpikeHD/RogueTop/releases/tag/nightly) page.*
> [!NOTE]
> ***MacOS Users***: If opening the app gives you "PokeRogue.app is damaged and cannot be opened", MacOS is lying to you and you may just need to run `sudo xattr -rd com.apple.quarantine /Applications/PokeRogue.app`.
>
> ***Windows Users***: Defender may think RogueTop is a virus. This just happens sometimes, and if SmartScreen blocks it from running, click "More Info" and "Run Anyways". Feel free to scan RogueTop with [Virustotal](https://www.virustotal.com/gui/home/upload)!
## Online vs Offline
RogueTop comes in two flavors, regular and "offline". Regular versions are very lightweight (usually **<5mb**), and will load the online version of PokeRogue. Offline versions are significantly larger (around **450mb**), but contain the entirety of PokeRogue within the binary, and can be run without an internet connection! Offline versions allow access in BOTH online and offline scenarios.
## Alternative Installation Methods
You can also download the latest build from [GitHub Actions](https://www.github.com/SpikeHD/RogueTop/actions). Or, if you're feeling brave, you can [build it yourself](#building)!
# Table of Contents
* [Installation](#installation)
* [Quick Links](#quick-links)
* [Online vs Offline](#online-vs-offline)
* [Alternative Installation Methods](#alternative-installation-methods)
* [Building](#building)
* [Prerequisites](#prerequisites)
* [Steps](#steps)
* [TODO](#todo)
* [Contributing](#contributing)
# Features
* Full offline mode
* Mod support - see the [examples and documentation](https://github.com/SpikeHD/RogueTop/tree/main/examples)
* Discord RPC
* Small binaries, not resource-heavy
* Builds for platforms such as the Raspberry Pi - see the [releases](https://github.com/SpikeHD/RogueTop/releases/latest/) for a full list
* Always up-to-date, in online mode at least :P
# Building
## Prerequisites
* [NodeJS](https://nodejs.org/en) (or Bun, or whatever)
* If using NodeJS, this project prefers [pnpm](https://pnpm.io) as a package manager.
* [Rust and Cargo](https://www.rust-lang.org/)
* [Tauri prerequisites](https://v2.tauri.app/start/prerequisites/) (these depend on what OS you are running)
## Steps
1. Clone the repository:
```sh
git clone git@github.com:SpikeHD/RogueTop.git
```
2. Install the dependencies:
```sh
cd RogueTop
pnpm install
```
3. (If bundling for offline mode, NOT required) run the bootstrap script
```sh
# This will clone and build the entirety of PokeRogue into ./src-ext
./bootstrap_pokerogue[.sh|.cmd]
```
4. (If NOT bundling for offline mode) create a fake `game.dat` file (ie. run `touch game.dat`) in the root of the repository, to prevent build issues
5. Build it!
```sh
pnpm tauri build
# Or if you have tauri CLI installed
cargo tauri build
# If bundling for offline mode, add the "offline" feature
cargo tauri build --features offline
```
Your built files will be in the `src-tauri/target` directory.
# TODO
- [x] Bundled offline mode (directly in the binary, eg. should work on an airgapped machine)
- [x] Maybe move to bundled (eg. Tauri resource) but external/read from FS, no need for a 500mb binary lol
- [x] TODO finish this
- [ ] Downloadable offline mode (update-able without redownloading a new binary every time)
- [x] Separate "lite" builds that are online-only
- [x] Hotkeys
- [x] Fullscreen
- [ ] TBD
- [ ] Mobile support
- [x] Add `.plist` for MacOS to solve HTTP issue
- [x] Mod system/support?
- [x] Binding of Isaac-like texture replacements?
- [x] JS-based mods?
- [ ] Config in UI
- [ ] Load from ZIP (mods could get quite big, would make them easier to distribute)
- [ ] ~~Theme system/support?~~ This is basically just the mod system
# Contributing
Issues, PRs, etc. are all welcome!