Jump to content
IGNORED

KURO NO KISEKI mod


Recommended Posts

THE LEGEND OF HEROES: KURO NO KISEKI is already on steam.


This time Falcom used the Source Engine, and it looks the quality has improved, though only a little.


At the moment it looks like the model and texture files are encrypted and compressed, so it's impossible to modify them before we have modding tools.
Probably not in the future, unless someone willing to do this work.


Fortunately 3dmigoto is still available, though.

 

So guys, you can take action and make your own mods now!

 

 

Index

 

1. tutorial   

     made by  @amorrow28

     https://www.loverslab.com/topic/166239-trails-of-cold-steel-4-mod-request/?do=findComment&comment=3820095

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3835874

 

2. tool

     inject kuro model          made by  @amorrow28
     https://github.com/eArmada8/misc_kiseki

 

     vbuffer_merge_split       made by  @amorrow28
     https://github.com/eArmada8/vbuffer_merge_split

 

3. trainer

     Free Camera Beta Version3    made by @amorrow28 

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3835576

 

4. mod

     UnSkirt Mod for Kuro no Kiseki v1.2a    made by @amorrow28

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3832346
     

     Feri nude mod                                       made by @coomi
     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3826624

 

     Agnes nude mod                                   made by  @kurumiseikai
     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3826682

 

     Fie nude mod                                        made by @coomi

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3827914

 

     Agnes bottomless swimsuit mod          made by @jmedia7

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3829816

    

     Agnes nude + short hair + leggings mod / Feri nude mod     made by @jmedia7

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3830828

 

     Risette nude + swimsuit cover mod                                         made by @jmedia7

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3833193

 

     Marielle  nude mod                              made by @coomi

     https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3835290

 

    Paulette nude mod                                made by @jmedia7

    https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3835880

 

5. other

    Nightclub pole dance video                        made by @woofhat
    https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3827594

 

    Nightclub pole dance free camera video     made by @woofhat

    https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3834813

 

    Street dance free camera video                    made by @woofhat

    https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3836034

 

Edited by woofhat
Link to comment
2 hours ago, PepeLordd said:

Source Engine? it's called PhyreEngine engine mate.

Why don't you do a Google search?


HAJIMARI NO KISEKI is PhyreEngine engine.


KURO NO KISEKI is changed to Source Engine.

 

Link to comment
17 minutes ago, Renne Bright said:

Wow!It's really good!So could you share it?And is there a probability to have Renne's mod?

My mod is still being tested.

I hope you can try to make your own mods.

 @amorrow28has provided a full set of services.

 

Only you can make the mods you want yourself.
And making mods is much more fun than playing games.

 

All model files are in <game_directory>\c\asset\common\model,
You need to find what you want yourself.
All I know is that chr0000 is Van, chr5001 is Agnes.

Link to comment
2 hours ago, woofhat said:

Why don't you do a Google search?


HAJIMARI NO KISEKI is PhyreEngine engine.


KURO NO KISEKI is changed to Source Engine.

 

source engine you say? did you read what you wrote in your own post? you said they replaced source implying they replaced it with something else which you clearly contradicted in your response to me and source is not kuro engine mate. it doesn't have a name yet.

Link to comment
8 hours ago, woofhat said:

THE LEGEND OF HEROES: KURO NO KISEKI is already on steam.


This time Falcom replaced the Source Engine, and it looks the quality has improved, though only a little.


At the moment it looks like the model and texture files are encrypted and compressed, so it's impossible to modify them before we have modding tools.
Probably not in the future, unless someone willing to do this work.


Fortunately 3dmigoto is still available, though.


@amorrow28 has written the tutorials for making mods that you can learn from.
https://www.loverslab.com/topic/166239-trails-of-cold-steel-4-mod-request/?do=findComment&comment=3820095


So guys, you can take action and make your own mods now!

 


 

I'm so sad about the engine change - I was really hoping all my tools would be useable. I took so many notes in porting the CS4 camera script to Hajimari and CS3... oh well, I made the TXe one from scratch, I guess I can do it again. (Well except for the movement algorithm, but that's the same for just about every game unless rotation is done with quarternions.)

 

Still, I can see you have already managed asset injection! I was really counting on that to have access to different models without actually having to play the game. Is it a similar process to Hajimari?

 

Sadly I won't have access to the game for another day, poorly-timed vacation...

