Giter Club home page Giter Club logo

ngspacker's Introduction

NGSPacker

This program opens and creates ICE format files that can be read by PSO2NGS clients.

It requires the .net 7.0 runtime to work. Please download from the following site. https://dotnet.microsoft.com/download/dotnet

日本語

Features

  • Pack: Creates an *.ice file of a model that can be read by PSO2 from the selected directory.
  • Unpack: Extract the PSO2 game data.
  • Export File List: Outputs the file list and the files contained in that file in csv format.
  • Unpack by file list: The files specified in the line feed-delimited file list are output in a batch.

Useful Link

Disclaimer

The act of modifying game data (modding) does not infringe on the right to maintain integrity, and is within the scope of the freedom of expression stipulated in Article 21 of the Japanese Constitution and the Fair Use law stipulated in Article 107 of the U.S. Copyright Act.

However, please keep in mind that modding is potentially damaging to the game environment and may result in a ban. In particular, the dissemination of private internal data in a community that can be viewed by an unspecified number of people and the diversion to other works (such as converting model data and diverting it) are acts that clearly deviate from the above law, and compensation for damages may result in litigation. 1

The authors are not responsible for any damage caused by that. Please use it with common sense, and USE AT YOUR OWN RISK.

License

©2021-2023 by Logue. Licensed under the MIT License.

This progrem uses Shadowth117's ZamboniLib and PizzaCrust's ooz-sys.

All rights to the copyrighted works (images, data, audios, texts, etc.) used in "PSO2: NGS" are owned by SEGA Corporation or its licensors.

Footnotes

  1. For details, please see Regarding Copyright Infringement and Illicit Activities on the official website.

ngspacker's People

Contributors

logue avatar

Stargazers

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

Watchers

 avatar  avatar

ngspacker's Issues

Potential crash due to null reference

At this line of the code will cause crash if there is no setting for pso2_bin path. Because this.localizerService hasn't been assigned yet, you assigned the field at a later time. Thus, when the program tries to show the dialog, it will cause NullReferenceException instead.

From source:

if (!File.Exists(Properties.Settings.Default.Pso2BinPath + Path.DirectorySeparatorChar + "pso2.exe"))
{
    // pso.exe存在確認チェック
    _ = ModernWpf.MessageBox.Show(
       this.localizerService.GetLocalizedString("Pso2ExeNotFoundErrorText"), this.localizerService.GetLocalizedString("ErrorTitleText"));

    // 設定ページに遷移
    this.regionManager.RequestNavigate("ContentRegion", Pages["SettingsItem"]);
}

// リージョンマネージャーをインジェクション
this.regionManager = regionManager;

// 多言語サービスをインジェクション
this.localizerService = localizerService;

Cache files via SQLite

Evolve the file list output function and save it with SQLite. Main use is cache.

  • The PSO2 part and the NGS part are managed separately as before.
  • Prepare a table that contains the file name, the last modification date and time of the file, and the md5 hash in the parent table, and a child table that stores the contents of the file, and save them in a 1:Many relationship.
  • Due to the SQLite specifications, there is not much merit in managing IDs with numbers, so UUIDs are used for primary keys. Currently, it is treated as Homebrew, so sharing sqlite files with others is not considered.
erDiagram

files {
  string id
  string name 
  integer format
  string hash
  datetime updated_at
}

contents {
  string id
  string file_id
  string name
}

files ||--|{ contents: ""

Drag and Drop Support

Allows compression and decompression by dragging and dropping according to the displayed tab.

Cannot extract files that are over 2-3 MB in size.

Trying to extract the models in the win32 directory, and i assume this will also will happen with win32reboot, and nothing happens.
I've done manual extraction but the program seems to just... reboot? or crash out.
This also happens with the file list when trying to extract it via those.
Nothing is extracted at all and all it does is say that it did extract it.
It does extract files that are under 2 MB, i assume. I've tried it with a 3000 kb file and it failed to work but it will work with a 1000 kb file.

(1.4.0) Crashes on start

Just starting the program gives me an error message "pso2.exe not found" and crashes a couple seconds afterwards.

WinDBG gives me this.
STACK_COMMAND: ** Pseudo Context ** ManagedPseudo ** Value: ffffffff ** ; kb SYMBOL_NAME: PresentationFramework!System.Windows.Window.ShowDialog+39f MODULE_NAME: PresentationFramework IMAGE_NAME: PresentationFramework.dll FAILURE_BUCKET_ID: CLR_EXCEPTION_80070057_PresentationFramework.dll!System.Windows.Window.ShowDialog OS_VERSION: 10.0.19041.1 BUILDLAB_STR: vb_release OSPLATFORM_TYPE: x64 OSNAME: Windows 10 IMAGE_VERSION: 6.0.522.21509 FAILURE_ID_HASH: {2d609b9f-4ad2-939d-3210-9a8f2c55089f}

It crashes "onShow"... well that's interesting.

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.