Booster's Lab is a Java-based Cave Story editor that I am presently working on. It will eventually be able to do anything Sue's or CE could do, and then some. Right now it's in early development and I want to post it to get some feedback as I go (haha). Please bear in mind that many features are yet unimplemented! I am only one man, after all.
Save at yon peril! I haven't tested it very much. If you want to play with the editor, it's recommended that you use a copy of something so you don't ruin all your datas...
My design methodology is was to have things as simple and accessible as possible: One window, easy to switch between perspectives, as much info/options upfront as possible. Clearly I have failed miserably at that, but it may not have been possible to begin with.
Anyway, I would love to hear back from people about how I'm doing, if the UI seems intuitive, if it makes your computer catch fire, those sort of things.
You may be asking yourself "Noxid, why are you making a whole 'nother level editor? We already have like three of those!" and to that I say No, not really, if you added them up it'd be like 0.83 editors at max, and most of them don't really work that well. As well, they aren't great for working with CS+, and they update just this side of never. My editor will be fully functional, Sue's and CE compatible, possibly eventually cross-platform, won't corrupt your mapdata, edit CS+, and it will make you waffles in the morning. Beat that.
24.09.2012 - 10k lines of code milestone. Pixel have mercy on me.
Hidden Controls:
Map Editor:
Spoiler
- Shift-drag will allow you to move the map around
- double-click the tileset pane to pop it out (or in?)
- right-click the tileset to change tiletypes- Alt-D switches to "Draw" mode
- Alt-F switches to "Fill" mode
- Alt-R switches to "Replace" mode
- Alt-E switches to "Rectangle" mode
- Alt-C switches to "Copy" mode
Entity Editor:
Spoiler
- Double-click the map to set an entity
- delete key will delete any selected entities (as long as the screen has focus)
- shift-click selects all entities of a type
- ctrl-click adds or removes entities to the current selection when clicked on
- double-click the entity list to pop it out (or in?)
General:
Spoiler
ctrl-plus zooms in the map
ctrl-minus zooms out the map
ctrl-shift-plus zooms in the tileset thing
ctrl-shift-minus zooms out the tileset thing
FEATURE WISHLIST
A list of features that I plan to try to implement eventually
Spoiler
-CORE- - Make 'New' actually work (wow this one has taken forever) - Launcher - Implement flag and TRA list from existing TSC editor - Ability to open pxm or tsc files individually - Ability to easily modify global / arbitrary TSC files
-SUPPLEMENTARY-
- Make the category tree in the npc.tbl editor have non-dummy values
- Hacking dialog
- Fix some leftover KSS names in entityinfo.txt
- waffle button
- right-click context menus for entity editor (maybe map editor too) <semi done>
- input verification for npc.tbl editor
- help files for using the program itself
- Script-generator pseudolang
- Delete key for map editor
-OPTIONAL-
- Cross-platform-ify for modding on mac & linux
- SFX Previewer
- TSC Info (song names, sfx names, facepic preview, etc. like later CE had) - figure out why map editor does not scroll w/ arrow keys
- rendering error when hitbox display lines extend beyond sprite display
- PxeEntry contains an EntityData that doesn't get updated when npc.tbl is modified
V0.3.X.X (unreleased)
- Exports csmap.bin (vanilla format mapdata)
- Added scrolling with ctrl-mousewheel
- Fixed error with map pane not scrolling with arrow keys
- Switched logging back on (I accidentally turned it off in the prev. version)
- Change internal dummy resources to png because I'm retarded
V0.2.5.1 :
- Log size increased from 30k to 300k
- Bugfix to saving stage.tbl files from CS+, should now write the proper file length
- Misc. display options should now save between sessions
- Increased search scope for npc / tilesets / backgrounds - Base files should now be selectable for mapdata editing in CS+
Spoiler
V0.2.4.0
- quick fix to make it so it can *save* the scroll types that it now was able to read properly...
- Changed how TSC defines are loaded
- Deleting a map *should* modify the TSC of all maps to refer to the new map number when map nums are shifted
- can delete many maps at once. Please note I still don't really think you ought to delete maps.
- Can move maps mapdata with the move map thing
- Crappy output logging
V0.2.2.2
- Fixed a bug where saving the EXE twice without closing the application would corrupt the file header
- Improved the splash page and map editor background
- Added a License and a runonce popup to make you accept the license before using the software
- Limited mapname and file input fields to 31 characters
- Fixed a bug in mapdata mode where pressing enter in the textfields would cause 2 dialogs to spawn instead of one.
- Updated tile types to be more accurate
- Changed map display to more accurately reflect ingame appearance
V0.2.2.1 (unreleased)
- Added pretty colours
- fixed a bug where the asterix wasn't showing up by map tabs that had been changed
- Added a splash page
- Added the ability to generate CMP and TRA commands via right-click
- (finally) added the "New Mod" option
- fixed a bug where "cancel" didn't work when closing the program and save prompt appears
- Pressing a letter while the TSC command list is selected will scroll to the first TSC command starting with that letter
- Added shortcuts for layer modes (alt + 1-4 to set active layer, alt + 6-9 to set visible layers)
- Added shortcuts for the draw mode (alt + d, f, r, e, c)
- Added a "Run Game" to the Action menu
- Added the Flag and <TRA list generator
- Added // comments to the TSC editor
- Added zoom shortcuts (ctrl-plus, ctrl-minus for map. Shift & the same keys does tileset)
- Can now open .pxm files without loading a whole project / exe thing (don't actually do this)
- Fixed a bug with the tileset undo related to layers, and one related to unusual source origins.
V0.2.0.0
- Added npc.tbl editor
- Made "Load" automatically snap to the most recent loaded directory
- Added warning when converting SW mods
- Added Javascript parser
- Added SFX list (.txt)
- Entity list can now be filtered by category (2xclick category lists)
- Added mostly-working undo/redo to entity editor
- Updated help files to compilation by JazzJackalope
V0.1.1.0
- Improved functionality to entity editor (entity attributes, list sorts)
- Improved TSC list by Jackalope & Lace
- Semi-functional hex patcher
- Added shift-dragging to entity editing screen
- minor performance fixes
V0.1.0.0
- (finally) implemented the Entity Editing interface, and the various components therof
- More centralized data storage (slightly smaller memory footprint)
- Dummied out the 'New' file menu option because it really doesn't do anything yet
- Fixed behaviour of in-window mapdata editor
- Various small optimizations
V0.0.5.2
- Changed backslashes \ to forwardslashes / for internal file paths to improve compatibility with OS that aren't windows.
V0.0.5.1
- True support for saving mapdata. This includes deleting (careful with this one), modifying, and adding maps. Should work on CS and CS+ with a CE, Sue's or Vanilla executable
- Fixed numerous bugs and added many more popup warnings that would have previously gone un-alerted (except maybe in console) leaving people potentially baffled
- Added an override for 2x editing .exe mods: add a file "32_override" to the directory where the editor is being launched.
- Added a dialogue to edit the mapdata without actually opening the map
- Checks for unsaved changes before closing tabs/the editor
- Fixed a bug where .pxa files weren't actually getting saved
- tons of internal refractoring to make it actually work
- Fixed the bug where the tileset tile selector's graphics got clipped if you set the tileset zoom above 1x
- Probably more but as usual I can't remember.
V0.0.4.0 -- I don't consider this to be a stable release, in that it has a high prob. of breaking your exe and/or files and/or spirit.
- If you open a mod that has been edited by Sue's Workshop then it will automatically be restored to sanctity. Well, not if you've already tried to replace resources in it. Ain't nobody can fix that.
- If you make changes to the mapdata then they will be preserved if you save the map.
- You get a warning if there are pending exe changes that haven't been saved, if you try to close the program. Still nothing for the maps themselves though.
- "Resize Map" now does something. I didn't really test this very well.
- You can delete maps but if you don't use the Save All button expect some... unintended consequences.
- More feedback when there is a failure on resource load (more as in not none)
- Fixed a bug where entities wouldn't follow the map's scale
- Some other small changes that I can never remember
V0.0.3.1
- Minor adjustments to the TSC lexer
- TSC files can now be saved
- Can switch between displaying defines and TSC commands
- Help window changed from a dialog to a frame
- Fixed a bug where popping out the tileset always made it open the tileset of the most recently opened map
- Changing the map name will now properly update the TSC tabs and map list
- All windows will remember their last position, assuming the program terminates gracefully. Delete "editor.rect" to restore defaults.
V0.0.3.0
- Added defines display to TSC window
- Added help system and a few tutorials
- Added "About" window
- Added "Actions" menu to menu bar
- Added "Help" menu to menu bar
- Script editor now resides exclusively in a seperate window
- Improved behaviour of dialogs (made them child to main window rather than free-floating)
- Added a "notes" thing for writing yer' notes
V0.0.2.0
- Script is now highlighted pretty and has the Command Ref on the side (but doesn't save)
- Mapdata tab has stuff in it now and that stuff makes changes to the map pane (but don't save)
- minor interface tweaks and improvements (I forget the other stuff)
V0.0.1.1
- Tileset window can be "popped out" (try double-clicks)
V0.0.1.0
- All tile draw modes are functional
- Tileset backdrop has a pattern effect and can be changed colour for maximum viewability
- Saving is possible (watch out!)
- Rearranged the positioning of some UI elements for better usability
- Shift map is implemented
- Undo/Redo is implemented
- Can load mods from CS+ (open stage.tbl)
- drag scrolling (shift-click-drag)
- Improved handling of opening tabs
- Tile types can be edited by right-clicking
- Display of entity sprites and names
- some more stuff??? ?
V0.0.0.2
- No longer "temporarily renames" files from pbm to bmp
- CE_Tiles.png now inside the jar
V0.0.0.1
- First release. Mostly Tiles perspective has been worked on; others are placeholders.
Assembly hacks wouldn't be cross-platform of course, but I could possibly include a dialogue to apply some common hacks. First I'm going to focus on getting the core functionality done before thinking about fancy things like that though.
From the screenshot you posted, I can see that it already looks like the makings of a very good editor. Hopefully, one day we'll have the ability to delete maps and actually be able to create new ones. I'd also jump for joy if we could make basic ASM hacks, such as modifying jump physics, within the editor.
Thank you, Noxid!
I think Cave Story is quite capable of giving you mental issues. Just look at some of our fine members on the forum.