Jump to content

KURO NO KISEKI 2 mod


fakecheng

Recommended Posts

Posted (edited)
On 1/27/2023 at 9:36 AM, Monty-R said:

Which tool is for decrypt/encrypt the script files?

If no one's doing the translation mod, I'll try to make my own.

 

The discord folks solved the encryption issue!  Tools for compressing / encrypting are here.


EDIT - Renza and Twn are updating Kuro Tools. My tutorial will likely be unnecessary soon.

 

Here is a VERY short tutorial on the process as I understand it.  I do not know how to do this, I am not interested in learning how to do this, I will not help you troubleshoot.  But I did help Renza deal with this as we were working together on the encryption problem, so I learned a little about the disassembly process.
 

Quote

 

Get Kuro Tools.  As of 1.22, it has not been updated for Kuro 2 yet, so we will need to add opcodes ourselves for scripts.  Tables can be edited without anything special.

 

Get the scripts / tables you want.  Right now I am going to work with KISEKI2\tc\f\script\scena\c0000.dat.  Put it in the scripts&tables folder of Kuro Tools and run dat2py.py.  You must do this with the python command from the command line because it will crash and you will need to see the errors.  (Python does not show errors when double-clicking the scripts.)

 

python dat2py.py c0000.dat

 

You will get an error trace:

 

Traceback (most recent call last):
  File "D:\Falcom Modding\KuroTools\scripts&tables\dat2py.py", line 54, in <module>
    main()
  File "D:\Falcom Modding\KuroTools\scripts&tables\dat2py.py", line 48, in main
    disasm.parse(args.file)
  File "D:\Falcom Modding\KuroTools\scripts&tables\disasm\ED9Disassembler.py", line 45, in parse
    self.script = script(self.stream, filename, markers = self.markers)
  File "D:\Falcom Modding\KuroTools\scripts&tables\disasm\script.py", line 64, in __init__
    instruction = ED9InstructionsSet.instruction(dat_file, op_code)
  File "D:\Falcom Modding\KuroTools\scripts&tables\disasm\ED9InstructionsSet.py", line 1205, in __init__
    instruction_set[op_code](self, stream)
  File "D:\Falcom Modding\KuroTools\scripts&tables\disasm\ED9InstructionsSet.py", line 1118, in OP_24
    instr.operands.append(operand(commands_dict[(structID,command_op_code)], False)) #The user needs the number of arguments since it's not really apparent for the moment
KeyError: (11, 86)

 

