Commit Graph

291 Commits

Author SHA1 Message Date
4eac146a8e Fix system Catch2 Detection
All checks were successful
buildbot/quartz-warriors-linux-podman-builder Build done.
buildbot/quartz-warriors-darwin-macos-builder Build done.
buildbot/quartz-warriors-freebsd-jail-builder Build done.
2023-12-09 17:06:07 -05:00
a7063178d1 Fix FreeBSD builds - add explicit dependency to pthreads via CMake Threads module 2023-12-06 21:16:17 -05:00
88cb968f42 Fix Linux build - use preprocessor define USE_BOST_STACKTRACER to activate/deactivate correct backtracing code on Linux 2023-12-06 20:47:21 -05:00
2936790fd9 Remove Automake cruft and stop game from crashing on start.
Close #149. Close #146
2023-12-06 19:43:08 -05:00
802372fb4a Consolidate framework-core+framework-system -> framework. Change qw-test binary to unit-tests. Improve comments 2023-12-06 17:09:00 -05:00
c27378d918 Fix Linux build, make framework's linked library dependencies PUBLIC in Cmake
Close #148 - now fully using Qt6
2023-12-06 16:11:36 -05:00
9731409631 Move to Qt6 to avoid build toolchain problems
Work #168
2023-12-06 15:54:52 -05:00
096108ce2f Attempt to add Qt5 support for object-editor
Work #144
2023-12-06 15:16:03 -05:00
c05bffe83e Complete migration of framework and unit tests to CMake.
Test results are more consistent and accurate now.

Work #144
2023-12-06 12:16:36 -05:00
08bb8f364a Begin to migrate framework-core and unit tests to cmake
Begin work #144
2023-12-06 12:16:19 -05:00
946473f20d Close #139 - Useful exception stack traces 2023-08-30 02:01:48 -04:00
2a54a47d03 Remove extraneous ) 2023-08-16 21:05:39 -04:00
07fa34dd36 Reformat code with clang-format's Webkit brace wrapping 2023-08-16 20:59:59 -04:00
202fbf2868 Add wrappers around exceptions to provide stacktraces.
Other changes:
- Get rid of #ifdef VIM_COMPLETION in template headers.
  They're no longer needed with modern clangd.
- Now check for C++20 in a standards-compliant and portable way instead of an
  AutoConf way

Work #139 - Useful exception stacktraces
2023-08-16 20:40:41 -04:00
cea1ec4589 Refactor backtrace function:generate strings instead of printing. 2023-08-11 14:25:22 -04:00
0131a0fbe6 Ensure correct default CFLAGS and CXXFLAGS for build variants.
Additional work for closed ticket #140
2023-08-11 14:24:06 -04:00
893bca9a89 Remove commented line in main() 2023-08-11 14:23:38 -04:00
894be2d5e2 Add a static ::GetInstance() method so framework objects can use the component registry
Close #143
2023-08-11 14:17:08 -04:00
4a8752b3d5 Updating PlayerBehavior class for simplified PhysicalProperties. (Work #135) 2023-08-11 14:12:22 -04:00
4dc363866c Improve build and add autoconf parameters.
- Debug builds now compiled with -O0 -ggdb  (Close #140)
- Add a configure option to enable ci-configuration in Automake. Remove
  Env variable (Close #141)
- Create a speedier vim-completion make target (Close #142)
- Clean up src/framework/Makefile.am and add PositionAttribute source code
  to build target.
2023-08-11 13:59:19 -04:00
b62083773f Refactor component classes and unit-tests.
PhysicalProperties.cpp: simplify class so its POD, no dictionary.
PlayerBehavior.cpp: Initialize and save references to other components in ctor

Work #105
Work #136
Work #137
Close #135
n constructor
2023-08-06 16:21:09 -04:00
146b1f2b7f Disable certain warnings at the file-level rather than build-level
Work #136
Close #137 - Remove IWYU pragma from headers
2023-08-01 23:43:07 -04:00
95af28c134 Make minor formatting changes to .am files 2023-07-16 12:28:16 -04:00
d4f15133d9 Remove spurrious #include for private STD library. Was added by accident, probably by clangd. 2023-07-16 12:26:06 -04:00
84f0e8e464 Fix unit test failures. 2023-07-16 12:00:48 -04:00
6448f411a9 Work #105 - Use clearer name for common test framework include folder
Additionally, remove obsolete test modules, and add unbuilt, defunct
modules to the build system's Makefile.am files.
2023-06-27 14:00:43 -04:00
67afeebd80 Restructure unit-tests and tag #include directives so clang-tidy stops complaining.
Delete unused unit tests for classes that no longer exist.

Work #105 - Reorganize unit test directory to match the rest of the
source
2023-06-27 12:52:10 -04:00
f8ac7e1c76 Exclude some header files from clang-tidy's include-what-you-use warnings 2023-06-26 20:53:18 -04:00
bb960dff1d Work #105 - Reorganized tests so they mirror the src/framework folder. 2023-06-26 20:17:48 -04:00
27ad19a549 Replace include guards with #pragma once. Remove guards from .cpp files
Close #130.
2023-06-23 14:31:29 -04:00
8a4a7f9807 Removing unneeded headers in PositionAttribute.hpp 2023-06-15 15:19:27 -04:00
75ddfcad71 Register new PhysicalProperties type in ComponentStore.
Update stale references in PlayerBehavior unit test.
Update PlayerBehavior unit tests so that they check for proper behavior.
2023-06-15 15:15:32 -04:00
2950f23b4d Protect EntityManager constructor, since it is a base class only. 2023-06-15 15:14:46 -04:00
2f0d961a92 Move state data out of PlayerBehavior and into PhysicalProperties
Work #132
2023-06-15 15:03:14 -04:00
cfe07118b4 Revamp serialization and integrate with the component base class & macros
Close #120: Re-implement serializatoin with nlohmann_json
Close #126: Metadata::to_json & from_json
Close #124: PlayerBehavior::to_json & from_json
Close #125: RenderedCircle::to_json & from_json
Close #129: Rename INonAssignable to INonCopyable
Work  #130: Replace include guards with old headers with #pragma once
2023-05-25 22:08:54 -04:00
2f2f748d37 Rename component serialization macros so they can be used with non-component structs and classes 2023-05-25 21:54:57 -04:00
760d097dad Close #128 - Remove clang-only pragmas 2023-05-04 22:05:32 -04:00
2989ee295c Implement PositionAttribute serialization & unit test.homebrew
WIP: PlayerBehavior serialization. Need Unit test.

Move src/framework/model to src/framework/core/components.
TODO: Need to revise individual test files.

Closes #123
Work #120, #124, #105
2023-05-04 22:05:32 -04:00
53203f2dd5 Update Qt5 search path 2023-05-04 22:05:28 -04:00
95ec0140bb EntityEditor can now save/load .json files and update form data.
Close #121
2023-04-30 22:06:08 -04:00
c604090020 Remove unused headers;fix formatting 2023-04-30 21:55:51 -04:00
96d92bbe23 Rework how ci scripts and convenience scripts are organized 2023-04-25 16:20:08 -04:00
396ef2e3e5 Fix automake circular dependency. Change unit test binary name. 2023-04-25 07:18:41 +00:00
e6a0c61efe Fix: libengine is now libframework 2023-04-25 02:58:30 -04:00
2836655294 add third-party libs to tests 2023-01-09 19:57:28 -05:00
9670ac80ec Rework the object-editor so it can display uncaught exceptions.
Added sublcass of QApplication, QwApplication, with a
::notify(QEvent*...) override

Closes #118
2022-07-06 23:58:49 -04:00
1d6fe805de Add ability to remove components in EntityEditor widget.
Close #117 again
2022-06-29 17:57:01 -04:00
1c5055140a Add component selection behavior to EntityEditor
Close #117
2022-06-28 21:20:36 -04:00
72e3938856 EntityEditor loads registered component names.
Close #116
2022-06-23 00:17:32 -04:00
8769c4d9db Proper QMdiSubWindow use in object-editor.
Close #113  - Properly uses QMdiSubWindow and a QWidget-derived
EntityEditor widget so that multiple documents can be opened at once in
the edtior.
2022-06-22 20:27:22 -04:00