mibus / ency

Old code for reading Macromedia files and outputting Star Trek stuff
0 stars 1 forks source link

adding the missing Encyclopedias #1

Open kwillery opened 2 years ago

kwillery commented 2 years ago

How would one add the missing Encyclopedias to get them working? I have the Borg/(Picard Dossier), the Playmates toys release, and the TNG/DS9 Companion CDs, which I think is all of them.

mibus commented 2 years ago

Wow, I hadn't even heard of the first two (Borg/Playmates). Are they from the same era? (~late 90s, Macromedia Director-based apps).

encyfiles.rc describes the core bits needed for new encyclopedias (and you can see both the TNG/DS9 Episode Guide and the TNG Companion there).

It's been a (long) while since I've needed to change anything here, but normally there's some slight tweaks needed in the parsing code too (the parser for CASt entries within the files is hacky and fickle, I never worked out the real underlying format). One day I might get around to rewriting that based on things that have come out since I wrote the code 20 years ago (e.g. I think ScummVM supports dxr files now, I could probably single-step through the Windows code to get an idea, there's some extra docs available now [example] etc).

But...this project hasn't been a priority in a long long time.

Let me know how you get on?

kwillery commented 2 years ago

Both Borg and the Playmates CD came out in 1996. I'll dig around into encyfiles.rc and hopefully add what I can.

mibus commented 2 years ago

I can't find out more about the Playmates CD, but the Borg/Picard Dossier sounds like it'll work (it's a cut down version of the Omnipedia).

Also, "scanenc" might produce output that'll help; I don't actually remember the flow for adding new variants!

kwillery commented 2 years ago

Yeah, I think by the time it came out no one really cared about the disc, just the figures it accompanied. And if you did care, well, you probably had the Omni + Update installed already. It's basically the same as the Dossier, an edited version of the Updated Omnipedia. Someone managed to upload it to archive.org (searching for "omnipedia" should bring it up) along with at least 2 different pressings of the Update CD (same files but a 4 hour time difference).

For now I think the "complete" Omni set is: [16-bit] 5 discs Omnipedia Miniomni (Playmates CD name) Borg Disc 2? Update CD/s TNG Episode Guide

[32-bit] Encyclopedia (2d) TNG Guide DS9 Guide Encyclopedia 3a (2d) TNG Companion DS9 Companion

What I do find interesting is that there's code in the Update CD and later for TOS and Voyager. Total of 9 entries in all, ident'd by the omni#.txt on the CD. 1=Omni, 2=TNG, 3=TOS, 4=Update, 5=DS9, 6=VGR, 7=Dossier, 8=Ency98, 9=Ency99. Also funny coding notes if you open dxr/cxt files in a text editor "Peruse these fields at will. Edit at the peril of your program's sanity."

mibus commented 2 years ago

Interesting! I'd never thought to check archive.org. If there are any available there (or elsewhere) I'm happy to do the mucking around to try and make them work.

I think I personally own the OMNI1/2, Ency98/99, and TNG episode guide. (Plus other random non-omnipedia-derivatives ;)

Are you doing anything in particular with these? I could see them being useful "back in the day" (someone turned htmlenc.c into a CGI script in order to serve the whole thing online at one point. I personally loaded the encyclopedia onto my Palm IIIe, it was amusing to walk around with that much reference data in your pocket in the 90s :)

kwillery commented 2 years ago

I think archive.org has all of them but if not I probably do. I'm still hoping a 16-bit version of DS9 appears.

As for "doing" anything with them, eh :deepbreath:... originally it was just to compare different version entries but ultimately I'd like to replace the GUI with something more multiOS friendly. For example a pyGTK LCARS GUI that basically recreates the experience without messing with QT versions and allows any Win95 install to be upgradeable to v3, or can scrape from MemoryAlpha, and allows a currentOS install (or even a :ahem: Personal Android Data Device). The tease of what-could-have-been with the custom articles and the unreleased TOS/VOY CDs that were quickly surpassed (supplanted?) by the Internet. I love MemAlpha but it's not the LCARS animated-touchsceen-blippy-blopey-Majel-Barrett-in-my-ear experience I want. Truthfully it's probably 20-odd years late, but it's been rattling around in my head since, well, forever, so I wanted to at least start somewhere. I might even release some custom articles I've been slowly creating. As for your project, specifically, by the time I found it everything had moved to the wiki, but the missing CD entries bugged me and I just started slowly amassing versions. :breath:

I didn't know of the CGI script, that would've been neat to experience back then, especially by dial-up. And I've passed on buying a thrift store Palm just for that reason, but I was tempted.

mibus commented 2 years ago

RTYI: We had a GNOME interface back in the day; GnomeTREK. Was pretty bare-bones though, compared to the "native" interface (no Majel Barrett :). I did do a NeXT/OSX port though I suspect that code is lost. I doubt either would really help you on your way, but... history!

I suspect it'd be (relatively) simple to do a wrapper around memory-alpha, if you accepted some limitations (i.e. all the content in a webview, and some scraped text in other parts of the screen). You could probably download a dump of Memory Alpha while testing, to avoid lots of unnecessary requests.

Wrapping e.g. Ency99 would be a little simpler (as the data is specifically structured to be displayed in a LCARS-type interface, with a limited set of images separately referenced etc). But then it's all really old (Ency99 is missing the end of Voyager, as well as Nemesis, Enterprise, the whole Kelvin universe, and Discovery/Picard/Lower Decks/Prodigy... :)

Let me know if you make any interesting progress!

kwillery commented 2 years ago

Edited the encfiles.rc, and scan works but any find/html fails with "Error opening data file." for any of the new entries.

mibus commented 2 years ago

Not a lot to go on. Looks like past-me wrote some debug logging in but it's compiled out by default. Try compiling with DEBUG enabled like this:

make clean
make CFLAGS+=-DDEBUG
./findenc foo

If you haven't noticed by using it with other encyclopedias, it also needs ENCY_DIR set to find the data files if they're not in the current directory; e.g. I just tried one with:

export ENCY_DIR=../ency-data/Omnipedia/
./findenc kirk