Merge commit 'd84c4980b2ec51a5f774229e715c361ec4096546'
All checks were successful
Build / build (push) Successful in 1m23s
All checks were successful
Build / build (push) Successful in 1m23s
This commit is contained in:
18
deps/nostalgia/developer-handbook.md
vendored
18
deps/nostalgia/developer-handbook.md
vendored
@@ -27,9 +27,9 @@ All components have a platform indicator next to them:
|
||||
* opengl - OpenGL implementation (P-)
|
||||
* studio - studio plugin for core (P-)
|
||||
* keel - keel plugin for core (PG)
|
||||
* scene - defines & processes map data (PG)
|
||||
* studio - studio plugin for scene (P-)
|
||||
* keel - keel plugin for scene (PG)
|
||||
* sound - sound system for Nostalgia (PG)
|
||||
* studio - studio plugin for sound (P-)
|
||||
* keel - keel plugin for sound (PG)
|
||||
* player - plays the games (PG)
|
||||
* studio - makes the games (P-)
|
||||
* tools - command line tools (P-)
|
||||
@@ -48,7 +48,7 @@ All components have a platform indicator next to them:
|
||||
Not really that external... (PG)
|
||||
* GlUtils - OpenGL helpers (P-)
|
||||
* teagba - GBA assembly startup code (mostly pulled from devkitPro under MPL
|
||||
2.0), and custom GBA hardware interop code (-G)
|
||||
2.0), and custom GBA hardware interop code (-G)
|
||||
|
||||
Most GBA code is built on PC because it is small and helps to work on both
|
||||
projects with the same CMake build dir, but GBA code is never linked with any
|
||||
@@ -89,7 +89,8 @@ The GBA has two major resources for learning about its hardware:
|
||||
|
||||
On the surface, it seems like C++ changes the way we do things from C for no
|
||||
reason, but there are reasons for many of these duplications of functionality.
|
||||
The C++ language designers aren't stupid. Question them, but don't ignore them.
|
||||
The C++ language designers aren't stupid.
|
||||
Question them, but don't ignore them.
|
||||
|
||||
#### Casting
|
||||
|
||||
@@ -163,10 +164,11 @@ The Ox way of doing things is the Olympic way of doing things.
|
||||
### Error Handling
|
||||
|
||||
Instead of throwing exceptions, generally try to use
|
||||
[ox::Errors](deps/ox/ox-docs.md#error-handling) for error reporting,
|
||||
but exceptions may be used where they make sense.
|
||||
[ox::Error](deps/ox/ox-docs.md#error-handling) for error reporting.
|
||||
Exceptions may be used where errors-as-values will not work, but catch them and
|
||||
convert them to ```ox::Error``` as soon as possible.
|
||||
|
||||
Exceptions should generally just use ```OxException```, which is bascially an
|
||||
Exceptions should generally just use ```ox::Exception```, which is basically an
|
||||
exception form of ```ox::Error```.
|
||||
|
||||
### File I/O
|
||||
|
||||
Reference in New Issue
Block a user