diff --git a/CHANGELOG.md b/CHANGELOG.md index 13db9ff2..cb19c2fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ The **"Breaking Changes"** listed below are changes that have been made in the d - Add an editor window under `Options -> Project Settings...` to customize the project-specific settings in `porymap.project.cfg` and `porymap.user.cfg`. - Add an editor window under `Options -> Custom Scripts...` for Porymap's API scripts. - Add an `Open Recent Project` menu -- Add a warning to warp events if they're on an incomaptible metatile behavior. +- Add a warning to warp events if they're on an incompatible metatile behavior. - Add settings for custom images, including the collision graphics, default event icons, and pokémon icons. - Add settings to override any symbol or macro names Porymap expects to find. - Add a zoom slider to the Collision tab. @@ -21,14 +21,14 @@ The **"Breaking Changes"** listed below are changes that have been made in the d ### Changed - `Script` dropdowns now include scripts from the current map's scripts file. -- Encouter Rate now defaults to the most commonly used value, rather than 0. +- Encounter Rate now defaults to the most commonly used value, rather than 0. - The Collision tab now allows selection of any valid elevation/collision value. - The Palette Editor now remembers the Bit Depth setting. - The min/max levels on the Wild Pokémon tab will now adjust automatically if they invalidate each other. - If the recent project directory doesn't exist Porymap will open an empty project instead of failing with a misleading error message. - Settings under `Options` were relocated either to the `Preferences` window or `Options -> Project Settings`. - Secret Base and Weather Trigger events are automatically disabled if their respective constants files fail to parse, instead of not opening the project. -- If a Pokémon icon fails to load Porymap will attempt to predict its filepath. If this also fails it will appear with a placeholder icon, and won't disppear when edited. +- If a Pokémon icon fails to load Porymap will attempt to predict its filepath. If this also fails it will appear with a placeholder icon, and won't disappear when edited. - The bits in metatile attribute masks are now allowed to be non-contiguous. - Porymap will now attempt to read metatile attribute masks from the project. diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2028f5b6..94b6937e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -2777,15 +2777,14 @@ void MainWindow::on_actionProject_Settings_triggered() { } void MainWindow::onWarpBehaviorWarningClicked() { - static const QString text = QString( - "By default, Warp Events only function as exits if they're positioned on a metatile " - "whose Metatile Behavior is treated specially in your project's code." - ); + static const QString text = QString("Warp Events only function as exits on certain metatiles"); static const QString informative = QString( "

" - "For instance, most floor metatiles in a cave have the behavior MB_CAVE, but the floor space in front of an " - "exit will have MB_SOUTH_ARROW_WARP, which is treated specially and will allow a Warp Event to warp the player. " - "You can see in the status bar what behavior a metatile has when you mouse over it, or by selecting it in the Tileset Editor." + "For instance, most floor metatiles in a cave have the metatile behavior MB_CAVE, but the floor space in front of an exit " + "will have MB_SOUTH_ARROW_WARP, which is treated specially in your project's code to allow a Warp Event to warp the player. " + "

" + "You can see in the status bar what behavior a metatile has when you mouse over it, or by selecting it in the Tileset Editor. " + "The warning will disappear when the warp is positioned on a metatile with a behavior known to allow warps." "

" "Note: Not all Warp Events that show this warning are incorrect! For example some warps may function " "as a 1-way entrance, and others may have the metatile underneath them changed programmatically." diff --git a/src/ui/customscriptseditor.cpp b/src/ui/customscriptseditor.cpp index 1e72d268..31e2ad7a 100644 --- a/src/ui/customscriptseditor.cpp +++ b/src/ui/customscriptseditor.cpp @@ -244,6 +244,7 @@ void CustomScriptsEditor::refreshScripts() { return; this->save(); } + QToolTip::showText(ui->button_RefreshScripts->mapToGlobal(QPoint(0, 0)), "Refreshed!"); emit reloadScriptEngine(); } diff --git a/src/ui/projectsettingseditor.cpp b/src/ui/projectsettingseditor.cpp index 0d9f2aff..44d4b80b 100644 --- a/src/ui/projectsettingseditor.cpp +++ b/src/ui/projectsettingseditor.cpp @@ -609,11 +609,10 @@ QString ProjectSettingsEditor::stripProjectDir(QString s) { void ProjectSettingsEditor::importDefaultPrefabsClicked(bool) { // If the prompt is accepted the prefabs file will be created and its filepath will be saved in the config. - // No need to set hasUnsavedChanges here. BaseGameVersion version = projectConfig.stringToBaseGameVersion(ui->comboBox_BaseGameVersion->currentText()); if (prefab.tryImportDefaultPrefabs(this, version, ui->lineEdit_PrefabsPath->text())) { ui->lineEdit_PrefabsPath->setText(projectConfig.getPrefabFilepath()); // Refresh with new filepath - this->projectNeedsReload = true; + this->hasUnsavedChanges = true; } }