Giter Club home page Giter Club logo

saintcoinach's People

Contributors

ackwell avatar ayyaruq avatar claylivince avatar crimsonorion avatar csga-kpx avatar dezwaan avatar endervad avatar ff14wed avatar goaaats avatar hezkezl avatar icarustwine avatar kalcey avatar kazwolfe avatar krvi avatar lmcintyre avatar makar8000 avatar mattantonelli avatar notadam avatar rockhyrax avatar rogueadyn avatar sapphiremordred avatar shambarick avatar soveia avatar supamiu avatar takhlaq avatar themanta avatar ufx avatar vekien avatar wolfcomp avatar xeropresence 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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar

saintcoinach's Issues

Godbert: Can't export MJIStockyardManagementTable (non-integer keys?)

When trying to export MJIStockyardManagementTable to CSV with Godbert, it crashes with the following error:

Application: Godbert.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidOperationException
   at SaintCoinach.Ex.Variant2.DataRow.get_Item(Int32)
   at SaintCoinach.Xiv.XivRow.get_Item(Int32)
   at Godbert.ViewModels.DataViewModel.SaveAsCsv(SaintCoinach.Ex.Relational.IRelationalSheet, System.String)
   at Godbert.ViewModels.DataViewModel.OnExportCsv()
   at Godbert.Commands.DelegateCommand.Execute(System.Object)
   at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(System.Windows.Input.ICommandSource, Boolean)
   at System.Windows.Controls.MenuItem.InvokeClickAfterRender(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
   at MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(System.Windows.Interop.MSG ByRef)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)
   at System.Windows.Application.RunDispatcher(System.Object)
   at System.Windows.Application.RunInternal(System.Windows.Window)
   at System.Windows.Application.Run(System.Windows.Window)
   at Godbert.App.Main()

Meanwhile the only data written out as CSV is this:

key,0
#,Material
int32,MJIItemPouch
0

MJIStockyardManagementTable is somewhat unusual in that its keys aren't integers, with keys looking like "0.0" and "3.9". Perhaps that's causing the error?
Unfortunately I don't have a C# dev environment set up to debug this any further

SaintCoinach breaks on launch

Just downloaded the program but everytime I try to to run the .exe it shows a blank CMD box for the .exe and then quickly closes again. Probably crashing in some form and I can't find a way to fix it. Tried older versions and Admin mode/firewall allowance.

Textures without alpha

Just curious to know if it is normal for the extracted textures to not have alpha but instead have this stretched texture instead (see image)

Maybe the 3D model is missing a way to handle it? maybe a shader? I'm at a loss haha

Azys Lla cannot be exported.

When trying to export Azys Lla, it cannot export some of the LgbModels

It throws this error when it tries to export a2f2_b2_bog07.mdl
image

Question&Request:how to find voice files?

Hello, I now know that SaintCoinach can export game files with known path with raw instruction, but I don't know how to obtain the path of the desired file. Where can I find the overall file directory structure of the game? Or, if possible, may this tool add the function of export all known files?

At present, I can deduce some 2.0-2.5 files according to ffxivDataExplorer and godbert, but the same method does not seem to be applicable to 3.0 and later files, so I fell into a deaend. As shown in the picture I provided, I tried to export different patchs of voice files, but only 2.0 successfully found the corresponding file.

This is just a personal request. I would appreciate it if you could reply.

6.11 System.IndexOutOfRangeException: Index was outside the bounds of the array.

Hi,

Just wanted to report in case this can help/be needed, got this error while updating with today's patch

34% (489 / 1428): Structure > DawnGrowMember

Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at SaintCoinach.Ex.Relational.Update.DefinitionUpdater.MatchRow(Object[] previousRowData, Object[] updatedRowData, ColumnComparer[] comparers) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\DefinitionUpdater.cs:line 39
   at SaintCoinach.Ex.Relational.Update.SheetUpdater.MatchRows() in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\SheetUpdater.cs:line 215
   at SaintCoinach.Ex.Relational.Update.SheetUpdater.Update() in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\SheetUpdater.cs:line 74
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.<>c__DisplayClass13_1.<Update>b__2() in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 91
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.MemoryGuard[T](Func`1 func) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 139
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.<>c__DisplayClass13_0.<Update>b__0(SheetDefinition prevSheetDef) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 91
   at System.Threading.Tasks.Parallel.<>c__DisplayClass31_0`2.<ForEachWorker>b__0(Int32 i)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList`1 list, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.Update(Boolean detectDataChanges) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 70
   at SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress`1 progress) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 382
   at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 52

