Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add initial migration framework support * update files to have less then 100 characters * in progress work pushed for others to look at * Migration tool for Popochiu release. Change spaces to tabs Progress on formating code Refactor some code to make it cleaner Create migration scripts for new migration steps - Migration 2 is intended to update changes between beta 1 and beta 2 to beta 3. - Migration 3 is intended to update changes between beta 3 to 2.0 release. - **upd** Minor refactor of the PopochiuMigration class. Finish code for PopochiuMigration1 This allows to update the project structure and file/folder naming from versions prior to Beta 1. It also assigns the SimpleClick as the default GUI template. - **upd** Setup popup resizes each time a template button is clicked. Add PopochiuCharacter voices update Progress on making a Popup window to show the migration progress. Fix scene linking in Props created in alpha 1 Assign script for non clickable props (which didn't have one prior to beta 1). - **upd** Migration 1 also updates the radius of WalkableArea's Perimeter node. Update prop update task to store interaction polygon's polygon Refactor code to take into account Hotspots and Regions. Update props and hotspots in Migration 1 Finish migration of PopochiuRegion and PopochiuWalkableArea objects Replace calls to old methods in scripts. Add Migrations popup to show migration progress Closing the Migrations popup will restart the engine. Update InventoryItem root nodes to PascalCase Update visual style of Migrations popup. Finish Migration 1 with node additions to PopochiuCharacter Now this migration doesn't stops if the `res://popochiu/` folder doesn't exists in the project. - **fea** AnimationPlayer and ScalingPolygon nodes are added to PopochiuCharacter scenes if needed. - **upd** Refactor code to make it simplier and clearer. - **upd** Now MigrationTab shows the steps and the migration progress using CheckBox buttons instead of BBcode. Update the way migrations notify their steps completion Now a migration step can be completed as: FAILED, DONE or IGNORED - **upd** Ignored migration steps are rendered different in the Migrations dialog. - **fix** Check if a PopochiuProp or PopochiuHotspot has an InteractionPolygon or InteractionPolygon2 node before trying to store its `polygon` property. Progress on improving Migration 1 behavior for projects in beta Can run Migration 1 in projects made in beta-3 A new function was added to **PopochiuUtils** in order to perform an improved `Array.any()` that doesn't stops early. - **fix** Don't update `PopochiuClickable.interaction_polygon` value if the object already has a scene with an **InteractionPolygon** child. Start coding for Migration 2 Now the process of adding the ScalingPolygon node to PopochiuCharacters is done by Migration 2. - **upd** Rename Migrations to MigrationsPanel for better understanding. - **upd** Add comments to some functions in PopochiuMigrationHelper. - **upd** Add constants and sample code to popochiu_migration_template.gd. Fix on checking if migrations are needed The version in PopochiuMigrationHelper is no longer needed since we're gonna take into account the number of files (migrations) in the migration_files folder. - **upd** Migration 2 first step working. Make each migration to ask for an Engine reload Instead of assuming an Engine reload is required each time a Migration is executed, each Migration can set to `true` the `PopochiuMigrationHelper.is_reload_required` property in order to make the popup restart the Engine when clicking OK. Progress on fixing and improving Migration 1 Moving values from old popochiu_settings.tres to Project Settings will need extra steps since the PopochiuSettings script changed since beta-3. Fix PopochiuSettings issue for Migration 2 Migration 1 now iterates through all possible children of each group to obtain objects of that type, instead of assuming that each group only has children of its specific type (e.g., if there are props grouped within a node). Migration 2 deletes helper nodes in PopochiuClickables Update Migration 2 with changes done to SettingsBar In beta-3 the SettingsBar GUI component changed to improve how the text speed options are defined. - **fix** Ignore room objects that already have a scene and a script in the step that updates the room in Migration 1 so devs don't lose their changes. Add step to update DialogMenu component in Migration 2 Add code update step for deprecated properties and methods Add step to update properties from the old popochiu_settings.tres into InventoryBar and SettingsBar GUI components. Fix on deprecated camera functions replacement Calls to functions in PopochiuMainCamera changed their names compared to those used before in the **E** autoload. - **fix** On moving inventory items on start from old popochiu_settings.tres to Popochiu Project Settings. - **upd** Inventory items on start are now stored as an array of String in Project Settings. Create Markers scenes in Migration 1 Update Migrations process to be started by the user Instead of triggering the migrations automatically, the Migrations popup asks devs to start the migrations by pressing the Run migrations button. - **fix** Updating room objects wasn't working properly due to an issue in Godot when appending elements to an Array inside a Dictionary. Fix an issue found when running migration 2 in Alpha projects - **upd** Execution pauses in popochiu_plugin.gd if Migrations are required until dev run the migrations. - **fix** Other issues found when running migrations in alpha projects after adding Migration 2. Update Migration 1 and 2 related to PopochiuCharacter In Migration 1, now the "Sprite2D:texture" track is removed from AnimationPlayer nodes (something that affected characters imported from Aseprite prior Beta 1). In Migration 2 the coordinates of the **DialogPos** node are stored in the `dialog_pos` property before deleting the node. - **fix** Enable the Remove button in Room objects context menu in Room tab. Fix issue after snake_case renaming Changing file and folder names in the snake_case renaming process required to update the references to the new names inside .gd, .tscn, .tres, and .cfg files. Restore code that shows the confirmation dialog in Setup popup - **upd** Rename function to more descriptive name. Fix PopochiuDialog deletion (after refactor) Update Migration 2 to take into account the changes made to autoloads after refactor Fix setting PC character in Create character popup Improve visual feedback of migrations progress - **fix** Closing the Migrations tool popup doesn't stops the execution in `popochiu_plugin.gd`. * Remove not needed nodes in PopochiuRegion and PopochiuWalkableArea This is because in the release version these objects won't need a node in the room to define their InteractionPolygon and Perimeter nodes. - **upd** Remove the old DialogPos node in PopochiuCharacter and store its position in the new `@export var dialog_pos` property. * Add check for lacking nodes in room objects Ignore "graphic_interface" folder in code updates for Migration 1. * Fix for WalkableAreas not working until room save - **fix** Send `hint_string` parameter when creating settings in config.gd. - **upd** Minor refactor in **PopochiuWalkableArea** to avoid duplicated code. * Apply suggestions from code review Co-authored-by: Paolo Pustorino <[email protected]> * Make changes based in PR comments * Enable gizmos plugin when Popochiu dock is ready This happens only if the plugin is not already enabled. - **upd** Add comments to some functions with the help of Copilot. * Add lacking comments to Migration 2 functions * Check custom script in Room object If a room object created during migration has a script attached that is not in the "addons" folder, assume it is a custom script and copy its properties to the new instance of the object. * Add comments for better understanding Co-authored-by: Paolo Pustorino <[email protected]> * Fix getting custom vars in walkable area - **upd** Add a $Sprite2D check in PopochiuProp. - **upd** Set specific steps in Migration 1 to ask for an engine restart. * Fix polygon assignation when adding nodes to Walkable Area - **fix** Change code order to first assign custom script properties on Migration 1. * Move room objects update to Migration 2 - **upd** Add validation to ignore Migration 1 in project done since beta 1. --------- Co-authored-by: Anthony Irwin <[email protected]> Co-authored-by: Paolo Pustorino <[email protected]>
- Loading branch information