Skip to content

kaimitai/skchain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

123 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Solomon's Keychain - An editor for Solomon's Key (NES)

Welcome to the Solomon's Keychain code repository and release page. The code is standard C++20, and the project files were created using Microsoft Visual Studio Community 2022. You can compile the application from source, or get the latest precompiled win-x64 distribution under the repository releases .
Make sure to read the included documentation (readme.html in the docs folder) for a detailed overview.


Editor Capabilities

The editor allows you to alter level data: Block layout, level enemies and items, as well as level metadata. Both the US, EU and JP-versions of the ROM are supported. In addition we support editing game metadata; Demon Mirror enemy drop sets and schedules. On top of this, we are able to expand the ROM to vastly exceed the original data size limits.

alt text

The editor will show level and game metadata information



The editor can save the edited levels as a patched ROM file (NES), or as a patch file (IPS). We also support our own xml format - which allows users to more easily compare file versions, use version control systems to track file history, and collaborate on level pack projects. One xml file will hold metadata changes, and the rest will represent each individual level.


Comprehensive configuration xml

The editor is in large parts defined by an external configuration xml. The default xml should be suitable for most users, but the config xml makes it possible to define the editor's graphics, element picker layout, element descriptions and more.


ROM map

The ROM map document contains all information I have gathered about the Solomon's Key ROM.


Version History

2023-02-04: v1.1

  • The rendering order of layers and elements depend on whether the ROM has been expanded or not. The editor should now correctly reflect the actual output in either case
  • Foreground rendering can be toggled on/off per layer (metadata, items and enemies)
  • Associate all items and enemies (including glitchy elements) with graphics and descriptions
  • Support for clearing all level data for a given level, to quickly provide a "blank canvas" for editing
  • The Demon Mirror Enemy Set editor interfaces will use the tileset of the currently loaded level when presenting the enemy graphics
  • Support for giving ROM region code as a command-line parameter, to override the automatic region deduction
  • Added a new section in the readme; technical documentation of the data layout of expanded ROMs

2023-01-27: v1.0

  • Added support for ROM expansion, to exceed the original size limits! (adds compatibility with skedit)
  • Added support for editing demon mirror drop rate schedules and enemy sets directly from the Selected Demon Mirror-window
  • Added support for drawing background blocks regardless of editing mode (using keyboard buttons 1-3)
  • Made it possible to hide all metadata elements (placing them at position (0, -1))
  • Added support for setting item/enemy code directly - among all possible codes - from the "Selected Element"-window
  • Can now turn off foreground rendering by holding keyboard button Escape

2023-01-23: v0.2

  • The application will now automatically deduce the ROM region (US/EU/JP) based on the input ROM-file, and load the corresponding configuration

2023-01-22: v0.1

  • Initial release, v0.1

About

Solomon's Keychain - Solomon's Key (NES) ROM editor

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors