Hey there,
This is going to be a weird (and somewhat belated) response to the following topic I started over at PCKF:
https://pckf.rigeltechnical.com/viewtop ... f=3&t=4046
So basically, with the possible exception of version of 0.5.0 of CKPATCH, I think that I got all copies versions of CKPATCH, from v0.5.1 and later, including binary and source archives.
I had this weird idea to upload all of them to a Mercurial repository, on BitBucket. I even tried to use original modification times of files/folders as base for commit times, although there may be mistakes and/or guesses (especially for a few timezones).
Link for *sources only*:
https://bitbucket.org/NY00123/ckpatch/
Note that original archives (e.g., ZIP files) are currently
not available at the above repo. I mistakenly remembered that, while BitBucket does not have GitHub's "Releases" feature, it still (supposedly) has a way to store binary uploads somewhere. (Looks like the archives available for download from the repo. are automatically generated from the various commits, or at least the tagged ones.)
A few interesting tidbits: Some of may assume the collection of the various CKPatch versions is a simple linear sequence, but it's not exactly the case. Here are the exceptions:
- v0.10.0 was originally created from v0.9.0, skipping v0.9.0-ext (which added support for a few more games).
- Then, not known to me until recently, 2009 had the release of what I called "v0.11.0-20090414" in this repository. This is a "v0.11.0" release which *differs* from the one prepared by Mink and more commonly used back in the days. It added to v0.10.0 support for Keen 6 v1.5, imported KDRPatch (like Mink's update, I believe) and further added support for Keen Dreams v1.93 (might be labelled as 1.17 somewhere).
- Later, Mink's *totally unrelated* release of v0.11.0, which I called "v0.11.0-20101222", essentially merged versions 0.9.0-ext and 0.10.0, and further added the %tileinfo command for Keen 4-6 and imported KDRPatch.
- On March of 2011, I took v0.9.0-ext and made a few small updates to BM*Patch, leading to v0.9.0-ext2. For some weird reason I didn't apply the changes to "v0.11.0-20101222".
- Later Mink was there, ready to release an updated version with my changes. I essentially merged versions 0.11.0-20101222 and 0.9.0-ext2, and also mistakenly left in a debugging-related message in CKXPATCH.INC. It's still in up to the last release. (Should probably be edited, if not removed).
- All later versions (that I'm aware of) were released by me, starting from v0.11.0-20101222 as a base. I have not used v0.11.0-20090414 so far.
- Surprisingly enough, not aware of v0.11.0-20090414, I separately added support for Keen 6 v1.5 in v0.11.3. There are a few technical differences related to detection of LZEXE-packed executables, though.
Finally, I've considered adding one more revision with a few minor updates, but then decided it probably won't help a lot anyway. I've also wanted to be done with preparing this repository for a reveal. Not sure I'll repeat such work soon (especially with the differing modification dates), heh.
szemigi wrote: ↑Wed May 24, 2017 7:31 pm
And what about Catacombs 3D?
Because that's okay I built the source code of Catacombs 3D, but when I modificated and then imported a graphic - which was successful - then the EGADICT file appeared, then I ran the built EXE and the game crashed or I don't know (of course I unpacked the EXE,
but there is no CKPATCH for it)
So CKPATCH should be extended for Catacombs 3D, too.
Hmm, I think you asked about this beforehand, when you started to use ModId?
Also, I know it's probably not new for you but, no need to shout, heh. (Yeah, I'm talking about the combination of bold text, which might be OK in certain circumstances, with the larger font size, which is probably less desired.)
Well, it's a bit off-topic, since CKPATCH won't be required at all. However, for Catacomb 3-D graphics editing, these are the steps which can be applied:
- First of all, I assume that version 1.22 of Catacomb 3-D (the GOG.com one, and presumably the latest) is used. If you're trying to use v1.00, though, then luckily enough, a small edit of cat3d_software_122.def might be the most you'll have to do (see below). Reasons: v1.00 uses the same audio file (AUDIO.C3D), the exact same map header (C3DMHEAD.OBJ) data (even though GAMEMAPS.C3D differs), and while the graphics aren't the same, GFXE_C3D.H didn't change at all (so you can use ModId with the usual definitions for v1.22).
- Edit ID_CA.H and uncomment the definition of GRHEADERLINKED. This way, Catacomb 3-D will look for the external files of EGADICT.C3D and EGAHEAD.C3D, instead of requiring you to have their data linked into the EXE (from C3DEDICT.OBJ and C3DEHEAD.OBJ).
- In your project file (based on CAT3D.PRJ), you can then remove C3DEDICT.OBJ and C3DEHEAD.OBJ, since there won't be a need to use them any more.
- There should be no need to unpack or pack CAT3D.EXE with UNLZEXE/LZEXE, at all.
- The newly created EXE should then be able to read the modified graphics + original maps and audio (if not modified).
If you still want to create OBJ files from EGADICT.C3D and EGAHEAD.C3D, and link them into the EXE, then look in the Keen Dreams sources for Blzut3's MAKEOBJ.C and MAKE.BAT (the latter assuming a ready Borland C++ environment). MAKEOBJ can be used to embed a data file in a Borland C++ compatible OBJ file, and MAKE.BAT has a few examples of usage.
POST EDIT: Two possible ways to make ModId work with Catacomb 3-D version 1.00:
1. Use MAKEOBJ to extract EGADICT.C3D and EGAHEAD.C3D from the OBJ files. Afterwards, create a modified copy of cat3d_softdisk_122.def with the "EXEINFO" line removed.
2. Use a modification of cat3d_softdisk_122.def, with the details of v1.00 under EXEINFO. Luckily enough, I got to fill these here for Reflection Keen:
https://github.com/NY00123/refkeen/blob ... _fs.c#L842,
https://github.com/NY00123/refkeen/blob ... _fs.c#L858. This is the current structure of EXEINFO in ModId, btw:
https://github.com/owenmpierce/modId/bl ... 456.c#L153