Giter Club home page Giter Club logo

arcexplorer's People

Contributors

jam1garner avatar rockofox avatar scanmountgoat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

rockofox hengle

arcexplorer's Issues

automatically keep hashes up to date

This can probably be accomplished by using the Github API to check the latest commit to the archive hashes repo that modified the hashes file and comparing dates with the local file. The hashes can be downloaded directly rather than using Github's API to avoid any file size restrictions or rate limits.

The application can prompt the user to update hashes and display the commit message.

  • Check if hashes can be updated
  • Download hashes file from github
  • Prompt user to update and display commit details
  • Make the process asynchronous to avoid locking up the UI
  • Use the file modified date for the commit or find a way to ensure dates are consistent
  • Log latest commit and if update succeeded or not

Add a way to link file paths

This affects the search list and shared file list. There's currently no way to go the selected file or folder.

Add search UI

  • search textbox
  • add magnifying glass icon similar to vscode or file explorer instead of a "search" label
  • swap icons when application theme changes
  • fix overlap with textbox and icon

Lacking features that are in CrossArc

I recently downloaded Arc Explorer, but I noticed that it's lacking some features that are available in CrossArc.

  1. It's not possible to update the hashes. That's going to be important when new software updates get released.
  2. There's no option to change the language. When extracting language files from Arc Explorer, you're restricted to only the North American English files.

SIGSEGV when trying to open file selection dialogue in any way (Artix Linux)

Crashes when trying to open file dialogue to select the data.arc, or extraction default folder. log.txt is empty.

fish: './ArcExplorer' terminated by signal SIGSEGV (Address boundary error)

dotnet --list-runtimes shows Microsoft.NETCore.App 3.1.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App] as an available runtime.

Add an option to extract all files

Arc > Extract All. Finishing #16 first will make the progress indicator more meaningful, since this operation will likely take a very long time on most systems.

limit checks for hash updates to once per day

This should avoid any issues with API rate limits. The ApplicationSettings.json could have something like the following.

current_commit: { "sha": ".....", "last_checked": "1/1/2021 ..." }

Not all files display until clicking the file list

Steps to reproduce:

  1. Open data.arc
  2. enter fighter/mario/model/body/c00/ to navigate to the folder
  3. click the file list to finish displaying remaining items

This doesn't happen when double clicking the c00 folder. This seems to only happen when the listbox virtualization is set to "Simple". Setting the virtualization to "None" works but causes unacceptable performance when viewing large folders.

add file metadata information to the details panel

It may be more convenient to toggle certain settings on/off in preferences to avoid cluttering the details view.

Hashes:

  • Path Hash
  • Ext Hash
  • Parent Hash
  • File Name Hash

Metadata:

  • Is Stream
  • Is Shared
  • Is Redirect
  • Is Regional
  • Is Localized
  • Is Compressed

Support for replacing and saving ARC and its contents

Currently, ArcInstaller only can inject files with the same size or less than the original file. While ARCropolis is a great solution on console, it (at the current moment of writing this!) is not supported on either Ryujinx or Yuzu. Full on modding has been one of the goals from the outset of the Yuzu community and this could provide a solution in that field.

Create builds using github actions

Improving the compatibility for windows and linux binaries will require building through github actions. This avoids issues with native dependencies using newer Rust runtime components like glibc that may not work with some operating systems.

  • SmashArcNet submodule
  • Properly copy dll/so files to build directory for ArcExplorer
  • Build windows with github actions
  • Build linux with github actions
  • Build macos with github actions

Different trailing slashes for directories

render/shader and render/shader/ (trailing slash) are considered different directories. It doesn't make sense to handle this in smash-arc or SmashArcNet since the entries are distinct. It should be doable to handle this automatically from ArcExplorer itself.

  • When typing a path like "a/b/c", load the nodes for both "a/b/c" and "a/b/c/" (trailing slash)
  • When loading child nodes, strip trailing slashes from directories and remove duplicates by path
  • When extracting the folder "a/b/c", extract the nodes from "a/b/c" and "a/b/c/" (trailing slash)
  • Add an option in preferences to keep them separate (should be disabled by default)

Stream files are missing

The missing hash is causing none of the files to appear in the treeview. This is probably related to #8

refactor node creation

There is a number of redundant or incomplete methods for creating nodes that should be cleaned up. The overhead of having a separate FileGridItem class for the UI should be avoided if possible.

Rework file tree display

Use a list of the nodes in the current folder rather than managing a treeview. This matches the look and feel of traditional file browsers. The grid layout makes it easier to associate additional info next to each node. This also allows for virtualization support, which will fix #9.

  • Change UI to use a list instead of tree view
  • Exit from the current folder
  • Double click to enter a folder
  • #30
  • Correctly find the parent folder for manually entered paths
  • #32

Problems with opening the data.arc file

I've been having alot of issues with opening the data.arc file in ArcExplorer which gives me errors upon attempting to open it. I'm very confused on what's going on.

image

Everytime I try to merge the base game with the update file it always gives me the filesize as seen above no matter what I try. If anyone can give me advice on what to do then I would be VERY grateful. Thanks.

Display file size and other information in the file tree control

This will likely be easier with a data grid control. The UI should be similar to the "details" view in file explorer or other vertical list layouts for file browsers. The additional information could be editable from preferences or on a top bar on the main window.

  • add details to file grid
  • fix navigation when sorting

Issues with reopening Hashes file

I've figured out that when I copy my Hashes.txt from CrossArc and paste it into ArcExplorer's directory, it works fine. But next time I open it, it'll say that it cannot read Hashes.txt. This issue can be fixed by doing the same process by copying from CrossArc but doing this every time is very impractical.

File previews

Text or image previews can be displayed in the details panel. The information can go under the details panel or replace it if more space is required.

  • C# wrapper for Rust library (create project in this repo)
  • display text (should be copyable but not editable)

Improve details for folders

Info that isn't part of the ARC and will have to be calculated.

  • Compressed Size (all files and subfolders)
  • Decompressed Size (all files and subfolders)
  • File Count (files and subfolders)

Open ARC from saved path at program launch

A setting under "Extract Location:" that holds a path to a given data.arc which automatically opens when the program would be a nice addition to this program.
Maybe add a warning, and possible reset of that path, upon opening the program if the file is moved or no longer available would be good if someone accidentally moves it.

Thank you for making this program.

Extracting files with uncracked hashes

Extracting files with uncracked hashes will place them on the root with the directory added to the hash in the file name instead of in their proper folder.
image
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.