Files
wx_wherigo/README.md
2026-02-14 09:47:27 +01:00

72 lines
2.2 KiB
Markdown

# Wherigo Player
A desktop application for playing Wherigo geocaching cartridges. Experience geocaching adventures directly on your computer without a GPS device or mobile app.
## Features
-**Load and execute Wherigo cartridges** (.gwc files)
-**Full game engine** with Lua 5.1.4 interpreter
-**Interactive UI** with zones, tasks, inventory, characters, and items
-**Media support** - Display images (JPEG, PNG) in dialogs and object details
-**Save/Load game state** - Pause and resume your progress
-**Completion logs** - Generate .gwl files for wherigo.com
-**Event-driven updates** - Real-time UI refresh on game state changes
-**Timer system** - Automatic countdown timers with callbacks
-**Dialog system** - Multi-page dialogs with images and buttons
## Requirements
- C++23 or newer
- wxWidgets 3.3 (for GUI)
- Lua 5.1.4 (for cartridge execution)
- CMake 3.20+
## Building
```bash
mkdir build && cd build
cmake ..
cmake --build .
```
## Getting Started
1. Download a Wherigo cartridge from [wherigo.com](https://wherigo.com)
2. Launch wxWherigo
3. Click "Open Cartridge..." and select your .gwc file
4. Click "Start Game"
5. Use the tabs to interact with zones, tasks, and items
## Keyboard Shortcuts
- **Ctrl+O** - Open cartridge
- **Ctrl+S** - Save game state
- **Ctrl+L** - Load game state
- **Ctrl+E** - Export completion log
## Documentation
- [Lua State Persistence](LUA_PERSISTENCE.md) - Save/Load system
- [Wherigo Completion](WHERIGO_COMPLETION.md) - Completion log format
## Project Structure
```
wx_wherigo/
├── main/ # Application code
│ ├── src/
│ │ ├── ui/ # User interface (cStartScreen, cGameScreen)
│ │ └── lua/ # Lua integration & game engine
│ └── include/
├── components/
│ ├── cartridge/ # .gwc parser
│ ├── storage/ # File handling
│ └── lua-5.1.4/ # Lua interpreter
```
## License
This project is licensed under the MIT License. See `LICENSE.md` for details.
## Author
Peter Siegmund (mars3142)
## Acknowledgments
- Groundspeak for the Wherigo platform
- wxWidgets team for the GUI framework
- Lua team for the scripting engine