LegendsViewer-Next
LegendsViewer-Next is a tool for visualizing the rich history and data generated by the game Dwarf Fortress. This reboot of the original LegendsViewer is designed to work with the Steam release of the game and leverages modern technology, including a .NET 8 backend and a Vue 3 / TypeScript frontend.
Features
- Overview and easy access to already opened worlds with thumbnails and timestamps
- Generated maps from parsed information of the exported XML plus files
- The most important information about a world at a glance
- Browse through paginated tables of world objects, including their historical details
- Interactive map powered by Leaflet.js for exploring location of sites
- Look into the family trees of historical figures
- Load large Dwarf Fortress XML exports quickly and efficiently using XmlReader
Installation for Development
Prerequisites
Backend Setup
-
Clone the repository:
git clone https://github.com/yourusername/LegendsViewer-Next.git
cd LegendsViewer-Next
-
Restore and run the backend:
This should also build the vue3/ts frontend and host it
dotnet restore
dotnet run
Frontend Setup
-
Navigate to the frontend directory:
cd LegendsViewer.Frontend/legends-viewer-frontend
-
Install dependencies:
npm install
-
Run the development server:
npm run dev
- Click on the generated link to open the app in the browser
Usage
- Load World Data: Export a world from Dwarf Fortress and upload the XML file in the app.
- The export should at least contain
<savename>-<datestamp>-legends.xml
- To properly generate maps and lots more information you need
<savename>-<datestamp>-legends_plus.xml
that is generated when you make the export with DFHack.
- Explore Maps: Interact with the map to discover sites and their location.
- Parsed worlds are saved as bookmarks for quick access in future sessions.
- Switch Between Worlds: Go to the overview and load different worlds, each displayed with their own interactive map and data.
Contributing
Contributions are welcome! Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (git checkout -b feature/my-feature).
- Make your changes and commit (git commit -am 'Add my feature').
- Push to the branch (git push origin feature/my-feature).
- Open a pull request.
License
This project is licensed under the MIT License - see the LICENSE file for details.