rubendal / ssbu Goto Github PK
View Code? Open in Web Editor NEWSmash Ultimate Data Viewer
Home Page: https://rubendal.github.io/ssbu/#/
Smash Ultimate Data Viewer
Home Page: https://rubendal.github.io/ssbu/#/
The goal of these changes is to allow Skyline-RS (a framework for ACMD and function hooking) to implement a macro that allows for copying code from the data viewer directly into a Smash project to make ACMD edits.
To do this the following changes are needed:
hash40's around things that should have hash40's -- instead of
Effect = collision_attr_normal
or Bone = arml
it should be
Effect = hash40("collision_attr_normal")
or Bone = hash40("arml")
Change hitbox labels with /
in them to not have those... I.E. Ground/Air
becomes Ground_or_Air
Make all booleans lowercase... False
-> false
and True
-> true
Currently, the last 3 parameters of ATK_HIT_ABS
are displayed incorrectly (most notable occurrences are in throws).
Here's an example of it:
ATK_HIT_ABS(FIGHTER_ATTACK_ABSOLUTE_KIND_THROW,
hash40("throw"),
FIGHTER_STATUS_THROW_WORK_INT_TARGET_OBJECT,
FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_GROUP,
FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_NO)
The last 3 arguments should be passed through WorkModule::get_int64
like so:
ATK_HIT_ABS(FIGHTER_ATTACK_ABSOLUTE_KIND_THROW,
hash40("throw"),
WorkModule::get_int64(module_accessor, FIGHTER_STATUS_THROW_WORK_INT_TARGET_OBJECT),
WorkModule::get_int64(module_accessor, FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_GROUP),
WorkModule::get_int64(module_accessor, FIGHTER_STATUS_THROW_WORK_INT_TARGET_HIT_NO))
Currently, the data viewer only provides "game" ACMD scripts. With the influx of people wanting to get into ACMD modding because of the ease-of-use that skyline provides, more and more of them want to also do edits for the other types of ACMD. Currently, the way we would do them is to grab the script dumper and dump those scripts ourselves and manually rewrite them, but it would make things far easier to also have those provided on the data viewer.
I understand that this is a large task, and that some rewriting will be required. However this is certainly something that wouldn't be a waste of effort.
Obviously the implementation is entirely up to you, but my thought right now would be a simple dropdown menu in the corner when you click on an icon with "game" "effect" "sound" and "expression" selectable which would then load in the relevant scripts for that type of acmd.
Currently, all functions from the sv_module_access namespace are displayed like so:
And when copy-pasting code from the data viewer into our Rust macro, we need to manually prepend sv_module_access::
to those appropriate lines. It would be very beneficial to display that namespace name before those functions calls outright to not only work better with the Rust macro, but also to generally help with readability of the ACMD code in the data viewer.
Just having grab
isn't a very self-explanatory of what the function is, but having the sv_module_access namespace before it gives a better clue as to where/what the function is.
If this was to be fixed, all that would need to happen is to have function calls from the sv_module_access namespace show up like so:
sv_module_access::function_name(blah, blah, blah)
I think some of the readers don't know the meaning of the parameters. So it would be nice if descriptions are shown as in the following picture.
How do you feel about this feature?
I have implemented a prototype for this feature, which can be tested from shwaka/ssbu at description.
If you like this feature, I'm willing to make a PR. But there is a problem. Since I don't know the parameters well, I can't write the descriptions. Some of them are found at Glossary, but the others are not. Is there some reference for these?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.