Application Context Implementation #4

Closed
kayomn wants to merge 93 commits from event-loop-dev into main

93 Commits

Author SHA1 Message Date
kayomn 47a997b0ec Implement loading of Oar archive entry-backed files
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-11-07 23:51:45 +00:00
kayomn 4f0224a029 Fix documentation / tidy up code
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-11-04 10:38:37 +00:00
kayomn 4bb86c41bc Add more test coverage and clean up code
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-11-03 15:53:36 +00:00
kayomn 9251b11427 Auto-switch to debug console when debugging in VS Code 2022-11-03 15:51:42 +00:00
kayomn 14b3921001 Add fixed stack-backed allocator implementation
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-11-02 17:45:17 +00:00
kayomn fcd4ecd85d Refactor dynamic memory allocation interface
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-11-02 15:15:18 +00:00
kayomn 2e544393a5 Simplify programming interface for creating closureless Functions 2022-11-02 13:11:17 +00:00
kayomn eb4a758251 Make Function closures only accept a pointer context 2022-11-02 11:27:10 +00:00
kayomn d49608f7bb Initial work on allocator replacement
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-11-02 10:04:37 +00:00
kayomn cfd3e85021 Tidy up IO code 2022-11-01 22:57:25 +00:00
kayomn 14e5e18228 Fix implementation of findFirstOf and Spliterator 2022-11-01 22:25:19 +00:00
kayomn dd81ae76ec Fix formatting of system-level code in Ona module 2022-11-01 22:22:29 +00:00
kayomn 595ad83cdd Fix incorrect test binary path in Drone CI
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-11-01 16:11:44 +00:00
kayomn 40f2e869ac Fix incorrect Alpine SDL2 dependency being used in Drone CI
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-11-01 16:10:15 +00:00
kayomn f8bfecc983 Add Alpine SDL2 to Drone CI dependencies
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-11-01 16:09:04 +00:00
kayomn a401de3bae Add Alpine build-base dependency to Drone CI
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-11-01 16:07:13 +00:00
kayomn 342d296bfd Add libc-dev dependency in Drone CI script
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-11-01 15:26:18 +00:00
kayomn b9c41971ee Add Musl to drone CI script
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-11-01 15:14:53 +00:00
kayomn 1773a04e52 Update drone CI script
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-11-01 15:11:24 +00:00
kayomn e95c754d62 Refactor Oar implementation
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-11-01 15:08:10 +00:00
kayomn f3426ef691 Change maxInt to return a comptime_int 2022-11-01 15:07:40 +00:00
kayomn ac95993a4b Tidy up core package code and comments
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-10-30 22:07:36 +00:00
kayomn a07b56d2d5 Update tests file 2022-10-30 22:07:09 +00:00
kayomn 35de8cf2ae Tidy up build configurations 2022-10-30 22:06:56 +00:00
kayomn 14397b05e3 Update build script 2022-10-27 16:51:49 +01:00
kayomn 5a913ef0f8 Remove Oar as a dedicated module 2022-10-27 16:51:34 +01:00
kayomn b4816a34f6 Add additional memory utils to core module 2022-10-27 16:51:11 +01:00
kayomn 7599ce61f2 Initial work merging Oar into Ona itself
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-10-26 18:09:59 +01:00
kayomn 32b18e4ebf Plan out archive API and use in Oar tool program
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-25 17:33:00 +01:00
kayomn bc5b69ac05 Add test install location to VS code debug config
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-25 13:19:56 +01:00
kayomn 8ab80f07b8 Add install step to tests in build script
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-25 01:02:18 +01:00
kayomn 7c5dcc1cde Fix typo in OAR unit test 2022-10-25 01:02:01 +01:00
kayomn 90f503f7c0 More work on OAR packing utility
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-10-25 00:40:14 +01:00
kayomn a2abd9d42d Fix tests not depending on core lib module 2022-10-25 00:39:43 +01:00
kayomn e24868406c Remove default build task from VS Code task configuration
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-24 14:01:27 +01:00
kayomn d578bb422e Change Allocator to use interface style
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-24 13:59:37 +01:00
kayomn 989de70461 Fix closure types not working with void captures 2022-10-24 13:58:27 +01:00
kayomn da7d9cfcc0 Add additional closures and uses
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-10-24 01:02:07 +01:00
kayomn f5fd24fb76 Clarify "meta" submodule doc comment and tidy up Function type
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-23 18:16:10 +01:00
kayomn 196a3d1200 Fix typo in tests root 2022-10-23 18:15:48 +01:00
kayomn 16a9d62933 Fix typo in VS Code debug configuration 2022-10-23 18:15:25 +01:00
kayomn 813df95e02 Tidy up codebase structure
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-10-23 18:11:02 +01:00
kayomn ccb96875b1 Add "Reader" IO closure type for reading resources
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-22 23:34:30 +01:00
kayomn b698f18c4d Temporarily hardcode path to test binary
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-22 23:21:09 +01:00
kayomn 461d9b7cf7 Modify Function type implementation to have customisable capture sizes 2022-10-22 23:20:33 +01:00
kayomn ef2c6c3a3c Extract Ona IO writer into reusable "Function" type
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-20 22:30:48 +01:00
kayomn 32bb049f73 Refactor SDL2 interface code
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-19 23:58:56 +01:00
kayomn 1a28dc2404 Share Oar path type with file system
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-19 14:16:05 +01:00
kayomn 174b16199e Split archive FS logic into its own file 2022-10-19 11:21:54 +01:00
kayomn 6769ea92af Simplify Oar API
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-19 00:05:49 +01:00
kayomn 3a23f5feca Change FileAccess wrapper functions to pass by value
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-19 00:02:23 +01:00
kayomn 1cc19d41da Replace byte slices with Path structure in Oar module
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-17 15:49:35 +01:00
kayomn 033227b243 Replace UTF-8 compares with standard memory compares 2022-10-17 15:48:56 +01:00
kayomn 9f411025a7 Make all build configurations show formatted errors in VS Code 2022-10-17 15:36:46 +01:00
kayomn 2a44f5bf11 Abort if debug errors occur in project settings 2022-10-17 15:33:49 +01:00
kayomn 1d2356e942 Add library support for UTF-8 to Ona module 2022-10-17 14:42:41 +01:00
kayomn 1997c38e97 Fix test build error in hash table
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-17 14:04:44 +01:00
kayomn a471fd4663 Improve test name in Ona module 2022-10-17 14:04:24 +01:00
kayomn c8992fec99 Add missing unit tests
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-10-17 14:00:52 +01:00
kayomn d96364e04b Merge I/O and memory logic in Ona module
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-17 12:44:32 +01:00
kayomn 87d7126632 Add missing comments to Ona module
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-17 12:29:14 +01:00
kayomn d05800a6d3 Add missing tests to module entry points 2022-10-17 12:24:00 +01:00
kayomn 1891a420e8 Reorganize and refactor project tooling
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-17 12:20:35 +01:00
kayomn 489ece4b7b Refactor codebase
continuous-integration/drone/pr Build is failing Details
continuous-integration/drone/push Build is failing Details
2022-10-17 10:34:04 +01:00
kayomn 3d3d0e488a Fix incorrectly cleaning up data archive memory in app context
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-15 21:21:02 +01:00
kayomn 449b56947e Improve memory safety of Oar archive lookups
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-15 21:11:15 +01:00
kayomn 98372cc85f Improve memory safety of hash table 2022-10-15 21:08:52 +01:00
kayomn 2792f27473 Split archive-specific logic into own module
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-15 13:14:02 +01:00
kayomn 5f4e4cc811 Implement more hash table logic
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-15 11:38:22 +01:00
kayomn 01e6a7cb56 Fix compilation error in tests
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-15 01:28:13 +01:00
kayomn 26f342e518 Add entry caching to archive file systems
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-10-15 01:25:21 +01:00
kayomn b8517d3b22 Tidy up naming conventions in stack module 2022-10-15 01:08:03 +01:00
kayomn 53a369952e Implement hash table lookup logic
continuous-integration/drone/push Build is failing Details
continuous-integration/drone/pr Build is failing Details
2022-10-14 17:10:27 +01:00
kayomn 4e5883f384 Add stubs for archive entry caching
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-14 01:13:26 +01:00
kayomn 961e79200d Implement Oar file reading logic in archive file system
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-13 14:37:38 +01:00
kayomn 287a054d22 Tidy up Oar Entry default data
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-11 01:15:19 +01:00
kayomn 6ecf6779e5 Remove unused math module logic 2022-10-11 01:14:47 +01:00
kayomn e108486c17 Add data validation to Oar entries
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-11 01:03:02 +01:00
kayomn 52f4657872 Replace duplicated async interface with generic function
continuous-integration/drone/pr Build is passing Details
continuous-integration/drone/push Build is passing Details
2022-10-10 17:46:25 +01:00
kayomn 84664b5962 Rename "App" to "AppContext"
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-10 10:15:45 +01:00
kayomn 9ae6e8b4a7 Implement first pass of Oar archive reading mechanism
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/pr Build is passing Details
2022-10-09 23:10:13 +01:00
kayomn c42885bf61 Add stubs for Tar-based file system logic
continuous-integration/drone/push Build is failing Details
2022-10-07 21:25:49 +01:00
kayomn 1289e9634b Rework file system API to support different backends
continuous-integration/drone/push Build is passing Details
2022-10-06 23:22:07 +01:00
kayomn 979c2a73f3 Remove global data in file system API
continuous-integration/drone/push Build is failing Details
2022-10-06 10:24:39 +01:00
kayomn d2f4c0afe1 Fix paths being created with trailing "/" always
continuous-integration/drone/push Build is passing Details
2022-10-04 23:15:59 +01:00
kayomn fbd79b5b41 Fix panic when calling runGraphics in main
continuous-integration/drone/push Build is passing Details
2022-10-04 22:10:28 +01:00
kayomn 95f48b28c7 Fix compilation error when calling runGraphics
continuous-integration/drone/push Build is passing Details
2022-10-04 14:20:32 +01:00
kayomn d6fad7288d Fix Zig errors appearing as GCC errors in VS Code 2022-10-04 14:19:34 +01:00
kayomn 28e61f846a Improve clarity of SDL2_WaitThread behavior comment 2022-10-04 13:54:17 +01:00
kayomn 38211718e3 Hide away private event loop functions in implementation
continuous-integration/drone/push Build is passing Details
2022-10-04 13:51:46 +01:00
kayomn 6094dac5f1 Temporary fix for SDL2 symbols not loading at runtime
continuous-integration/drone/push Build is passing Details
2022-10-03 23:59:09 +01:00
kayomn 217d539ff7 Fix calling SDL_DestroySemaphore on mutex
continuous-integration/drone/push Build is passing Details
2022-10-03 23:39:03 +01:00
kayomn 01d878f933 Remove hardcoded hash from VS Code launch config
continuous-integration/drone/push Build is passing Details
2022-10-03 23:16:58 +01:00