Coder Social home page Coder Social logo

zeldamods / event-editor Goto Github PK

View Code? Open in Web Editor NEW
25.0 2.0 9.0 573 KB

Event flow editor for Breath of the Wild

License: GNU General Public License v2.0

Python 16.13% HTML 0.03% JavaScript 83.76% CSS 0.08%
nintendo-switch nintendo-wii-u botw python3 zelda

event-editor's Introduction

EventEditor for Breath of the Wild

Setup

Install Python 3.6+ (64 bit version) and PyQt5, then run pip install eventeditor.

Configuration

The configuration file is stored:

  • On Linux or macOS: at ~/.config/eventeditor/eventeditor.ini
  • On Windows: at %APPDATA%/eventeditor/eventeditor.ini

Auto-completion

Breath of the Wild

In order to enable auto-completion for actors, actions, and queries, add:

[paths]
rom_root=/path/to/game_rom

to EventEditor's configuration file, where /path/to/game_rom is a path such that /path/to/game_rom/Pack/Bootup.pack/Actor/AIDef/AIDef_Game.product.sbyml exists. An easy, recommended way to get the required file structure without extracting every archive is to use botwfstools.

Other games

Alternatively, JSON actor definitions can be generated under Flowchart > Export actor definition data to JSON. This will generate information for auto-completion from the currently open event flow. The first time this is run, a prompt will appear asking for where to save this information.

This action can be safely repeated in case other event flows contain actors, actions, or queries that have yet to be included in the JSON file (existing entries will not be overwritten).

Known issues

  • On Linux, if the main window view is a completely blank screen, even after opening a file, try running QTWEBENGINE_DISABLE_SANDBOX=1 eventeditor to start the tool.

  • Unlinking events while in fork/join will break graph generation most of the time. So using that option is not recommended when fork/join events are involved.

What needs to be done

  • Timeline files (reverse engineering)

  • Collect event info from EventInfo and have a metadata file for each event flow, so that:

    • EventInfo can be automatically regenerated
    • All copies of an event flow can be automatically updated
  • Node order shuffling to get less crossings. This used to be a dagre.js feature but it got removed...

License

This software is licensed under the terms of the GNU General Public License, version 2 or later.

event-editor's People

Contributors

itsschwer avatar leoetlino avatar lisa-wolfgang avatar nicenenerd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

event-editor's Issues

I am unable to export to text

Hello,i am trying to export to plain text the event files from 1 2 switch but i am unable.
I dont know if the fact the files are .bin files are related.
i have uploaded the files
Thank you
Eventos.zip

Deprecated config in `setup.cfg` (Python 3.12)

I get this error when running pip install eventeditor on a fresh install of Python 3.12.

C:\Users\ArchLeaders\AppData\Local\Temp\pip-build-env-ivyrswtq\overlay\Lib\site-packages\setuptools\config\setupcfg.py:293: _DeprecatedConfig: Deprecated config in `setup.cfg`

Entire Output: Output.txt

Cannot Right Click Events in Flowchart View

Upon updating to 1.3.2-1, I can no longer right click on events to bring up the menu for links/cases, as well as removing events.
I am on a 64 bit pc, with all of the latest versions for the required libraries.

Can't Make a Fork

Whenever I try to make a fork, it's entirely disconnected from the Join node, and any attempt to rejoin them makes the entire event freeze. I've been able to make forks before without any issue until a few days ago, I've tried reinstalling and this still happens with any event I try to work on including new files.

BrokenForks.mp4

ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets

Hey im a windows user trying to get this tool to work for me has been a headache so far but none the less I am greatfull for your contribution to the modding comunity.
Anyway when I run the command
py -3.7 -m eventeditor
it throws the error
ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets
and when I atempt to install that by running py -m pip install PyQt5.QtWebEngineWidgets
this error gets throne
Could not find a version that satisfies the requirement PyQt5.QtWebEngineWidgets (from versions: ) No matching distribution found for PyQt5.QtWebEngineWidgets
I am quite new to python software so I realy dont know how to fix this...
Thanks, dazman

Use oead instead of syaz0?

I tried installing event-editor using pip3 and the dependency syaz0 failed to build on my macOS system. I did some research and I found that syaz0 is deprecated in replacement for oead.

Would switching to oead be possible being that it's the package that is in active development?

Flowchart shows nothing

I know this is pretty old, but after installing all Qt5 dll's to System32 from multiple sources in my drive including the official PyQt5 module, I am unable to view the flowchart. This makes me have to resort to using the "Export graph data to JSON" and even then I do not know how to turn it back into an bfevfl file so any help would greatly appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.