OpenSiv3D
OpenSiv3D copied to clipboard
C++20 framework for creative coding 🎮🎨🎹 / Cross-platform support (Windows, macOS, Linux, and the Web)
- reported by: https://discord.com/channels/443310697397354506/998714158621147237/1166168651221708890
特定の状況で `LineString::calculateRoundBuffer()` から空の `Polygon` オブジェクトが返ります。 Polygon/PolygonDetail.cpp の [`s3d::detail::CalculateRoundBuffer()`](https://github.com/Siv3D/OpenSiv3D/blob/main/Siv3D/src/Siv3D/Polygon/PolygonDetail.cpp?ts=4#L1296-L1383) を覗いてみると、`PolygonFailureType::SelfIntersections` で `Polygon` の作成に失敗しているようです。 以下のコードで再現します。 ```c++ # include void Main() { const LineString lineString { Vec2{ 0, 85 }, Vec2{ 10, 18...
方針 - JSON.hpp 内で `` または `` をインクルードするようにする。 - 寿命の延長 https://github.com/Siv3D/OpenSiv3D/pull/1165#pullrequestreview-1798260860 を可能にする。 - Invalid 状態を廃止する(null として扱う)。
**追加する機能の内容 | Describe the solution you'd like** Vec2::normalized_or(Vec2 v) 正規化する。ゼロベクトルの場合はvを返す。 https://discord.com/channels/443310697397354506/999983621408567326/1177667355749400617 **その機能の追加によって解決する問題 | Is your feature request related to a problem? Please describe.** //今まで Vec2 dir = enemy_pos-player_pos; Vec2 n=dir.isZero()?Vec2{0,0}:dir.normalized();...
- reported by: https://discord.com/channels/443310697397354506/998714158621147237/1180776644852588646
#1112 を修正しました。
 `SimpleGUI::TextBox()` や `SimpleGUI::TextArea()` などで、入力文字列に異体字セレクタが含まれるとカーソルの位置と挿入・削除される文字の位置がずれることがあります。 異体字セレクタが含まれると UTF-32 での文字数と `Glyph` の数が一致しなくなるため、一致することを前提に設計されている `SimpleGUI::TextBox()` などの挙動がおかしくなります。 **検証用コード** ```c++ # include // Siv3D v0.6.12 void Main() { TextEditState textBoxState{ U"竈門禰󠄀豆子" }; TextAreaEditState textAreaState{ U"渡邉󠄂 渡邉󠄃...
## Visual Studio 2022 17.8 + Siv3D v0.6.12でのコンパイルエラーを消す手順 最新の Visual Studio 2022 17.8 で Siv3D v0.6.12 プロジェクトを「Debug ビルド」すると、非標準の関数を使っているという警告由来のエラーが生じます。マクロ定義を追加することで警告を抑制し、正常にビルドできます。 ### 原因 サードパーティライブラリ fmt の、Siv3D が同梱しているバージョンで非標準の関数が使われています。Visual Studio 2022 17.8 からは、特定のマクロを指定しない状態でそうした関数を使用したときに警告が出されるようになりました。 ### 手順...
- https://qiita.com/hamukun8686/items/9888d3f18dd33d56a7f6
 `SimpleGUI::TextBox()` のテキストにアイコンが含まれているとき、クリックした位置とカーソルの移動先がずれることがあります。 原因は、カーソルの移動先の計算をフォントのフォールバックありで計算しているのに対し、描画はフォールバックなしで行っていることです。 ちなみに、`SimpleGUI::TextArea()` ではカーソルの移動先の計算と描画をどちらもフォールバックなしで行っています。