Link to comment
6 hours ago, amorrow28 said:


 

I'm so sad about the engine change - I was really hoping all my tools would be useable. I took so many notes in porting the CS4 camera script to Hajimari and CS3... oh well, I made the TXe one from scratch, I guess I can do it again. (Well except for the movement algorithm, but that's the same for just about every game unless rotation is done with quarternions.)

 

Still, I can see you have already managed asset injection! I was really counting on that to have access to different models without actually having to play the game. Is it a similar process to Hajimari?

 

Sadly I won't have access to the game for another day, poorly-timed vacation...

I don't know if changing engines will affect to do camera scripts.

 

After all, I don't know anything about CE. Although I tried to learn, it was still very hard for me.

 

As for making mods, we can still use the tools you made to merge/split VB files, just need modified the dumped files. In general, there is no major difference with the previous.


As for replacing costumes and characters, I couldn't find the name table, so I had to try one by one. It is said that CLE encrypted it.


The replacement method is very simple, directly change the name of the file can be, do not use the script to modify the file. Maybe this is the benefit of changing the engine.🙂


For example, if you want to replace Van (initial costume) with Agnes (Bath Towel), just rename chr5001_c02.mdl to chr5000.mdl ,and chr5001_face.mdl to chr0000_face.mdl ,then replace the original file.

Link to comment
7 hours ago, woofhat said:

I don't know if changing engines will affect to do camera scripts.

 

After all, I don't know anything about CE. Although I tried to learn, it was still very hard for me.

 

As for making mods, we can still use the tools you made to merge/split VB files, just need modified the dumped files. In general, there is no major difference with the previous.


As for replacing costumes and characters, I couldn't find the name table, so I had to try one by one. It is said that CLE encrypted it.


The replacement method is very simple, directly change the name of the file can be, do not use the script to modify the file. Maybe this is the benefit of changing the engine.🙂


For example, if you want to replace Van (initial costume) with Agnes (Bath Towel), just rename chr5001_c02.mdl to chr5000.mdl ,and chr5001_face.mdl to chr0000_face.mdl ,then replace the original file.


I have another question. When I dump frames, the vertex semantic names are all in Unicode (I’m guessing Chinese but I haven’t checked). How did you get around this? I can update my scripts to decode Unicode properly, but does Blender import buffers with Chinese or Japanese semantic names?

 

(sorry, I know I could figure it out by manually combining buffers like I did when I first wrote the scripts, but that will take a very long time just to find out if blender will refuse to import the mesh.)

 

BTW I was curious to see if Falcom based their new engine off phyreEngine, but my simple AOB scans did not work. I think I’ll have to make the camera script the hard way. This is unfortunate, I could probably beat the game in less time than it takes to make a camera script.

Link to comment
1 hour ago, amorrow28 said:


I have another question. When I dump frames, the vertex semantic names are all in Unicode (I’m guessing Chinese but I haven’t checked). How did you get around this? I can update my scripts to decode Unicode properly, but does Blender import buffers with Chinese or Japanese semantic names?

 

(sorry, I know I could figure it out by manually combining buffers like I did when I first wrote the scripts, but that will take a very long time just to find out if blender will refuse to import the mesh.)

 

BTW I was curious to see if Falcom based their new engine off phyreEngine, but my simple AOB scans did not work. I think I’ll have to make the camera script the hard way. This is unfortunate, I could probably beat the game in less time than it takes to make a camera script.

What I see is garbled characters. As for how I solved this problem, of course, guess it. There are just a few values, just try them one by one.

 

vb0 is POSITION
vb1 is NORMAL
vb2 is TANGENT
vb3, vb4, vb5 are TEXCOORD, and the values are the same, just take one.
vb6 is BLENDWEIGHTS
vb7 is BLENDINDICES

 

In addition to the semantic name, other places also have garbled characters, I used Notepad to modify them. Of course, if you can update your script, it will be more convenient.

 

Making a camera script is not a problem, you can play the game slowly, or play the game more than once.😉

 

However, the game engine was changed to Valve's Source Engine, which is an encrypted and modified version. I tried other Source Engine modding tools, but they did not work at all.

 

Link to comment
2 hours ago, woofhat said:

However, the game engine was changed to Valve's Source Engine, which is an encrypted and modified version. I tried other Source Engine modding tools, but they did not work at all.

 

