Jump to content

Atelier Ryza - Ever Darkness and the Secret Hideout


Recommended Posts

3 hours ago, amorrow28 said:

 

Really the only way is to move the UV coordinates to an unused part of the map.  If there is no area you can use, you can shrink parts of and/or distort the maps, but that's going to result in quality loss of course.  I've tried adding new texture files, but so far that has resulted in the game crashing when loading the model.

Thank you for the information!
So, do we need to edit the texture dds (probably 0000.dds~0003.dds corresponding to the body?) by hand or are there useful functions to edit the texture in the blender?

Link to comment

Just bought the game earlier today and found this thread. It took some time going through all the pages, but I made a folder that has most of the mods created. It doesn't have all of them, more or less just the ones I was interested in using. There were some good ones that aren't in here simply because I personally didn't plan to use them (thinking of the Robo Ryza mod, it looked really good but not Mod Replacement files.zip something I wanted to use).

 

This folder does have the majority of what was posted here, though, so hopefully this should save anyone else new some time from sorting through all of the previous pages. Off the top of my head, I remember not grabbing the extra thicc mod, Robo Ryza, Divermento's Embrace (Black or White) or magical girl Ryza. There might be a couple of others (ex some of the hair color variants posted I didn't grab).

 

There were two I saw talk of that I am kind of interested in. There was the one set of screencaps with Klaudia in a bunny girl outfit, and there's this one that was listed in the  erogamemod link someone posted some pages back about a smaller breasted Ryza mod. Anyone know anything about those two? 
image.png.cf53c10370fd331639867dd437fb2acb.png

 

 

Edit: forgot to say - thank you to all of you for making such incredible mods for this game

Edited by midday
Wanted to give thanks to the creators
Link to comment
1 hour ago, popo555 said:

Thank you for the information!
So, do we need to edit the texture dds (probably 0000.dds~0003.dds corresponding to the body?) by hand or are there useful functions to edit the texture in the blender?


Both. Edit the textures by hand, and move UV maps in Blender.

Link to comment

If we want to obtain an additional UV area in a texture, we can also increase the resolution of the texture.
For example, by increasing the resolution of a texture from 2k (2048x2048) to 4k (4096x4096) with keeping the original 2k image at an appropriate position (e.g., upper left), we can obtain an additional UV area of 3-fold larger size.  In this case, of course, we have to move uv coordinates of all meshes to the position of the original 2k image (e.g., upper left), and uv coordinates of soft body meshes should be dealt with separately since we cannot currently edit them.
Alternatively, we can just use an unused part of the texture having an increased resolution.
I confirmed that at least use of gust_g1t.exe of v147 allows increased resolutions of 006-009.dds textures in pc20b of ryza2.

Link to comment
13 hours ago, midday said:

Just bought the game earlier today and found this thread. It took some time going through all the pages, but I made a folder that has most of the mods created. It doesn't have all of them, more or less just the ones I was interested in using. There were some good ones that aren't in here simply because I personally didn't plan to use them (thinking of the Robo Ryza mod, it looked really good but not Mod Replacement files.zip something I wanted to use).

 

This folder does have the majority of what was posted here, though, so hopefully this should save anyone else new some time from sorting through all of the previous pages. Off the top of my head, I remember not grabbing the extra thicc mod, Robo Ryza, Divermento's Embrace (Black or White) or magical girl Ryza. There might be a couple of others (ex some of the hair color variants posted I didn't grab).

 

There were two I saw talk of that I am kind of interested in. There was the one set of screencaps with Klaudia in a bunny girl outfit, and there's this one that was listed in the  erogamemod link someone posted some pages back about a smaller breasted Ryza mod. Anyone know anything about those two? 
image.png.cf53c10370fd331639867dd437fb2acb.png

 

 

Edit: forgot to say - thank you to all of you for making such incredible mods for this game

That flat chest model looks cute af.

Link to comment

