- π₯
Make the package names consistent (
8c25e97
)
- Add basic installation instructions (
97e989e
)
- π₯
try debian package (
977dfed
)
- π install espeak-ng-data files into vendor directory
Give up on using the programdata directory with local installs (d2fb481
)
-
π remove espeak-ng-data installation command (
b0bad6f
) -
π Try to fix release tag not being found (
1b90d3e
)
- π₯
Set up automatic releases (
4bd03c4
)
-
βΏ Try again to get the right commit (
382a1ec
) -
βΏ releases fix
- Try to fix incorrect version being packaged
- Try to fix windows failure (
867a826
)
-
Reset release to v0.0.0 (
7d42311
) -
Enable nektos/act for local workflow testing (#1)
Changes:
- Update unit test workflow to enable running with nektos/act
- Add nektos/act config file
- Always build CPack config (
220c8f3
)
- Add CTest module
Allows tests to be run in vscode (c9942d4
)
- Rename data directory variables
Using the term RELEASE is confusing in a CMAKE context.
Switch to PROD as suffix. (302aae6
)
- Incorrect installation path on Windows
This occurred on my laptop. Not sure if this is a setup dependent issue. (c05f675
)
-
Get the title right in the README (
8bbabd6
) -
Add badges to README (
153044c
) -
Add unit test to pull request (
47f52db
) -
Try to make gcov discovery more robust (
6ced223
) -
Improve coverage branching calculation (
6594510
) -
Use default llvm (
37bc08a
) -
Make llvm-15 available for coverage (
0f49347
) -
Try adding the --gcov-executable argument (
3b95338
) -
Don't install clang (
9c4848e
) -
Need to use poetry run to see gcovr (
b717e61
) -
Add gcovr to python dependencies (
9e847b3
) -
Set compiler explicitly and upload to codecov (
72ceaa4
) -
Try and generate coverage report in actions (
3f94702
) -
Fix typo (
9d2fd59
) -
Define seperate xml and html coverage targets (
6138c35
) -
Get coverage report working again (
5d39231
) -
Allow Clang for gcov generation (
3d8a835
) -
Try something else for less xvfb sketchiness (
77cab93
) -
Add unit tests to workflow (
fab4edf
) -
Define benign default for ResourceHolder
This should really be initialised dynamically. (9eff6b2
)
-
Try to build (
1b35af1
) -
Force directory to be created (
1d6aad2
) -
Try and fix missing directory error (
49d9f23
) -
Try again (
8c2af4b
) -
Wrong command (
c178285
) -
Add the configure step (
0e29e00
) -
Try compiler version 194 (
fe4f0c2
) -
Bump vs compiler version (
ca9b3b0
) -
Get msvc for windows (
4913316
) -
Test cache with minor changes (
773eec6
) -
Try to relax lock file requirements (
c4feca1
) -
Use the lockfile for cache (
d079618
) -
Go back to basic cache calculation (
6bfd570
) -
I forgot poetry run (
1bd13a4
) -
Fix section name (
bd79004
) -
Set the CC and CCX vars in conan profile (
a1d5237
) -
Try and force clang (
48a3f67
) -
Add build-essential (
e2d3722
) -
Fix incorrect package name (
66dc74b
) -
Install build dependencies (
07c2fac
) -
Use sudo (
5708f09
) -
Rename the profiles (
da7fa45
) -
Use the actual state of the cache for hash calculation (
ee1d0d1
) -
Retry profile setting (
4795bf2
) -
Check that poetry run works (
a4bd1de
) -
Add profiles for github actions (
6853d3f
) -
Try and install deps on github actions (
db3ebcf
) -
Stop forcing using of test directory for assets (
a84dd5a
) -
Avoid WinMain if not compiling on windows (
e21b943
) -
Stabilise innosetup AppID for upgrades (
aad233d
) -
Add icon for windows app (
560b9da
) -
Use windows entry point to avoid terminal window opening (
d5d826a
) -
Don't use ASSETS_DIR_RELEASE at runtime
Use LOUIS_DATA_PATH env variable or /usr/share/louis-work, similar to espeak (3268c5d
)
-
Define a format config and format on save (
c911265
) -
Asset directory root is above bin folder on windows (
7e857c5
) -
Need to be explicit with the ResourceHolder call (
899eb5c
) -
Don't add additional assets folder to release assets path (
82574dd
) -
Run minimized from start menu (
375eb98
) -
Minor change (
dd7e240
) -
Make the install a bit less insane (
4a18673
) -
Remove CMakeUserPresents.json from repo (
6da59e3
) -
First working windows package (
dc35736
) -
Don't use absolute paths in release logging config (
065d6c0
) -
Settings got resorted for some reason (
54abe55
) -
Fix logging on linux (
11e02f2
) -
Remove unused compiler flags (
c01b510
) -
Create general uninstall target (
ef8a369
) -
Get installation working on windows (
cc078b9
) -
Private linking for application (
ffda6e4
) -
Adjust for VSCode compatibility (
a06754d
) -
Remove old install script (
a8390d2
) -
Don't need the PIE flag (
0674a7b
) -
Confirm build in Linux (
4a16c78
) -
Get GTest working in windows (
c0f7da9
) -
Add poetry config for conan (
d7589f2
) -
Successful compilation on windows (
0169631
) -
Start refactoring for windows build (
6e97760
) -
Update README.md (
2427aa4
) -
Add some missing GPL and update README (
5c35cc7
) -
Apply GPL (
7bb367c
) -
Search subdirectories for assets and add licenses (
52722a1
) -
Move assets to type based folders (
bd39ba0
) -
Dump stacktrace on crash (
382ac21
) -
Increasing test coverage (
339513d
) -
Fix broken test (
cf3818d
) -
Improve control of logging in tests using default logger (
f0d8777
) -
Add specific states for restart handling and stop color repetition (
1921079
) -
Add key restart to singleletterdraw component
Also abort the scene on restart key press. (8caccf3
)
-
Add console logging accessed by cmd line flag (
931f791
) -
Add logging to file (linux only so far) (
9c57124
) -
Created RPM installer (
176ace0
) -
Add self delete to apple uninstall script (
51c5489
) -
Provide uninstall script for unix (
a052765
) -
Rename build script to install (
d6a0b4b
) -
Add linux desktop entry (
6e29c17
) -
Check build against espeak 1.50. Works OK. (
5ca14b6
) -
Imprve installation logic and other options (
e3e59e2
) -
Successful local install (
bfadf06
) -
Fix app name in help message (
ac77302
) -
Refactor asset path finding
When developing the louis executable should be called with the -x
flag to use the assets in the source tree. Otherwise the program
will look in the program data directory for the architecture. (d2655bd
)
-
99.9% coverage (
52a2423
) -
99.6% coverage (
3121e93
) -
Test color copying for special scenes (
3be79b4
) -
Working on test coverage (
165feba
) -
Tests building and passing. Need to check coverage. (
4df6a80
) -
Added scene restart based on service state (
b73a103
) -
Add restart with enter with typewriter component. (
4cfc8a9
) -
Add different colors to scenes. (
7bcdf80
) -
Use random selection in scene factory (
919f5cf
) -
Increase volume of espeak voice (
d4ae8b2
) -
Allow setting of special words at Game construction (
170d330
) -
99.9% coverage (
b2b49e4
) -
Fix tests and add coverage (
a1d1216
) -
Remove some unused imports (
e7ec821
) -
Use target for polymorphic_value include dirs (
99b8379
) -
Tidy up cmake files (
f6b3cc3
) -
Allow copying of Game object
Copying of the game object is useful for tests that require the game to be in a particular state that takes some time to reach. By moving to that state once and then copying, test times can be reduced.
Copying the game required copying of a number of other objects that relied on polymorphism with unique_ptr. To avoid the clone pattern for copying unique_ptr (and multiple methods for different base classes), a number of unique_ptrs are changed to polymorphic_value types that support copying out of the box.
The main program is currently working, but the tests have yet to
be updated. (8bea897
)
-
Use a shared pointer for window as not copyable (
ed78987
) -
Implement copy and move on all component classes (
cdb6e05
) -
Start implementing rule of 5 for game copy. (
2927cfd
) -
Start testing special state (
a2fda9e
) -
Improving test coverage (
6a83c6d
) -
Tests passing (
204cfee
) -
Implememt special sound component and extend words (
9a48215
) -
Add unified draw component for special cases (
e994b80
) -
Add sound to louis special and fix restart with abort component method. (
4570107
) -
Initial implementation of special state.
Need to think about state restart after going back to start screen.
Also need a better way to do something like flashing the text. (0433807
)
-
Tests passing again (
7f655ea
) -
Use stack of scenes to allow swapping.
Builds and runs but tests are not passing. (a51e32c
)
-
Get tests passing again (
2f69fb7
) -
Debug all components and scene. (
87e0d9e
) -
Trying to make single component calling template. (
b77a525
) -
Debugging each component individually.
Need to think if another method for first entry into a component
is required. (e891dbe
)
- Use single interface for components and scene
Drawing and sound components and the scene now use the same Component interface. This removes a level of obscurity in the game logic where either a single component or a more complex scene can be run through the game loop.
Building and not crashing but functionality has currently
regressed for the typewriter spoken scene. (66b0db3
)
-
Everything is working but the logic is a mess. (
9466ded
) -
Enable wrapping (
c8469bd
) -
Implement type writer style drawing (
d544f02
) -
Full coverage (
a0fbee4
) -
Switch to service providing references rather than pointers (
159ae46
) -
Add tests for LetterSound (
7809851
) -
Tests passing again (
be0b372
) -
Implement replay on letter sound (
ef045fc
) -
Prove reuse of SingleLetterDraw and SirenSound (
c694c6e
) -
Use service to instantiate components (
d1c8225
) -
Rename Command to Scene and reconfigure Component classes
Moving to a component configuration where multiple components can be added to a Scene. The Scene class replaces the Command class as the scope of the Command class was too great to be a pure command. Might reintroduce later to modify scenes.
Note that the siren sound is not working and that tests are
failing (but still building). (5b6ef86
)
-
Added letter sound as component (
126a3fe
) -
Add espeak-ng asvendor code and test in main (
1f74a67
) -
100% line coverage (
af2b7da
) -
Add test of base State implementation (
980af26
) -
Increasing test coverage (
7d634b7
) -
Add target for cleaning before coverage (
f8c71c9
) -
Reorder CMake file for correct flag setting (
8a55cc2
) -
Improving test coverage (
6c89e4a
) -
Remove adapters and app from coverage (
189bdfb
) -
Reduce dependency on Game object using Service interface
Also moved static states into their own class called StateHolder (99b70c0
)
-
Add test coverage report (
2d5e90b
) -
Remove attempt to get coverage (
86674ee
) -
Fix update and stopping logic in commands and components
Also test audio start stopping in draw and play states (82ae853
)
-
Fix event order and delay in tests (
18e3a49
) -
Reinstigate tests (
83c86d1
) -
Use components to encapsulate commands
Added the DrawComponent and SoundComponent classes to encapsulate differences in drawing and sounds in Command classes. Note that Command is no longer abstract and implements the order of drawing and sounds.
Also made first attempt at selection of commands in the factory. (bb5d53c
)
-
Add factory to game (
2369c71
) -
Add Command Factory (Needs Inclusion into Game)
Add factory for producing Command subclasses. Requires a Sound subclass type, which will allow for mocking sound in tests. Sound and draw commands have been recombined for now. Ideally the drawing and sounds would use some kind of entity pattern in the future.
Need to add factory into the Game class and fix the play state. (471eb29
)
-
Enable event stack in testing (
106bc85
) -
Add interface to RenderWindow and test
Allows testing of the Game class so that state transitions can
be tested. Had to catch ctrl-c as keypress event to be able to
fake exit of loop. (bbb1811
)
-
Move to resource holder for fonts and sounds (
baa7a30
) -
Add formal gtest suite (
8cb3c95
) -
Add ResourceHolder class
Added a class for holding resources such as fonts and a sandbox for testing it out in the test folder. This should be converted to proper tests.
Still need to move the main code to use the resource holder. (d8b4e96
)
-
Move sound buffer to Game (
d260607
) -
Make build deps private (
01a3049
) -
Better name for loading function (
2130af8
) -
Change loading from file to template function (
2cebdeb
) -
Use single fot in Game to avoid exit crash (
5f8740e
) -
Draw after playing sound. (
eb96480
) -
Minor changes (
8ce7f73
) -
Add Stop method for Command and play sound (
6e311fa
) -
Tidy up a little (
40103ca
) -
Add subdirectories for stages and commands (
78fe777
) -
Add draw and wait states. Add clock to command. (
78c0f72
) -
Add first attempt at letter display (
734aeb1
) -
Add rough frame rate limit on game loop (
54e7b97
) -
Tidy up start screen instructions (
3e0d88f
) -
Handle textentered events rather than keypressed (
7194c45
) -
Use enter method rather than update. (
b3652fa
) -
Add files missing from last commit (
5aeab3c
) -
Move main code into Game class and get state changing working (
fbf0c73
) -
Hide KDevelop and autogen files (
4348f0e
) -
Initial import of louis' work game code (
1204402
) -
Initial commit (
d2d9b41
)