what even gave you that idea? how is the engine even remotely close to source? engine is created by falcom it's a new engine and kuro is the first game to use it

Link to comment
1 hour ago, PepeLordd said:

what even gave you that idea? how is the engine even remotely close to source? engine is created by falcom it's a new engine and kuro is the first game to use it

Never seen a person as persistent as you.

 

A small game corporation with less than 60 people making their own game engine, are you telling jokes?

 

I'm not interested in arguing with you about this boring topic, stop it.

Link to comment
6 hours ago, woofhat said:

What I see is garbled characters. As for how I solved this problem, of course, guess it. There are just a few values, just try them one by one.

 

vb0 is POSITION
vb1 is NORMAL
vb2 is TANGENT
vb3, vb4, vb5 are TEXCOORD, and the values are the same, just take one.
vb6 is BLENDWEIGHTS
vb7 is BLENDINDICES

 

In addition to the semantic name, other places also have garbled characters, I used Notepad to modify them. Of course, if you can update your script, it will be more convenient.

 

Making a camera script is not a problem, you can play the game slowly, or play the game more than once.😉

 

However, the game engine was changed to Valve's Source Engine, which is an encrypted and modified version. I tried other Source Engine modding tools, but they did not work at all.

 

 

You are right, the names are pure garbage.  They are not even the same from mesh to mesh; 3DMigoto is not properly parsing the metadata.  I don't see an obvious pattern, so I don't know if my script can be updated to automatically parse an entire folder of dumps.  The best idea I have right now is to look through dumps and see if I can make a database of garbage names.

 

1216770875_2022-07-2910_12_35-________.png.7cb931b19fb2091f5fd2f314c780a215.png

 

a00000 - inject kuro model.py

 

Anyway, I made a version of my model injector for Kuro (also available on github).  It is used identically to my CS3/CS4/Hajimari script, and should be easier / safer than manually editing files since it makes sane backups.  (Although I make the same warning as I did in the CS4 page - you should know what you're doing and I provide no support for asset injection tools.)

 

Instructions: (same as on the CS4 page)
 

Spoiler

Execute a00000 - inject kuro model.py.  It asks for the source .mdl, then it asks for the target .mdl.  It will make a backup of the target, and then push the source into the target.  If there is a backup of the source, it will always use the backup to inject.  This means: 1. As long as you only use my tool instead of editing your own files, your original files are safe, 2. You can do easy swaps (inject A->B and then B->A will result in a swap, because it will always use the backup original of B to inject), and 3. You can restore the original model by injecting into itself (inject A->B and then B->B will restore B to original, because again it will always use the backup original of B to inject).  It will never overwrite the first backup, so you can literally do A->B, C->B, D->B, and then B->B and you will still end up with B.

 

NOTE: The injector expects the target to already exist and will refuse to inject into a new file.  This is for two reasons: 1. so that it can make a backup, and you won't be confused on re-injections, and 2. to prevent confusing you if you make a spelling mistake (since it wouldn't otherwise cause an error).

 

Link to comment
3 hours ago, woofhat said:

Never seen a person as persistent as you.

 

A small game corporation with less than 60 people making their own game engine, are you telling jokes?

 

I'm not interested in arguing with you about this boring topic, stop it.

this is not even arguing at this point it's just you refusing to back down and admit you're wrong. either way I'm done too,

Link to comment
On 7/29/2022 at 2:26 PM, ms0082483 said:

https://i.imgur.com/xfgJ15y.jpg

 

Is there a mod that simply takes off the skirt?

 

Yes, yes there is.

 

80882249_2022-07-2916_52_56-Window.png.be183554e93417fbeca399c51a948468.png

 

NEW VERSION 1.2: https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3832346

 

Version 1.1: https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3827242

 

Kuro_UnSkirtMod_v1.0_with_3Dmigoto_1_3_16.7z - OBSOLETE

 

Here is the first (very preliminary) release of UnSkirt Mod for Kuro no Kiseki!  I barely have my tools working, so for now only the default costumes for Agnes, Risette, Feri and Judith, plus two more for Agnes.  I plan to do more as time and interest permit, but I don't have access to the character viewer so I have to do things by injection and it's tedious.  If someone can get all the costumes, beat the game, and post a save file, I'd really appreciate it!

 

I'm hoping other modders will use this configuration of 3DMigoto please, that way I don't need to keep writing compatibility wrappers for other people's mods.

 