You can see from the bottom line that it is a KeyError.  In the command dictionary, (11, 86) does not exist.  (11, 86) is (0xB, 0x56) in hexadecimal, so open KuroTools\scripts&tables\disasm\ED9InstructionsSet.py and find commands_dict (it's literally at the top) and look for 0xB.  0xB ends at 0x55, so we need to add 0x56.  Just follow the pattern and add it.  It looks like this:

 

    (0xB, 0x50)  : "Cmd_map_50",
    (0xB, 0x51)  : "Cmd_map_51",
    (0xB, 0x52)  : "Cmd_map_52",
    (0xB, 0x53)  : "Cmd_map_53",
    (0xB, 0x54)  : "Cmd_map_54",
    (0xB, 0x55)  : "Cmd_map_55",

 

Add right after 0x55 this line:

 

    (0xB, 0x56)  : "Cmd_map_56",

 

Try running dat2py again.  This time, it will run without error and you have a decompiled script!

 

Edit the script, do whatever you need to do.

 

Backup your old dat file.  Then compile, compress and encrypt the file, in that order.


 

copy c0000.dat c0000.dat.bak
python c0000.py
python kuro_cle_compress.py c0000.dat
python kuro_cle_encrypt.py c0000.dat.compressed

 

You should have a working dat file!

 

 

Best of luck.  If you run into issues, be sure to ask the folks at the kiseki modding discord.

Edited by amorrow28
Posted (edited)
1 hour ago, fakecheng said:

Update:

I just finish most of the meshes edit and custom textures of my Kilika2Van mod and play a little around.Although K2 can play K2 modified model and json with K1 MDL,the meshes and textures are not always working.

 

This is how my Kilika2Van mod look at normal state(Ignore her face,I didn't fix it yet):

  Reveal hidden contents

4.jpg.1d514a325a832fe3bc6f58233eb2e44f.jpg

 

This is how she look in equip menu,some meshes like her flower at the chest and her mouth are missing:

  Reveal hidden contents

3.thumb.jpg.b4f9239a185c9ad59c66045187ffaf24.jpg

 

When running around in the map,textures will mess up in some certain angle:

  Reveal hidden contents

1.jpg.ab3486f860503055798130abd5ba3837.jpg2.thumb.jpg.c94bae91ba05fd243d06a469a9745ea2.jpg

 

Textures mess up most of the time in the first cutscene when Van show up:

  Reveal hidden contents

5.thumb.jpg.75cdbb4937c31f8d6ffc96d25e496483.jpg

 

Last update before go to bed.

So I tried to use K2 model with K1 modified json import to K1 MDL this time and it seems meshes/textures mess up problem gone.

Spoiler

2.thumb.jpg.577a04796e3e34f9a2e3c3530e4435b4.jpg

 

So far here what I tried:

K2 model with K2 modified json import to K2 MDL = Game stuck at loading.
K2 model with K2 modified json import to K1 MDL = Game launch and load the new meshes and textures but both mess up in certain circumstances.
K2 model with K1 modified json import to K2 MDL = kuro_mdl_import_meshes.py refuse to import.
K2 model with K1 modified json import to K1 MDL = Game launch and load the new meshes and textures.Both meshes and textures seems working.

 

So before @amorrow28 find a way to fix the mdl tool,using json and MDL from Kuro 1 seems to be the most stable way to add new meshes and custom textures for now. 

Edited by fakecheng
Posted
35 minutes ago, fakecheng said:

Last update before go to bed.

So I tried to use K2 model with K1 modified json import to K1 MDL this time and it seems meshes/textures mess up problem gone.

 

So far here what I tried:

K2 model with K2 modified json import to K2 MDL = Game stuck at loading.
K2 model with K2 modified json import to K1 MDL = Game launch and load the new meshes and textures but both mess up in certain circumstances.
K2 model with K1 modified json import to K2 MDL = kuro_mdl_import_meshes.py refuse to import.
K2 model with K1 modified json import to K1 MDL = Game launch and load the new meshes and textures.Both meshes and textures seems working.

 

So before @amorrow28 find a way to fix the mdl tool,using json and MDL from Kuro 1 seems to be the most stable way to add new meshes and custom textures for now. 

 

Thank you for all this testing! I think I am starting to figure out where some of the problems are. I am going to work on the next version soon, maybe this weekend. I feel bad taking a break, but it has been very helpful because you all have solved many problems and made many observations during this time!

Posted (edited)

kuro2unskirt.png.08489860a28ab0863656432a87451241.png

 

Here is my Kuro 1 UnSkirt mod, ported to Kuro 2 using 3DMigoto!

 

UPDATED VERSION 1.1 HERE: https://www.loverslab.com/topic/204513-kuro-no-kiseki-2-mod/?do=findComment&comment=3989501

 

Kuro2_UnSkirtMod_v1.0_with_3Dmigoto_custom.7z - OBSOLETE

 

I wanted a world where there was no 3DMigoto for this game, but as you can read from all the posts above, we are having some difficulties with Kuro MDL tools.  That is ok though, because I took a break and ported my mod.  There are 47 costumes modified, 8 of them are remade from scratch due to incompatibilities with Kuro 1!

 

In addition, I hunted down 27 shaders*, so many Kuro 1 mods will now activate!  I have not tried these mods, but I tried to grab all the shaders for @fakecheng, @coomiand @jmedia7's mods (which will also cover 99% of everyone else's mods).  Hopefully they will all work, but some of them will probably need to have weight transfer done to work properly (which thankfully the modders can do since MDL tools can already get Kuro 2 vgmaps).  If you try a Kuro 1 mod and it activates but looks distorted, please report it to the original mod creator, not me.  Also, my mod is compatible with coomi's nude bathing mod, just copy the contents of his "NudeBathing" folder into the Mods folder of my mod.

*No exaggeration, I analyzed 1016 hashes against 66 frame dumps to find those 27 shaders.

 

Press F1 for help, and F2 to turn the mod on and off.

 

If you have issues with the controller, try:

 

STEP 1: Turning off Steam Overlay.

 

Spoiler

controller1.png.dfa7902bc4e9e25f37840548bbb0558e.png

 

STEP 2: Disabling Steam Input.

 

Spoiler

controller2.png.33209825a968a20b70c24bd8e4032bd4.png

 

If you don't have access to all the costumes you want to use, please give my costume-buying Cheat Engine table a try!

 

Please note, no new costumes are modified.  Additionally, I will likely not be updating this mod, since I plan to move to MDL format, but who knows.  Thank you so much to all the Kuro 2 researchers above, especially fakecheng and @woofhat for figuring out the model swapping - this would not have been possible without it!

 

Enjoy!

Edited by amorrow28
Posted (edited)

Here we go, Kuro MDL Tools update!  HUGE thank you to @fakecheng, @coomi, @woofhat and everyone else who has helped to debug the last version.  Please keep experimenting and let me know what you find.

 

Latest download here and on my GitHub.  Tutorials here on my GitHub wiki.

 

Please note - metadata from versions older than v1.2.0 is not compatible with this version! Please backup your work, import your files into MDL with the version it was unpacked with, and then export your files again with this new version to get the new format metadata.

 

For those adding new textures for Kuro 2 - be sure the new filename is the exact same length as the original filename.  If the original texture is "blahblah28" for example, the new one must also be 10 characters long.  Also, all textures must be compressed in Kuro 2!

 

I recommend against downgrading in most situations, since we do not know if CLE will block Kuro 1 MDLs in the future.  However, if you need to add meshes, then Kuro 1 MDL is the only way.  Also, if Kuro 2 MDL format is crashing for you, try downgrading to Kuro 1.

 

As always, the latest version is available at my GitHub.

 

Notes:
 

Spoiler

So the delete submesh thing was a bug, and I fixed the bug.  The strange thing is, I still could not get Kuro2 to load the model after properly deleting the mesh.  So I inserted a fake mesh instead, with a 0 byte index buffer (as fakecheng had tested and showed that it worked), similar to the way G1M tools does it.  Kuro 2 will accept a 0 byte index buffer but crashes with a 0 byte vertex buffer, so I put the real vertex buffer from the original MDL.

 

I do not really understand the testing that fakecheng did with merging K1 and K2 MDL metadata, but I can confirm that Kuro 2 can open K2 MDL files that are converted to K1 format.  (Although I have not successfully forced it to take a mod made from an original K1 MDL.)  Anyway, I added support for changing a K2 MDL to K1 format.  I was able to take chr5001 (Agnes) from K2, recompile for K1 and load the file in both games.  (it changes the skeleton, so my 3DMigoto mod for K1 stopped working when I used the K2->K1 MDL in Kuro 1 lol.  but unmodified it was perfect).  Theoretically this means we can move K2 costumes to K1, assuming the shaders and textures are there.  To force K1 version, type in the commandline:

 

python kuro_mdl_import_meshes.py -f 1 chrXXXX.mdl

 

According to testing by fakecheng, downgrading K2 MDL to K1 also allows for adding submeshes and changing textures (see above), I think with name length changes although I may have misunderstood.

 

Finally, I've added support to see and alter many shader variables directly now, so you can change how metallic something looks, etc.  It will probably be easier to add things like transparency too.  I do not know, I have not experimented very much with this.  I tested this with about a dozen characters without issue, but if you run into issues importing metadata and find it's due to shader garbage values, please let me know.

 

Enjoy!  Please report bugs, and if you make something you like, I hope you share!

 

Edited by amorrow28
Posted
4 minutes ago, amorrow28 said:

Here we go, Kuro MDL Tools update!  HUGE thank you to @fakecheng, @coomi, @woofhat and everyone else who has helped to debug the last version.  Please keep experimenting and let me know what you find.

You are as efficient as ever!I can't wait to try it.

Posted (edited)
10 hours ago, amorrow28 said:

Here is my Kuro 1 UnSkirt mod, ported to Kuro 2 using 3DMigoto!

I keep the 3DMigoto warning at index since you will likely not be updating this mod.Tell me if you want the warning remove.

Edited by fakecheng
Posted (edited)
1 hour ago, fakecheng said:

I keep the 3DMigoto warning at index since you will likely not be updating this mod.Tell me if you want the warning remove.


I think 3DMigoto is fine, and I have found many of the needed shaders although not all of them. Right now I am still not confident in my MDL tool, I want to see if we can do the mods we want without the game crashing first!

 

I will probably update my mod. Especially if everyone ends up using 3DMigoto, I can always add more shaders.

Edited by amorrow28
Posted (edited)
1 hour ago, amorrow28 said:


I think 3DMigoto is fine, and I have found many of the needed shaders although not all of them. Right now I am still not confident in my MDL tool, I want to see if we can do the mods we want without the game crashing first!

 

I will probably update my mod. Especially if everyone ends up using 3DMigoto, I can always add more shaders.

I will remove the warning message then.

 

Also I can sadly confirm adding new meshes with the latest MDL tool in K2 MDL still cause game stuck at loading.

At first I tried to convert my work from 1.1.0 to 1.2.0 by import back to a K2 MDL with 1.1.0 tool,then export it with 1.2.0,add new meshes in mesh_info.json and import it back,game stuck.

Then I create the mod from scratch again with 1.2.0 tool only.Export K2 MDL with 1.2.0 tool>modified the model>add new meshes in mesh_info.json,and unfortunately the result are the same.Game stuck at loading.

I tried add new meshes in mesh_info.json and using existed material_offset,that mean I have not touched material_info.json and game still stuck.So maybe the problem is not cause by the textures length as game stuck even I didn't modify material_info.json.

 

Edit:

Stupid me.I missed the hidden content you said about the K1 format convert.I tried it with my mod and I can confirm mod working even new meshes added and texture length changed.

Also If I want to force convert to K1 format by default,I guess I can change import.py line 235 force_kuro_version from False to True?Is seem work but coding is not my expertise so I want to ask for make sure in case it will casue issue.

Edited by fakecheng
Posted (edited)

The changed MDL format in K2 definitely make modding the game more painful.For example if you swap chr5322 to chr0000 in K1,her model will look fine except some skirt/hair physics lost:

Spoiler

2222.thumb.png.3fb9c0d552a5cf896ac153789aea7764.png

 

But if you do the same in K2,even the unmodified mdl has issue on it:

Spoiler

dddd.png.62a589b413067d027f896c3b28d0ea5b.png

 

Not to mention even without mdl swap,the original Agnes got herself a penis in K2 anyway.......:

Spoiler

22222.png.8fbcb57771da4d98f414103d25d8c53c.png

 

Edited by fakecheng
Posted
3 hours ago, fakecheng said:

I will remove the warning message then.

 

Also I can sadly confirm adding new meshes with the latest MDL tool in K2 MDL still cause game stuck at loading.

At first I tried to convert my work from 1.1.0 to 1.2.0 by import back to a K2 MDL with 1.1.0 tool,then export it with 1.2.0,add new meshes in mesh_info.json and import it back,game stuck.

Then I create the mod from scratch again with 1.2.0 tool only.Export K2 MDL with 1.2.0 tool>modified the model>add new meshes in mesh_info.json,and unfortunately the result are the same.Game stuck at loading.

I tried add new meshes in mesh_info.json and using existed material_offset,that mean I have not touched material_info.json and game still stuck.So maybe the problem is not cause by the textures length as game stuck even I didn't modify material_info.json.

 

Edit:

Stupid me.I missed the hidden content you said about the K1 format convert.I tried it with my mod and I can confirm mod working even new meshes added and texture length changed.

Also If I want to force convert to K1 format by default,I guess I can change import.py line 235 force_kuro_version from False to True?Is seem work but coding is not my expertise so I want to ask for make sure in case it will casue issue.

I am no sure Google Translation gives me the right translation.I want to know that if I use KuroMDLTools_v1.2.0 to make mods just in K2 ,should I use "python kuro_mdl_import_meshes.py -f 1 chrXXXX.mdl"order to convert K2 mdl to K1?Is it necessary ?because my mod will use the new texture.

Posted
3 minutes ago, fateli said:

I am no sure Google Translation gives me the right translation.I want to know that if I use KuroMDLTools_v1.2.0 to make mods just in K2 ,should I use "python kuro_mdl_import_meshes.py -f 1 chrXXXX.mdl"order to convert K2 mdl to K1?Is it necessary ?because my mod will use the new texture.

If your don't need to add a new "id_referenceonly" section in material_info.json and you keep your new texture name has the same length as the original texture,then you won't need it.

But if you need to create a new "id_referenceonly" section or for some reason you can't make you new texture name has the same length as the original texture,then convert to K1 format is required.

Posted
20 minutes ago, fakecheng said:

If your don't need to add a new "id_referenceonly" section in material_info.json and you keep your new texture name has the same length as the original texture,then you won't need it.

But if you need to create a new "id_referenceonly" section or for some reason you can't make you new texture name has the same length as the original texture,then convert to K1 format is required.

Get it,thanks.

Posted
56 minutes ago, jimkage said:

Please do Migoto compatible files,  its not fun to stuff the game files with other files.

I can convert them to a 3DMigoto version once someone posts a save file from the postgame dungeon. 

Posted

If you buy a swimsuit outfit with cheat engine, put it on, check the other outfit, and then put it on, the outfit you had previously equipped will disappear.

Posted (edited)
21 hours ago, fakecheng said:

I will remove the warning message then.

 

Also I can sadly confirm adding new meshes with the latest MDL tool in K2 MDL still cause game stuck at loading.

At first I tried to convert my work from 1.1.0 to 1.2.0 by import back to a K2 MDL with 1.1.0 tool,then export it with 1.2.0,add new meshes in mesh_info.json and import it back,game stuck.

Then I create the mod from scratch again with 1.2.0 tool only.Export K2 MDL with 1.2.0 tool>modified the model>add new meshes in mesh_info.json,and unfortunately the result are the same.Game stuck at loading.

I tried add new meshes in mesh_info.json and using existed material_offset,that mean I have not touched material_info.json and game still stuck.So maybe the problem is not cause by the textures length as game stuck even I didn't modify material_info.json.

 

Edit:

Stupid me.I missed the hidden content you said about the K1 format convert.I tried it with my mod and I can confirm mod working even new meshes added and texture length changed.

Also If I want to force convert to K1 format by default,I guess I can change import.py line 235 force_kuro_version from False to True?Is seem work but coding is not my expertise so I want to ask for make sure in case it will casue issue.


I did not think about how you would want to keep the version the same as you recompile mods… oops. I put up a new version on my GitHub, 1.2.1, that writes a new JSON file with the version number, and you can change it there. I cannot upload to LL right now but will replace the upload and update this post tonight.  EDIT: I have replaced the upload, you can download it here.

 

The new file is only one variable. You do not need to repack / unpack to get it, just extract from an unmodified MDL and copy it to your project directory.

Edited by amorrow28
Posted
56 minutes ago, DODODOLAN said:

If you buy a swimsuit outfit with cheat engine, put it on, check the other outfit, and then put it on, the outfit you had previously equipped will disappear.


Make sure to turn the cheat OFF before equipping. The game uses the same code for buying and for unequipping, so it is erasing things from your inventory.

Posted (edited)

----------Kuro no Kiseki 2 Underwear Kilika replace Van mod----------

cover.thumb.png.e35d35d247026ee8ceff875d7c7ae13b.png

 

All Van's costumes are replaced with custom textures underwear Kilika.

Preview:

Spoiler

K2Kilika2VanPreview.thumb.png.ff5ba0afe11cd46c5205a5984629a9e6.png

 

I didn't play English translate in Kuro 1 before so the English name might be wrong.

chr0000        = default costume(預設服裝)

chr0000_c00 = light costume(輕裝)

chr0000_c02 = bath costume(泡澡服)

chr0000_c07 = work costume(工作服)

chr0000_c08 = shirtless costume(無上衣)

chr0000_c09 = Injuried costume(受傷)

chr0000_c10 = racer costume(賽車手)

chr0000_c48 = shirtless swimsuit(泳裝無上衣)

chr0000_c55 = swimsuit(泳裝)

chr0000_c56 = shirtless swimsuit(泳裝無上衣)

chr0000_c60 = 4spg UNITED(4spg UNITED)

chr0000_c62 = Mishy costume(咪西服)

chr0000_c63 = suit style(西裝風格)

 

If you want to use the model on other costume,for example you want Kilika wear underwear with skirt but not the flower on her chest by default,you can either:

Use this Cheat Engine Table to buy the 4spg UNITED costume and wear it

or

Rename chr0000_c60.mdl to chr0000.mdl in c/asset/common/model folder.

shirtless costume(無上衣) and Injuried costume(受傷) doesn't seem able to add by Cheat Engine Table so mdl rename might be required to do so.

 

I have adjust her face data so her face won't be deform in cutscene.If you replace other character with this mod,the face might not working for them in cutscenes..I will make more underwear mod for female characters include the actual Kilika soon.

 

----------Download----------

K2_Kilika_to_Van_Mod.rar

 

Installation:

place "c" folder and "f" folder to your game install location and replace the files.

Backup your files before install mod incase something go wrong.If you plan to install much mod that make in MDL format,I suggest you to backup the whole model folder in c/asset/common and whole model_info folder in f\asset\common.

 

I am not able to give the mod a fully test yet but I play it in some scene and mod seems to be working fine.Report to me if you find any issues.

 

Uninstall:

Restore your backup and delete every dds contain "Kilika2Van" in c/asset/dx11/image.

 

 

----------My Kiseki mods list----------

 

Kuro no Kiseki (Trails through Daybreak):

Underwear Kilika replace Van

Underwear Mod

Renna Grim Kitty Mod(Kuro 1)

Underwear Mod(DLC version)(Eng version only)

 

Kuro no Kiseki 2:

Underwear Kilika replace Van

Z-1 Queen Type B Panties Removal

Z-1 Queen Type A Chest X Removal

Underwear Mod All-In-One v1.1

Renna Grim Kitty Mod(Kuro 2)

 

Trails of Cold Steel 3:

Juna Underwear Mod

 

Trails of Cold Steel 4:

Juna Underwear Mod

 

Hajimari no Kiseki:

Juna Underwear Mod

 

Edited by fakecheng
Posted
1 hour ago, fakecheng said:

----------Kuro no Kiseki 2 Underwear Kilika replace Van mod----------

cover.thumb.png.e35d35d247026ee8ceff875d7c7ae13b.png

 

All Van's costumes are replaced with custom textures underwear Kilika.

Preview:

  Reveal hidden contents

K2Kilika2VanPreview.thumb.png.ff5ba0afe11cd46c5205a5984629a9e6.png

 

I didn't play English translate in Kuro 1 before so the English name might be wrong.

chr0000        = default costume(預設服裝)

chr0000_c00 = light costume(輕裝)

chr0000_c02 = bath costume(泡澡服)

chr0000_c07 = work costume(工作服)

chr0000_c08 = shirtless costume(無上衣)

chr0000_c09 = Injuried costume(受傷)

chr0000_c10 = racer costume(賽車手)

chr0000_c48 = shirtless swimsuit(泳裝無上衣)

chr0000_c55 = swimsuit(泳裝)

chr0000_c56 = shirtless swimsuit(泳裝無上衣)

chr0000_c60 = 4spg UNITED(4spg UNITED)

chr0000_c62 = Mishy costume(咪西服)

chr0000_c63 = suit style(西裝風格)

 

If you want to use the model on other costume,for example you want Kilika wear underwear with skirt but not the flower on her chest by default,you can either:

Use this Cheat Engine Table to buy the 4spg UNITED costume and wear it

or

Rename chr0000_c60.mdl to chr0000.mdl in c/asset/common/model folder.

shirtless costume(無上衣) and Injuried costume(受傷) doesn't seem able to add by Cheat Engine Table so mdl rename might be required to do so.

 

I have adjust her face data so her face won't be deform in cutscene.If you replace other character with this mod,the face might not working for them.I will make more underwear mod for female characters include the actual Kilika soon.

 

----------Download----------

K2_Kilika_to_Van_Mod.rar 55.46 MB · 4 downloads

 

Installation:

place "c" folder and "f" folder to your game install location and replace the files.

Backup your files before install mod incase something go wrong.If you plan to install much mod that make in MDL format,I suggest you to backup the whole model folder in c/asset/common and whole model_info folder in f\asset\common.

 

I am not able to give the mod a fully test yet but I play it in some scene and mod seems to be working fine.Report to me if you find some issues.

 

 

I appreciate the commitment to the Mishy one.

Posted

@amorrow28

Thank you very much for your dedication. You've been a great help in making mods for Kuro No Kiseki 2 and other games here.

 

I've been waiting for your free camera's CT, and I thought you forgot about it, but it turns out you've already made it and posted it on github.?

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...