Commit Graph

62 Commits

Author SHA1 Message Date
Thomas Harte bc5727af14 Switch to `= default`. 2024-02-16 21:50:15 -05:00
Thomas Harte f14e45f93e Remove various instances of ';;'. 2024-02-12 14:23:54 -05:00
Thomas Harte 8a1a14ba4c Switch trailing files to #pragma once. 2024-01-21 21:49:59 -05:00
Thomas Harte a3d37640aa Switch include guards to `#pragma once`. 2024-01-16 23:34:46 -05:00
Thomas Harte 1d8bc41724 Shift back to original name. 2023-06-13 15:25:51 -04:00
Thomas Harte d36a88dd11 Collect up different dispatches. 2023-06-13 15:22:53 -04:00
Adrian Perez de Castro 1de2631877
Add missing <cstdint> includes for GCC 13
Sprinkle includes of the <cstdint> header as needed to make the
build succeed with GCC 13, this fixes both with SDL and Qt builds.
2023-05-25 23:06:13 +03:00
Thomas Harte 315e0b4545 Add experimental 6809 opcode decoder.
Just a pleasant distraction, for now.
2023-03-17 21:20:35 -04:00
Thomas Harte 32e3dd71b1 Be overt in empty std::string construction. 2021-05-03 22:17:32 -04:00
Thomas Harte 95f4272919 Make sure `size_t` is visible. 2021-05-03 22:17:25 -04:00
Thomas Harte 00679b6135 `t` may be unused, per the `if constexpr`. 2021-05-03 22:17:19 -04:00
Thomas Harte 3e04b51122 Walks back pretty names. Probably a bad idea. 2021-04-05 17:26:18 -04:00
Thomas Harte 76f2aba51a Makes use of pretty names in descriptions optional. 2021-04-05 17:24:16 -04:00
Thomas Harte 18d6197d6c Makes provision for pretty-printed key names.
i.e. keys that don't fit C++ naming rules.
2021-04-04 22:20:35 -04:00
Thomas Harte c982c78285 Ensures Reflection::set is widely available. 2020-06-27 16:26:01 -04:00
Thomas Harte b4cdf8d987 Separates runtime TypeInfo into its own header. 2020-06-27 15:53:06 -04:00
Thomas Harte c953ab09db Ensures overloaded assignments work. 2020-06-20 00:17:16 -04:00
Thomas Harte 73131735fa Further qmake warning corrections. 2020-05-30 19:31:17 -04:00
Thomas Harte 267006782f Starts to add Qt target; resolves many build warnings. 2020-05-30 00:37:06 -04:00
Thomas Harte 1308f119a6 Relocates cassert. 2020-05-26 23:07:26 -04:00
Thomas Harte 51d684820f Attempts to add array support to ::set and BSON deserialisation. 2020-05-26 22:55:55 -04:00
Thomas Harte 023d76a3e7 Permits int truncation, adds double decoder. Arrays still TODO. 2020-05-26 22:20:15 -04:00
Thomas Harte 4d34d9ae2b Implements BSON deserialisation, other than arrays. 2020-05-25 23:39:00 -04:00
Thomas Harte c83c827484 Adds necessary header for math. 2020-05-24 12:19:20 -04:00
Thomas Harte b8b880a91d Extends encoding to handle vector<uint8_t>, floats and doubles. 2020-05-24 01:20:48 -04:00
Thomas Harte bb2f21a22e Encodes enumerated values as strings. 2020-05-23 22:54:43 -04:00
Thomas Harte b3587d4cde Corrects: logic for int promotion, object sizes, int64_t gets, sizes prefixed to objects. 2020-05-22 23:38:07 -04:00
Thomas Harte 39ffe45f3c Attempts to add support for arrays. 2020-05-22 21:55:12 -04:00
Thomas Harte d36e592afb Starts towards BSON serialisation for all deflectable structs.
Still to be tackled: arrays, enumerated types should probably be encoded as strings, deserialisation, probably distinguish get and fuzzy_get...
2020-05-22 00:31:40 -04:00
Thomas Harte a16b710d22 Removes <cassert> from Struct.h (which means it's needed in the 68000's State). 2020-05-19 00:06:29 -04:00
Thomas Harte 375835a950 Extends `.description()` to handle arrays. 2020-05-14 23:58:17 -04:00
Thomas Harte 4481386a3d Extends `Reflection::Struct` slightly to capture the lengths of arrays. 2020-05-14 22:59:44 -04:00
Thomas Harte 4f619de675 Permits ::get from a reflective enum to an int. 2020-05-13 23:48:28 -04:00
Thomas Harte 4c6d0f7fa0 Corrects SConstruct; applies default initialisation in Struct.cpp. 2020-05-09 18:11:50 -04:00
Thomas Harte cb1970ebab Switch to more compact form of output for bool.
This also will hopefully deal with GCC's slightly confused claim that 'value' may be used without having been initialised down at #define OutputIntC (i.e. after it's out of scope, but I can sort of see why GCC might get confused while it remains in scope).
2020-04-12 14:40:32 -04:00
Thomas Harte 2f4b0c2b9a Removes non-functional assert. 2020-03-30 21:48:07 -04:00
Thomas Harte a491650c8b Adds safety asserts. 2020-03-30 21:39:31 -04:00
Thomas Harte 6805acd74f Adds padding for all integer types. 2020-03-30 00:31:25 -04:00
Thomas Harte 60aa383c95 Makes a not-quite-correct attempt at a .description for reflective structs. 2020-03-30 00:24:49 -04:00
Thomas Harte 69277bbb27 Renames files to match project convention. 2020-03-19 23:24:06 -04:00
Thomas Harte 9995d776de Attempts to fix the macOS version, plus some implicit type conversions. 2020-03-18 23:29:09 -04:00
Thomas Harte 615ea2f573 Applies parsed arguments. 2020-03-18 22:31:32 -04:00
Thomas Harte f9ca443667 Adds the ability for reflective structs to limit the permitted values to enumerated properties. 2020-03-17 21:44:04 -04:00
Thomas Harte 394ee61c78 Starts a switch to reflectable-style runtime options.
The Amstrad CPC and ZX80/81 have made the jump so far, subject to caveats. The macOS build is unlikely currently to work properly.
2020-03-16 23:25:05 -04:00
Thomas Harte 8e3bf0dbca Starts moving towards a Deflectable-based system of runtime options. 2020-03-15 23:48:53 -04:00
Thomas Harte 2031a33edf Technically SDL users can now start a new machine.
Missing though: all the old per-machine command-line options, and any control over the new one.
2020-03-15 21:50:43 -04:00
Thomas Harte f9c8470b20 Ensure targets always nominate a machine. 2020-03-15 00:13:38 -04:00
Thomas Harte 36acc2dddd Add necessary include for std::find. 2020-03-14 00:22:23 -04:00
Thomas Harte a59963b6a0 Adds necessary header for memcpy. 2020-03-14 00:17:58 -04:00
Thomas Harte cab4bead72 Promotes explicit specialisations to namespace scope. 2020-03-13 23:38:29 -04:00