If your controller doesn't work, try turning off Steam Overlay.  If it still doesn't work, honestly, I don't know.  Half the time my controller doesn't work, so I quit and restart and it does.

Edited by amorrow28
Link to comment

To @woofhat and my fellow modders:
 

Quote

 

I managed using woofhat's information to figure out how to adapt my vertex buffer merge tool.  It is not elegant, but it works.  At this point, I have used it (and fixed it) enough times to be reasonably confident that it works.

 

Upload removed, grab new version here: https://www.loverslab.com/topic/194614-kuro-no-kiseki-mod/?do=findComment&comment=3825578

 

As usual, the latest version is on my github.

 

It only properly works on buffers that are split into 8 (vb0-vb7) with redundant vb4/vb5.  It completely ignores all the header information and copies in a generic header, and skips all the corrupted semantic titles.  It also skips vb4 and vb5 entirely.  Because of the way I use searching (to minimize errors), the script is SLOW.  I definitely advise only running it on maybe 5-10 meshes at a time.  And currently, it will not work on meshes with only 7 or 6 files instead of 8.

 

In terms of reassembling, my current vb_split works fine.  Just expand vb3 to cover vb4 and vb5, and use vb4 for vb6 and vb5 for vb7.  For example, this:

 

;[TextureOverride_agnes_sweater]
; *** Texture hash needs to be filled in below
;hash = 9a9ee6ff
;vb0 = Resource_Model_agnes_sweater_VB0
;vb1 = Resource_Model_agnes_sweater_VB1
;vb2 = Resource_Model_agnes_sweater_VB2
;vb3 = Resource_Model_agnes_sweater_VB3
;vb4 = Resource_Model_agnes_sweater_VB4
;vb5 = Resource_Model_agnes_sweater_VB5
;ib = Resource_Model_agnes_sweater_IB
;handling = skip
;drawindexed = auto

 

should become this:

 

[TextureOverride_agnes_sweater]
hash = 9a9ee6ff
vb0 = Resource_Model_agnes_sweater_VB0
vb1 = Resource_Model_agnes_sweater_VB1
vb2 = Resource_Model_agnes_sweater_VB2
vb3 = Resource_Model_agnes_sweater_VB3
vb4 = Resource_Model_agnes_sweater_VB3
vb5 = Resource_Model_agnes_sweater_VB3
vb6 = Resource_Model_agnes_sweater_VB4
vb7 = Resource_Model_agnes_sweater_VB5
ib = Resource_Model_agnes_sweater_IB
handling = skip
drawindexed = auto

 

Also, 5001 = Agnes, 5003 = Feri, 5005 = Risette, 5007 = Judith.  I haven't explored the rest yet.

 

 

Edited by amorrow28
Link to comment
29 minutes ago, amorrow28 said:

 

Yes, yes there is.

 

80882249_2022-07-2916_52_56-Window.png.be183554e93417fbeca399c51a948468.png

 

Kuro_UnSkirtMod_v1.0_with_3Dmigoto_1_3_16.7z 5.95 MB · 2 downloads

 

Here is the first (very preliminary) release of UnSkirt Mod for Kuro no Kiseki!  I barely have my tools working, so for now only the default costumes for Agnes, Risette, Feri and Judith, plus two more for Agnes.  I plan to do more as time and interest permit, but I don't have access to the character viewer so I have to do things by injection and it's tedious.  If someone can get all the costumes, beat the game, and post a save file, I'd really appreciate it!

 

I'm hoping other modders will use this configuration of 3DMigoto please, that way I don't need to keep writing compatibility wrappers for other people's mods.

 

If your controller doesn't work, try turning off Steam Overlay.  If it still doesn't work, honestly, I don't know.  Half the time my controller doesn't work, so I quit and restart and it does.

 

I found a savedata on the Internet, you can try it.

user.dat

Edited by 374146526
Link to comment

It is said that someone on Discord has found the encryption key of the game and cracked some files.
Unfortunately, I don't know which server and channel it is. Maybe someone knows?

 

But I got the decrypted t_name.tbl and based on it I compiled a character list (I spent almost an hour on it😢) ,and now you can replace the characters in the game based on it.

name.txt

Link to comment

  

1 hour ago, amorrow28 said:

 

Yes, yes there is.

 

80882249_2022-07-2916_52_56-Window.png.be183554e93417fbeca399c51a948468.png

 

