[v2.11.1] Abiathar: The superior Keen Galaxy editor

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.
User avatar
Gridlock
Vorticon Elite
Posts: 546
Joined: Thu Aug 12, 2010 2:20

Post by Gridlock » Sun Mar 16, 2014 17:34

I haven't given it a try yet, but I'm definitely excited about a new level editor. I hope that it would be a relatively simple process to transfer levels from TOM to this. It would be great if all you add to do was open them up in this editor and not even worry about changed file formats and patches.

Once I actually try it I'll have more thoughts to share, but there is one feature I would really like to see implemented. As you may know, the foreground tiles representing sprites can be used as tiles in a level. However, level editors make this tricky because you can't directly scroll up to see them, and they make placing sprites tricky when the icon is overwritten by a tile. It would help if you had the option to load the sprite icons from a separate .bmp file. Then, it would be easier to use the additional foreground tiles.

Also, tileinfo editing sounds wonderful. I've always wanted to see a super program like this for Keen modding.
Image
Armageddon Begins Again. The Alphamatic has arrived.

Atroxian Realm: viewtopic.php?f=4&t=3536
The Alphamatic: viewtopic.php?f=4&t=4086

User avatar
tulip
Flower Pot
Posts: 2520
Joined: Thu Aug 21, 2008 12:50
Location: Hamburg, Germany
Contact:

Post by tulip » Sun Mar 16, 2014 17:45

Fleexy wrote: Official system requirements
Recommended:

Code: Select all

* Windows 7
* Microsoft .NET Framework 4.5
* 2 GB of RAM
* 3.66Ghz multi-core processor
Lol this is where technology brought us. I need a bigger machine to edit a 25 year old game. Reminds me of website updates. I was able to use flickr just fine with my laptop, then they updated with that useless endless scrolling nobody ever wanted and it brings down my cpu. and it's the same only less usable.
I hope this proves to be an advancement in terms of features at least.
Image You crack me up little buddy!

User avatar
Fleexy
Tool Smith
Posts: 1369
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Post by Fleexy » Sun Mar 16, 2014 18:26

Gridlock wrote:I haven't given it a try yet, but I'm definitely excited about a new level editor. I hope that it would be a relatively simple process to transfer levels from TOM to this. It would be great if all you add to do was open them up in this editor and not even worry about changed file formats and patches.

Once I actually try it I'll have more thoughts to share, but there is one feature I would really like to see implemented. As you may know, the foreground tiles representing sprites can be used as tiles in a level. However, level editors make this tricky because you can't directly scroll up to see them, and they make placing sprites tricky when the icon is overwritten by a tile. It would help if you had the option to load the sprite icons from a separate .bmp file. Then, it would be easier to use the additional foreground tiles.
It reads TOM-created Galaxy levels and Keen:Next exported levels normally. (Mink was a bit too creative in writing Dreams mapheads, that's what FxTomDMh is for.) I'd just like to be able to take KN intermediary files as well, maybe even reversing the effects of CKGuy's weird Carmackizer.

As for placing infoplane tiles in the foreground, that's what Assimilate Infoplane mode is for. Also, Abiathar reads the EGA files directly (that's part of what FMod.dll does), so there's no need to worry about Modkeen vs KeenGraph style. I'll probably figure something out to allow different images for the infoplane and foreground in that region.
tulip wrote:I hope this proves to be an advancement in terms of features at least.
I might have gone a little overboard with the "recommended" settings, Abiathar runs fine (in normal mode!) on my school's old WinXP computers. If it gets too laggy, just click "High Speed Mode" under Edit. About the features: yes, Abiathar blows all other editors out of the water in terms of capability, especially after the next few updates I'm working on.

Keening_Product
Kuliwho?
Posts: 2089
Joined: Fri Jan 20, 2012 7:02
Location: Tied up in the Oracle Chamber's basement
Contact:

Post by Keening_Product » Mon Mar 17, 2014 1:12

