Merge commit 'b7278c3d04920a4fe55abd8d7ad0727f6ecde21a'
This commit is contained in:
commit
d40d017757
1
deps/nostalgia/.lldbinit
vendored
Normal file
1
deps/nostalgia/.lldbinit
vendored
Normal file
@ -0,0 +1 @@
|
||||
type summary add --summary-string "${var.m_buff.m_items}" ox::String
|
48
deps/nostalgia/deps/ox/src/ox/std/error.hpp
vendored
48
deps/nostalgia/deps/ox/src/ox/std/error.hpp
vendored
@ -264,6 +264,54 @@ struct [[nodiscard]] Result {
|
||||
return f(std::move(value));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns parameter alt if Result contains an error.
|
||||
* @param alt
|
||||
* @return value of Result or alt
|
||||
*/
|
||||
constexpr T orVal(T &&alt) & noexcept {
|
||||
if (error) {
|
||||
return std::move(alt);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns parameter alt if Result contains an error.
|
||||
* @param alt
|
||||
* @return value of Result or alt
|
||||
*/
|
||||
constexpr T orVal(T &&alt) && noexcept {
|
||||
if (error) {
|
||||
return std::move(alt);
|
||||
}
|
||||
return std::move(value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns parameter alt if Result contains an error.
|
||||
* @param alt
|
||||
* @return value of Result or alt
|
||||
*/
|
||||
constexpr T orVal(T const&alt) & noexcept {
|
||||
if (error) {
|
||||
return alt;
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns parameter alt if Result contains an error.
|
||||
* @param alt
|
||||
* @return value of Result or alt
|
||||
*/
|
||||
constexpr T orVal(T const&alt) && noexcept {
|
||||
if (error) {
|
||||
return alt;
|
||||
}
|
||||
return std::move(value);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
namespace detail {
|
||||
|
27
deps/nostalgia/developer-handbook.md
vendored
27
deps/nostalgia/developer-handbook.md
vendored
@ -20,14 +20,6 @@ All components have a platform indicator next to them:
|
||||
(-G) - GBA
|
||||
(P-) - PC
|
||||
|
||||
* GlUtils - OpenGL helpers (P-)
|
||||
* Keel - asset management system (PG)
|
||||
* Turbine - platform abstraction and user I/O (PG)
|
||||
* gba - GBA implementation (PG)
|
||||
* glfw - GLFW implementation (P-)
|
||||
* Studio - where most of the studio code lives as library (P-)
|
||||
* applib - used for per project studio executables
|
||||
* modlib - used for studio modules to interact with studio
|
||||
* Nostalgia
|
||||
* modules
|
||||
* core - graphics system for Nostalgia (PG)
|
||||
@ -42,6 +34,15 @@ All components have a platform indicator next to them:
|
||||
* studio - makes the games (P-)
|
||||
* tools - command line tools (P-)
|
||||
* pack - packs a studio project directory into an OxFS file (P-)
|
||||
* Olympic
|
||||
* Applib - Library for creating apps as libraries that injects Keel and Studio modules
|
||||
* Keel - asset management system (PG)
|
||||
* Studio - where most of the studio code lives as library (P-)
|
||||
* applib - used for per project studio executables
|
||||
* modlib - used for studio modules to interact with studio
|
||||
* Turbine - platform abstraction and user I/O (PG)
|
||||
* gba - GBA implementation (PG)
|
||||
* glfw - GLFW implementation (P-)
|
||||
* deps - project dependencies
|
||||
* Ox - Library of things useful for portable bare metal and userland code. Not really that external...
|
||||
* clargs - Command Line Args processing (PG)
|
||||
@ -54,9 +55,19 @@ All components have a platform indicator next to them:
|
||||
* model - Data structure modelling (PG)
|
||||
* preloader - library for handling preloading of data (PG)
|
||||
* std - Standard-ish Library with a lot missing and some things added (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)
|
||||
|
||||
## Platform Notes
|
||||
|
||||
### GBA
|
||||
|
||||
#### Graphics
|
||||
|
||||
* Background Palette: 256 colors
|
||||
* Sprite Palette: 256 colors
|
||||
|
||||
## Code Base Conventions
|
||||
|
||||
### Formatting
|
||||
|
@ -0,0 +1,27 @@
|
||||
O1;net.drinkingtea.ox.TypeDescriptor;1;{
|
||||
"fieldList" :
|
||||
[
|
||||
{
|
||||
"fieldName" : "bpp",
|
||||
"typeId" : "B.int8;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "defaultPalette",
|
||||
"typeId" : "net.drinkingtea.ox.FileAddress;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "pixels",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint8;0"
|
||||
}
|
||||
],
|
||||
"primitiveType" : 5,
|
||||
"typeName" : "net.drinkingtea.nostalgia.core.CompactTileSheet",
|
||||
"typeVersion" : 1
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
O1;net.drinkingtea.ox.TypeDescriptor;1;{
|
||||
"fieldList" :
|
||||
[
|
||||
{
|
||||
"fieldName" : "bpp",
|
||||
"typeId" : "B.int8;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "rows",
|
||||
"typeId" : "B.int32;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "columns",
|
||||
"typeId" : "B.int32;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "defaultPalette",
|
||||
"typeId" : "net.drinkingtea.ox.FileAddress;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "pal",
|
||||
"typeId" : "net.drinkingtea.nostalgia.core.Palette;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "pixels",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint8;0"
|
||||
}
|
||||
],
|
||||
"primitiveType" : 5,
|
||||
"typeName" : "net.drinkingtea.nostalgia.core.NostalgiaGraphic",
|
||||
"typeVersion" : 1
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
O1;net.drinkingtea.ox.TypeDescriptor;1;{
|
||||
"fieldList" :
|
||||
[
|
||||
{
|
||||
"fieldName" : "tilesheet",
|
||||
"typeId" : "net.drinkingtea.ox.BasicString#8#;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "palettes",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "net.drinkingtea.ox.BasicString#8#;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "tiles",
|
||||
"subscriptLevels" : 3,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
},
|
||||
{
|
||||
"subscriptType" : 4
|
||||
},
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "net.drinkingtea.nostalgia.scene.TileDoc;1"
|
||||
}
|
||||
],
|
||||
"preloadable" : true,
|
||||
"primitiveType" : 5,
|
||||
"typeName" : "net.drinkingtea.nostalgia.scene.SceneDoc",
|
||||
"typeVersion" : 1
|
||||
}
|
@ -0,0 +1,88 @@
|
||||
O1;net.drinkingtea.ox.TypeDescriptor;1;{
|
||||
"fieldList" :
|
||||
[
|
||||
{
|
||||
"fieldName" : "tilesheet",
|
||||
"typeId" : "net.drinkingtea.ox.FileAddress;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "palettes",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "net.drinkingtea.ox.FileAddress;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "columns",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint16;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "rows",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint16;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "tileMapIdx",
|
||||
"subscriptLevels" : 2,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
},
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint16;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "tileType",
|
||||
"subscriptLevels" : 2,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
},
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint8;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "layerAttachments",
|
||||
"subscriptLevels" : 2,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"subscriptType" : 4
|
||||
},
|
||||
{
|
||||
"subscriptType" : 4
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint8;0"
|
||||
}
|
||||
],
|
||||
"preloadable" : true,
|
||||
"primitiveType" : 5,
|
||||
"typeName" : "net.drinkingtea.nostalgia.scene.SceneStatic",
|
||||
"typeVersion" : 1
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
O1;net.drinkingtea.ox.TypeDescriptor;1;{
|
||||
"fieldList" :
|
||||
[
|
||||
{
|
||||
"fieldName" : "subsheet_id",
|
||||
"typeId" : "B.int32;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "subsheet_path",
|
||||
"typeId" : "net.drinkingtea.ox.BasicString#8#;1"
|
||||
},
|
||||
{
|
||||
"fieldName" : "type",
|
||||
"typeId" : "B.uint8;0"
|
||||
},
|
||||
{
|
||||
"fieldName" : "layer_attachments",
|
||||
"subscriptLevels" : 1,
|
||||
"subscriptStack" :
|
||||
[
|
||||
{
|
||||
"length" : 4,
|
||||
"subscriptType" : 3
|
||||
}
|
||||
],
|
||||
"typeId" : "B.uint8;0"
|
||||
}
|
||||
],
|
||||
"preloadable" : true,
|
||||
"primitiveType" : 5,
|
||||
"typeName" : "net.drinkingtea.nostalgia.scene.TileDoc",
|
||||
"typeVersion" : 1
|
||||
}
|
1
deps/nostalgia/sample_project/TileSheets/AB.ng
vendored
Normal file
1
deps/nostalgia/sample_project/TileSheets/AB.ng
vendored
Normal file
@ -0,0 +1 @@
|
||||
K1;e41abcbc-0146-4f74-eaa5-5891d21e5de4;M2;net.drinkingtea.nostalgia.core.TileSheet;3;
Vuuid://4895ab08-b7fd-4337-81e9-a8013166e723Root€f™Ÿ §jª "" """" ""
|
1
deps/nostalgia/sample_project/TileSheets/CD.ng
vendored
Normal file
1
deps/nostalgia/sample_project/TileSheets/CD.ng
vendored
Normal file
@ -0,0 +1 @@
|
||||
K1;24d20460-0a28-4642-d846-1a712681cfab;M2;net.drinkingtea.nostalgia.core.TileSheet;3;
Vuuid://4895ab08-b7fd-4337-81e9-a8013166e723Root€§ªª"" "" "" ""
|
Loading…
x
Reference in New Issue
Block a user