From d9cb493cf9ca88ac77364b3a3c3ca1e86932841c Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Sat, 30 Dec 2023 13:56:23 -0600 Subject: [PATCH] Squashed 'deps/nostalgia/' changes from 7c824e91..89fab5cc 89fab5cc [ox/fs] Remove stdc++fs from library list on Linux 1c06ea67 [nostalgia] Add links to Tonc and GBATEK to developer-handbook 6b948ee0 Merge commit '932c3e57e93d63dc98c454015afea941416ff423' 72dddcae [ox] Fix TypeDescWriter segfault git-subtree-dir: deps/nostalgia git-subtree-split: 89fab5cc208729a9ef6564d6b4172a0c9e0cd3bb --- deps/ox/src/ox/fs/CMakeLists.txt | 6 ------ deps/ox/src/ox/model/descwrite.hpp | 6 ++++-- deps/ox/src/ox/std/memory.hpp | 2 ++ developer-handbook.md | 7 +++++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/deps/ox/src/ox/fs/CMakeLists.txt b/deps/ox/src/ox/fs/CMakeLists.txt index a8d1e82..543cae8 100644 --- a/deps/ox/src/ox/fs/CMakeLists.txt +++ b/deps/ox/src/ox/fs/CMakeLists.txt @@ -16,12 +16,6 @@ if(NOT MSVC) endif() if(NOT OX_BARE_METAL) - if(NOT APPLE AND NOT MSVC AND NOT ${OX_OS_FREEBSD}) - target_link_libraries( - OxFS PUBLIC - stdc++fs - ) - endif() set_property( TARGET OxFS diff --git a/deps/ox/src/ox/model/descwrite.hpp b/deps/ox/src/ox/model/descwrite.hpp index cfd7b12..ddff59e 100644 --- a/deps/ox/src/ox/model/descwrite.hpp +++ b/deps/ox/src/ox/model/descwrite.hpp @@ -219,9 +219,11 @@ template constexpr Error TypeDescWriter::field(CRStringView name, const T *val) noexcept { if (m_type) { if constexpr(isVector_v || isArray_v) { - return field(name, val->data(), 0, detail::buildSubscriptStack(val)); + typename T::value_type *data = nullptr; + return field(name, data, 0, detail::buildSubscriptStack(val)); } else if constexpr(isSmartPtr_v) { - return field(name, val->get(), 0, detail::buildSubscriptStack(val)); + typename T::value_type *data = nullptr; + return field(name, data, 0, detail::buildSubscriptStack(val)); } else if constexpr(is_pointer_v) { return field(name, val, 0, detail::buildSubscriptStack(val)); } else { diff --git a/deps/ox/src/ox/std/memory.hpp b/deps/ox/src/ox/std/memory.hpp index 4c0ac3e..a9374f9 100644 --- a/deps/ox/src/ox/std/memory.hpp +++ b/deps/ox/src/ox/std/memory.hpp @@ -74,6 +74,7 @@ class SharedPtr { int *m_refCnt = nullptr; public: + using value_type = T; explicit constexpr SharedPtr(T *t = nullptr) noexcept: m_t(t), m_refCnt(new int) { } @@ -183,6 +184,7 @@ class UniquePtr { T *m_t = nullptr; public: + using value_type = T; explicit constexpr UniquePtr(T *t = nullptr) noexcept: m_t(t) { } diff --git a/developer-handbook.md b/developer-handbook.md index 7276191..a614205 100644 --- a/developer-handbook.md +++ b/developer-handbook.md @@ -63,6 +63,13 @@ All components have a platform indicator next to them: ### GBA +The GBA has two major resources for learning about its hardware: + +* [Tonc](https://www.coranac.com/tonc/text/toc.htm) - This is basically a short + book on the GBA and low level development. +* [GBATEK](https://rust-console.github.io/gbatek-gbaonly/) - This is a more + concise resource that mostly tells about memory ranges and registers. + #### Graphics * Background Palette: 256 colors