Commit Graph

479 Commits

Author SHA1 Message Date
7159f85821 Experimental branch for better component memory management 2021-11-04 00:49:40 -04:00
6eae36b9bc Close #30 - Eliminate the IFactory interface. 2021-11-03 23:46:19 -04:00
0f15ee14dd Fix #28: FreeBSD Builds work again. 2021-10-29 00:42:33 -04:00
5ab11da4ff Minor bugfix: make error_code union types heterogenous. 2021-10-29 00:33:57 -04:00
438a301798 Work #21 | Finished decoupling Position from PhysicsBehavior. 2021-10-28 02:32:37 -04:00
8d1738d174 Begin #21 | Implement IAttribute in PositionAttribute. 2021-10-28 00:18:16 -04:00
0ae59dd05c Close #22 - Rename ViewDataComponent -> SpriteAttribute 2021-10-25 23:32:13 -04:00
5dc12390d8 Adding missing virtual destructor for PositionAttribute 2021-10-24 22:10:09 -04:00
d83582a3c1 Close #6 - Unit Test ComponentPool class. 2021-10-24 22:09:12 -04:00
606c4e9c44 Close #7 again - Unit Test PositionAttribute
Test now verify that the Object responds correctly to all four
cardinal direction inputs.

TODO: Move this to some other static game structure that maps inputs to
command messages.
2021-10-24 19:44:00 -04:00
e224f17060 Close #7 | Basic Unit test for PositionAttribute
Close #25 | Fix: std::any initialization in Observable
Close #26 | Make Observable::Notify pure virtual.
Close #27 | build-debug.sh now compiles without optimizations in debug
          | mode
2021-10-22 01:12:06 -04:00
97f8529f41 Begin #7 - Created unit test files 2021-10-16 15:22:24 -04:00
e11d5170e7 Fix #23 Fix #24 Refactor: PositionAttr&IComponent
New: PositionAttribute.cpp. The header has been cleaned.
Moved: IComponent is in Core namespace. Updated references
2021-10-16 15:16:07 -04:00
da95f0bdef Close #20 - Rename PositionDataComponent -> PositionAttribute. 2021-10-16 14:11:55 -04:00
55545f3558 Close #19 - use std::unique_lock in threads 2021-10-12 20:57:06 -04:00
079472f199 Close #5 - Remove ComponentAllocator/rewrite ComponentPool.
## Overview
Eliminated risky memory management code in ComponentAllocator, and
replaced ComponentPool's IComponent vector store with
std::unordered_map.

## Additional Changes
- ComponentPool now exposes std::unordered_map::iterators.
- In QuartzWarriors, instead of iterating through all possible id_t
values in the update & render loops, instead iterate through existing std::pairs
in the std::unordered_map, and update those.

## Summary
This solves multiple problems at the same time.
2021-10-12 20:17:32 -04:00
a9870fedc8 Merge cc43366, e3191fc, and e9367a5 from devel 2021-10-12 18:35:53 -04:00
e9367a5c14 Close #17 - Standardize Copyright message & licensing 2021-10-12 18:14:04 -04:00
e3191fc517 Close #18 - Doxygen Docs CSS Theming 2021-10-12 18:04:42 -04:00
cc43366a90 Standardizing Copyright notices 2021-10-05 21:32:06 -04:00
32446f6c21 Close #8 - Unit-Test Model::ViewDataComponent 2021-08-24 12:49:50 -04:00
52f88a6f2d Closes #16 - build_debug.sh does make clean before building 2021-08-24 11:33:45 -04:00
a29e9fe784 close #9: Unit-Test SceneBase 2021-08-24 01:37:18 -04:00
df642b8e5b close #11: optimize bootstraps.sh for faster CI builds 2021-08-24 00:49:43 -04:00
f71d26cbe0 close #10: Test Simple2DScene 2021-08-24 00:20:25 -04:00
09f1302e8e fix: make include guards unique 2021-08-24 00:08:33 -04:00
20c054d944 Closes #12 - Reorganize Makefile.am variables & includes 2021-08-19 12:02:55 -04:00
097d321b94 Closes #4: Unit Test View::RenderedCircle 2021-08-16 21:54:25 -04:00
d873e71fca Closes #3 : Move EventDispatcher imp to a .cpp 2021-08-16 21:04:33 -04:00
22ad527d1e Closes #2: Unit Test Coverage for EventDispatcher 2021-08-12 16:05:29 -04:00
02b5870b00 Cleanup Observable class 2021-08-11 19:55:34 -04:00
d2caae8629 Close #1: Remove duplicate observers member that hid the observers base class list in EventDispatcher 2021-08-11 19:48:13 -04:00
e3dfa9abab CI Build uses ccache now 2021-08-11 03:14:43 -04:00
3422efa9cd Rename ProcessUserEvents -> ProcessSystemEvents 2021-08-02 23:54:57 -04:00
b43143fe95 Use Observable::RegisterObserver implementation for EventDispatcher 2021-07-13 11:02:01 -04:00
2c6684b857 Implement EventDispatcher.InitJoystick() test
- Remove redundant EventDispatcher.RegisterObserver- the implementation
  in Observable is good enough.
- Modify Dark Doxygen CSS theme font family.
2021-07-10 21:53:25 -04:00
0ead4b17c6 Remove .gitlab-ci.yml 2021-07-08 00:03:08 -04:00
a652592c4d Add scripts for buildbot CI to call from project root 2021-07-07 23:39:39 -04:00
4abe231cc4 Remove 'Hello World' test code 2021-07-07 23:06:31 -04:00
95dd075a31 Merge branch 'devel' into testing 2021-07-07 23:05:59 -04:00
ded3040232 Remove BASHism from build-debug.sh 2021-07-07 22:52:54 -04:00
00ad783640 Add Tim Majerle's Doxygen theme from github.
https://github.com/MaJerle/doxygen-dark-theme
2021-07-07 22:17:19 -04:00
240b0578c5 Add pthread check in configure.ac 2021-07-07 22:08:50 -04:00
f7f301f581 Fix: Use -> operator with thread pointer 2021-07-07 21:44:30 -04:00
475ab9d67d Test buildbot;remove pre-commit hook 2021-07-06 02:02:53 -04:00
89c44bc4f0 Test buildbot;remove pre-commit hook 2021-07-05 23:56:42 -04:00
5869953353 Improve stash handling & cleanup 2021-06-25 10:24:51 -04:00
e4ca2fc5b4 Experiment: symlink the newest CI workdir to .workdir/latest 2021-06-25 09:51:50 -04:00
c50b1b5cdf Finish:: Git pre-commit hook that runs unit tests.
pre-commit hook creates a .workdir folder in the project root and
a unique subdirectory, cleaned up daily. This should prevent
redundant ./configure calls, asw ell as provide clean environments regularly.
2021-06-25 00:53:47 -04:00
0a7c3e44f3 Fixing issue that made pre-commit hook 'crash' 2021-06-25 00:50:44 -04:00