[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: adobe director 11.5.png (251 KB, 1920x1146)
251 KB PNG
The previous thread has died >>109052535 since I haven't managed to reply in time.

Reposting from the previous OP:
====
A short preamble. I got interested in a 2009 game Solium Infernum made entirely in Adobe Director. To better understand its code and potentially to mod its graphic assets, I spent some time searching for decompilers, and found two great tools:
- https://github.com/ProjectorRays/ProjectorRays/releases which produces readable .dir files from protected Director .cxt format which allowed me to access the game code in GameEngine.cxt;
- https://github.com/n0samu/DirectorCastRipper/releases/tag/v2.5 which allowed to extract graphical assets.

However, I got a problem - if I am to modify the game code, I somehow need to convert .dir file back into .cxt for the game to read. I managed to find one of the later Adobe Director releases (v 11.5) but it fails to read the .dir file, and overrites it into an empty file. For comparison, the same .dir file opened in a text editor (barring garbled symbols at the start and the end, it's all readable code).
====
>>
File: dmx 2004.png (446 KB, 1924x1150)
446 KB PNG
>>109086134
I've read about DirOpener and tried using it to convert the .cxt file into .cst, and open it with Director MX 2004. It worked in the sense that I could see the file structure, and various subscripts. However, it didn't allow me to see the actual code, and every subscript is listed as having like 300 bytes despite the fact that the entire file is 700KB. Same result when trying with Director 11.5

Not sure if the software doesn't work as intended, or I do something wrong.
>>
Bump.
>>
File: IMG_1164.jpg (232 KB, 828x1343)
232 KB JPG
Gotta find out how they are decrypted.
>>
>>109088529
Well, I did (kinda). DirOpener converted the protected .cxt into an open .cst but I didn't give access to the code itself, only subscripts names.
>>
why don't you post the file you are trying to dissect so someone else could try?
>>
>>109090640
You're the first to offer lol.
Here it is:
https://limewire.com/d/O2tGQ#n1uzxddDqQ

The issue isn't dissecting it per se (ProjectorRays allows it anyway) but to make it in such a way that it would be back-compatible with making a newer version of the .cxt file which is read by the game.
>>
>>109091326
ok, so after ProjectorRays producing a .cst file and poking at it with Director MX 2004, I saw some scripts which I could edit, and I could recreate the .cxt file using menu Xtras -> Update Movies -> Protect.
is this what you wanted? still have no idea how to play this file.
>>
File: SI.png (39 KB, 911x410)
39 KB PNG
>>109091787
>after ProjectorRays producing a .cst file
Wait, how? It produces only .dir for me. Could you please break it down in more detail how you do it?

>I saw some scripts which I could edit, and I could recreate the .cxt file using menu Xtras -> Update Movies -> Protect.
>is this what you wanted?
Yeah, exactly. Assuming of course, it got the right scripts available (I have a few concrete ideas that I'd like to code in).

>still have no idea how to play this file.
The .cxt (code, audio and graphic assets) and .txt files (flavor text and stats variable for most game items) are read by the game executable file.
>>
>>109091894
the command line I used:
projectorrays-0.2.0.exe decompile GameEngine.cxt -o out.cst
>>
File: script.png (1.94 MB, 1920x1200)
1.94 MB PNG
>>109091950
Anon, you're magnificent, thank you!

I successfully executed this command in cmd, created a .cst file, opened it, and tinkered a bit with some easily modded and visible variable to test the theory.

One of the first snippets of code I worked out when started researching the game, is the pricing of the legions (units, basically). The legion.txt stores legions' stats, including their PLevel. This PLevel is used by the LegionController script in GameEngine.cxt to determine the minimum bidding price of that legion which is semi-randomized (some fixed integer + a random value from 1 to N). There is additionally a script which nullifies the legion cost in one or two resources, but that's besides the point.

So, to try it out, I replaced the cost in souls (one of the game resources) for all values of PLevel with a fixed value of 10. I saved the .cst, turned it into .cxt, replaced GameEngine.cxt in the game folder, created a new game, and it worked - the price of all legions in souls is equal 10. Full moddability achieved!
>>
good thread, i approve
>>
File: queen of the damned.png (98 KB, 280x250)
98 KB PNG
>>109091950
Can't thank you enough. May God guide you in your quest.
>>
File: chasm.png (2.57 MB, 1396x1614)
2.57 MB PNG
Added a new ability which allows legions to traverse chasm hexes.
1. In the GMapObj script, I found the snippet which assigns text description to map hex sprites in the status window
2. Located the hex passability check in the GMapHexObj script, added a check making chasm hexes passable if the legion has #ChasmWalk ability (syntax is the same as for mountain walk or swamp walk)
3. To introduce the ability to the game and make testing easy for myself, I decided to make this one of the abilities that could be given to starting legions during their creation. To do this, I located the corresponding function in the LegionController script, and added #ChasmWalk ability.
4. While at it, I decided to expand the list of epithets for the starting legions - the basic 4 repeat too much. So, I added 4 more ('Spawn/Apostles/Zealots/Paragons of') enumerating them 5 to 8, and increased the 1d4 roll to 1d8 (since we're now up to 8 epithets, or otherwise the last 4 wouldn't have a chance to appear in the game)
5. Added the corresponding text name and description for the new ability in the GameData > KeyData > legion.txt file instead of defunct Lava Walk (never coded in due to lava being actually passable)



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.