shadelessfox / decima Goto Github PK
View Code? Open in Web Editor NEWGUI application for viewing and editing resources found in games powered by Decima Engine
Home Page: https://discord.gg/Gt4gkMwadB
License: GNU General Public License v3.0
GUI application for viewing and editing resources found in games powered by Decima Engine
Home Page: https://discord.gg/Gt4gkMwadB
License: GNU General Public License v3.0
Sometimes it might be tedious when searching for a particular file among all archives.
Instead, we can merge everything from all archives and display it under the project node.
It stopped working after 87688d4. We need to figure a better way of finding node by its associated file.
Currently, every unhandled exception is shown only in the console.
Running the application standalone or with the obstructed console, it would be unclear why a particular behavior does not happen.
By showing a popup with the error, it would make clear that something went wrong.
Decima Engine uses RTTI
that represents type information at runtime. There are hundreds of different objects for which we don't want to write wrappers. Instead, we can use RTTI
information to reconstruct object hierarchy for reading, writing, pretty-printing, and displaying these objects.
But we should be aware of internal objects that are not exposed via RTTI
.
Hi guys. Foremost, big thanks to all your team for maintaining this wonderful program.
Your latest version with all those new features as inline "open" button and all other functions are really make life easier and helps a lot when modding.
Prefetch rebuilding is also working great, but unfortunately it's only available upon the mod files packing/repacking.
May I ask you to add Full Pefetch Rebuild as separate function inside "Edit" or "Tools" dropdown on the upper panel, to be able to rebuild prefetch just on the basis of all .bin files located inside Packed_DX12 folder, without need to pack/repack any other mod files.
Due to appearing of mods, which more frequently require custom/rebuilt prefetch, I think this function becoming more and more crucial for modders and mod creators. I'm sure, implementation of this feature will boost mods creation, find popularity in HZD community and will help to avoid many incompatibilities/'endless loading screens" within prefetch sensitive mods.
With kind regards and respect,
JD
Depends on #15
Please add instructions for creating a new project. I'm able to add executable and Oodle library but am not sure what you mean by game packfile folder path? is that "\DEATH STRANDING DIRECTORS CUT\data"? Also what/where is the RTTl metadata path? I can't find any json in the install. I've also unpacked the entire game with decima without the json file.
Hi,
Thank you for such a wonderful tool <3
I am trying to extract audio from Death Stranding in order to create a voiceover localization for it.
The workshop can't play the file at all, extraction fails with the same error.
Problem is the re-encode step fails with an error IO error for some reason.
16884998810871792125.zip
[+] wem gets created (I suppose so, can't be certain)
[+] ogg gets created (attached in archive above)
[-] ffmpeg fails (fixed with manual cmd run below)
`java.io.IOException: Process finished with exit code 2
Error:
Could not open output file.
at com.shade.platform.model.util.IOUtils.exec(IOUtils.java:291)
at com.shade.decima.ui.data.viewer.audio.AudioPlayerUtils.extractFromWwise(AudioPlayerUtils.java:75)
at com.shade.decima.ui.data.viewer.audio.AudioPlayerUtils.extractTrack(AudioPlayerUtils.java:57)
at com.shade.decima.ui.data.viewer.audio.AudioPlayerPanel.lambda$setTrack$1(AudioPlayerPanel.java:138)
at com.shade.platform.ui.dialogs.ProgressDialog$1.doInBackground(ProgressDialog.java:47)
at java.desktop/javax.swing.SwingWorker$1.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.desktop/javax.swing.SwingWorker.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)`
Ok, I looked up what you are doing with the file itself and trying to continue the process manually.
ffmpeg.exe -acodec vorbis -i .\9796839657855114707.ogg -ac 2 test.wav
However there is something wrong with the output itself.
Attaching zip-archive with input and result.
Can you help me out or is it too much to ask?
Is it possible to replace Death Stranding voiceover files at all?
Unlike Death Stranding, in HZD, every RTTI resource has a human-readable name.
It would be handy, so let's show them in the GUI.
Does this tool allow you to import textures? I have one extracted but the import button is grayed out. Is this not possible or am I just missing something?
It's quite hard to find useful bits of information by blindly inspecting each core file one at a time.
It will be a lot faster to scan the entire packfile for a given sequence of bytes, words, dwords, and etc and then show core entries that contain these.
Attempting to follow the wiki instructions for Death Stranding leads to an exception when attempting to load the compressor library:
java.lang.IllegalStateException: java.lang.UnsatisfiedLinkError: Unable to load library '/home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll':
/home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll: invalid ELF header
/home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll: invalid ELF header
Native library (home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll) not found in resource path (/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-0.1.12.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-ui.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/platform-ui.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-model.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/platform-model.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/logback-classic-1.4.4.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/gson-2.10.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/reflections-0.10.2.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/miglayout-swing-11.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/flatlaf-extras-2.6.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/flatlaf-2.6.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/jna-5.12.1.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/picocli-4.7.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/logback-core-1.4.4.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/slf4j-api-2.0.1.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/javassist-3.28.0-GA.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/jsr305-3.0.2.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/miglayout-core-11.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/svgSalamander-1.1.3.jar)
at com.shade.platform.ui.controls.tree.TreeModel$LoadingWorker.done(TreeModel.java:345)
at java.desktop/javax.swing.SwingWorker$5.run(SwingWorker.java:750)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:848)
at java.desktop/sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
at java.desktop/javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:858)
at java.desktop/javax.swing.Timer.fireActionPerformed(Timer.java:311)
at java.desktop/javax.swing.Timer$DoPostEvent.run(Timer.java:243)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.lang.UnsatisfiedLinkError: Unable to load library '/home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll':
/home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll: invalid ELF header
/home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll: invalid ELF header
Native library (home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll) not found in resource path (/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-0.1.12.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-ui.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/platform-ui.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-model.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/platform-model.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/logback-classic-1.4.4.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/gson-2.10.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/reflections-0.10.2.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/miglayout-swing-11.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/flatlaf-extras-2.6.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/flatlaf-2.6.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/jna-5.12.1.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/picocli-4.7.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/logback-core-1.4.4.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/slf4j-api-2.0.1.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/javassist-3.28.0-GA.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/jsr305-3.0.2.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/miglayout-core-11.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/svgSalamander-1.1.3.jar)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:307)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:467)
at com.sun.jna.Library$Handler.<init>(Library.java:192)
at com.sun.jna.Native.load(Native.java:622)
at com.shade.decima.model.util.Compressor.<init>(Compressor.java:36)
at com.shade.decima.model.app.Project.<init>(Project.java:44)
at com.shade.decima.model.app.ProjectManagerImpl.openProject(ProjectManagerImpl.java:91)
at com.shade.decima.ui.navigator.impl.NavigatorProjectNode.open(NavigatorProjectNode.java:35)
at com.shade.decima.ui.navigator.impl.NavigatorProjectNode.loadChildren(NavigatorProjectNode.java:70)
at com.shade.decima.ui.navigator.impl.NavigatorProjectNode.loadChildren(NavigatorProjectNode.java:23)
at com.shade.platform.ui.controls.tree.TreeNodeLazy.getChildren(TreeNodeLazy.java:20)
at com.shade.platform.ui.controls.tree.TreeModel.getChildren(TreeModel.java:285)
at com.shade.platform.ui.controls.tree.TreeModel$LoadingWorker.doInBackground(TreeModel.java:322)
at com.shade.platform.ui.controls.tree.TreeModel$LoadingWorker.doInBackground(TreeModel.java:309)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1623)
Suppressed: java.lang.UnsatisfiedLinkError: /home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll: invalid ELF header
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:197)
... 19 more
Suppressed: java.lang.UnsatisfiedLinkError: /home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll: invalid ELF header
at com.sun.jna.Native.open(Native Method)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:210)
... 19 more
Suppressed: java.io.IOException: Native library (home/sparr/.steam/steam/steamapps/common/DEATH STRANDING DIRECTORS CUT/oo2core_7_win64.dll) not found in resource path (/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-0.1.12.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-ui.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/platform-ui.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/decima-model.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/platform-model.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/logback-classic-1.4.4.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/gson-2.10.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/reflections-0.10.2.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/miglayout-swing-11.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/flatlaf-extras-2.6.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/flatlaf-2.6.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/jna-5.12.1.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/picocli-4.7.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/logback-core-1.4.4.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/slf4j-api-2.0.1.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/javassist-3.28.0-GA.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/jsr305-3.0.2.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/miglayout-core-11.0.jar:/home/sparr/Downloads/decima/decima-0.1.12/lib/svgSalamander-1.1.3.jar)
at com.sun.jna.Native.extractFromResourcePath(Native.java:1145)
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:281)
... 19 more
There may be a way to get this working by loading the library through wine or proton. Or some of the functionality may be useful without the library?
Thank you!
version: 0.1.18
jvm: 17.0.9
DEATH STRANDING DIRECTORS CUT
java.lang.IllegalArgumentException: Class 'UnknownEntry' has no field called 'EffectType'
java.lang.RuntimeException: java.lang.IllegalArgumentException: Class 'UnknownEntry' has no field called 'EffectType'
at com.shade.decima.ui.data.viewer.model.ModelExportDialog.lambda$buttonPressed$2(ModelExportDialog.java:132)
at com.shade.platform.ui.dialogs.ProgressDialog$1.doInBackground(ProgressDialog.java:47)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:842)
Caused by: java.lang.IllegalArgumentException: Class 'UnknownEntry' has no field called 'EffectType'
at com.shade.decima.model.rtti.RTTIClass.getField(RTTIClass.java:43)
at com.shade.decima.model.rtti.objects.RTTIObject.get(RTTIObject.java:21)
at com.shade.decima.model.rtti.objects.RTTIObject.str(RTTIObject.java:49)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.exportMaterial(DMFExporter.java:1244)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.exportDSMeshData(DMFExporter.java:1217)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.regularSkinnedMeshResourceToModel(DMFExporter.java:987)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.exportRegularSkinnedMeshResource(DMFExporter.java:443)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.exportResource(DMFExporter.java:130)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.export(DMFExporter.java:106)
at com.shade.decima.ui.data.viewer.model.dmf.DMFExporter.export(DMFExporter.java:93)
at com.shade.decima.ui.data.viewer.model.ModelExportDialog.lambda$buttonPressed$2(ModelExportDialog.java:127)
... 7 more
Currently, we assume that both games refer to GameType#DS
.
This breaks support for an ongoing mesh exporter that expects specific fields to exist, but they don't.
Acceptance criteria:
GameType#DSDC
Hello! All game fonts are in .core file. Can you please tell me how to turn them into .ttfs (or other popular format) and backwards? Thank you very much!
As projects represent games, they rarely share the same RTTI information.
It causes problems when loading game A using RTTI information from game B.
Currently, it's impossible to change what file or entry a reference points to.
When choosing what entry it points to, possible entries must be filtered to exclude ones whose type doesn't match the type of the reference.
For example, when editing the Ref<Resource>
, it can only point to entries that inherit from the Resource
type, e.g. Texture
, etc.
The purpose of this tool is not only to show data but also to allow modifying it.
An entire model for editors must be built to support such a feature.
We'll need to figure out a way of tracking our changes. There are some problems:
Also, we'll need to figure out a way of repacking data in the first place:
After opening a lot of editors and restarting the application, it will attempt to load them all and will do it indefinitely.
Ideally, it should initialize the active editor only.
This problem needs a research. Can be solved by decreasing the amount of opened editors.
Some types besides RTTI data store extra data, which is read through the MsgReadBinary
message by the engine.
The API should be flexible to allow defining such routines even for dynamically created types.
This tool is coming along nicely, yet I cannot seem to get the game to load after repacking even just one BIN file.
From what I understand, Death Stranding will not load any BIN files other than the default ones it comes with it and so it is needed to repack and not create a new independant BIN file.
Is there a specific repack method that needs to be done to keep it the same as the original BIN? Maybe possible there is a method to get DS to load other BINs and I'm just totally missing it.
The tool "Decima Explorer" seems to do alright for repacking, but gives no export options so not sure what should be selected when saving from this tool.
I've tried pretty minor edits to core file values and have confirmed the Decima-edited exported core file can repack fine in Decima Explorer, just not in this tool.
I'm currently using ds_paths.txt.gz as there is not a different one for dsdc- not sure if that is correct.
When i make changes /ds/entities/gimmick/structure/construction_rshl.core i couldn't save changes! I got a lot of errors:
java.lang.IllegalStateException: Can't determine size of Java class
at com.shade.decima.model.rtti.registry.providers.JavaTypeProvider$JavaClass.getSize(JavaTypeProvider.java:121)
at com.shade.decima.model.base.CoreBinary.lambda$serialize$0(CoreBinary.java:61)
at java.base/java.util.stream.ReferencePipeline$4$1.accept(ReferencePipeline.java:214)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.IntPipeline.reduce(IntPipeline.java:515)
at java.base/java.util.stream.IntPipeline.sum(IntPipeline.java:473)
at com.shade.decima.model.base.CoreBinary.serialize(CoreBinary.java:61)
at com.shade.decima.ui.editor.core.CoreEditor.doSave(CoreEditor.java:266)
at com.shade.decima.ui.menu.menus.FileMenu$SaveItem.perform(FileMenu.java:108)
at com.shade.platform.ui.menus.impl.MenuManagerImpl.lambda$createMenuItem$1(MenuManagerImpl.java:244)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Some nodes may be expensive to load straight away during their construction.
An example would be an archive, which must load all its contained files.
In some crazy scenarios, a packfile might contain invalid offsets and other values. It won't be evident until you try to open a file or two, then you will be welcomed with bizarre-looking errors:
Caused by: java.lang.ArrayIndexOutOfBoundsException: arraycopy: last source index 339058 out of bounds for byte[262144]
at java.base/java.lang.System.arraycopy(Native Method)
at com.shade.decima.model.packfile.Packfile$PackfileInputStream.read(Packfile.java:175)
at java.base/java.io.InputStream.read(InputStream.java:218)
at com.shade.decima.model.packfile.Packfile$PackfileInputStream.readAllBytes(Packfile.java:122)
at com.shade.decima.model.packfile.Packfile.extract(Packfile.java:51)
at com.shade.decima.ui.editor.binary.BinaryEditor$1.doInBackground(BinaryEditor.java:36)
at com.shade.decima.ui.editor.binary.BinaryEditor$1.doInBackground(BinaryEditor.java:32)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
We will need to:
As the title says, you can't do that.
When creating a new element, a dialog must be present with all possible types inherited from the contained type of that array.
For example, when having the Array<Resource>
, a user must choose from a set of types that inherit from the Resource
type, e.g. Texture
, LocalizedTextResource
, etc.
DMF export is broken after 0.1.9 (last working release). I have bisect with git and found that export is broken since commit
c81ef53
~/Development/decima> git bisect reset bisect/bad
Vorherige Position von HEAD war e616f19 Core Editor: Add shortcut for "Inspect Value"
HEAD ist jetzt bei c81ef53 RTTI: Improve data source reading
~/Development/decima> gradlew build
BUILD SUCCESSFUL in 1s
9 actionable tasks: 7 executed, 2 up-to-date
~/Development/decima> tar -xf build/distributions/decima-0.1.9.tar
~/Development/decima> ./decima-0.1.9/bin/decima
20:28:45.470 [main] INFO org.reflections.Reflections - Reflections took 114 ms to scan 1 urls, producing 192 keys and 777 values
20:28:46.439 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'DataBufferResource' that handles message 'MsgReadBinary'
20:28:46.444 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'LocalizedTextResource' that handles message 'MsgReadBinary'
20:28:46.446 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'PhysicsShapeResource' that handles message 'MsgReadBinary'
20:28:46.448 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'WaveResource' that handles message 'MsgReadBinary'
20:28:46.449 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'IndexArrayResource' that handles message 'MsgReadBinary'
20:28:46.450 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'TextureList' that handles message 'MsgReadBinary'
20:28:46.451 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'Texture' that handles message 'MsgReadBinary'
20:28:46.456 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'VertexArrayResource' that handles message 'MsgReadBinary'
20:28:46.458 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'UITexture' that handles message 'MsgReadBinary'
20:28:46.460 [SwingWorker-pool-1-thread-3] DEBUG com.shade.decima.model.rtti.registry.providers.ExternalTypeProvider - Found message handler for type 'Pose' that handles message 'MsgReadBinary'
20:28:46.930 [ForkJoinPool.commonPool-worker-1] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_Arabic.bin'
20:28:46.938 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_Italian.bin'
20:28:46.950 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_German.bin'
20:28:46.961 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_Russian.bin'
20:28:46.962 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_LATAMSP.bin'
20:28:46.964 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_German.bin'
20:28:46.971 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_Polish.bin'
20:28:46.982 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_Portugese.bin'
20:28:46.983 [ForkJoinPool.commonPool-worker-2] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_LATAMPOR.bin'
20:28:46.986 [ForkJoinPool.commonPool-worker-1] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_English.bin'
20:28:46.992 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_LATAMPOR.bin'
20:28:46.992 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_French.bin'
20:28:47.003 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_Spanish.bin'
20:28:47.013 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_English.bin'
20:28:47.017 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_Polish.bin'
20:28:47.017 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_Portugese.bin'
20:28:47.047 [ForkJoinPool.commonPool-worker-2] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_LATAMSP.bin'
20:28:47.052 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_Russian.bin'
20:28:47.054 [ForkJoinPool.commonPool-worker-2] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/FGRWin32.bin'
20:28:47.066 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_Italian.bin'
20:28:47.087 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_French.bin'
20:28:47.103 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_Spanish.bin'
20:28:47.110 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_Spanish.bin'
20:28:47.120 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_English.bin'
20:28:47.122 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_French.bin'
20:28:47.124 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_LATAMPOR.bin'
20:28:47.126 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial_Arabic.bin'
20:28:47.131 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1_LATAMSP.bin'
20:28:47.135 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_Portugese.bin'
20:28:47.141 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_Polish.bin'
20:28:47.145 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_Italian.bin'
20:28:47.154 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_Russian.bin'
20:28:47.155 [ForkJoinPool.commonPool-worker-4] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_German.bin'
20:28:47.164 [ForkJoinPool.commonPool-worker-5] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder_Arabic.bin'
20:28:47.269 [ForkJoinPool.commonPool-worker-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/DLC1.bin'
20:28:47.281 [ForkJoinPool.commonPool-worker-2] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Patch.bin'
20:28:47.374 [ForkJoinPool.commonPool-worker-1] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Initial.bin'
20:28:47.459 [SwingWorker-pool-1-thread-3] INFO com.shade.decima.model.packfile.PackfileManager - Mounted '/data/SteamLibrary/steamapps/common/Horizon Zero Dawn/Packed_DX12/Remainder.bin'
20:29:03.861 [SwingWorker-pool-1-thread-3] INFO com.shade.decima.ui.data.viewer.model.DMFExporter - Exporting RegularSkinnedMeshResource
java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
at com.shade.decima.ui.data.viewer.model.ModelViewerPanel.lambda$new$1(ModelViewerPanel.java:79)
at com.shade.platform.ui.dialogs.ProgressDialog$1.doInBackground(ProgressDialog.java:37)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IndexOutOfBoundsException
at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:203)
at java.base/java.io.ByteArrayInputStream.transferTo(ByteArrayInputStream.java:208)
at com.shade.decima.ui.data.viewer.model.dmf.DMFInternalBuffer.serialize(DMFInternalBuffer.java:26)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonBufferSerializer.serialize(DMFExporter.java:1515)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonBufferSerializer.serialize(DMFExporter.java:1511)
at com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:88)
at com.google.gson.Gson.toJson(Gson.java:825)
at com.google.gson.Gson.toJsonTree(Gson.java:695)
at com.google.gson.Gson.toJsonTree(Gson.java:672)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.serialize(TreeTypeAdapter.java:172)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonListSerializer.serialize(DMFExporter.java:1505)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonListSerializer.serialize(DMFExporter.java:1497)
at com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:88)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366)
at com.google.gson.Gson.toJson(Gson.java:825)
at com.shade.decima.ui.data.viewer.model.DMFExporter.export(DMFExporter.java:115)
at com.shade.decima.ui.data.viewer.model.ModelViewerPanel.export(ModelViewerPanel.java:145)
at com.shade.decima.ui.data.viewer.model.ModelViewerPanel.lambda$new$1(ModelViewerPanel.java:76)
... 7 more
20:29:08.457 [AWT-EventQueue-0] ERROR com.shade.decima.ui.Application - Unhandled exception
java.lang.RuntimeException: java.lang.IndexOutOfBoundsException
at com.shade.decima.ui.data.viewer.model.ModelViewerPanel.lambda$new$1(ModelViewerPanel.java:79)
at com.shade.platform.ui.dialogs.ProgressDialog$1.doInBackground(ProgressDialog.java:37)
at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IndexOutOfBoundsException: null
at java.base/java.util.zip.DeflaterOutputStream.write(DeflaterOutputStream.java:203)
at java.base/java.io.ByteArrayInputStream.transferTo(ByteArrayInputStream.java:208)
at com.shade.decima.ui.data.viewer.model.dmf.DMFInternalBuffer.serialize(DMFInternalBuffer.java:26)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonBufferSerializer.serialize(DMFExporter.java:1515)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonBufferSerializer.serialize(DMFExporter.java:1511)
at com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:88)
at com.google.gson.Gson.toJson(Gson.java:825)
at com.google.gson.Gson.toJsonTree(Gson.java:695)
at com.google.gson.Gson.toJsonTree(Gson.java:672)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.serialize(TreeTypeAdapter.java:172)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonListSerializer.serialize(DMFExporter.java:1505)
at com.shade.decima.ui.data.viewer.model.DMFExporter$JsonListSerializer.serialize(DMFExporter.java:1497)
at com.google.gson.internal.bind.TreeTypeAdapter.write(TreeTypeAdapter.java:88)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:70)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:196)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:366)
at com.google.gson.Gson.toJson(Gson.java:825)
at com.shade.decima.ui.data.viewer.model.DMFExporter.export(DMFExporter.java:115)
at com.shade.decima.ui.data.viewer.model.ModelViewerPanel.export(ModelViewerPanel.java:145)
at com.shade.decima.ui.data.viewer.model.ModelViewerPanel.lambda$new$1(ModelViewerPanel.java:76)
... 7 common frames omitted
This is a continuation of #34
Core files often contain a bunch of entries of the same type and are not sorted according to their type.
This makes searching for something particularly hard.
Is it planned to support the export/import/replace of .stream files?
I'm still a noob on how hzd mods work, but I was watching this tutorial => https://youtu.be/_ti1L5UriKM?t=122
And it mentions the .stream files, they are not shown on the tree:
But if I search by name, I find it on the "unnamed" category:
It would be very useful to have the stream files together with their core files. As far as I understand the stream files have the actual data and the core files is just "metadata".
When inspecting raw bytes using an external hex editor, it's quite hard to map these bytes to the corresponding fields shown in Decima Explorer.
It will be useful to see a span (offset + length) of every field next to them.
Im having this problem:
"Unrecognized option: --add-opens
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit."
I have the last version of JRE. Can someone help me?
I got this message:
Unrecognized option: --add-opens
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
We need to keep state, such as expanded nodes, selection, and decorations, between restarts
DS uses MurmurHash3 of the original archive name, HZD uses human-readable archive names.
This causes problems when creating hash ⇔ archive mappings:
There's no purpose in having such mappings. Archives must be referenced by their original name.
To provide human-readable names for DS, we could create an external file with mappings and use it from the UI part only.
A project resembles a game itself.
Every project contains information about a particular game: a path to the executable file, a path to the compressor library, etc.
This information should be exposed in the GUI for easy configuration.
This is a known issue with quite a tedious solution. We need to compute the size of the extra data.
can a .sh file be bundled too for linux?
I tried converting it myself the one in the release, but I'm not sure how to convert the one in the git
https://gist.github.com/Martinligabue/505b4e5a5c3a08717fa15dfb2e9ce6f6
I'm trying to get into modding Horizon Zero Dawn and come across this application. If there is a comprehensive guide for it, that would also be appreciated. When creating a new project, the program asks for following information:
Compressor library asks for a .so
file and type information asks for a .json
file. Tried searching for these file extensions in my game directory but couldn't find anything.
I put the mod in Death Stranding Directors Cut\data
,but it doesn't work!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.