Regarding addition of new textures, just as an experiment in pc20b of ryza2, I added a new texture 023.dds, which is a replica of 006.dds but blue colored, by editing g1t.json created by gust_g1t.exe (v1.47), and added a new material no.6 referring to 023.dds and modified 10.vb (leg part) to refer to the material no.6 by editing mesh_metadata.json created by g1m_export_meshes.py.
The modified jsons are attached for references.
As a result, 023.dds seems to properly work without crashing the game, but some mesh, which seems to be 3.vb, was corrupted by an unknown reason.

 

image.png

g1t.json mesh_metadata.json

Link to comment
4 hours ago, fiore99 said:

Regarding addition of new textures, just as an experiment in pc20b of ryza2, I added a new texture 023.dds, which is a replica of 006.dds but blue colored, by editing g1t.json created by gust_g1t.exe (v1.47), and added a new material no.6 referring to 023.dds and modified 10.vb (leg part) to refer to the material no.6 by editing mesh_metadata.json created by g1m_export_meshes.py.
The modified jsons are attached for references.
As a result, 023.dds seems to properly work without crashing the game, but some mesh, which seems to be 3.vb, was corrupted by an unknown reason.

 

image.png

g1t.json 6.01 kB · 1 download mesh_metadata.json 182.66 kB · 1 download

 

I tried using your files and had basically the same issue.  I do not know why.  I wondered if there was something wrong with my repack tool, so I repacked the entire model and unpacked it again using your modified json, and the mesh files are unchanged.  The metadata is also appropriately updated.  So I do believe my tool is working properly.

 

It looks like a bone palette is off; I get this same artifact when I try to add bones to a submesh.  Vertices are being pulled to the origin.  I do not know why modifying the materials section would corrupt the bone indices though.  The G1M file format drives me crazy.

Link to comment
On 12/23/2022 at 2:25 PM, amorrow28 said:

The first time you do this, run install_pyquaternion.bat by double-clicking it.  It will install the numpy and pyquaternion modules if you do not already have them.

Question, where is that install_pyquaternion.bat file supposed to be? I downloaded the zip folder from the github, but it wasn't in there.

Link to comment
1 hour ago, midday said:

Question, where is that install_pyquaternion.bat file supposed to be? I downloaded the zip folder from the github, but it wasn't in there.

Sorry, it’s in the download off on this website, a few pages back. I probably forgot to put it in the GitHub release. Nobody should ever pay me to do programming professionally. ?

 

Alternatively, press the windows key + R, then type in “cmd” without the quotes. Then you’ll be in the command line. Type “python -m pip install pyquaternion” without the quotes, and it will install the modules.

 

I’ll update GitHub when I get around to it.

Link to comment
14 hours ago, amorrow28 said:

Sorry, it’s in the download off on this website, a few pages back. I probably forgot to put it in the GitHub release. Nobody should ever pay me to do programming professionally. ?

 

Alternatively, press the windows key + R, then type in “cmd” without the quotes. Then you’ll be in the command line. Type “python -m pip install pyquaternion” without the quotes, and it will install the modules.

 

I’ll update GitHub when I get around to it.

No worries, thanks for making the tool. I'm trying to follow the tutorial for it you posted on the previous page. I'm running into an issue at the end. I've gone through the steps from start to finish a few times now, but nothing looks like it's changing. After I repack my elixir file and put it into the game files (changing the name so it matches)everything looks the same as the default model.

 

Also, just wanted to confirm which folder should we be saving our exported 3DMigoto .vb + .ib files? Should they be saved into the folder that all the meshes were extracted into?

 

Edit: I hadn't tried changing the texture files earlier, but when I just did and put those in the game would open but would crash when I tried to load it. I know I'm definitely doing something wrong here.

 

 

Edited by midday
Link to comment
3 hours ago, midday said:

No worries, thanks for making the tool. I'm trying to follow the tutorial for it you posted on the previous page. I'm running into an issue at the end. I've gone through the steps from start to finish a few times now, but nothing looks like it's changing. After I repack my elixir file and put it into the game files (changing the name so it matches)everything looks the same as the default model.

 

Also, just wanted to confirm which folder should we be saving our exported 3DMigoto .vb + .ib files? Should they be saved into the folder that all the meshes were extracted into?

 