Feature Request: RAW BGM extraction sub command

This is more of feature request for game music enthusiasts who like using music plugins like VGMStream want to keep the original file format. I understand there isn't much use of the music in SCD files outside of personal preference, but I'd rather not have to strip the file paths from BGM/Orchestrion and raw extract each.

Create object of "File" from file on hard drive, not from "SqPack".

Is it possible to create a "File" not from a SqPack, but from external file on hard drive?

I want to edit skeleton of character (change length between some bones - for example "neck" and "head") and then export animation as FBX.
In order to achieve it, I think the only thing I need is object of "File" class, which is created from edited by me file (which is stored somewhere on a hard drive), instead of original skeleton inside game files.
For example:
D:\skl_c0101b0001_edited.sklb

Does anybody know how it might be achieved?

Godbert: 3D Equipment

When loading 3D equipment, most come out in a greenish color (assuming it's not loading the textures perhaps?) and if a color is selected (when available) all it loads up is the blue background. Not sure what might be causing this, I get no errors or output, just the blue background.

Steps:
1.) Open godbert and choose 3D
2.) Choose equipment, search for Crownsblade Recollection
3.) Choose New Window and item displays (1st pic)
4.) Choose a dye color and click New Window. Item won't display (at least on my end.) (2nd pic)

This happens on any item that has color options.

image
image

Unhandled exception trying to run SaintCoinach.Cmd.exe

Hey, as the title says, I'm getting the following exception when I try to run the latest version of SaintCoinach CLI 51fd6b6:

Unhandled exception. System.Configuration.ConfigurationErrorsException: Configuration system failed to initialize
 ---> System.Configuration.ConfigurationErrorsException: Unrecognized configuration section system.data (D:\ffadds\gamedata\progs\SaintCoinachGodbert\new\SaintCoinach.Cmd.dll.config line 20)
   at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal)
   at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors)
   at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors()
   at System.Configuration.ClientConfigurationSystem.EnsureInit(String configKey)
   --- End of inner exception stack trace ---
...
   at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 20

This happens only with the latest version (51fd6b6). I can run the previous one (cc3954a) without any issues. Also, Godbert runs fine both in the current and the previous version.
I'm pretty much ignorant of C# in general, so I'm not sure what I can do. The file SaintCoinach.Cmd.dll.config that the error message mentions doesn't exist in the new version, but there's an identical file in the new version named SaintCoinach.Cmd.exe.config. The only difference I can see between those two, is that this segment is missing from the new .config file:

  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
  </startup>

