-
Posts
61 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Blogs
Events
Posts posted by uyjulian
-
-
Make a post here. They might be able to assist: https://forums.nrvnqsr.com/showthread.php/8229
Also, try repacking with no encryption and make sure the script file encoding is UTF-16LE with BOM.
-
My port of Kirikiri is getting to a point where other people can use it to create games on it, and publish it on a web server.
On this thread on the /news4vip/ board on 5ch, xyx0no646 is requesting assistance with creating a template for my new engine, so I would appreciate it if you took a look.
-
Look for the "title" tag in the scenario. https://krkrz.github.io/krkr2doc/kag3doc/contents/Tags.html#title
If that doesn't help, find other instances of "System.title" or accesses to the "caption" member of the "Window" class
-
6 hours ago, Spooky Saint said:
It doesn't exactly work, the way it should
I just added support for Firefox and Safari, so please try it out again.
-
Kirikiri has been ported to HTML5. Please take a look. https://ghpages.uyjulian.pw/krkrsdl2/
-
Don't copy KrkrExtract into the folder
-
14 hours ago, Mutank said:
Okay never mind my last post, I just reinstalled the game from scratch to completely remove any possibility of lingering values.
Without running the game, I modified the Config.tjs parameters from earlier to 0xffffff and recompressed > ran the game.
The text is still in black, which just leaves me confused. I think I may be missing something here, but I can't imagine what.
Check the "color" argument of tag "font" in the KAG scenario file.
-
You may want to also change "defaultShadowColor" and "defaultEdgeColor" in "Config.tjs".
Also, check the "color" argument of tag "font" in the KAG script.
-
30 minutes ago, Mutank said:
I can find defaultChColor, defaultShadowColor and defaultEdgeColor set to 0x000000 in Config.tjs. I changed all three to 0xffffff just in case, but the message display doesn't seem to change
once I put the modified scripts into the game. As for Layer.drawText, I can't seem to find it anywhere.
You need to restart the game from the beginning, as the current text color is saved in the savefile.
"drawText" is a member of "Layer" class. "Layer" class may be extended by other classes.
-
Look for "defaultChColor" in "Config.tjs"
If you can't find that, backtrace the 4th argument of Layer.drawText
-
-
You need to pay in order to post on 5ch from overseas IP. If you have domestic IP and provider is not blacklisted (that means no VPNs) you can post for free.
You can find more information about the premium service here: https://premium.5ch.net/
Make sure to call your bank to ensure that overseas transaction won't be rejected.
Forums, blogs, etc have been dying, in preference to modern social media platforms like Twitter, Facebook... and chat applications like LINE, Discord...
-
CN patch link is broken.
To find an alternate link for the patch and win10 fixed version, try searching google for "新补丁对应win10魔法使之夜"
-
It is possible to override a TJS2 class with the same name, but you must follow the following rules:
1. Use a unique identifier when declaring a class
Example of this wrong usage:
global.ClassToOverride_original = global.ClassToOverride; class ClassToOverride extends global.ClassToOverride_original { }
When instantiating the class, this will cause a segmentation fault.
2. Do not use an identifier that has been deleted
Example of this wrong usage:
global.ClassToOverride_original = global.ClassToOverride; delete global.ClassToOverride; class ClassToOverride extends global.ClassToOverride_original { }
This will cause Member does not exist exception.
3. Place the original class name as the constructor
With these three rules, we can override a TJS2 class while keeping the same name.
global.ClassToOverride_uniqueidentifier_original = ClassToOverride; class ClassToOverride_uniqueidentifier_override extends ClassToOverride_uniqueidentifier_original { function ClassToOverride_uniqueidentifier_override() { super.ClassToOverride(...); } function ClassToOverride() { ClassToOverride_uniqueidentifier_override(...); } } global.ClassToOverride = ClassToOverride_uniqueidentifier_override;
This is a cleaner way of adding features like word wrapping or line breaking to KAG, compared to some code I've seen.
-
Check the other files, and check for partial strings (since they may be generated)
Also, you don't need to repack. Just leave files in "data" folder
-
If you unpack "data.xp3", you can just place the extracted files in folder named "data" and remove "data.xp3" from the game folder.
-
You don't need to repack. Just use KrkrExtract universal patch and add your modified scripts to folder named "ProjectDir"
-
Are you setting the encoding to Shift-JIS in your text editor?
Also, which version of the game are you using? CD version, DVD version, or DMM DL version?
-
-
Finished project
-
Which VN are you attempting to translate?
-
I built Kirikiri Z using Clang 9.0.0.
Source code is in the repository github/uyjulian/krkrz under the tag v2.0.0.0-portability_fixes.
If you want to try this on commercial games, decrypt the XP3 files, take out the encryption plugins, then use the following command line argument:
-graphicsystem=drawdevice
-
Trashed
-
You can compile it yourself. It is also found in the Muv-Luv Alternative Chronicles fan translation patch.
You can edit ami, but afhook is better.
Looking for Translators for Japanese Game Engine Documentation [and forming group and eventually some FanTL]
in Recruitment
Posted
I already translated the KAG3, TJS2, and Kirikiri Z documentation. It was translated mostly using Google Translate, with some accuracy and grammar corrections by myself.
https://ghpages.uyjulian.pw/kag3-documents/e/contents/index.html
https://ghpages.uyjulian.pw/krkrz-documents/e/contents/index.html
https://ghpages.uyjulian.pw/tjs2-documents/e/contents/index.html
https://ghpages.uyjulian.pw/multi_platform_design/apiref/
As others has mentioned, Kirikiri is poorly documented and has a poor ease of use.
As such, I don't recommend using it for new projects, instead recommending Ren'Py which has a larger and active Western community. (In fact, I am contributing to Ren'Py myself)
The codebase may be fast and lean, but it is also heavily fragile and also uses poor programming practices, which can result in security issues (A documented one is CVE-2015-5672, but there are many others that are not documented, such as one in KAGParser (Out of bounds read), another **major** one in Layer (Arbitrary memory read/write), and another one in WaveSoundBuffer (Arbitrary code execution)).