Skip to content

0000#13

Merged
NBForgeLab merged 94 commits intoshadow-mangerfrom
master
Mar 16, 2026
Merged

0000#13
NBForgeLab merged 94 commits intoshadow-mangerfrom
master

Conversation

@NBForgeLab
Copy link
Owner

@NBForgeLab NBForgeLab commented Mar 16, 2026

4ian and others added 30 commits February 21, 2026 11:42
…D, 2D/3D or n/a) (4ian#8303)

Only show in developer changelog
- Removed the + button that was wrongly shown to add an instance variable (instance variables can only "override" the values of the variables defined in the object)
- Fix paste/delete a child of structure/array of a variable that is re-defined in instances variables. Previously it was not possible to paste a variable as a child of a instance variable that was a structure/array. This is now possible (and fully supported - you can't add new variables at the root, but items inside structures/arrays can be changed).
This updates the translations by downloading them from Crowdin and
compiling them for usage by the app.

Please double check the values in
`newIDE/app/src/locales/LocalesMetadata.js` to ensure the changes are
sensible.

Co-authored-by: 4ian <[email protected]>
…it (4ian#8319)

- For advanced use cases where it's important to run events on each instance of an object with an ordering, the For Each can now have an ordering: an expression can be written and will be evaluated for each instance separately. The For Each will then execute for each instance in the order of the result of the expression.
- It's possible to change the direction (ascending or descending)
- It's also possible to give a limit (for example, 1 will allow to pick just the instance with the highest/lowest value for the expression).
- Examples are provided in the UI for common use cases (maximum value of a variable, health points, ammo, distance to another object...)
Don't show in changelog
D8H and others added 26 commits March 11, 2026 16:20
Also fix an exception when importing a GDO file with an extension without a valid version number
Only show in developer changelog
This updates the translations by downloading them from Crowdin and
compiling them for usage by the app.

Please double check the values in
`newIDE/app/src/locales/LocalesMetadata.js` to ensure the changes are
sensible.

Co-authored-by: ClementPasteau <[email protected]>
Do not show in changelog
@coderabbitai
Copy link

coderabbitai bot commented Mar 16, 2026

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 17b6a4bb-b333-48a4-9dce-d6df7b6dc508

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch master
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Tip

You can enable review details to help with troubleshooting, context usage and more.

Enable the reviews.review_details setting to include review details such as the model used, the time taken for each step and more in the review comments.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 121980850a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

return Remove(name);
}
void RemoveEventsFunction(const gd::String& name) { return Remove(name); }
void ClearEventsFunctions() { return Clear(); }

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Clear folder tree when clearing events functions

ClearEventsFunctions now clears only the function storage, but the new rootFolder still keeps FunctionFolderOrFunction nodes pointing to the deleted EventsFunction objects. This leaves dangling pointers that are later dereferenced by folder serialization (SerializeFoldersTo), which is on the export path after ProjectStripper::StripProjectForExport calls ClearEventsFunctions; projects with event-based extensions can therefore crash or emit corrupted folder data during export.

Useful? React with 👍 / 👎.

@NBForgeLab NBForgeLab merged commit 7cd67bf into shadow-manger Mar 16, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants