Siglus Hacking

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?

You have to make a program to decrypt the exe so you can hex edit it (or so i’m told). My friend made the program for me and it was broken so I had to fix it.

Has anyone fighured out how to hex edit the exe to make the game no DVD? Since SP is using now dummy check, the old alpharomdie can’t crack it fully, you still have to insert the disc or am image to pass the dummy check.

Does RLSE loader not work? Alpharom was always a mediocre solution.

No, it doesn’t. It only removes region detection. You still need to mount the image for the first time you run the game.

Not at the moment. Although the information determining if you have inserted the disc or not is in your savedata folder (actually the global.sav file) So if you were to give your savedata folder to someone else after you have inserted the disc it should not ask them to insert it. And your question about hex editing the exe, It is extremely easy to do. https://i.gyazo.com/1e3f8a6ce51bcc36990d36b7aadfdcfa.png As you can see in that picture I have the original SiglusEngine.exe at the top and at the bottom I have my modified SiglusEngine.exe. https://i.gyazo.com/10d07ea22c11e53a870a885de85d9ca0.png You can change mostly all the files extensions. The one I don’t know about is the g00 one.

Yea, I fighured out that the info about dummy check is in global.sav and made some experiments. I shared my file to couple people and the results are pretty scattered…All I can see is that it won’t work on windows 7 machines if you share the file, as windows 8 will work (tested with 1 person), and 50% on windows 10 (1 was working 1 was not), which is pretty frustrating, so one workaround will be making a minimum image of the game disc which only contains SummerPockets.env and dummy folder to pass the dummy check.
And thanks for letting me know the hex editing stuff, someone already tought me on it. As for the g01 files, SiglusExtract actually supports it lol.

I had no clue SiglusExtract supported it lol.

Just figured out how to get the engine to support g01 files without SiglusExtract. Also I think I found a way to turn off the disc check (don’t know for sure if it works 100% yet).

I’m all ears.

It’s kind of hard to explain. You will need a hex editor called WXmedit.

Find this in UTF-16LE encoding and change it to g01. You will need to make a new folder called g01 and put all the g00 files in there and make them g01 files. For turning off the dummy disc check you will want to find this and change the %s to %a. I am still not 100% sure if this works or not but the g01 method works.