OpenSiv3D icon indicating copy to clipboard operation
OpenSiv3D copied to clipboard

C++20 framework for creative coding 🎮🎨🎹 / Cross-platform support (Windows, macOS, Linux, and the Web)

Results 211 OpenSiv3D issues
Sort by recently updated
recently updated
newest added

`Script` に `Input::clearInput()` や `Periodic::Pulse0_1()` などの機能追加が反映されていません。 他にも追加されていない機能がありそうなのでその調査をすることと、それらを `Script` へ実装することを提案します。

Script

- https://github.com/ggerganov/whisper.cpp - あるいは OpenAI API https://platform.openai.com/docs/api-reference/audio

現在 `s3d::TOMLReader` で使っている [cpptoml](https://github.com/skystrife/cpptoml) は TOML v0.5.0 どまりで、メンテナンスが止まっている。 Siv3D には TOML の書き出し機能が無いので、新しく開発したい。 メンテナンスされている外部ライブラリを利用。 - 参考資料: https://twitter.com/ToruNiina/status/1539599118128910338 - toml11, toml++, tomlcpp などが候補

**追加する機能の内容 | Describe the solution you'd like** コマンドライン引数をパースする機能。 **その機能の追加によって解決する問題 | Is your feature request related to a problem? Please describe.** `GetCommandLineArgs()`は型が`Array&`になっているため、`main`関数の引数(`int argc, char **argv`)の形をそのまま取るような大半のコマンドライン引数解析ライブラリにそのまま渡すことができません。OpenSiv3Dでコマンドライン引数のパース機能を用意することで、`GetCommandLineArgs()`の返り値をそのまま渡して解析できれば、煩わしい型の変換を行わずに済みます。 また、コマンドラインオプションの解析は多くの場合メインの機能ではない一方で、ある程度大きなものを作ろうとするとほぼ必須になるという絶妙な立ち位置にいるため、OpenSiv3Dのような比較的大きなフレームワークに付属する機能として適切だと考えています。 **備考 | Additional context** boostのものをString型にしただけのラッパだけでも、あるとコマンドライン引数の取り回しが楽になると思います。...

proposal

**修正する機能の内容 | Describe the solution you'd like** 現在のParseIntの第二引数はデフォルト値が0ですがこれを10に変更します **修正によって解決する問題 | Is your feature request related to a problem? Please describe.** 現在のように0がデフォルト値だとユーザーから見た時「0基数」なのか「10進数の規定値が0」なのか誤解を生む虞があります。これを10にすることで10進数の変換が規定値であることを明示的にできます。 学習を始めたばかりのユーザーにとっては優しい修正になると思います。 **備考 | Additional context**

proposal
v0.8.0

**追加する機能の内容 | Describe the solution you'd like** 既存のCircleSensorに類似したLineSensorの実装を提案します。 CircleSensorが円での当たり判定を持っていたのに対し、LineSensorは線の当たり判定を持ちます。 **その機能の追加によって解決する問題 | Is your feature request related to a problem? Please describe.** 円では大きすぎたり小さすぎる当たり判定を線のような細い長い判定にすることで、2Dアクションゲーム等で武器を振る判定等が簡単に組めるようになります。 **備考 | Additional context**

v0.6.16

**追加する機能の内容 | Describe the solution you'd like** タスクバーに進捗状況のインジケーターを表示します。 **その機能の追加によって解決する問題 | Is your feature request related to a problem? Please describe.** 実行時間の長いタスク(ファイルのダウンロードなど)の進捗状況を、ユーザに伝えることができるようになります。 ウィンドウが隠れている状態でもユーザが進捗状況を確認できるようになるというメリットがあります。 **備考 | Additional context** [実装例(Windows)](https://gist.github.com/polyester-CTRL/1d508d6b14b9e63c04a0862c0a4b8cc8)

proposal
v0.6.x
v0.6.6

## 概要 `const`な`JSON`に対して、`access`/`operator[]`などでアクセスした後の`JSON`に書き込み出来てしまう、という話です。 https://twitter.com/tomosann_tomo/status/1634458572246638592?s=20 ## 状況 以下のような例を考えます。 ```cpp // auto の推論結果は JSON auto json = parent_json[U"key"]; ``` `const`な`JSON`に対する`access`/`operator[]`等では、返り値に`const JSON`が採用されています。しかしながら、その`const`は decay の発生によって失われてしまい、同時に、変数宣言での`auto`は推論規則から`JSON`に推論されるため、結局`const`性は失われることとなります。(この際に呼び出されるコンストラクタはムーブコンストラクタです。) ## 解決策 `access`/`operator[]`等の返り値を参照(`const JSON&`)等にするのが理想的な解決策ではありますが、実際の所、nlohmann_json をラップしているという現状ではそれを行うのは非常に難しいものとなってしまいます。 現実的には、`JSONDetail`で`const`性を保持しておく方針になるのではないかと思います。しかしながら、これでは折角の型システムを無視しており、型から`const`性がわからないという非常に問題な挙動となり、これもあまり良いものでは無いように思えます。

## 案 ```cpp # include // OpenSiv3D v0.6.6 template struct Smooth { public: using value_type = Type; SIV3D_NODISCARD_CXX20 Smooth() = default; SIV3D_NODISCARD_CXX20 constexpr Smooth(const value_type& value) noexcept : m_value{ value...

proposal

- reported by: https://discord.com/channels/443310697397354506/1000291580915232879/1065879901854507008 調査項目: - https://discord.com/channels/443310697397354506/1000291580915232879/1066363362688110693 - https://discord.com/channels/443310697397354506/1000291580915232879/1066364718064869387

Type: Bug
Platform: Windows Desktop