FleexCore 2 - Now with graphics, Galaxy, Dreams, & more!

Here is where to post about the latest Commander Keen fangame or modification you've finished, a new website you've made, or another Keen-related creation.
Post Reply
User avatar
Fleexy
Tool Smith
Posts: 1434
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

FleexCore 2 - Now with graphics, Galaxy, Dreams, & more!

Post by Fleexy »

Remember FleexCore 1, that tiny Vorticons level API? Well, throw it out. FleexCore 2 is here, and with it, ease of access to many Commander Keen resources - all in a managed, high-level .NET environment.

FleexCore is designed to be used as a base for creating GUIs, removing the necessity to reimplement the old formats. It's built in VS2013 for 64-bit, though I'm fairly sure it'll work for 32-bit platforms as well.

Use IntelliSense or the Object Browser to explore the classes. Most have a FromFile or FromFiles static method that will load them and a ToFile or ToFiles instance method to save them. There are also a whole ton of supporting classes that are members of more advanced structures.

Download FleexCore 2

Note: for Galaxy graphics, a GalaxyGraphicsChunkSettings instance must be passed to FromFiles. There's a static factory for those in GalaxyGraphics. GalaxyGraphics also works with Dreams.
User avatar
Levellass
S-Triazine
Posts: 5266
Joined: Tue Sep 23, 2008 6:40

Post by Levellass »

This explains what all that programming was for.
What you really need, not what you think you ought to want.
User avatar
Fleexy
Tool Smith
Posts: 1434
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C

Post by Fleexy »

Well, kind of. This is actually just a checkpoint, the first step of something that will make you in particular very happy. Anyway, here's a list of the classes in FleexCore and what they're useful for.

BinaryNodeTree(Of T). Designed for use as a Huffman dictionary, this class recursively contains instances of itself(Of T). The bottommost nodes contain a value of type T.

DreamsLevels. Like GalaxyLevels in that it contains a collection of GalaxyLevel, but has IO functions that support Keen Dreams.

GalaxyB800. Any B800 screen. Has a contained class, GalaxyB800Char, which represents one character of text in the screen. Has no IO methods as it is loaded by GalaxyGraphics.

GalaxyFont. One Galaxy or Dreams style font. Contains an array of two-dimensional Boolean arrays representing the monochrome fonts. IO managed by GalaxyGraphics.

GalaxyGraphics. Stores all Galaxy and Dreams graphics that are stored in the EGAGRAPH. Exposes collections for each chunk type. The FromFiles static method also requires a GalaxyGraphicsChunkSettings, which can be acquired from GalaxyGraphics.EpisodeSettings. These settings are saved after being passed to FromFiles.

GalaxyGraphicsChunkSettings. Stores information as to the layout of EGAGRAPH. Used by GalaxyGraphics.

GalaxyLevel. Stores one Galaxy or Dreams style level. Exposes Data, a three-dimensional array of UShort, and three different aliases to it for each of the planes. No IO functions are present here, they are managed by DreamsLevels and GalaxyLevels.

GalaxySprite. Contains the information about a Galaxy or Dreams style sprite as acquired from EGAGRAPH. No IO functions are present here, they are managed by GalaxyGraphics.

GalaxyTerminator. Represents a Terminator-like graphic shown at the beginning of Galaxy games. IO is managed by GalaxyGraphics.

MaskedSixteenColorBitmap. Inherits SixteenColorBitmap and adds a Boolean array, True if transparent at that pixel.

SixteenColorBitmap. Provides IO for Modkeen-exported bitmaps and is used to store image data in many classes.

VortGraphics. Represents all image data found in Vorticons style EGALATCH and EGASPRIT. Use the static FromFiles to load a new VortGraphics and ToFiles to save it back to the three. Exposes collections for each graphic type.

VortImage. Contains a SixteenColorBitmap and a string, used by VortGraphics.

VortLevel. Represents one Vorticons style level. Has static FromFile and instance ToFile for IO. Exposes two property arrays, one for each plane, for level data.

VortSprite. Contains the information stored about each Vorticons style sprite in the EGAHEAD. Used by VortGraphics.

For more information or assistance, please contact me.
Post Reply