Skip to content

Rebase onto dev#22

Open
i8degrees wants to merge 490 commits into
feature/AudioEnginefrom
dev
Open

Rebase onto dev#22
i8degrees wants to merge 490 commits into
feature/AudioEnginefrom
dev

Conversation

@i8degrees

Copy link
Copy Markdown
Owner

Review and merge

i8degrees and others added 30 commits April 14, 2026 00:32
You've gotta love the fact that MSVCPP barfs errors when building
nom::err :-D
(Missing header file)
This is the local configuration used on windev.local.
The game controller database is now distributed with the common
shared engine resource files.
* Collapse separate handling of NOMLIB_DEPS_PREFIX and
ENV{NOMLIB_DEPS_PREFIX} to one internal var (NOMLIB_DEPS_ROOT)
by appending them at script init, instead of treating the two
vars separately. This helps prevent us from accidentally modifying
the input vars and potentially passing unexpected results back to the
end-user of this module.

* Add validation checks for path existence of the deps prefix before
continuing; this takes the burden off of the end-user of this module.
This is my local build script for generating the library
files that are distributed with nomlib's third-party
package.

See also: https://sourceforge.net/projects/nomlib/files/osx/
* Clean up macro checks for Mac OSX and Linux
* Add NOM_PLATFORM_BSD preprocessor definition when FreeBSD, NetBSD,
OpenBSD, DragonFly or bsdi platforms are detected.

* Remove NOM_PLATFORM_UNIX definition; the existing NOM_PLATFORM_POSIX
definition suffices.

* Introduce PlatformSpec struct && platform_info getter function; this
lets us query general platform specs at run-time.
This resolves build errs that result when using nom::Point3f
internally.
Reroute err handling output through NOM_LOG_MESSAGE facilities.

* Add AL_CHECK_ERR_VOID() macro
This resolves all but one err message in ALAudioTest. In addition, audio
volume levels are now normalized upon setting and de-normalized upon
getting (effects Listener and SoundSource).

* Listener: Rename functions.
* Listener: Add max_volume, min_volume functions.
* Fix Listener::set_direction function by adding two Point3f arguments;
this resolves OpenAL errs related to Listener when running ALAudioTest.

* NullSoundSource: ::volume now returns 100.0f, was 0.0f; this matches
the OpenAL implementation.
* NullSoundBuffer: ::load now returns true.

* AudioDevice: Add err checks.

* Remove ::fadeOut functions; the logic of the function now exists
solely in the audio example (and is due to be replaced eventually by
the actions subsystem).

* audio example now accepts command line arguments for changing the
input audio file and testing the playback out with both the null and
music interfaces.
i8degrees added 30 commits July 18, 2026 22:59
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
We had typo'ed the CMAKE_OSX_ARCHITECTURES using shell brackets instead
of {} for the var.
CMake version 4.4.x is known to break our MacOSX builds, due to an
alleged violation of our use of public headers against framework
bundles. No workaround is known -- stay away from using CMake 4.4.x
- `CMakePresets.json` Do not default to using `ccache` or `distcc`
- Remove multi-window support
- Replace `CXX_STANDARD` target properties with modern
  `target_compile_features` (should produce equivalent compile flags)

- Activation of the feature recently added at
  `cmake/CompilerWarnings.cmake` is now active for all library targets,
  including `nomlib-unit-test` and `nomlib-visual-unit-test`.

- The recently introduced `WARNINGS_AS_ERRORS` option is now set to FALSE
Unfortunately, `xcodebuild` still demands that we give it an
actual code sign identity. Therefore, building nomlib using
the Xcode generator is only supported when both tests and
examples are turned off.
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
- tweak cmake presets
- README.md
  * Remove broken build badge  link
- .gitignore
  * Add `build./*` to ignore filter

New cmake modules:

- add cmake/modules/vcpkg.cmake
- add cmake/modules/PkgConfig.cmake
  * nomlib.pc.in template generates nomlib.pc
- cmake/modules/nomlib-config.cmake
  * init NOM_PLATFORM_POSIX when platform is Linux
- bin/archive-deps.sh
  * Add comment
- Remove `BUILD_UNIVERSAL` option and branches in favor of
using the value set by the end-user for `CMAKE_OSX_ARCHITECTURES`,
i.e.: `x86_64;arm64` for universal mach-o binary.

- Update our CMake presets
I choose to remove the (redundant) MD5 checksums from our
configuration as the path is never executed and I am aware
of at least two checksums that are out-of-date as it is.
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.

1 participant