Comments (5)
So the first thing we'd need implementation-wise is a function in Handler that returns bool and indicates if the given system actually has a filesystem or not.
This would of course need to take a ROMFile as parameter, as some ROMs for a given system might have filesystems when some don't. This could be because they're a different format (raw executables on a system which usually uses optical discs), or something like a DS ROM that just doesn't (homebrew never seems to use NitroFS when commercial ROMs always do).
from romniscience.
As for the functions we'll have to add to Handler to actually do the thing:
byte[] getFile(string filename)
string[] listDir(string filename) //returns names of filenames and subdirectories as a relative path
string[] getPartitions() //This will usually only return a single element which might not even need a name, but it'll have multiple for stuff like Wii
There's probably more that I'll only realise once I actually start programming the thing. Anyway, those three should allow for a usable GUI to easily be constructed.
from romniscience.
Actually, might put those things in a FilesystemHandler interface (or some other good name?), so that one can initialize the filesystem for a single ROM just once and that should all work. Probably? Also, need a bool hasFile(string filename)
from romniscience.
Actually, not Handler, we'll make it part of ROMInfo. Otherwise, this should work. Probably. Maybe?
from romniscience.
I'm doing the thing! Woohoo!
Gonna try and get extraction of files happening at some point this weekend if not tonight.
from romniscience.
Related Issues (20)
- Skip header when calculating checksums of NES roms HOT 1
- Revamp settings dialog
- Add option to view DS banner title/icon even if version is invalid HOT 1
- Let user force handler when choosing between ambiguous extensions
- Support GCZ compressed Gamecube images
- Disable rest of controls in settings dialog for disabled handlers
- GCZ images don't identify in datfiles correctly HOT 2
- Some GCZ compressed discs don't load banner correctly HOT 1
- Use GTK# for Linux
- Wii homebrew handler HOT 1
- Allow multiple folders for one handler HOT 1
- Autodetect file type (for individual file view)
- Handle hash collisions HOT 1
- Cue sheets containing ISO files add the ISO twice
- Generic tape/disk formats
- Add single-threaded mode to settings dialog
- Refactor everything to use more classes more extensively
- Redo all the CD stuff
- compile in visual studio 2019
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 romniscience.