Kromtec / LegendsViewer-Next

Recreates Dwarf Fortress' Legends Mode from exported files.
MIT License
46 stars 2 forks source link

Bay12Forum Thread Build and Test

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.

Worlds Overview - Bookmarks

Features

Installation for Development

Prerequisites

Backend Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/LegendsViewer-Next.git
    cd LegendsViewer-Next
  2. Restore and run the backend: This should also build the vue3/ts frontend and host it

    dotnet restore
    dotnet run

    Frontend Setup

  3. Navigate to the frontend directory:

    cd LegendsViewer.Frontend/legends-viewer-frontend
  4. Install dependencies:

    npm install
  5. Run the development server:

    npm run dev
  6. Click on the generated link to open the app in the browser

Usage

  1. Load World Data: Export a world from Dwarf Fortress and upload the XML file in the app.
    1. The export should at least contain <savename>-<datestamp>-legends.xml
    2. 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.
  2. Explore Maps: Interact with the map to discover sites and their location.
  3. Parsed worlds are saved as bookmarks for quick access in future sessions.
  4. 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:

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/my-feature).
  3. Make your changes and commit (git commit -am 'Add my feature').
  4. Push to the branch (git push origin feature/my-feature).
  5. Open a pull request.

License

This project is licensed under the MIT License - see the LICENSE file for details.