Bug#786501: game-data-packager: please add support for Commander Keen series

Alexandre Detiste alexandre.detiste at gmail.com
Fri May 22 10:28:09 UTC 2015


Package: game-data-packager
Version: 41
Severity: wishlist
Tags: newcomer


The "Commander Genius" engine can be used to play
Commander Keen 1,2,3,4,5,6.

The "Refkeen" engine can be used to play
"Keen Dreams", aka "Keen 3.5".



----

unlzexe is needed to unpack some assets from Keen Dreams:

This c++ code compiles with a simple "g++ unlzexe.cpp"
https://github.com/gerstrong/Commander-Genius/blob/master/tools/unlzexe/unlzexe.cpp

This is a unix port of the original MSDOS program:

"UNLZEXE is distributed as PUBLIC DOMAIN."
"written by Mitugu(Kou) Kurizono ,  05/17/90"

https://gitlab.com/unlzexe/unlzexe/blob/master/UNLZEXE.DOC

---

Then the decompressed EXE has to be cut in pieces,
as if it were some kind of tar archive.

https://github.com/NY00123/refkeen/blob/master/src/be_cross_fs.c

static const BE_EmbeddedGameFileDetails_T g_be_embeddedgameverfiles_kdreamse113[] = {
	{"AUDIODCT.KDR", 1024, 0x8b6116d7, 0x2bc42},
	{"AUDIOHHD.KDR", 340, 0x499e0cbf, 0x24480},
	{"CONTEXT.KDR", 1283, 0x5a33439d, 0x245e0},
	{"EGADICT.KDR", 1024, 0xa69af202, 0x2b446},
	{"EGAHEAD.KDR", 12068, 0xb9d789ee, 0x1e720},
	{"GAMETEXT.KDR", 413, 0xb0df2792, 0x24af0},
	{"MAPDICT.KDR", 1020, 0x9faa7213, 0x2b846},
	{"MAPHEAD.KDR", 11824, 0xb2f36c60, 0x21650},
	{"STORY.KDR", 2526, 0xcafc1d15, 0x24c90},
	{0}
};

struct {
	const char *filename;
	int filesize;
	uint32_t crc32;
	int offset; // Location of file/chunk in the EXE 
} BE_EmbeddedGameFileDetails_T;



More information about the Pkg-games-devel mailing list