Kuro_UnSkirtMod_v1.0_with_3Dmigoto_1_3_16.7z 5.95 MB · 9 downloads

 

Here is the first (very preliminary) release of UnSkirt Mod for Kuro no Kiseki!  I barely have my tools working, so for now only the default costumes for Agnes, Risette, Feri and Judith, plus two more for Agnes.  I plan to do more as time and interest permit, but I don't have access to the character viewer so I have to do things by injection and it's tedious.  If someone can get all the costumes, beat the game, and post a save file, I'd really appreciate it!

 

I'm hoping other modders will use this configuration of 3DMigoto please, that way I don't need to keep writing compatibility wrappers for other people's mods.

 

If your controller doesn't work, try turning off Steam Overlay.  If it still doesn't work, honestly, I don't know.  Half the time my controller doesn't work, so I quit and restart and it does.

 

thank you for your help!

but I seem to be a bit of a bottleneck
don't know how to use these tools

 

In addition to the protagonist group, other NPCs can also
I think it's great
https://imgur.com/a/ZzNRq87

chr0000 ヴァン
chr0002 アーロン
chr0004 カトル
chr0006 ベルガルド
chr5001 アニエス
chr5003 フェリ
chr5005 リゼット
chr5007 ジュディス
chr5110 エレイン
chr5112 フィー
chr5114 レン
chr5117 シズナ
chr5118 ルクレツィア
chr5113 リーシャ
chr5300 ナージェ
chr5302 セリス
chr5316 アシェン
chr5320 カエラ
chr5317 サアラ
chr5318 シャヒーナ
chr5315 ニナ
chr5319 エスメレー
chr5322 キリカ
chr5311 ユメ
chr5314 ハル

Edited by ms0082483
Link to comment

@woofhat

 

renne_comparison.png.f72d3f4b11c56e59f8e3ff95c48e2272.png

 

So I've come across a strange problem.  There are some meshes where the three TEXCOORD buffers are different.  Using our technique of discarding the second and third copies resulted in an unuseable model (left), as you can see.  I was only able to come up with one workaround, which is to make the same mod three times, once with the first TEXCOORD, then the second, then the third.  Then I use the TEXCOORD from the first one as vb3, the second becomes vb4, and the third is vb5.  The picture on the right is the result - still not correct, but better (the logo on the chest is still a mess).  I'm out of ideas at the moment, and I am going to move on.

 

Anyways, in order to change which of the three TEXCOORDs is used, go to line 33 of kuro_vb_merge.py and change

    with open(vb_filenames[3], 'rb') as f:

to

    with open(vb_filenames[4], 'rb') as f:

or

    with open(vb_filenames[5], 'rb') as f:

 

If you or anyone knows the solution, I'd love to hear it.

Link to comment
3 hours ago, amorrow28 said:

@woofhat

 

renne_comparison.png.f72d3f4b11c56e59f8e3ff95c48e2272.png

 

So I've come across a strange problem.  There are some meshes where the three TEXCOORD buffers are different.  Using our technique of discarding the second and third copies resulted in an unuseable model (left), as you can see.  I was only able to come up with one workaround, which is to make the same mod three times, once with the first TEXCOORD, then the second, then the third.  Then I use the TEXCOORD from the first one as vb3, the second becomes vb4, and the third is vb5.  The picture on the right is the result - still not correct, but better (the logo on the chest is still a mess).  I'm out of ideas at the moment, and I am going to move on.

 

Anyways, in order to change which of the three TEXCOORDs is used, go to line 33 of kuro_vb_merge.py and change

    with open(vb_filenames[3], 'rb') as f:

to

    with open(vb_filenames[4], 'rb') as f:

or

    with open(vb_filenames[5], 'rb') as f:

 

If you or anyone knows the solution, I'd love to hear it.

 

About the TEXCOORD, I didn't anticipate that this would happen and it was an oversight on my part. It is also easy to have 3 TEXCOORD at the same time. I can't read your script, so I'll post a sample, just merge the files like this.000168.7z

 

About the picture distortion, I'm not sure if you modified the texture.

It seems that the UV is flipped up and down from before. My solution is to flip the texture up and down again. 
But it seems you can set it in blender too.

1.png.b5056f6e37604a5d65e39fe9719c623d.png
You can try to unselect this option when importing the files.

 

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...