READ THE DESCRIPTION!!!!!!!! READ THE DESCRIPTION!!!!!!!! READ THE DESCRIPTION!!!!!!!! READ THE DESCRIPTION!!!!!!!! READ THE DESCRIPTION!!!!!!!! READ THE DESCRIPTION!!!!!!!!
If you ask me a question answered in the description I will give you a condescending answer. I'd say "you've been warned" but if it got to that point you wouldn't have read this either so.... (Hey! A free condescending example!) (Sorry, nothing personal. Nexus users and their general ability to not read have broken me, and I don't deal well with customer service roles and people asking stupid obvious questions.)
Sorry, I want to check letter message in some exsort quest. But I can only find messageid like '334371a3-9d7d-4d5b-994b-358884ec7398' in the user.2 file. How could I know the msg.22 file text corresponding to the messageid ?
Which file are you looking at (full natives path) that has `messageid`? I can pre-extract and add the names to the editor like the other files. Just let me now the user and msg files you're looking at.
sorry I forgot to reply. In the file like \re_chunk_000\natives\stm\appsystem\quest\userdata\questsudden\suddenquesttable.user.2 and \re_chunk_000\natives\stm\event\talkevent\talkeventdialoguecatalog.user.2 I think they are the files that place the game text
re_chunk_000\natives\stm\message\uisuddenquestletter.msg.22 matches the files suddenquesttable.user.2, and all re_chunk_000\natives\stm\message\quest files match the files talkeventdialoguecatalog.user.2
Forgive me if this is an uneducated question, but I'm curious about a couple of things and I'm quite new to working in this space of programming. I've had a little poke around the source code, but I'd like to consult you first before looking further as there are a few things I don't understand:
1. The editor allows for modification of existing values in the user files. What, if anything is standing in the way of adding/appending values to these files when we overwrite the original? That is what we do when we make a copy of the files and edit those, then load them on top of DD2's files? 2. Do you have any specific resources you would suggest for learning more about the above or the relationship between the edited user files and the source game (ie. restrictions of what we have to work with)?
This interface reminds me of the excellent monster hunter world editor. I recall tweaking that for myself to make the insect glaive more fun. Are you planning to expand this to cover aspects like attack data also?
Well, considering it comes from the same original code base... It went MHW-Editor -> MHR-Editor, with a lot being redone under the hood for the different engine. Then it became the "RE-Editor" with configurations for MHR, RE4, and now DD2.
Right now it's just gonna stay user files. It needs UI work for complex field types before it moves onto rcol.
Yeah, I've got the MHW version and the MHR version. I even tried the MHR editor with DD2 to see if it would work, but unsurprisingly it didn't.
I'm glad we got a conversion released here since I saw the code on Github already, but I don't know squat about compiling, so I couldn't do anything with it.
This is for editing game parameters. Not save parameters. i.e. It is nothing to do with your arisen or pawn, nor the state of the game as recorded in your save file. It is for changing things like the price of items in shops, the damage done by spells, weather pattern files, etc.
Has anyone happened to find where the offline pawn data is stored? I was able to customize them to my liking in DD1 using a similar tool to this, and I'm interested in doing the same in this game. I've done some searching through the supported file list but it's a bit daunting lol.
Could you make a music mod for this game, nobody made one yet & it's really needed, there is no ambient music when out of combat while roaming. could you make the escort ost play while out of combat roaming?
There is one to change the title screen music to Into Free if you look, but that seems to be the only music changer.
I believe the game has built in options for switching some tracks or something, but I don't know if you could make music play when it doesn't normally. I mean you COULD just turn the in-game music off and have Winamp open in the background, but that wouldn't respond dynamically to changing in-game conditions, unfortunately.
I figure changing music to play under different conditions would require LUA scripts, and nothing to do with this mod.
I cannot work without details! (Such as what file. How the hell do I fix a file without know which one? And all other details you can give me LIKE THE ACTUAL ERROR MESSAGE. The more detail the better.) And if it's not on the supported list, that has nothing to do with the game version. They tweaked very little, as far as I can tell, it doesn't need updating.
--------------------------- Load Error --------------------------- Error occurred. Press Ctrl+C to copy the contents of this window and report to the developer. Target File: C:\Users\\OneDrive\Desktop\Dragon's Dogma 2\REtool\DD2BalancedCombat_2.05b\natives\stm\appsystem\ch\common\human\userdata\parameter\humanactionparameter.user.2 System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index') at System.Collections.Generic.List`1.get_Item(Int32 index) at RE_Editor.Common.Models.RszObject.Read(BinaryReader reader, UInt32 hash, RSZ rsz, Int32 userDataRef) in R:\Code\RE-Editor\Common\Models\RszObject.cs:line 162 at RE_Editor.Common.Models.RSZ.Read(BinaryReader reader, Boolean justReadHashes) in R:\Code\RE-Editor\Common\Models\RSZ.cs:line 67 at RE_Editor.Common.Models.ReDataFile.Read(String targetFile, Boolean justReadHashes) in R:\Code\RE-Editor\Common\Models\ReDataFile.cs:line 40 at RE_Editor.Windows.MainWindow.Load(String filePath) in R:\Code\RE-Editor\RE-Editor\Windows\MainWindow.xaml.cs:line 174 --------------------------- OK ---------------------------
What I don't understand is why can't we export this into a CSV text file, make edits, then import this CSV file back to be serialized into binary "user" files.
Would be much much much less time consuming for experimenting mass amount of changes.
If I didn't have skill issuez I'd really want to help make this feature happen... but my primary coding skills is with Python and based on my experience I believe this feature isn't remotely near the realm of impossibility. In fact, the data is already there, in a makeshift table already, surely it can be converted into CSV back and forth with minimal amount of effort (in python at least). I just don't know how to de-serialize and then serialize them from & back into binary format (I'm pretty overwhelmed by the source code of this tool on how it de-serializes binaries... Attempting to do so in python for a few hours got me somewhere I have no idea where.)
For a multitude of reasons. Primarily, the data is not two dimensional. You can't CSV when you'd have to have tables within tables within tables. Now, not all files are like this, but many are.
In any user files there's: - A list of object instances. (Which also includes a separate list that is 1:1 with this list says exactly what type each entry is.) - A list of external object references. - A list of string resources.
Objects can have arrays embedded in them in two ways: - Indexes/references to any of the listed above objects. (And these references can be shared.) - Or have the array/object data embedded in the other. Typically done for primitives.
The editor does not know or care about the exact structure. It's all dynamic. This will never work as CSV, and even as JSON, you'd lose detail on how the objects are stored/linked. I will probably never add such an export. If you want the data in some sort of external spreadsheet, just highlight/select everything and copy/paste in Excel. If you want to script things / mass edit, write code that uses the project's output as a reference. (And you don't need to compile it either. I mean literally adding `DD2-Editor.dll` as a reference in a new project and go from there.)
If you want to add mass editing, that's doable with UI work. Trying to do that via import/export is the wrong way about it. (Though it's oft requested, mass editing is just not something I've ever wanted to invest time in given A: One can just code/script said changes directly in C#, and B: I'm not great at UI/UX and that needs a good complex one to work with.)
45 comments
READ THE DESCRIPTION!!!!!!!!
READ THE DESCRIPTION!!!!!!!!
READ THE DESCRIPTION!!!!!!!!
READ THE DESCRIPTION!!!!!!!!
READ THE DESCRIPTION!!!!!!!!
If you ask me a question answered in the description I will give you a condescending answer.
I'd say "you've been warned" but if it got to that point you wouldn't have read this either so.... (Hey! A free condescending example!)
(Sorry, nothing personal. Nexus users and their general ability to
notread have broken me, and I don't deal well with customer service roles and people asking stupid obvious questions.)https://github.com/dtlnor/REMSG_Converter
In the file like \re_chunk_000\natives\stm\appsystem\quest\userdata\questsudden\suddenquesttable.user.2
and \re_chunk_000\natives\stm\event\talkevent\talkeventdialoguecatalog.user.2
I think they are the files that place the game text
1. The editor allows for modification of existing values in the user files. What, if anything is standing in the way of adding/appending values to these files when we overwrite the original? That is what we do when we make a copy of the files and edit those, then load them on top of DD2's files?
2. Do you have any specific resources you would suggest for learning more about the above or the relationship between the edited user files and the source game (ie. restrictions of what we have to work with)?
Thanks for your help in advance.
I recall tweaking that for myself to make the insect glaive more fun.
Are you planning to expand this to cover aspects like attack data also?
It went MHW-Editor -> MHR-Editor, with a lot being redone under the hood for the different engine.
Then it became the "RE-Editor" with configurations for MHR, RE4, and now DD2.
Right now it's just gonna stay user files. It needs UI work for complex field types before it moves onto rcol.
I'm glad we got a conversion released here since I saw the code on Github already, but I don't know squat about compiling, so I couldn't do anything with it.
With this tool i can edit Character stats or Pawn Stats ?
i.e. It is nothing to do with your arisen or pawn, nor the state of the game as recorded in your save file. It is for changing things like the price of items in shops, the damage done by spells, weather pattern files, etc.
Not that I'm saying you believed otherwise... but.... wouldn't really belong here since this is something completely different.
I believe the game has built in options for switching some tracks or something, but I don't know if you could make music play when it doesn't normally.
I mean you COULD just turn the in-game music off and have Winamp open in the background, but that wouldn't respond dynamically to changing in-game conditions, unfortunately.
I figure changing music to play under different conditions would require LUA scripts, and nothing to do with this mod.
And if it's not on the supported list, that has nothing to do with the game version. They tweaked very little, as far as I can tell, it doesn't need updating.
---------------------------
Load Error
---------------------------
Error occurred. Press Ctrl+C to copy the contents of this window and report to the developer.
Target File: C:\Users\\OneDrive\Desktop\Dragon's Dogma
2\REtool\DD2BalancedCombat_2.05b\natives\stm\appsystem\ch\common\human\userdata\parameter\humanactionparameter.user.2
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. (Parameter 'index')
at System.Collections.Generic.List`1.get_Item(Int32 index)
at RE_Editor.Common.Models.RszObject.Read(BinaryReader reader, UInt32 hash, RSZ rsz, Int32 userDataRef) in R:\Code\RE-Editor\Common\Models\RszObject.cs:line 162
at RE_Editor.Common.Models.RSZ.Read(BinaryReader reader, Boolean justReadHashes) in R:\Code\RE-Editor\Common\Models\RSZ.cs:line 67
at RE_Editor.Common.Models.ReDataFile.Read(String targetFile, Boolean justReadHashes) in R:\Code\RE-Editor\Common\Models\ReDataFile.cs:line 40
at RE_Editor.Windows.MainWindow.Load(String filePath) in R:\Code\RE-Editor\RE-Editor\Windows\MainWindow.xaml.cs:line 174
---------------------------
OK
---------------------------
Would be much much much less time consuming for experimenting mass amount of changes.
If I didn't have skill issuez I'd really want to help make this feature happen... but my primary coding skills is with Python and based on my experience I believe this feature isn't remotely near the realm of impossibility. In fact, the data is already there, in a makeshift table already, surely it can be converted into CSV back and forth with minimal amount of effort (in python at least). I just don't know how to de-serialize and then serialize them from & back into binary format (I'm pretty overwhelmed by the source code of this tool on how it de-serializes binaries... Attempting to do so in python for a few hours got me somewhere I have no idea where.)
Now, not all files are like this, but many are.
I suppose it's going to be a bit more complex if the data are nested tables. Not to mention each 'user' file can have a
different structure.
Name 2 structures that holds water:
Well, Damn.
- A list of object instances. (Which also includes a separate list that is 1:1 with this list says exactly what type each entry is.)
- A list of external object references.
- A list of string resources.
Objects can have arrays embedded in them in two ways:
- Indexes/references to any of the listed above objects. (And these references can be shared.)
- Or have the array/object data embedded in the other. Typically done for primitives.
The editor does not know or care about the exact structure. It's all dynamic.
This will never work as CSV, and even as JSON, you'd lose detail on how the objects are stored/linked.
I will probably never add such an export.
If you want the data in some sort of external spreadsheet, just highlight/select everything and copy/paste in Excel.
If you want to script things / mass edit, write code that uses the project's output as a reference. (And you don't need to compile it either. I mean literally adding `DD2-Editor.dll` as a reference in a new project and go from there.)
If you want to add mass editing, that's doable with UI work. Trying to do that via import/export is the wrong way about it.
(Though it's oft requested, mass editing is just not something I've ever wanted to invest time in given A: One can just code/script said changes directly in C#, and B: I'm not great at UI/UX and that needs a good complex one to work with.)