- app icon - starting with map view - code cleanup Signed-off-by: Peter Siegmund <mars3142@noreply.mars3142.dev>
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
mkdir build && cd build
cmake ..
cmake --build .
Getting Started
- Download a Wherigo cartridge from wherigo.com
- Launch wxWherigo
- Click "Open Cartridge..." and select your .gwc file
- Click "Start Game"
- 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 - Save/Load system
- Wherigo Completion - 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
Description
Languages
C
49.9%
HTML
31.3%
C++
15.7%
Lua
1.3%
Roff
0.8%
Other
0.8%