Also line 20 of SaintCoinach.Cmd.dll.config that's mentioned in the exception is: <system.data>.
My installed .NET Framework versions are 4.7.2 and 4.8.1 (and .NET SDK's versions 8.0.1 and 7.0.4), and I'm running Windows 11 Pro, in case it matters. I also see there's a bunch of new/changed files and a new folder in the new version, so I assume it's somehow related?

Is there something I can do to get the new version running?

Suggestion: Dump Orchestrion Music

It's been a long while since I looked into this, but a while ago I made a suggestion on a fork of this... and for whatever reason never really got it to the correct place. Looking at https://github.com/xivapi/SaintCoinach/blob/111543bf399c709529237cfb25f77650ddb0126f/SaintCoinach.Cmd/Commands/BgmCommand.cs it looks like you are doing some logic around the orchestrion music, but it doesn't read like it's going to dump it out with the organization like what we'd see in the in-game Orchestrion (which would be useful for people to quickly find the right track). If this is already in SaintCoinach (and I missed it), then please disregard, but here's the suggestion based on the ingame data circa Shadowbringers.

======

It would be really awesome if SainCoinach.Cmd had an option to dump the Orchestrion music, which looks like it's all at music/ffxiv/Orchestrion/* . For your sanity I'm referring to the Godbert dataset using bold, while the column names within each dataset using italics. For this, having a command like "omusic" would probably be the best.

Here's how this should work:

  1. Create a directory in the output folder for each Name in OrchestrionCategory
  2. Iterate through OrchestrionPath using a for loop, which will give you a Key value to use in Orchestrion, OrchestrionPath, and OrchestrionUiparam. Here's how that value should be used to generate data, path, and file name:
  • Data is File in OrchestrionPath. If there's no File value, log and skip it.
  • Path is OrcehstrionCategory in OrchestrionUiparam, which should be one of the directories created in step 1
  • (optional) A prefix for the file name can be generated Order in OrchestrionUiparam which should recreate a similar file structure to the Orchestrion UI panel ingame. This should be padded out to three digits (ex: 1 becomes 001) which will cause almost all OS's to sort everything correctly, while values that are 65535 (which affects Seasonal and Store Scrolls) should not be used.
  • File name looks like it's Name and in Orchestrion

So assuming I'm understanding all of this correctly, the resulting output should be a rather user friendly set of files that would be organized similar to what's seen ingame.

Goldbert: Not working on Windows 11 for me

Greetings,

When I open Godbert on Windows 11, I get asked for the game folder (which is detected correctly) and then the software never opens.

My guess is that there is a missing prerequisite, but I am not sure, I tried installing .NET framework 2.0 and 3.5 and it still does not work.

Am I missing something else?

May you help me out with this please? It would be really appreciated.

I can use SaintCoinach fine though (thought I would specify).

Thank you for your time and help.

Eorzea Database Identifiers

Is there a way to retrieve the identifier that the official Eorzea Database uses for items/recipes? For example for blacksmithing recipe Iron Ingot it is 7f0f9bc3256.

Not sure if this identifier is stored in the GameData or if it's generated specifically for their server-sided database. Could be useful if scraping the official database would be necessary to grab data such as NPCs selling the item or where it can be gathered.

SaintCoinach.Cmd offering update, but crashing when offer accepted.

I am seeing the following problem:

C:\Users\xxxx\Source\repos\SaintCoinach\SaintCoinach.Cmd\bin\Debug>SaintCoinach.Cmd
Game version: 2023.05.31.0000.0000
Definition version: 2023.05.18.0000.0000
Update is available, perform update (Y/n)? y

Unhandled Exception: System.IO.DirectoryNotFoundException: Attempted to access a path that is not on the disk.
   at SaintCoinach.IO.PackCollection..ctor(DirectoryInfo dataDirectory) in C:\Users\xxxx\Source\Repos\SaintCoinach\SaintCoinach\IO\PackCollection.cs:line 30
   at SaintCoinach.IO.PackCollection..ctor(String dataDirectory) in C:\Users\xxxx\Source\Repos\SaintCoinach\SaintCoinach\IO\PackCollection.cs:line 24
   at SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress`1 progress) in C:\Users\xxxx\Source\Repos\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 366
   at SaintCoinach.Cmd.Program.Main(String[] args) in C:\Users\xxxx\Source\Repos\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 52
Failed to delete temporary directory C:\Users\xxxx\AppData\Local\Temp\tmpB7F7.tmp.

C:\Users\xxxx\Source\repos\SaintCoinach\SaintCoinach.Cmd\bin\Debug>

Is there something I must manually do to allow this update to happen?

Bard Instrument Sound Files

Hi,

I am currently trying to track down the instrument sound files that bards use for instrument playing, do you guys have these mapped or is the included command line tool able to export these? I have been searching through files manually for a while but have not found them yet.

I know this is not an issue per-say but you guys don't have discussions enabled and I don't see a Discord link anywhere.

Not actual issue

I have no idea where else to put this, as there isn't really a forum to my knowledge or a discord that of which i can post this question-
but is there any way to export the files of Demi-humans? I've noticed it's only possible to rip the assets of monsters and territories- will it be a feature added in the future or is there another way one can export the files in fbx format?
Apologies for the incorrect placement, but i genuinely do not know where else to put this inquiry.

Unable to update definitions

`C:\Users\athei\OneDrive\Desktop\SaintCoinach.Cmd>SaintCoinach.Cmd.exe "C:\SquareEnix\FINAL FANTASY XIV - A Realm Reborn"
Defined sheet CustomTalkDynamicIcon is missing.
Defined sheet MasterpieceSupplyDuty is missing.
Defined sheet MasterpieceSupplyMultiplier is missing.
Defined sheet Purify is missing.
Game version: 2021.12.24.0000.0000
Definition version: 2021.11.28.0000.0000
Update is available, perform update (Y/n)? y

**Unhandled Exception: System.IO.DirectoryNotFoundException: Attempted to access a path that is not on the disk.
at SaintCoinach.IO.PackCollection..ctor(DirectoryInfo dataDirectory) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\IO\PackCollection.cs:line 30
at SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress1 progress) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 366 at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 50**

