Siglus Hacking

Hey guys. I was wondering if anyone knows anything about Summer Pockets’ SiglusEngine. I bought the game (it’s my first physical VN), and was surprised to see that it’s region-locked. Is there anything I can do to get past the lock? Edit: I found the post on the forum here that discusses this. Never mind.

I also had the same problem. Can you help me or show me this case discussion link? Thank you

Check out this thread for options

Thanks! Its perfectly working

1 Like

Hey guys, I’ve got some questions regarding to some special g00 files from SP when trying to extract and repack them. For example, __sys_bk_chk00.g00 and __sys_bk_setbtn01.

In __sys_bk_chk00.g00, there are 8 images and 8 cuts, but when you view it in G00libMax, it only shows 4, each 2 of them are duplicated, I’m kind of confused…

2

And another scenario is __sys_bk_setbtn01.g00. This file has 5 images and 5 cuts but only shows 3 in the viewer:

4

Any idea how to deal with those kind of g00 files?

1 Like

This happens with animated images. Specifically with your example screenshots, they are the different states of a button (idle, selected, hovered) and buttons in Siglus are typically doubled up on cuts. Basically there are duplicate frames. For Angel Beats! I believe the frames were something like Image 1 > Image 1 > Image 2 > Image 2

How to deal with them depends exactly on what you want to do. For extracting them, the best solution would vaconv.

Putting them back together could be done in multiple ways. The quickest method would be to use the same regions presented in the accompanying text file, but you could also manually add the additional cuts into the g00.

Edit: I quickly drafted up an example using one of the images you screenshotted.
Extracting the image with vaconv:

vaconv __sys_bk_chk00.g00

Gives us the image and the text file.

Recompiling:

vaconv __sys_bk_chk00.png -g2

Gives us the final g00.

1 Like

I tried your method and that did work perfectly, thanks a lot!

So as I proceed to translate these g00s, I’m again suck with another format…lol. Looking at __sys_map_spot00.g00, it has 17 images in it and vaconv is only able to extract the last image…

I was thinking using SiglusExtract to extract it into 17 pngs and put them altogether in one big png, then repack it with the xml file. Is this gonna work or you have a better way?

1 Like

For that you’ll need to extract with vaconv-cpp.

vaconv-cpp __sys_map_spot00.g00

vaconv __sys_map_spot00.png -g2
1 Like

Wow, this tool is amazing! I don’t even know it exists. Now it has solved all my questions lol, thank you!

Hey, has anyone fighured out how to deal with those omv movies from SP yet? (ED01.omv and ED02.omv)
I’m at the point where I understand that omv is basically encrypted ogv. If you open the omv file in a hex editor and find 4F 67 67 53, which stands for OggS in ASCII, and rip all the code before it off, save it and change the extension to ogv, now you can play it! (This what most extracting software do: to rip the encrypted header off)
The video can be easily hardsubbed by using ffmpeg. But the question comes to how to pack this ogv back to omv, any idea?

As far as I know, noone knows how they work. I know that using the same header with a different ogv video just crashes the game. I did some experiments a while ago, but I wasn’t able to figure out much.

These files are just ogv videos with no sound and a long extra header. The longer the video is, the longer the header. The first bytes contain a magic number, some flags and the resolution of the video. Then there is a bunch of stuff I don’t know what’s for, and after that there are two tables. Within that “bunch of stuff” is the number of entries each table has.
Maybe those tables add an alpha channel to the video? Do ogv videos support alpha channels?

Yea, I tried put the header on the top of another ogv too and crashed the game. Have you tried with the original video? The engine might a video that has the exact length/frames as the original one.
VA is getting smarter since previous game videos are all wmvs which are easy to modify.
I have no idea about your last two questions since I’m no programmer or video editor haha.
I think most programmers in the translation groups will just re-write a new exe to read more common video formats…

1 Like

Not only the exact length/frames, it must also have the same filesize. And if there are pointers to the content of the video in the header, it must be the exact same file.
This is not an encryption measure, that’s why it’s so easy to exctract the video, that extra header must serve a purpose. Apart from the endings, these videos are also used to add effects like the light sword that Kanade has in Angel Beats. I believe that ogv videos don’t support transparency so that is probably what this new format adds, although that’s just a guess.
I think rewriting the exe of the game would be harder than figuring out how to create these files. I don’t know anything about reverse engineering but for someone that does it’s probably something feasible. The only reason we don’t have tools to create these files is because noone bothered to investigate them.

Does anyone know how to get word wrapping to work on Summer Pockets? I know you have to modify the exe. I know how to modify basically everything. I just can’t get word wrapping to work.

I guess you are right, it needs to be the exact same file…As for the effects, I compared the extracted ogv and the one played in the game, they are exactly the same tho, no extra effects.
In addition, the omvs don’t contain audio tracks, the engine renders them separately. I also noticed that ED2, the audio actually plays before the video starts which means it’d be inpossible to just mux the audio and video into one file…

I guess SiglusPatcher?


BTW, do you know how to modify below:

  1. the exe to let the engine read custom named game files? (exp: gameexe.dat -> gameexe.chs; scene.pck -> scene.chs; xxx.g00 -> xxx.g01)
  2. engine decryption key

There are no differences with the endings, but that is not the case with all OMV videos. For example, in Hatsuyuki Sakura they use OMVs to show the date. This is what it looks like in the game:

And this is what the player shows when extracted:

It seems that someone did research this file format and that my theory was correct:

There are two types of OMV video files, 24-bit and 32-bit. 32-bit OMV files incorporate a specially-encoded alpha channel (to record transparency), and thus cannot be correctly played by most video players and editors.

https://github.com/xmoeproject/SiglusExtract

Unfortunately, they didn’t include tools to repack these files. But at least now we know how to read them.

Also, that tool lets you modify the name of the “scene.pck” and “gameexe.dat” files.

Yea, I’m aware of that since the ending videos are all we care about, which needs to be subbed. It’s unfortunate that no tools can repack it…
On the other hand, I’ve been using SiglusExtract for quite a while, it doesn’t have a rename function, it only lets you enter the newly packed scene.pck name.

I know how to do everything but let it read g01 files. Also SiglusSceneManager doesn’t work, it crashes every time I try to patch the exe.

Well , that I can’t help you…I’ve never used that patch personally.
Would you give me some instructions on how to modify the game exe to read custom gameexe and scene.pck?