Fleexy wrote: (In fact, I'd have to learn some other language and re-implement everything.)
I'm not sure what you did this in, but Gambas3 is pretty similar to VB: http://gambas.sourceforge.net/en/main.html Though I certainly don't expect you to download and learn that just to make a port for the six or so Linux users on this forum. Also I have no idea if you could get FleexCore2 to work with it.

Looks a really good program though. Good enough for me to consider creating a Windows VM to use it.
"Wise words. One day I may even understand what they mean." - Levellass

User avatar
lemm
Blorb
Posts: 685
Joined: Fri Jul 03, 2009 10:18
Location: canada lol

Post by lemm » Mon Mar 17, 2014 17:32

Fleexy wrote:In other news, the v1.1 update is on the way; we'll see it publicly out in one or two days! Integrated tileinfo editing, anyone?
This is great! (The tileinfo is supposed to be part of the maphead, anyway).

Do you think that it might even be possible to make a function for rearranging tiles in the tileset so that the map, tileinfo, and graphics archive are all updated simultaneously?

Keening_Product wrote:Looks a really good program though. Good enough for me to consider creating a Windows VM to use it.
This is probably a good idea anyway, because the best tool to use for compiling the source code will be Borland C++. A Win32 environment would probably be better than relying on DosBox, as I've had problems building the CKCM using Borland in DosBox.

User avatar
Fleexy
Tool Smith
Posts: 1369
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Post by Fleexy » Mon Mar 17, 2014 19:38

UPDATE
v1.1: The tileinfo update

Documentation

+ Added the "Tile Property Modifier" tileset tool!
+ Added an internal versioning system
+ Added the Infoplane Helper
* Changed the DC to accommodate tile property editing
* Fixed some GUI bugs
* Fixed some FleexCore bugs

The Infoplane Helper replaces the Tile ID Entry dialog box when right-clicking the infoplane selected tile. Documentation on the Tile Property Modifier is on page 33 of the new help file.

Abiathar can now handle NetKeen's combined maphead/tileinfo without the help of ManTliMh. However, using the combined metamap for normal modding is not recommended because the CKPatch %maphead command deliberately patches only what's necessary for the map header pointers.

Note: For your and your mod's protection, Abiathar v1.1 considers tileinfo from v1.0 dependency files to be read-only. If you want to take advantage of the TPM, you'll need to re-bind the files with the DC (which is probably a good idea anyway to take advantage of the internal version management system).

Just launch Abiathar as you normally would, and if you're connected to the Internet, it will detect the update and ask to download it. The stand-alone update client will also see the new version automatically. Or, if you really want to, you could use this full v1.1 ZIP.

Happy Keening! Now, onto feedback!
lemm wrote:Do you think that it might even be possible to make a function for rearranging tiles in the tileset so that the map, tileinfo, and graphics archive are all updated simultaneously?
Eventually, I'd like to have graphics management a part of Abiathar. That's probably a long way off, but you never know. Currently, Abiathar will not touch the graphics.
Keening_Product wrote:I'm not sure what you did this in, but Gambas3 is pretty similar to VB: http://gambas.sourceforge.net/en/main.html Though I certainly don't expect you to download and learn that just to make a port for the six or so Linux users on this forum. Also I have no idea if you could get FleexCore2 to work with it.
Abiathar is written in Visual Basic .NET, targeting framework v4.0. Gambas, though code written in it looks kind of like VB, is not similar. (It's more like C++.) Thanks for your willingness to research though!

Fleexy

User avatar
lemm
Blorb
Posts: 685
Joined: Fri Jul 03, 2009 10:18
Location: canada lol

Post by lemm » Mon Mar 17, 2014 21:34

Fleexy is the hero that the Keen Community needs.

Eventually, I'd like to have graphics management a part of Abiathar. That's probably a long way off, but you never know. Currently, Abiathar will not touch the graphics.

That's good to hear. If you plan on doing that, though, you might want to have Abiathar rely on some kind of "episode definition file" that allows the editor to handle arbitrary chunk structures. When the Keen Galaxy source code is released, people will start modifying the number of foreground tiles, background tiles, sprites, and so forth, so you'll need some general way of handling all of that.

Abiathar Help File wrote:Gregory Young: Created The Omegamatic, which nobody will ever use again because they have Abiathar now!
This is the best part of the help file.

User avatar
Fleexy
Tool Smith
Posts: 1369
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Post by Fleexy » Mon Mar 17, 2014 21:56

lemm wrote:...you might want to have Abiathar rely on some kind of "episode definition file" that allows the editor to handle arbitrary chunk structures. When the Keen Galaxy source code is released, people will start modifying the number of foreground tiles, background tiles, sprites, and so forth, so you'll need some general way of handling all of that.
This already exists, see Interop/Profiles in persist.aconf. (You can even create entirely new profiles for the DC!)
lemm wrote:
Abiathar Help File wrote:Gregory Young: Created The Omegamatic, which nobody will ever use again because they have Abiathar now!
Aaaand, Word apparently autocorrected "Yauney", Mink's real last name, to "Young." Thanks for quoting that, I guess. :dopekeen Fixed and reuploaded to the same spot.

With those out of the way,
SUPER CRITICAL EMERGENCY FIX UPDATE
v1.1.1: the Max 1 update

I don't know how I didn't catch it before, but I just found a really bad bug in FleexCore2 that causes Abiathar to erase all the levels if level 0 is deleted. While I was poking around in FleexCore, I also added automatic detection and correction of "Instant Carma!" format. This makes Abiathar the only existing editor to be able to read the public version of CKGuy's K5 level pack. Saving with Abiathar will normalize the format.

Like always, this update can be downloaded from the magic auto-updater or the standalone update client. Fine, here's a ZIP too.

Sorry!

User avatar
MoffD
Vorticon Elite
Posts: 1184
Joined: Thu Jul 05, 2012 17:30
Location: /dev/null
Contact:

Post by MoffD » Tue Mar 18, 2014 0:13

Keep up the good work on Abiathar Fleexy, your doing great!
mortimermcmirestinks wrote: Now I wish MoffD wasn't allergic to me.
Levellass wrote:You're an evil man.
Image

User avatar
DoomJedi
Vorticon Elite
Posts: 707
Joined: Mon Dec 14, 2009 11:22
Location: Israel

Post by DoomJedi » Tue Mar 18, 2014 7:18

Looks to be one impressive editor.

Ceilick
The Dude
Posts: 1538
Joined: Mon Sep 22, 2008 20:10
Location: Seattle

Post by Ceilick » Tue Mar 18, 2014 23:20

Woo, finally got to some testing. And I read through the documentation, really thrilled that you put so much work into that!

Here's some issues I ran into:

1. Lone editing does not seem to toggle correctly.

2. The free form tile placer requires mouse movement to start placing; it should place a tile immediately and then follow mouse movement.

3. Highlighted tiles are too dim! They ought to be brightened and perhaps have a border around them.

4. When 'view tile properties' is toggled on and tiles are pasted over the top of each other, both tile properties remain (for example, paste a slope over a solid or vice versa as the property lines for both overlap).

Here's some functions I'd like to suggest:

1. An option to toggle a limit to scrolling/borders within the context of level boundaries. In addition, when this is toggled, mouse wheel scrolling should alternate from vertical to horizontal when the field of view reaches a 'corner'. See this function in TOM.

2. Toggle paste opacity (or just change it completely) to opaque. Far more useful, imo. Perhaps left to the config file.

3. If the free form tile placer is my default tool, I'd like to see the paster function with those rules; click and drag my stamp.

4. When pasting, it'd be nice if right clicking performed an 'eraser' function, placing all zero tiles (see TOM). Frequently I copy large chunks just to use as an eraser when level editing. Pasting by default should probably paste only non-zeros anyway (your original right click function).

5. A level signature option (only utilized in netkeen). See TOM (note, I haven't tried editing netkeen files yet, maybe you thought of this already)

And lastly, the tile property editor looks functional, and useful for adjustments, but I'm not sure it's nearly as ergonomic as CKd456tli, or Galactile (for those of us privy to it :O ). I'll be trying it out in the future.

This is all quite nearly to my tastes to let go of beloved TOM. Sometime soon I'll be updating my galaxy modding tutorial and netkeen modding tutorial for Abiathor use.

User avatar
ckguy
Bipship Engineer
Posts: 1161
Joined: Thu Nov 01, 2007 17:56
Location: Providence, RI, US
Contact:

Post by ckguy » Wed Mar 19, 2014 15:41

The Galactile that Ceilick's referring to is http://dl.tl-dr.org/galactile-beta3.zip

Back in 2011 I made some improvements to Ck456Tli/CkD456Tli and did like 85% of the work needed to make a new version of the program and then stopped for some reason. All that's missing I think is some sanity checks and some updated documentation.

User avatar
Fleexy
Tool Smith
Posts: 1369
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Post by Fleexy » Wed Mar 19, 2014 20:36

UPDATE
v1.2: the TOM absorption update

Documentation

Get the update with the amazing auto-updater, or at this ZIP.
Ceilick wrote:1. Lone editing does not seem to toggle correctly.
Lone Editing will only do the automatic lock after switching to a tile palette. I tested it more and didn't find anything wrong with it.
Ceilick wrote:2. The free form tile placer requires mouse movement to start placing; it should place a tile immediately and then follow mouse movement.
Fixed in v1.2.
Ceilick wrote:3. Highlighted tiles are too dim! They ought to be brightened and perhaps have a border around them.
Fixed in v1.2? I'm not really sure what you mean, but I changed the default selection overlay color to make it more obvious. Delete the Selection entry in persist.aconf to have the new default generated.
Ceilick wrote:4. When 'view tile properties' is toggled on and tiles are pasted over the top of each other, both tile properties remain (for example, paste a slope over a solid or vice versa as the property lines for both overlap).
Fixed in v1.2.
Ceilick wrote:1. An option to toggle a limit to scrolling/borders within the context of level boundaries. In addition, when this is toggled, mouse wheel scrolling should alternate from vertical to horizontal when the field of view reaches a 'corner'. See this function in TOM.
Added in v1.2. It's not a perfect copy of TOM behavior, but gets the job done. Set Core/CanvasScroll to False in persist.aconf to enable this feature.
Ceilick wrote:2. Toggle paste opacity (or just change it completely) to opaque. Far more useful, imo. Perhaps left to the config file.
That's been in the config file since v1.0, set Core/Preview/Opaque to True in persist.aconf. (A small bug with that affecting the selection rectangle too has been fixed in v1.2.)
Ceilick wrote:3. If the free form tile placer is my default tool, I'd like to see the paster function with those rules; click and drag my stamp.
This is more difficult and not included in this update. I'll maybe figure out a better way to manage mouse dragging soon. EDIT: Added in v1.2.3.
Ceilick wrote:4. When pasting, it'd be nice if right clicking performed an 'eraser' function, placing all zero tiles (see TOM). Frequently I copy large chunks just to use as an eraser when level editing. Pasting by default should probably paste only non-zeros anyway (your original right click function).
Added in v1.2. Non-zero mode is now default and can be toggled by pressing Enter. Right-click is now an eraser.
Ceilick wrote:5. A level signature option (only utilized in netkeen). See TOM (note, I haven't tried editing netkeen files yet, maybe you thought of this already)
Added in v1.2.
Ceilick wrote:And lastly, the tile property editor looks functional, and useful for adjustments, but I'm not sure it's nearly as ergonomic as CKd456tli, or Galactile (for those of us privy to it :O ). I'll be trying it out in the future.
Improved in v1.2. (Also, I feel special having Galactile on my hard drive previous to ckguy's linking it above.)

Thanks, everybody! If you find any other bugs or have feature requests (I'm working on yours, Gridlock), notify me!

Fleexy
Last edited by Fleexy on Thu Mar 20, 2014 23:08, edited 1 time in total.

User avatar
Levellass
S-Triazine
Posts: 5261
Joined: Tue Sep 23, 2008 6:40

Post by Levellass » Thu Mar 20, 2014 22:45

Is there any way to remap the keys? I can't use my F-keys on this computer. (All are toggled to other functions and some are broken.)
What you really need, not what you think you ought to want.

User avatar
Fleexy
Tool Smith
Posts: 1369
Joined: Fri Dec 12, 2008 1:21
Location: Abiathar C&C
Contact:

Post by Fleexy » Thu Mar 20, 2014 23:05

I'm afraid key rebinding is not currently possible. However, I deduce that you are trying to use the function keys to change plane states, so I will tell you about another way to do that. (Logic! It's amazing.) You can use the mouse on the little plane state label (the one that says things like "Active" or "Locked") to change the plane state. Right-click to make less interactive (active -> locked -> hidden) or left-click to make more interactive (hidden -> locked -> active). Lone Editing is also very helpful if you only edit one plane at a time; you can make it default in persist.aconf, Core/Defaults/LoneEditing.

Also, in reply to your post about the tileinfo, Abiathar does allow custom tileinfo settings, just choose <Custom> at the bottom of the drop-down.

UPDATE
v1.2.3: just fixing stuff

Documentation

Stuff got fixed, minor improvements were done. v1.2.1 happened last night, v1.2.2 and v1.2.3 happened earlier today; I didn't want to unnecessarily bump the thread with those minor updates. I guess I'll take advantage of Levellass now to tell everyone about them.

Post Reply