I've noticed a similar pathing issue on a few open issues here on github with it trying to obtain files from: _D:\a\SaintCoinach\SaintCoinach\SaintCoinach_

To try alliviate this, I downloaded the master file and created the exact same pathing to match this but it doesn't seem to access it at all.

Pretty stumped how to fix this.

Other things tried:

  • Full blank release re-downloaded
  • Moving directory a few times.
  • Making sure files are unblocked.
  • Running CMD in admin

Cmd `image` subcommand does not work

When I attempt to run the image subcommand, it just prints out:

Game version: 2021.11.28.0000.0000
Definition version: 2021.11.28.0000.0000
SaintCoinach.Cmd (Version 0.1.0.0)
> image
Object reference not set to an instance of an object.

I was hoping to dump some of the loading screens because they're so pretty. I also tried with Godbert, but couldn't find a way to do so; however, maybe I was holding it wrong.

Throws error upon attempting to open.

Hi you probably already working on this, I just tried with the update 50 mins ago, but still seem to have this error message.

Unhandled Exception: System.IO.DirectoryNotFoundException: Attempted to access a path that is not on the disk.
at SaintCoinach.IO.PackCollection..ctor(DirectoryInfo dataDirectory) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\IO\PackCollection.cs:line 30
at SaintCoinach.ARealmReversed..ctor(DirectoryInfo gameDirectory, FileInfo storeFile, Language language, FileInfo libraFile) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 196
at SaintCoinach.ARealmReversed..ctor(String gamePath, String storePath, Language language, String libraPath) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 180
at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 40

ui and uihd fail for a large number of image files. Error message: Non-negative number required. Parameter name: Value

This appears to happen for many new images for patch 6.5, but I am not certain if there are any older images that do this as well.

I did a reinstall of the game files using the official launcher, as well as an integrity check via XL, to ensure there was no issue with game files.

Example shown below, but I can provide a full list of all images that error if needed.

> uihd 024099
024099: Non-negative number required.
Parameter name: value
0 images processed

[Godbert] ImageConverter.cs has System.OutOfMemoryException when export a model with 2k image

When I try to export the m0640 model (Boss for e8s) at Godbert, it runs for a long time without ending.
After that I compiled and ran Godbert locally and found that the program threw an OutOfMemoryException at ImageConverter.cs-line 136(fuction GetA8R8G8B8).The reason is to new a byte array of length 2048*2048*4
At the time the exception was thrown, my computer still had fairly free memory. I'm not familiar with the .Net, so I've tried some solutions, including compressing space and GC, allowing the opening of Objects larger than 2G, but none of them work.

SaintCoinach.CMD - allexd does not translate all key correctly

Steps to reproduce:

  1. Open SaintCoinach.CMD
  2. Run lang de (any language would be fine)
  3. run allexd