Edit: I hadn't tried changing the texture files earlier, but when I just did and put those in the game would open but would crash when I tried to load it. I know I'm definitely doing something wrong here.

 

 

Yes, you need to overwrite the original .ib/.vb files. Also, note that my import script ignores the driver meshes and transformed meshes, only the original numbered meshes are imported.

 

If you are struggling, try deleting a mesh first and repacking. That will help you troubleshoot the process, since you are taking Blender out of the process. Elixir on gust_elixir, run g1m_export_meshes, delete a mesh, run g1m_import_meshes, folder on gust_eixir, put back in game.

 

When you save your texture files, make sure to use the same format as Atelier games do not read the header for some reason. So if it was originally DXT5, for example, it must be DXT5 again unless you change the json file. You can figure out the basic format just by hex editing the dds file (@fiore99 taught me that) or you can use this script I wrote to analyze dds files, just double click in the same folder as the textures. (The script is overkill for Ryza, I wrote it because I needed to analyze DXT10 for a different game.)

Link to comment
On 12/29/2022 at 1:21 PM, amorrow28 said:

 

I tried using your files and had basically the same issue.  I do not know why.  I wondered if there was something wrong with my repack tool, so I repacked the entire model and unpacked it again using your modified json, and the mesh files are unchanged.  The metadata is also appropriately updated.  So I do believe my tool is working properly.

 

It looks like a bone palette is off; I get this same artifact when I try to add bones to a submesh.  Vertices are being pulled to the origin.  I do not know why modifying the materials section would corrupt the bone indices though.  The G1M file format drives me crazy.

I confirmed that the aforementioned problem in addition of new textures and new materials is solved by editing the header of g1m file.
That is, 06 of line 4 (9C 00......00 00) shown below should be modified to the number of materials after addition, e.g., 07 in the aforementioned case.
This is not my finding.  Thanks^^

image.png.5ec1d6548add4f90c66564258867e933.png

Link to comment
3 hours ago, fiore99 said:

I confirmed that the aforementioned problem in addition of new textures and new materials is solved by editing the header of g1m file.
That is, 06 of line 4 (9C 00......00 00) shown below should be modified to the number of materials after addition, e.g., 07 in the aforementioned case.
This is not my finding.  Thanks^^

/cdn-cgi/mirage/3aaef5e69f3daf88bb93e8484e6d2081ecc68263c84d56671965381fee192c20/1280/https://static.loverslab.com/uploads/monthly_2022_12/image.png.5ec1d6548add4f90c66564258867e933.png


THANK YOU!!!!!

 

I had not looked at this section of the file at all, as it is not necessary to unpack the file… but clearly it is needed to repack the file if structural changes are made! I have started work on parsing the header, but it will take some time to put together code to repack the file. This may explain why I have had no success in altering the bone palettes or making large changes to the mesh structure; I hope this means that we will be able to make more complex mods possible using my tools! (To be honest, perhaps G1M tools can already do some of this, but I have not been successful in altering bone palettes etc in G1M Tools either.)

Link to comment

2029752676_2022-12-3015_30_30-AtelierRyza_EverDarknesstheSecretHideout.png.b8e9eed10df06dfff625b09a09056dc0.png

 

Here is an update to my G1M exporter.

 

Updated version 1.3 here:  https://www.loverslab.com/topic/132178-atelier-ryza-ever-darkness-and-the-secret-hideout/?do=findComment&comment=3962230

 

g1m_exporter_v1.1.0.7z - OBSOLETE

 

This new version adds G1MF (header) updating (relevant sections only), allowing for changes to metadata.  Thank you very much to @fiore99 for showing me where the issue was!  (And thank you to whoever showed fiore99)

 

I have done basic testing, but I'm sure issues will arise as the reverse engineering is incomplete.  Some sections I honestly just made a guess.  Please report bugs as they arise.  As always, I base on my work on the work of the author of The G1M Project, G1M Tools (eterniti / @vagonumero13), and the work of the Three Houses Research Group.  I owe huge thanks as always to them and to everyone who has contributed to understanding and reverse engineering this file format.

 

