Comments (3)
Aug 11: headerCheck
handles the required bits properly. I removed the strict-checking for 00 00 00 00
in the gameCode
field, because it didn't make sense - some notes were perfectly parsable despite having an invalid gameCode, no sense in causing it to break a perfectly valid file.
In the future, the MPKParser
should be adapted to be able to salvage valid data and delete invalid data, which is what the Controller Pak library does. (Pertaining to the INODE table)
Note/recap (Nov 23 2016): I wrote this after doing a bunch of testing and seeing just how verbose the official controller pak library is, hence why I want to study it further and follow the lib behaviour more closely.
from mpkedit.
Eventually I will get around to doing game tests to understand these constraints, as well as the unknown bytes. Issue 8 would also fall into those tests.
The whole idea of "making the parser follow the libs" means that my app must do more than just parse the data. I'm trying to keep unintended modification to a minimum. The n64 libs include a lot of recovery functions, like salvaging valid data from invalid data, which my parser does not do. This should be optional and a prompt to the user "This file is damaged. Continue loading only valid data? Some data may be lost."
from mpkedit.
Different games may have different versions of the ultra64 library, or may have implemented their own functions for dealing with MPK. Important to keep that in mind, that the code for these functions is contained in the game itself, and may differ between games.
from mpkedit.
Related Issues (16)
- NoteTable: Wipe the NoteTable clean HOT 2
- Error console gets spammed with CSS warnings. HOT 4
- Just a question about .note extension. HOT 6
- Improved note dragging/dropping for saving and sorting HOT 2
- Replace var by let HOT 1
- Replace string concatenation by template literals HOT 1
- Thank you for such an awesome editor!
- dropHandler: Global filename access HOT 3
- Support for MiSTer N64 saves? HOT 18
- Parser: Central object or constructor for Parser?
- importNote: Error message when no notes left
- Move everything to parseIndexTable HOT 1
- Miscellaneous things HOT 3
- Controller Pak allows notes using the same Index? HOT 1
- Code design change: break the app down into modules
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mpkedit.