Example using Action data
Actual result: Values for translated keys e.g. ActionCategory are not translated properly (it prefers the specified language from step 2 instead of the file specific languages for Action.en.csv, Action.fr.csv, Action.ja.csv
Expected result: All values are translated depending on the file language and in case no specific language can be used e.g. AchievmentTarget.csv it uses the specified language.

SaintCoinach build process confusing.

Hello! I get a lot of errors when attempting to build this program. What are the required tools/libraries? What are the dependancies I need? What are the exact versions of these dependencies?

Also, I want to run Soreepeong (kizer)'s version, but I can't build these solutions because of errors.

Output-Build.txt

Godbert: Crash when exporting certain territories

When attempting to export the areas a2f2 or e0109 (Azys Lla) an error is presented and the export is unable to finish.
azyserror

An additional question, so as not to clutter the board: is there any way to export Demi-Humans, especially with their animations? The Monsters come out great!

Thank you for all you do on this project, it's wonderful and hugely appreciated!

Cannot export Azys lla

Azys lla

Trying to export Azys Lla resulted in this error - if at all possible could this be looked at? I need the assets for a VR project I'm working on

System.OutOfMemoryException: Could not execute function after 5 attempts while trying to update

Hello, while I try to update the definitions with the last patch, I get a OOM exception.

Game version: 2021.08.17.0000.0000
Definition version: 2021.07.15.0000.0000
Update is available, perform update (Y/n)? y
  0% (0 / 1284): Structure > Achievement
....
 99% (1268 / 1284): Data > ENpcResident

Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.OutOfMemoryException: Could not execute function after 5 attempts.
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.MemoryGuard[T](Func`1 func) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 148
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.<>c__DisplayClass13_0.<Update>b__1(SheetDefinition prevSheetDef) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 121
   at System.Threading.Tasks.Parallel.<>c__DisplayClass31_0`2.<ForEachWorker>b__0(Int32 i)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList`1 list, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.Update(Boolean detectDataChanges) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 103
   at SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress`1 progress) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 382
   at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 50

Process memory sit around 3.3-3.5GB, I got plenty memory available.

Happen with other elements :

 99% (1268 / 1284): Data > ActionProcStatus

or

98% (1263 / 1284): Data > ActionCastTimeline
Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.OutOfMemoryException: Could not execute function after 5 attempts.
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.MemoryGuard[T](Func`1 func) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 148
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.<>c__DisplayClass13_0.<Update>b__1(SheetDefinition prevSheetDef) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 121
   at System.Threading.Tasks.Parallel.<>c__DisplayClass31_0`2.<ForEachWorker>b__0(Int32 i)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList`1 list, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.Update(Boolean detectDataChanges) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 103
   at SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress`1 progress) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 382
   at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 50

I'm not sure if it's linked to #23 ? I tried with powershell 64 bits but obviously that didn't change much.
The memory doesn't seems to be emptied after each element, maybe that's a trail to follow?

When attempting to export the resource with ID 300 by running the command "SaintCoinach.Cmd ui 300" through the command line, the parameter was not recognized correctly.

The "ui" command in SaintCoinach.Cmd supports exporting specific resources by appending either individual resource parameters or a range of resource parameters.

However, when running SaintCoinach.Cmd <GameDirectory> ui 300 or SaintCoinach.Cmd <GameDirectory> ui 0 999 through the command line, the args[2] and args[3] were not recognized correctly. As a result, all UI resources were exported instead, which does not seem to align with the expected outcome. For example:

.\SaintCoinach.Cmd.exe <GameDirectory> ui 300
Defined sheet AOZContentBriefingObject is missing.
Defined sheet CustomTalkDefineClient is missing.
Defined sheet EventIconPriorityPair is missing.
Defined sheet FishingNoteInfo is missing.
Defined sheet MandervilleWeaponEnhance is missing.
Defined sheet MiniGameTurnBreakAction is missing.
Defined sheet MiniGameTurnBreakConst is missing.
Defined sheet MiniGameTurnBreakEnemy is missing.
Defined sheet MiniGameTurnBreakPop is missing.
Defined sheet MiniGameTurnBreakPopOffset is missing.
Defined sheet MiniGameTurnBreakStage is missing.
Defined sheet MiniGameTurnBreakStatus is missing.
Defined sheet MJIGardenscaping is missing.
Defined sheet MJIName is missing.
Defined sheet QuestEventAreaEntranceInfo is missing.
Defined sheet QuestLinkMarkerIcon is missing.
Defined sheet TofuPreset is missing.
Defined sheet TofuPresetCategory is missing.
Defined sheet TofuPresetObject is missing.
Game version: 2023.06.28.0000.0000
Definition version: 2023.06.28.0000.0000
Command 1: uiHD

Specifically, when running in interactive command line mode, the parameter can be recognized correctly. For example:

.\SaintCoinach.Cmd.exe <GameDirectory>
Defined sheet AOZContentBriefingObject is missing.
Defined sheet CustomTalkDefineClient is missing.
Defined sheet EventIconPriorityPair is missing.
Defined sheet FishingNoteInfo is missing.
Defined sheet MandervilleWeaponEnhance is missing.
Defined sheet MiniGameTurnBreakAction is missing.
Defined sheet MiniGameTurnBreakConst is missing.
Defined sheet MiniGameTurnBreakEnemy is missing.
Defined sheet MiniGameTurnBreakPop is missing.
Defined sheet MiniGameTurnBreakPopOffset is missing.
Defined sheet MiniGameTurnBreakStage is missing.
Defined sheet MiniGameTurnBreakStatus is missing.
Defined sheet MJIGardenscaping is missing.
Defined sheet MJIName is missing.
Defined sheet QuestEventAreaEntranceInfo is missing.
Defined sheet QuestLinkMarkerIcon is missing.
Defined sheet TofuPreset is missing.
Defined sheet TofuPresetCategory is missing.
Defined sheet TofuPresetObject is missing.
Game version: 2023.06.28.0000.0000
Definition version: 2023.06.28.0000.0000
SaintCoinach.Cmd (Version 0.1.0.0)
> uihd 300
1 images processed
>

Not existing Path

Hello,

I have an error using StCoinach :
System.IO.DirectoryNotFoundException : 'Tentative d'accès à un chemin d'accès ne se trouvant pas sur le disque.' (Access attemp to a path that isn't on the disk)
The path : {C:\Users\Admin\AppData\Local\Temp\tmpA6E9.tmp\2021.07.15.0000.0000}

Is there a way to avoid that ? The GameDirectory is good and used to work a year ago.

Thank you in advance,

Jokoast.

The full stacktrace :

   à SaintCoinach.IO.PackCollection..ctor(DirectoryInfo dataDirectory) dans D:\Coding\C#\SaintCoinach-master\SaintCoinach\IO\PackCollection.cs:ligne 30
   à SaintCoinach.IO.PackCollection..ctor(String dataDirectory) dans D:\Coding\C#\SaintCoinach-master\SaintCoinach\IO\PackCollection.cs:ligne 24
   à SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress`1 progress) dans D:\Coding\C#\SaintCoinach-master\SaintCoinach\ARealmReversed.cs:ligne 366
   à GetItems.Program.Main() dans D:\Coding\C#\SaintCoinach-master\GetItems\Program.cs:ligne 27

BNpc Names are always lowercase

BNpc names are always lowercase. This does not line up with what is shown in game.

Is there information in the data that shows how capitalization should take place?

Export of CustomTalkDefineClient failed: Unable to read beyond the end of the stream.

I get this error if I run exd in an older version (release b848919 in this case). It also fails on QuestDefineClient.

Defined sheet Frontline04 is missing.
Game version: 2023.06.14.0000.0000
Definition version: 2023.06.14.0000.0000
SaintCoinach.Cmd (Version 0.1.0.0)
> exd
Export of CustomTalkDefineClient failed: Unable to read beyond the end of the stream.
Export of QuestDefineClient failed: Unable to read beyond the end of the stream.
6779 files exported, 2 failed

However, in the most recent versions it just fails outright so I can't properly update the definitions:

 (...)
 45% (710 / 1578): Structure > LogKind
 45% (711 / 1578): Structure > LogMessage
 45% (713 / 1578): Structure > CustomTalkDefineClient

Unhandled Exception: System.AggregateException: One or more errors occurred. ---> System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
   at System.IO.BinaryReader.ReadByte()
   at SaintCoinach.Text.XivStringDecoder.DecodeTag(BinaryReader input) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Text\XivStringDecoder.cs:line 129
   at SaintCoinach.Text.XivStringDecoder.Decode(BinaryReader input, Int32 length) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Text\XivStringDecoder.cs:line 116
   at SaintCoinach.Text.XivStringDecoder.Decode(Byte[] buffer) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Text\XivStringDecoder.cs:line 99
   at SaintCoinach.Ex.DataReaders.StringDataReader.Read(Byte[] buffer, Column col, IDataRow row) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\DataReaders\StringDataReader.cs:line 56
   at SaintCoinach.Ex.Relational.RelationalColumn.Read(Byte[] buffer, IDataRow row) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\RelationalColumn.cs:line 59
   at SaintCoinach.Ex.DataRowBase.get_Item(Int32 columnIndex) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\DataRowBase.cs:line 46
   at SaintCoinach.Ex.Relational.Update.SheetUpdater.<>c__DisplayClass18_0.<MatchVariant2Rows>b__4(RelationalColumn _) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\SheetUpdater.cs:line 232
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at SaintCoinach.Ex.Relational.Update.SheetUpdater.MatchVariant2Rows(DefinitionUpdater[] defUpdaters, ColumnComparer[] comparers) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\SheetUpdater.cs:line 231
   at SaintCoinach.Ex.Relational.Update.SheetUpdater.MatchRows() in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\SheetUpdater.cs:line 204
   at SaintCoinach.Ex.Relational.Update.SheetUpdater.Update() in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\SheetUpdater.cs:line 74
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.<>c__DisplayClass13_1.<Update>b__2() in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 91
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.MemoryGuard[T](Func`1 func) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 139
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.<>c__DisplayClass13_0.<Update>b__0(SheetDefinition prevSheetDef) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 91
   at System.Threading.Tasks.Parallel.<>c__DisplayClass31_0`2.<ForEachWorker>b__0(Int32 i)
   at System.Threading.Tasks.Parallel.<>c__DisplayClass17_0`1.<ForWorker>b__1()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.InnerInvokeWithArg(Task childTask)
   at System.Threading.Tasks.Task.<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(Object <p0>)
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at System.Threading.Tasks.Task.Wait()
   at System.Threading.Tasks.Parallel.ForWorker[TLocal](Int32 fromInclusive, Int32 toExclusive, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Func`4 bodyWithLocal, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IList`1 list, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEachWorker[TSource,TLocal](IEnumerable`1 source, ParallelOptions parallelOptions, Action`1 body, Action`2 bodyWithState, Action`3 bodyWithStateAndIndex, Func`4 bodyWithStateAndLocal, Func`5 bodyWithEverything, Func`1 localInit, Action`1 localFinally)
   at System.Threading.Tasks.Parallel.ForEach[TSource](IEnumerable`1 source, Action`1 body)
   at SaintCoinach.Ex.Relational.Update.RelationUpdater.Update(Boolean detectDataChanges) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\Ex\Relational\Update\RelationUpdater.cs:line 70
   at SaintCoinach.ARealmReversed.Update(Boolean detectDataChanges, IProgress`1 progress) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach\ARealmReversed.cs:line 382
   at SaintCoinach.Cmd.Program.Main(String[] args) in D:\a\SaintCoinach\SaintCoinach\SaintCoinach.Cmd\Program.cs:line 52

This is on Windows 11.

SaintCoinach.Cmd "rawexd": "Export of QuestDefineClient failed: Unable to read beyond the end of the stream."

Since FFXIV Patch 6.3 (game version 2022.12.23.0000.0000), I've been getting an error from SaintCoinach.Cmd when I use the rawexd command: "Export of QuestDefineClient failed: Unable to read beyond the end of the stream.":

C:\saintcoinach>SaintCoinach.Cmd.exe "C:\Program Files (x86)\SquareEnix\FINAL FANTASY XIV - A Realm Reborn"
Game version: 2023.01.11.0000.0000
Definition version: 2023.01.11.0000.0000
SaintCoinach.Cmd (Version 0.1.0.0)
> rawexd
Export of QuestDefineClient failed: Unable to read beyond the end of the stream.
6687 files exported, 1 failed

I first discovered this behaviour on Linux with WINE, but before reporting I verified that it also occurs on a regular Windows 10 installation on a different computer - and that's where the transcript above is from.

I'm using the latest binary release of SaintCoinach as of the time of writing (based on commit bdd2ef2).

Prior to patch 6.3, this was working without any issues, so it's quite recent.

If you need any more information, please let me know!

Exporting Boss animation but cannot open in any application

Export With Godbert
Tested on
blender - Vanilla FBX Importer/Better fbx importer Result: No animation/can't load animation
3dsmax - Crash
FBX viewer - Crash
Window 3D Viewer - Crash
How do i Extract animation from saintcoinach? i don't know how the command works. i know the destination location but no idea what to type

Disable "Prefer 32-bit" on executables

Some things make SaintCoinach.Cmd.exe try to use more than 4 GB of RAM, which fails as it's configured for AnyCPU and "Prefer 32-bit", which makes it run in 32-bit mode even on 64-bit machines.

It works as expected when clearing the flag manually using corflags /32BITPREF- .\SaintCoinach.Cmd.exe, so it should just be a matter of unchecking the "Prefer 32-bit" box in the properties on the projects.

As a bonus, the whole thing gets a bit quicker as the JIT can use 64-bit exclusive extensions.

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.