Skip to content

Commit

Permalink
Final touches before release version 1.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Kai E. Frøland committed Feb 3, 2023
1 parent 96bbe53 commit 8a7e574
Show file tree
Hide file tree
Showing 8 changed files with 41 additions and 18 deletions.
Binary file modified docs/images/subwin03_level.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 21 additions & 2 deletions docs/readme.html
Expand Up @@ -3,7 +3,7 @@

<head>
<meta charset="UTF-8">
<title>Solomon's Keychain v1.1-snapshot - Documentation</title>
<title>Solomon's Keychain v1.1 - Documentation</title>
<link rel="stylesheet" href="style.css">
</head>

Expand Down Expand Up @@ -60,7 +60,7 @@

<hr>

<header>Solomon's Keychain v1.1-snapshot - Documentation</header>
<header>Solomon's Keychain v1.1 - Documentation</header>

<p>Thank you for checking out <a href="https://github.com/kaimitai/skchain/">Solomon's Keychain</a>. With this tool you will be able to alter the level data and game metadata for Solomon's Key (NES). We support altering the US, EU and JP versions of the game. The application also supports expanding the ROM to vastly increase data size.</p>

Expand All @@ -80,6 +80,8 @@

<p>The application can also be started from the command-line with path to a NES-file as parameter. This means you can drag and drop a ROM file on the application to immediately load the file, at least on Windows.</p>

<p>If a second command line parameter is given, it should be the region code for the rom; US, EU, JP or US66. The latter is a virtual region code signifying the ROM has been expanded, and no longer constitutes a vanilla hack.</p>

<p>When the editor starts successfully, it will tell you which NES-ROM file is loaded, which region the ROM belongs to, and which directory it uses as the working directory.</p>

<p>If the US-version of the ROM was loaded, it can be expanded to overcome data size limits.</p>
Expand Down Expand Up @@ -176,8 +178,14 @@
<li><b>Tileset</b> slider: Will set the level's tileset, out of 3 possible tilesets.</li>
<li><b>Time Decrease Rate</b> slider: Increase to make the level's time decrease faster in the game</li>
<li><b>Demonhead/Saramandor Lifetime</b> slider: Determines how long the spawned enemies will live before despawning. The higher the number, the longer they live</li>
</ul>

<ul>
<li><b>Clear Level Data</b> button: Removes all elements from the level, and turns it into a "blank canvas"</li>
<li><b>Remove constellation</b> button: Removes constellation from the level, if it has one</li>
<li>Checkboxes Grid, Meta, Items and Enemies: Toggles rendering of a given layer</li>
</ul>

<hr>

<p>The Selected Element-window will allow altering all properties of the selected element. This window will look different depending on which type of element is selected.</p>
Expand Down Expand Up @@ -293,6 +301,17 @@

<section class="main-section" id="changelog">

<header>2023-02-04: v1.1</header>
<ul>
<li>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</li>
<li>Foreground rendering can be toggled on/off per layer (metadata, items and enemies)</li>
<li>Associate all items and enemies (including glitchy elements) with graphics and descriptions</li>
<li> Support for clearing all level data for a given level, to quickly provide a "blank canvas" for editing</li>
<li>The Demon Mirror Enemy Set editor interfaces will use the tileset of the currently loaded level when presenting the enemy graphics</li>
<li>Support for giving ROM region code as a command-line parameter, to override the automatic region deduction</li>
<li>Added a new section in the readme; technical documentation of the data layout of expanded ROMs</li>
</ul>

<header>2023-01-27: v1.0</header>
<ul>
<li>Added support for ROM expansion, to exceed the original size limits! (adds compatibility with <a href="https://www.romhacking.net/utilities/906/">skedit</a>)</li>
Expand Down
22 changes: 9 additions & 13 deletions readme.md
Expand Up @@ -29,6 +29,15 @@ The [ROM map document](./docs/solomon's_key_rom_map.md) contains all information

### 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 <a href="https://www.romhacking.net/utilities/906/">skedit</a>)
* Added support for editing demon mirror drop rate schedules and enemy sets directly from the Selected Demon Mirror-window
Expand All @@ -42,16 +51,3 @@ The [ROM map document](./docs/solomon's_key_rom_map.md) contains all information

2023-01-22: v0.1
* Initial release, v0.1

<hr>

### Upcoming Changes in 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
* Support for clearing all level data for a given level, to quickly provide a "blank canvas" for editing
* Support for giving ROM region code as a command-line parameter, to override the automatic region deduction
* The Demon Mirror Enemy Set editor interfaces will use the tileset of the currently loaded level when presenting the enemy graphics
* 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
* Added a new section in the readme; technical documentation of the data layout of expanded ROMs

2 changes: 1 addition & 1 deletion skchain/skc_config.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!-- Configuration file for Solomon's Keychain (https://github.com/kaimitai/skchain) -->
<skchain app_version="1.0">
<skchain app_version="1.1">

<regions>
<!-- US66 is a virtual type; the expanded (mapper 66) version of the US-ROM -->
Expand Down
5 changes: 5 additions & 0 deletions skchain/source/SKC_Level.cpp
Expand Up @@ -499,6 +499,11 @@ void skc::Level::set_door_removed(void) {
m_fixed_door_pos = std::make_pair(-1, 0);
}

void skc::Level::set_right_wall(void) {
for (int j{ 0 }; j < c::LEVEL_H; ++j)
set_block(skc::Wall::White, std::make_pair(c::LEVEL_W - 1, j));
}

int skc::Level::get_item_count(void) const {
return static_cast<int>(m_items.size());
}
Expand Down
2 changes: 2 additions & 0 deletions skchain/source/SKC_Level.h
Expand Up @@ -142,6 +142,8 @@ namespace skc {

bool is_door_removed(void) const;
void set_door_removed(void);

void set_right_wall(void);
};

}
Expand Down
4 changes: 2 additions & 2 deletions skchain/source/skc_constants/Constants_application.h
Expand Up @@ -6,8 +6,8 @@
namespace skc {
namespace c {

constexpr char APP_VERSION[]{ "1.1-snapshot" };
constexpr char APP_TITLE[]{ "Solomon's Keychain v1.1-snapshot" };
constexpr char APP_VERSION[]{ "1.1" };
constexpr char APP_TITLE[]{ "Solomon's Keychain v1.1" };
constexpr int APP_W{ 1024 + 435 }, APP_H{ 768 };
constexpr char EDITOR_SIGNATURE[]{ "kaimitai@github " };

Expand Down
1 change: 1 addition & 0 deletions skchain/source/skc_windows/SKC_Main_window_ui.cpp
Expand Up @@ -107,6 +107,7 @@ void skc::SKC_Main_window::draw_ui_level_board(SKC_Config& p_config, const klib:

if (imgui::button("Clear Level Data", 2, "Clears the level. Hold Ctrl to use.") && l_ctrl) {
get_level() = skc::Level();
get_level().set_right_wall();
reset_selections(m_current_level);
}

Expand Down

0 comments on commit 8a7e574

Please sign in to comment.