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));
|
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 {
|
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
|
(-G) - GBA
|
||||||
(P-) - PC
|
(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
|
* Nostalgia
|
||||||
* modules
|
* modules
|
||||||
* core - graphics system for Nostalgia (PG)
|
* core - graphics system for Nostalgia (PG)
|
||||||
@ -42,6 +34,15 @@ All components have a platform indicator next to them:
|
|||||||
* studio - makes the games (P-)
|
* studio - makes the games (P-)
|
||||||
* tools - command line tools (P-)
|
* tools - command line tools (P-)
|
||||||
* pack - packs a studio project directory into an OxFS file (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
|
* deps - project dependencies
|
||||||
* Ox - Library of things useful for portable bare metal and userland code. Not really that external...
|
* Ox - Library of things useful for portable bare metal and userland code. Not really that external...
|
||||||
* clargs - Command Line Args processing (PG)
|
* clargs - Command Line Args processing (PG)
|
||||||
@ -54,9 +55,19 @@ All components have a platform indicator next to them:
|
|||||||
* model - Data structure modelling (PG)
|
* model - Data structure modelling (PG)
|
||||||
* preloader - library for handling preloading of data (PG)
|
* preloader - library for handling preloading of data (PG)
|
||||||
* std - Standard-ish Library with a lot missing and some things added (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
|
* 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)
|
||||||
|
|
||||||
|
## Platform Notes
|
||||||
|
|
||||||
|
### GBA
|
||||||
|
|
||||||
|
#### Graphics
|
||||||
|
|
||||||
|
* Background Palette: 256 colors
|
||||||
|
* Sprite Palette: 256 colors
|
||||||
|
|
||||||
## Code Base Conventions
|
## Code Base Conventions
|
||||||
|
|
||||||
### Formatting
|
### 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