sigmmma / mozzarilla Goto Github PK
View Code? Open in Web Editor NEWVisual editor/converter/IDE for Halo content.
License: GNU General Public License v3.0
Visual editor/converter/IDE for Halo content.
License: GNU General Public License v3.0
AI characters don't like it when there is no projectile to use inside a weapon tag. It will give this error in sapien if this is the case. EXCEPTION halt in \halopc\haloce\source\memory\data.c,#495: tag instance index #65535 (0xffffffff) is unused or changed
We need this because the Hek's tool keeps crashing and I don't like explaining people that I don't really know how to fix their issues without creating other issues.
Use metadata in tag definition field to scan through and make sure reflexive and rawdata sizes are valid, int/float values are within their MIN and MAX bounds(if applicable), enums are set to a valid value, tag dependencies are of the allowed type(s), etc.
This includes lots of ad-hoc checks that have to be written manually per tag, like making sure effect tags events specify a valid location index, and bitmap sprites specify all valid bitmap indices and counts. There will be thousands of these, so a good system for these checks will need to be devised before implementing them.
Tkinter is dumb, and we have to suffer for it. @gbMichelle is eventually going to write a library to deal with some platform quirks in Tkinter. Once this library is finished we'll use it to fix window icons on linux.
We already have the functions to convert them to mod2, I see no reason to not have a function that converts them to mod2 and then converts them to jms.
Mozzarilla should check a directory exists before adding it to the list.
There is also an issue with invalid directories being used while kdialog is installed as standard output can contain things other than what is expected as seen in the attached image. This also applies to opening files with Refinery.
We should have some way to play back sound tags and sound_looping
This is bothersome because when you're for instance editing an effect, and you add a location, you need to either reload the tag, or scroll to another entry and back to be able to select that new block in the enum.
Proposed change: Update the list of options every time the enum is clicked or a user is attempting to scroll through it.
I know that this is really in the weeds, and I am not sure whether this is intended behavior or not, or what the purpose is, but opening and saving a tag with mozz will cause 01 to be written to the addres 0x37 in the tag file. This is a little annoying for me because I use a binary difference checker to try to determine which of my tags have been altered from stock, or to compare different versions, but the fact that this 01 is written where it is usually 00 makes it hard to tell which tags have had their meaningful content changed.
After changing tag data, the window will be marked as dirty with an asterisk, indicating that the tag is modified. Attempting to close the window in this state shows a dialog to confirm changes. Clicking "No" to discard the changes closes the tag, but reopening the same tag shows the previous changes still being present rather than completely reopening the tag as expected.
To make matters worse, it isn't marked as dirty with an asterisk anymore, so the user has no idea that they are working with a modified tag (that they just said they didn't want). And even if they did, for some completely insane reason, wanted to save the tag while it's in this state, Mozzarilla won't save it with ctrl-s unless it's modified further to bring back that asterisk.
I see ghost files ๐ป
I think I found a bug with Mozzarilla's Sound Compiler utility.
It's changing the length of and (possibly) time compressing audio conversions.
Here's an example:
The top file is the original .wav exported from Refinery. The bottom file is the result of the Sound Compiler, after rebuilding and extracting with refinery again.
It compressed about 00:03200 audio samples there.
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.