I have successfully:

  • Verified that the header is re-written correctly across a variety of games
  • Added new textures to model (I expanded a g1t from 22 files to 23)
  • Added new bones to a submesh (I added SK_Spine01 to a submesh that didn't have it, then assigned a vertex to it to see if it distorted across the screen, it did not)

How to add textures:

Spoiler

Expand the g1t with gust_g1t.exe, then add the new textures in ascending order.  If the last file is 022.dds, for example, make the next file 023.dds.  Add the files with appropriate flags / metadata to g1t.json.  Repack the file with gust_g1t.exe.

Expand the .elixir.gz file with gust_elixir.exe, then unpack the model using my exporter (g1m_export_meshes.py).  In the folder with the model you are modifying, edit mesh_metadata.json.  Go to "MATERIALS" and add a new section, and update the texture ids with your new files.  Make sure to put commas in the correct place!  Each section is numbered sequentially (starting from 0), so if there were previously 6 sections (0 through 5), then your new section is 6.  Now go to the "SUBMESH" section, find your submesh (again numbered in order starting from 0) and change "materialIndex" to the new section you just added.  Repack.  You do not need to update "count," my script ignores that value when repacking; it is there only for your convenience.

 

How to add bones to submesh:  (Edit: I'm pretty sure this doesn't work.  At least right now it does not.)

Spoiler

Expand the .elixir.gz file with gust_elixir.exe, then unpack the model using my exporter (g1m_export_meshes.py).  First figure out what bones you are adding, and find a submesh that has them.  Open up the vgmaps of the donor and recipient meshes.  Add the bone(s) to the end of the recipient mesh vgmap with a text editor - NOT in Blender!  (Blender will not number them properly because G1M requires numbering by 3.)  After saving the .vgmap file, you can now open the mesh in Blender and the bone will be available to you.  Before repacking, edit mesh_metadata.json.  Go to "JOINT_PALETTES" and go to your donor section, and copy the relevant bones into the recipient section (put them at the end).  Repack.  You do not need to update "count," my script ignores that value when repacking; it is there only for your convenience.

 

For example, I wanted SK_Spine01 in submesh 10, and submesh 9 has it.  So I opened 9.vgmap and 10.vgmap.  I added SK_Spine01 to the end of 10.vgmap; the last bone is 57 so I made it bone 60.  (G1M counts by 3, so bones are numbered 0, 3, 6, 9, 12, etc.)  In 9.vgmap, SK_Spine01 is the second bone (#3 in the vgmap, remember #0 is the first and #6 is the third).  Now I went to JOINT_PALETTES, and the 9th palette has 31 bones, I copied the 2nd bone.  Then I went to the 10th palette, which has 20 bones (0-57), and I added the bone to the end (be careful with commas).

 

Enjoy!  Please let me know if problems arise.  And as always, if you come up with something you like, I hope you share with us!

Edited by amorrow28
Link to comment

Okay, I have figured out how to do things with your tools. They are definitely cool. Unfortunately, I'm not really skilled when in comes to artistic ability to make the most out of it.

 

For the heck of it, I've been playing around with the model to try to make a smaller breasted model for Ryza, but I haven't had any luck getting it to look anything less than monstrous.

Link to comment
2 hours ago, midday said:

Okay, I have figured out how to do things with your tools. They are definitely cool. Unfortunately, I'm not really skilled when in comes to artistic ability to make the most out of it.

 

For the heck of it, I've been playing around with the model to try to make a smaller breasted model for Ryza, but I haven't had any luck getting it to look anything less than monstrous.


Neither am I, I’m mostly a technical person. Maybe this will help: Here and here.

Link to comment

Thanks for linking those, I was actually looking through them earlier. After about 6 hours of messing around, I managed to get a result that doesn't look terrible. It could definitely be improved, but her bust size has been significantly reduced. Also, for whatever reason, there's a brown triangle in front of her shirt now that I'm not sure what it is caused by. Looking through the blend file there isn't any stray polygons or anything pulled in front of her top.

I'm pretty sure I'll need to figure out a better way of reshaping the cups on her shirt to reduce them further. I did attempt to look at other mods in blender, but my blender seems to stop responding whenever I try to  load the ones I want to mess with.
image.png.e2a3865d2944b9e43b5f9d033a089a2f.pngimage.png.41748869197f976f0ccbe54de30205a7.png

 

Edit: Also, I noticed that in the zipfile I posted before, the Neko outfit for Ryza mods do not have their elixir files. Anyone have the elixirs for the regular white and black neko outfit mods?image.png.0723bd0e198a63356bc7d777522a8785.png

Reference image.PNG

Edited by midday
Link to comment

ryza_garden.png.f7beeb93eb00a6cdea859a41fc006ba3.png

 

Another update to my G1M exporter!

 

Latest Version Here: https://github.com/eArmada8/gust_stuff/releases

Tutorials Wiki Here: https://github.com/eArmada8/gust_stuff/wiki

 

Update: this version is out of date, v1.3.2 is on my GitHub.  Changes do not affect this game, however.

 

g1m_exporter_v1.3.1.zip

 

 

A lot of the new features improve compatibility with older Gust games; I've tested and now my script can unpack and repack all the way back to Atelier Escha and Logy, which I believe is when Gust started using G1M in the first place.  However, even for those only modding newer games, there are two nice quality-of-life updates: no more 0 byte files (the script just skips them) and ID numbers in the metadata JSON (no more counting by hand).  Also there is a critical bug fix with the shader metadata, so everyone should update.

 

NOTE: v1.3.0+ repack tool is not compatible with metadata from older versions.  If you have a mod in progress, please back up your files, pack them with the version of g1m_import_meshes.py that you exported with (v.1.2.1 or older), then unpack them again with the new version of g1m_export_meshes.py.  It will write out a new metadata file.

 

New features:

  • (added in 1.1) G1MF updating allows for proper metadata editing, again thank you to @fiore99
  • (added in 1.2) Cloth mesh type 2 support, combined skeleton support, proper handling of weird NUNO types, now ignores empty buffers
  • (added in 1.3) Trianglestrip->trianglelist on export, multi-input slot support, older-style Oid support, shader metadata bug fix, ID numbers in the metadata JSON

 

As always, I base on my work on the work of the author of The G1M Project, G1M Tools (eterniti / @vagonumero13), and the work of the Three Houses Research Group.  I owe huge thanks as always to them and to everyone who has contributed to understanding and reverse engineering this file format.

 

Instructions:

 

As always, the latest release will be on my GitHub.

 

Enjoy!

Edited by amorrow28
Link to comment
15 hours ago, amorrow28 said:

ryza_garden.png.f7beeb93eb00a6cdea859a41fc006ba3.png

 

Another update to my G1M exporter!

 

g1m_exporter_v1.3.0.zip 43.77 kB · 13 downloads

 

A lot of the new features improve compatibility with older Gust games; I've tested and now my script can unpack and repack all the way back to Atelier Escha and Logy, which I believe is when Gust started using G1M in the first place.  However, even for those only modding newer games, there are two nice quality-of-life updates: no more 0 byte files (the script just skips them) and ID numbers in the metadata JSON (no more counting by hand).  Also there is a critical bug fix with the shader metadata, so everyone should update.

 

New features:

  • (added in 1.1) G1MF updating allows for proper metadata editing, again thank you to @fiore99
  • (added in 1.2) Cloth mesh type 2 support, combined skeleton support, proper handling of weird NUNO types, now ignores empty buffers
  • (added in 1.3) Trianglestrip->trianglelist on export, multi-input slot support, older-style Oid support, shader metadata bug fix, ID numbers in the metadata JSON

As always, I base on my work on the work of the author of The G1M Project, G1M Tools (eterniti / @vagonumero13), and the work of the Three Houses Research Group.  I owe huge thanks as always to them and to everyone who has contributed to understanding and reverse engineering this file format.

 

Instructions:

Enjoy!

Thank you for providing a great tool.
I used your G1M exporter and observed the followings.
Regarding pc20b of ryza2, g1m_export_meshes.py (v1.2.1 and 1.3.0) and g1m_import_meshes.py  (v1.2.1) well function,
while g1m_import_meshes.py (v1.3.0) seems to not well function (that is, no change is observed in g1m files and no bak files are created).
The same was confirmed for pc000_scl of BlueReflection2 and pc00a of Sophie2.
I'm sorry if this is due to my local environments.

<edited>
I have installed Python v3.11.

Edited by fiore99
Link to comment

Hi there, I just tried to mod Atelier for the first time, followed the instructions, but when I was repacking (.json into gust_pak.exe) it came back with an ERROR "Can't open \\data\x64\character\a21_fm_amber_01\obj-a21-fm-amber-01_hi.elixir.gz"

 

I did not touch the a21 folder at all, but it seemed to be the first folder in the character folder.

Link to comment
13 hours ago, fiore99 said:

Thank you for providing a great tool.
I used your G1M exporter and observed the followings.
Regarding pc20b of ryza2, g1m_export_meshes.py (v1.2.1 and 1.3.0) and g1m_import_meshes.py  (v1.2.1) well function,
while g1m_import_meshes.py (v1.3.0) seems to not well function (that is, no change is observed in g1m files and no bak files are created).
The same was confirmed for pc000_scl of BlueReflection2 and pc00a of Sophie2.
I'm sorry if this is due to my local environments.

<edited>
I have installed Python v3.11.

 

I am very sorry!  I thought I had caught all the errors during my testing, but I must've uploaded the wrong version of the import tool.  Worse, my GitHub hadn't even received the commit that was included in the v1.3.0 archive.  It is fixed now and I have replaced the upload in my post above .  Thank you for testing and reporting so quickly!

 

For the record, I usually test very extensively before releasing a new version.  This latest release gave me a lot of trouble, I almost wish I did not catch the shader metadata bug.  I had to fix it, and I changed the metadata structure which caused many issues.  I had also introduced many bugs adding trianglestrip compatibility (Atelier Sophie DX), so as I was testing I kept finding new crashes and fixing, then I would start testing all over again.  I must have skipped a few steps at the end.  :(

 

I also added a note for anyone updating while in the middle of making a mod - the metadata from older versions are not compatible and import will fail.  If you are making a mod, please back up your work, import into G1M using the old version, then export again with the new version.  It will overwrite mesh_metadata.json with the new format.  I apologize, I usually try my best not to break backwards compatibility but I felt I needed to in this situation.

Link to comment
1 hour ago, amorrow28 said:

 

I am very sorry!  I thought I had caught all the errors during my testing, but I must've uploaded the wrong version of the import tool.  Worse, my GitHub hadn't even received the commit that was included in the v1.3.0 archive.  It is fixed now and I have replaced the upload in my post above .  Thank you for testing and reporting so quickly!

 

For the record, I usually test very extensively before releasing a new version.  This latest release gave me a lot of trouble, I almost wish I did not catch the shader metadata bug.  I had to fix it, and I changed the metadata structure which caused many issues.  I had also introduced many bugs adding trianglestrip compatibility (Atelier Sophie DX), so as I was testing I kept finding new crashes and fixing, then I would start testing all over again.  I must have skipped a few steps at the end.  :(

 

I also added a note for anyone updating while in the middle of making a mod - the metadata from older versions are not compatible and import will fail.  If you are making a mod, please back up your work, import into G1M using the old version, then export again with the new version.  It will overwrite mesh_metadata.json with the new format.  I apologize, I usually try my best not to break backwards compatibility but I felt I needed to in this situation.

Thank you for updating the tool.
I confirmed that the updated tool well function.
Also, just as an experiment in pc20b of ryza2, I added a new mesh into the g1m and confirmed that it seems to properly work without crashing the game.
That is, I duplicated 10.vb, ib, fmt, and vgmap to create 19.vb, ib, fmt, and vgmap, and modified mesh_metadata.json to duplicate JOINT_PALETTES id10 to insert it into the end of JOINT_PALETTES section, duplicate SUBMESH id10 to insert it into the end of SUBMESH section, and added SUBMESH id19 into "indices" section of id5 of 1st and 2nd MESH_LOD sections.
The modified json (also including modification of materials) is attached for references.

mesh_metadata.json

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use