Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from mapeditor:master #19

Merged
merged 203 commits into from
Dec 3, 2024
Merged

Conversation

pull[bot]
Copy link

@pull pull bot commented Jan 12, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

bjorn and others added 7 commits November 6, 2023 11:59
Previously, embedded images were only supported per-tile. Due to the
recent change to use sub-rects rather than physically cutting up the
tileset, when you called Tileset.loadFromImage(image), the entire
tileset image would get duplicated for each tile.

Now the image is embedded once at the tileset level instead.

Also, the Tileset.margin and Tileset.tileSpacing properties are now
writable in the scripting API.

Addresses part of #3630.
Unified the writing of "image" elements between tilesets, tiles and
image layers, and made sure that embedding of images is supported
everywhere.

It is still only possible to create an embedded image through the
scripting API, by setting an image without specifying its source.
… or more worlds are loaded

expose world related signals to scripting
expose loading, unloading, accessing worlds to scripting
Should use QSGGeometry::DrawTriangles to be graphics API agnostic.
Tiled can actually be compiled without OpenGL if QT_NO_OPENGL is
defined, so it might suffice to just mark this as not required.
@pull pull bot added the ⤵️ pull label Jan 12, 2024
bjorn and others added 22 commits January 12, 2024 11:10
This also reverts part of e73245b. The
drift was the result of rounding rather than of not taking the viewport
position into account, which is not necessary.

Closes #3863
For example, when switching away from a project while having a scripted
tool selected, the roaming MapEditor::mSelectedTool pointer could end up
being referenced in MapEditor::setCurrentDocument, causing a crash.
These allow exporting animated maps as multiple numbered images, which
can be combined into a GIF or other format using another tool.

The --advance-animations parameter stays for compatibility, and
determines the time of the first exported frame, whereas
--frame-duration determines the time between each frame.
This generally doesn't speed up the process much, since saving the PNGs
is often the slowest bit, but it could matter when rendering many frames
of huge maps.

In case of rendering a world things are more complicated, so for now the
maps are still loaded repeatedly.
In response to issue: "git checkout HEAD^2 is no longer necessary.
Please remove this step as Code Scanning recommends analyzing the merge
commit for best results."
This allows the --export-map and --export-tileset parameters to use file
formats defined by extensions in the project, and also enables handling
of custom types.

Closes #3797
This also makes sure the UI adjusts immediately to the changes, since
the WorldManager::worldsChanged signal is emitted.

Also added some checks on the function parameters.
At least as it stands, this class is only relevant in the editor. The
world load and save functions, previously part of WorldManager, are now
part of World.
This way we don't need the ScriptWorld class.

Now a worlds can in theory get custom properties assigned to it. In
practice, you can only do this through the scripting API for now, and
these properties currently do not get saved (though that should be easy
to add).
Now QVector<WorldMapEntry> and QVector<WorldPattern> can be exposed to
JS directly. This only works with Qt 6 (tested with 5.15, 6.5 and 6.6),
but I don't think it's worth supporting these properties for Qt 5
builds.

Also removed World.displayName, since I think this was just a
convenience member which isn't very useful to add to the scripting API.
In the end it was just returning the file name part of the path returned
by World.fileName.

Improved the documentation in a few places.
No need for slots when they just emit the signal with the same
parameter.
bjorn and others added 29 commits October 7, 2024 13:36
Because it reported:

    you may only define one of `paths` and `paths-ignore` for a single event

Unfortunately it had not said anything about that on the pull request,
but apparently changes in paths are ignored for pull requests.

It's also quite annoying that this doesn't work...
Use requirements.txt for installing docs dependencies.
Using the QT_VERSION_CHECK macro as value for the
QT_DISABLE_DEPRECATED_BEFORE define is causing issues since Qt 6.8, for
example when QByteArray is included without first explicitly including
QtGlobal.
Much better than manually patching up layout.html.
The "current tile" was not being restored correctly after switching
maps, when another type of object had been focused (for example due to
switching layers or placing objects).

Now we just restore the current tile based on the selection in the
currently selected tileset. Preferring the current object was
inconsistent with the stamp behavior and felt confusing.

Also, avoid changing the current object when switching maps or tilesets.

Closes #3497
Closes #3681
This one is included through the sphinx-docsearch extension now.
Due to the tinting being applied to the entire tileset image, the 100 MB
cache could easily be exhausted. This could result in the entire tileset
image getting copied and tinted for each tile that is drawn.

Now only the relevant sub-rect is tinted and cached, which avoids doing
needless tinting and has a much better performance even when the cache
is not large enough.
The actions/create-release action has been deprecated for a long time
and now no longer appears to work. I've replaced it with
softprops/action-gh-release.

While the new release action conveniently enables uploading all files in
one go, it does not allow renaming the them. I took the opportunity to
change the original artifacts to the desired final name, including the
Tiled version and the compatible OS version.

Closes #3596
The changes mostly enable downloading the WebAssembly build of Qt.
Also fix the ability to install openssl, since it seems only OpenSSLv3
is still available.
Removed downloading of OpenSSL since version 1.1.1 is no longer
available. We don't need a more recent version due to using the schannel
backend since Qt 6.2.

Also updated the Windows builds to MinGW 13.1.0, matching this version
of Qt.
Also, my editor decided to reformat the entire file, but it looks nice
and consistent so I'll go with it.
When loading of a tileset image fails, it doesn't necessarily mean the
file wasn't found.
* add transformationFlags property to EditableTileset
* expose enum options for transformationFlags on EditableTileset, update scripting doc
* add since tag to scripting doc, fix spacing
* Updated NEWS.md

Closes #3753

---------

Co-authored-by: Thorbjørn Lindeijer <[email protected]>
By request from author.
Bumps [ammaraskar/sphinx-action](https://github.com/ammaraskar/sphinx-action) from 8.0.2 to 8.1.3.
- [Release notes](https://github.com/ammaraskar/sphinx-action/releases)
- [Commits](ammaraskar/sphinx-action@8.0.2...8.1.3)

---
updated-dependencies:
- dependency-name: ammaraskar/sphinx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
While trying to publish to jsr.io, it reports:

    error[syntax-error]: 'eval' and 'arguments' cannot be used as a binding identifier in strict mode
Replaced install-qt.sh with aqtinstall, since aqtinstall has already 
been patched to be able to install Qt 6.8.1. It appears to require
reading a destination path from an XML file, which is getting a bit much
for a shell script.

The Qt 6 AppImage builds are now done on Ubuntu 22.04, since the latest 
aqtinstall needed a more recent Python version. This required installing
libfuse2 explicitly, to allow the linuxdeploy AppImage to run.

The Qt 5 AppImage is now being built by Qbs 1.13. This is the oldest 
supported version of Qbs so it's good as additional test case.
@pull pull bot merged commit 8e81703 into l3dlp-sandbox:master Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.