bailli / Johnny

Open Source C++/SDL implementation of the Screen Antics' Johnny Castaway screensaver
GNU General Public License v3.0
23 stars 4 forks source link

Questions =) #2

Open ischorr opened 4 years ago

ischorr commented 4 years ago

Great job with this, works really well still in 2020 even if incomplete.

I know you haven't worked on this in a while, but ran into this while noodling around with another project - I actually ended up modifying this to dump all the resources and all the images into ppm format (then convert to gif with alpha channel), and browse through the various scenes available, etc. You made it surprisingly easy to do that.

If I wanted to contribute some changes are you interested and have a little time for questions? I'm curious what problems you ran into (or what your plans were) for adding the narrative code and randomizing scenes/etc.

ischorr commented 4 years ago

I do have a few things to potentially push at this point if you're interested in other contributors, btw. A handful of fixes, a couple cleanup things, and a suggested minor improvement to the startup.

I could contribute more too if you're interested. Some things:

bailli commented 4 years ago

Hey, I appreciate your support :)

As it happens I started to look into this project again (indeed partly because of your post). Since it has been some time, as you mentioned, I started by reformatting the source code and also doing some refactoring starting with the "BaseFile" classes to better fit my current code style. My goal is (and this is basically where I left off last time) to build a small tool to completely unpack and pack the resource files.

The reason for this is, because I feel running the original application with modified scripts is the best way to research the remaining missing functionality. I tried to disassemble the original binary, but I am not experienced enough to learn anything meaningful. Deducing commands from patterns and by watching the original scenes is a mostly depleted source, too.

So this also mostly answers your first question. My priority is to fix the actual movie player before connecting the scenes. Partly because I suspect that "STAND.ADS" contains part of the original logic, but I don't understand large parts of its code.

About your contributions: Feel free to publish your changes on your fork (this is open source software after all). If I will merge your changes, I don't know. Partly because it probably needs some changes after my refactoring before a merge is possible. And partly because I may feel it adds unnecessary features (at least at this stage). :man_shrugging: