Legend Entertainment's Games

All the inane chatter goes in here. If you're curious about whether we will support a game, post HERE not in General Discussion :)

Moderator: ScummVM Team

Jorpho
Posts: 70
Joined: Sun Jan 15, 2006 2:20 am

Legend Entertainment's Games

Post by Jorpho » Sun Jun 18, 2006 9:59 pm

I figured this might have been asked many, many times before, but a search for "Legend" only turns up 20 hits here, and most of those are about Legend of Kyrandia.

So... Has anyone looked into the legal status or source code availability of Legend's numerous adventure games? I'm speaking of the likes of Companions of Xanth, Superhero League of Hoboken, Death Gate, Shannara, Calahann's Crosstime Saloon, and so on, not to mention the older Spellcaster and Gateway games.

I notice that Josh Mandel, who designed a few of those games, seems to have been rather responsive to interview requests at least, but there doesn't seem to be any word from him on the matter. I was about to contact him, but I thought someone probably tried that before.

User avatar
Dark-Star
Posts: 135
Joined: Sun Oct 30, 2005 9:36 pm
Location: Reutlingen, GERMANY

Post by Dark-Star » Mon Jun 19, 2006 2:00 pm

I also enjoyed the Spellcasting games and Gateway. It would be great if someone found out a bit more about them.

A good place to post any findings (esp. file formats or other engine information) would be the REWiki ;)

User avatar
df
ScummVM Developer
Posts: 38
Joined: Thu May 25, 2006 2:05 pm

Post by df » Tue Jun 20, 2006 7:31 pm

The old legend stuff is semi zorkish, its not a virtual machine its all hardcoded I think they all used a common code base (I looked at hacking them at one time). the if archive has a tool for pulling the vocab from timequest (but it does not work with later games).

i have no idea about their post text adventures.

vasyl
Posts: 19
Joined: Wed Jun 21, 2006 8:59 am

Legend Entertainment's Games

Post by vasyl » Wed Jun 21, 2006 9:06 am

There is another tool there which works on vocab and strings for all games from Spellcasting 101 through Callahan's Crosstime Saloon. Later games did not have vocab.dat but strings file format did not change that much. Unfortunately, all of the game logic is in the executable, even some strings are there. I've tried to extract graphics as well, got partial success there -- I can extract CGA graphics but not EGA/VGA or SVGA yet.

User avatar
john_doe
ScummVM Developer
Posts: 117
Joined: Fri Nov 04, 2005 8:25 pm
Location: Stuttgart, Germany

Re: Legend Entertainment's Games

Post by john_doe » Wed Jun 21, 2006 9:42 am

I played around with the files from the "newer" Legend games (Death Gate, Shannara, Callahan's) some years ago.
Iirc the picture data in Death Gate and Shannara was uncompressed and I could even play some of the animations, the picture data from Callahan's is compressed with a 3rd party library (can't remember the name, something like Micro LZS, maybe it's similar to Stac LZS?).
But since all the logic is hardcoded, it would probably hard to reimplement it without the source code.

Edit: Ok, it's not LZS but called Crusher.
Here's the copyright string from the Exe:
"Crusher! Data Compression Toolkit Version 3.0
(C)Copyright 1993, 1994 DC Micro Development"

fac
Posts: 91
Joined: Wed Jun 07, 2006 3:19 pm

Post by fac » Wed Jun 21, 2006 12:18 pm

Dark-Star wrote: A good place to post any findings (esp. file formats or other engine information) would be the REWiki ;)
Nice webpage. It has a lot of usefull links. I found this page Dune Legacy, maybe it could be added to REWiki?

What are the requirements to start learning reverse engineering? Should we have an high education in computer sciences?

User avatar
Adventureguy
Posts: 163
Joined: Sun Dec 25, 2005 4:09 pm
Location: Karlsruhe, Germany

Post by Adventureguy » Wed Jun 21, 2006 4:50 pm

I think the first part of the Gateway adventures is now freeware since it's being offered as "teaser" for buying the "The Lost Adventures"-collection from Legend Entertainment. More info here: http://web.archive.org/web/199704120918 ... /lost.html

vasyl
Posts: 19
Joined: Wed Jun 21, 2006 8:59 am

