Comments (12)
I should mention a correction. I had initially assumed that SharpCompress was using the 'v7' TAR header format, but it seems I was wrong. It actually uses some GNU TAR format that supports file names of any length. It just so happens that when the file names are short, it kind of looks like the 'v7' hence my confusion.
Either way, since SimonK mentioned that the iOS version still had this issue, I finally went and implemented USTAR header format in my fork of SharpCompress that I use in Martridge to ensure compatibility with older DinkHD releases, like the iOS one.
from rtdink.
PS: I lied, I haven't looked into this at all after opening the initial issue. Perhaps in the near future...
from rtdink.
Hey, sorry for the slow reply and thanks very much. I'll try adding your fix and leave it in if it looks like nothing breaks.
from rtdink.
Thing is, I definitely added that 'fix' for some specific dmod probably, I just can't remember which one, doh. Do you know of a v7 older style dmod that I can use for testing btw? I might be able to add detection in a safer way.
from rtdink.
Hello, saw your reply a couple of days ago but didn't get to respond. I don't really know a v7 style dmod right now off the top of my head, and finding one might take a while, but I just packed RobJ's skeleton_gelatin release using Martridge (which is built with the SharpCompres version that uses the old tar format).
I have attached it, but I had to ZIP the already packed DMOD because github was rejecting it when I tried to attach it.
It fails to install using the current DinkHD V1.99 release.
skeleton_gelatin_test_for_seth.zip
PS: About that 'fix' being for a specific DMOD... Well, that's tricky to find.. Hmm, I wonder if I could download ALL the latest DMOD versions, slam em in a folder, and set up some script that tries installing all the DMODs one by one and checks if they files were actually successfully extracted! Maybe I'll do that this weekend.
from rtdink.
Thanks very much! I hope to take a look at it soon, probably in a week or so. And yeah, some automated testing using proton\shared\util\archive\TarHandler.cpp on all the dmods would be handy indeed.
from rtdink.
Uh, I downloaded all the DMODs and today I tried setting up a test project from scratch, but utterly failed in configuring everything required to get the Proton SDK to work...
I think I'll just make a clone of the RTConsole project and run the TarHandler tests there?...
Only problem is, I haven't actually thought about what a test is supposed to do exactly. I suppose extracting the files with the TarHandler, and then extracting the files with something like 7zip and comparing that the results match?
from rtdink.
Yeah, good questions. I could give it a whack as well, ... uh... any way you could put up all the dmods in one giant zip for me to grab? (Yeah, yeah, I guess I could just parse https://dinknetwork.com/api and automate some kind of downloader but...)
from rtdink.
Oof, sorry for the late reply!
I uploaded my Martridge webcache over on MegaUpload, contains the DMODs along with DMOD html pages/screenshots/reviews/etc.
https://mega.nz/file/Yr9n0I6A#Z-zmwoaTuP_yyX5Q_-kXCU-9udGvnt6i43CuFUFje9E
The dmods are in the download subfolder of the 7zip archive.
from rtdink.
Thanks, grabbed it!
Ok, I did make DMOD extractor util that can work on directories (yeah, I cloned RTConsole as a base, good idea), and in debug mode it's easy to see the errors - if I remove the ustar 512 byte padder, the newer format dmods ALL get errors but only after successfully extracting (?).
Shouldn't be hard to fix it to work with both, gonna take a look tomorrow.
from rtdink.
Update: Ok, fixed it I think! Thanks for your help on this. Also helped me find and fix an issue with running out of stack space on a specific DMOD, installing every DMOD at once is a pretty useful test.
from rtdink.
That's great news, glad to hear!
from rtdink.
Related Issues (4)
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 rtdink.