Rinnegatamante / lpp-vita

Lua Player Plus for PSVITA. Documentation on: http://rinnegatamante.github.io/lpp-vita/
GNU General Public License v3.0
179 stars 27 forks source link

[Feature Request] System.extractSfo upgrade #64

Closed BlackSheepBoy69 closed 1 year ago

BlackSheepBoy69 commented 1 year ago

-

jimbob4000 commented 1 year ago

Thanks for your help and support to date Rinne!

I'd love to see this happen.

Sfo reading from pbp, cfo and iso files in the same way vita sfo files can be read would be awesome.

Image extraction from these files would also be cool, but a separate request.

Rinnegatamante commented 1 year ago

OneLua is closed source (and breaking GPL license over multiple instances). Just reformulate the Issue into what is being requested without referencing functions from it please since I don't know (and don't want to learn) its API.

Rinnegatamante commented 1 year ago

I still see a wall of text with just cross references to "other lua version". Can't you just summarize in 2 lines what needs to be changed?

Rinnegatamante commented 1 year ago

Can you provide a sample program to reproduce 1?

Rinnegatamante commented 1 year ago

i was refering to a drag'n'drop sample if possible. (A vpk with the faulty sfo and a minimalistic lua script reproducing the issue)

Rinnegatamante commented 1 year ago

Check if this solves 1 without adding any new bugs, please. eboot_safe.zip

Rinnegatamante commented 1 year ago

Nightly also has System.extractPbp added and support for PARAM.SFO parsing inside PBP files via System.extractSfo.

As for ISO/CSO, any small (legal to share) sample app i can use?

Rinnegatamante commented 1 year ago

Not sure if this is related, but an old eboot from a few months ago gives different results from this one for writing cache.

Specifically the code being:

    for key, val in pairs(v) do
        ...
        file:write(tostring(sanitized_value) .. "\t")
        ...
    end

The order is all changed now compared to how it was a for the last few years (ex: in the a few months old eboot), is there any chance you could revert the "for pairs" order? The new order makes the cache look kind of ugly so I was hoping it could be reverted instead of me re-adapting the code and using the ugly cache As I said, not sure if this is related to the new param.sfo bugfix or not, this might just be nitpicking sorry.

Don't see how this is any related to the topic of this issue. (And i also didn't understand what you meant).

Rinnegatamante commented 1 year ago

As for the CSO/ISO, can you also provide an ISO?

Rinnegatamante commented 1 year ago

I converted the amogus to .iso because I couldn't find any legal iso files. (.cso is just the compressed version of .iso)

https://www.mediafire.com/file/hd03pyuqwze9xg8/amogus.iso/file

is this iso file even working? It has like 90 MB of null bytes at start.

Rinnegatamante commented 1 year ago

To be precise 103mb of null bytes.

Rinnegatamante commented 1 year ago

In order to extract anything from that ISO, i'd need to do a mem scan of 103 mb (since as i've said, there are 103 mb of null bytes at start). Unless you want to extract your data taking 10 minutes per extraction, i guess stick to oneLua at this point 🤷 . I'm also not a fan of adding features that are nowhere related to PSVita into the interpreter starting with and you could also implement those features on your own with io directly in Lua (same applies for SFO and PBP extraction btw) [which is how PSP lpp offers extractPbp function btw].

Rinnegatamante commented 1 year ago

https://www.lua.org/pil/21.1.html

Rinnegatamante commented 1 year ago

ISO files are not PBP files.

Rinnegatamante commented 1 year ago

That's not a bug.