Legend Entertainment's Games

Post by vasyl » Wed Jun 21, 2006 6:09 pm

Hard to tell. The same situation as with Betrayal at Krondor and the first three Zork games -- those were available for free but then recalled. You can try contacting Infogrames. The most likely answer from them would be "no," especially considering that Gateway is encumbered by an external license.

@john_doe: You are right about Death Gate (I did not look into Shannara yet), it came with uncompressed graphics. Looks like they've got literally too much space by switching to CD, so they did not bother to go through compression. There are two separate copies of the game on CD, one for VGA and one for SVGA, even if some files are the same. Each one has three different versions of executable...

User avatar
clone2727
Retired
Posts: 1592
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Re: Legend Entertainment's Games

Post by clone2727 » Wed Jun 21, 2006 6:59 pm

vasyl wrote:You can try contacting Infogrames.
They are now Atari.

vasyl
Posts: 19
Joined: Wed Jun 21, 2006 8:59 am

Re: Legend Entertainment's Games

Post by vasyl » Wed Jun 21, 2006 7:53 pm

I am old school, I refuse to use that name :lol:

Jorpho
Posts: 70
Joined: Sun Jan 15, 2006 2:20 am

Post by Jorpho » Wed Jun 21, 2006 8:06 pm

So you're saying that even though all these games look like each other, it would be impossible to make a ScummVM/FreeSCI/Frotz/etc-style interpreter that would work with unmodified copies of these games?

User avatar
Dark-Star
Posts: 135
Joined: Sun Oct 30, 2005 9:36 pm
Location: Reutlingen, GERMANY

Post by Dark-Star » Fri Jun 23, 2006 12:04 am

fac wrote:What are the requirements to start learning reverse engineering? Should we have an high education in computer sciences?
Even though a bit of theoretical background helps, it's not really neccessary. You should know a bit about binary/hex number representations, and you should know how to use a hex editor. But theory can never replace actual practice and experience, so just start somewhere and try to get a 'feeling' for the file formats. It's hard to explain ;-)
Oh, and you need to have some programming knowledge (doesn't matter much which language) because you will have to write small programs (like gamefile extractors etc.) to test your findings.

There's a (draft) introduction at the REWiki here which you might find useful (there are some further links as well).

I was thinking about writing a small tutorial on RE'ing a simple file format, but I don't know when I might have enough time for that.

User avatar
Vinterstum
ScummVM Developer
Posts: 585
Joined: Sun Oct 16, 2005 6:59 am

Post by Vinterstum » Fri Jun 23, 2006 12:20 am

fac wrote: What are the requirements to start learning reverse engineering? Should we have an high education in computer sciences?
See Dark-Star's reply above for REing data file formats and such.

For REing the actual executables, you need some basic ASM knowledge, some C/C++, and the basics on how the latter compiles into the former. It doesn't take that much to start though, it's more something you develop a feeling for.

Jorpho
Posts: 70
Joined: Sun Jan 15, 2006 2:20 am

Post by Jorpho » Fri Jun 23, 2006 4:05 am

Indeed, I would much like to add REing of executables to my, er, "repertoire". Haven't found a good way to start yet, though.

I did find the considerable amount of documentation available for translating/hacking console ROMs to be thoroughly educational, though. A fine start if you want to begin learning this kind of thing, I'd say.

User avatar
Vinterstum
ScummVM Developer
Posts: 585
Joined: Sun Oct 16, 2005 6:59 am

Post by Vinterstum » Fri Jun 23, 2006 4:28 am

Jorpho wrote:Indeed, I would much like to add REing of executables to my, er, "repertoire". Haven't found a good way to start yet, though.

I did find the considerable amount of documentation available for translating/hacking console ROMs to be thoroughly educational, though. A fine start if you want to begin learning this kind of thing, I'd say.
I'd suggest starting by writing a few very simple C/C++ apps yourself, and see what the result looks like in IDA Pro (or Sourcer). That'll get you a good feel for what C code produces what asm code (recognizing loops, switches, etc). Then maybe get an already annotated disassembly file and familiarize yourself with it, for example.

Of course, the output of a modern compiler like gcc or VC++ will look different than the old DOS ones, but it's a good start at least.

Post Reply