From: TravisCI-DocBuilder
Date: Wed, 6 Jan 2016 19:18:11 +0000 (+0000)
Subject: Doc generated from commit 57ec5db247ddb1f9703fb87a68d45f78447f8c00
X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=refs%2Fheads%2Fgh-pages;p=corbenik%2Fctrulib.git
Doc generated from commit 57ec5db247ddb1f9703fb87a68d45f78447f8c00
---
diff --git a/3ds_8h.html b/3ds_8h.html
index f538d75..9791ce7 100644
--- a/3ds_8h.html
+++ b/3ds_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/3ds_8h_source.html b/3ds_8h_source.html
index f5a8a5f..a411cad 100644
--- a/3ds_8h_source.html
+++ b/3ds_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -172,59 +172,24 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Functions for working with shaders.
diff --git a/ac_8h.html b/ac_8h.html
index 224d053..4f65ac5 100644
--- a/ac_8h.html
+++ b/ac_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ac_8h_source.html b/ac_8h_source.html
index 8b4c904..59e88ac 100644
--- a/ac_8h_source.html
+++ b/ac_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/am_8h.html b/am_8h.html
index de046e3..b892d61 100644
--- a/am_8h.html
+++ b/am_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -154,6 +154,10 @@ void Result AM_InstallNativeFirm (void)
Installs the current NATIVE_FIRM title to NAND (firm0:/ & firm1:/)
+
+Result AM_InstallFirm (u64 titleID)
+ Similar to InstallNativeFirm, but doesn't use AMPXI_GetTitleList (NATIVE_FIRM: 0004013800000002 or 0004013820000002 (N3DS))
+
Result AM_GetTitleProductCode (u8 mediatype, u64 titleID, char *productCode)
Gets the product code of a title. More...
diff --git a/am_8h_source.html b/am_8h_source.html
index 6035fc8..36c4c05 100644
--- a/am_8h_source.html
+++ b/am_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -190,33 +190,36 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Result AM_DeleteAppTitle(u8 mediatype, u64 titleID)
Deletes a title, provided that it is not a system title.
Result AM_GetTitleIdList(u8 mediatype, u32 count, u64 *titleIDs)
Gets a list of title IDs present in a mediatype.
Result AM_FinishCiaInstall(u8 mediatype, Handle *ciaHandle)
Finalizes the CIA install process.
@@ -228,6 +231,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Result AM_CancelCIAInstall(Handle *ciaHandle)
Aborts the CIA install process.
u32 Handle
Resource handle.
Definition: types.h:41
Result AM_StartDlpChildCiaInstall(Handle *ciaHandle)
Initializes the CIA install process for Download Play CIAs, returning a handle to write CIA data to...
+Result AM_InstallFirm(u64 titleID)
Similar to InstallNativeFirm, but doesn't use AMPXI_GetTitleList (NATIVE_FIRM: 0004013800000002 or 00...
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
uint64_t u64
64-bit unsigned integer
Definition: types.h:24
Result AM_ListTitles(u8 mediatype, u32 titleCount, u64 *titleIdList, AM_TitleEntry *titleList)
Gets a list of details about installed titles.
diff --git a/annotated.html b/annotated.html
index 111aaed..b4730ec 100644
--- a/annotated.html
+++ b/annotated.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/app_launch_2source_2main_8c-example.html b/app_launch_2source_2main_8c-example.html
index 4c88bae..1befaac 100644
--- a/app_launch_2source_2main_8c-example.html
+++ b/app_launch_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/apt_8h.html b/apt_8h.html
index 999de9c..0981656 100644
--- a/apt_8h.html
+++ b/apt_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -2041,7 +2041,7 @@ Variables
Processes the current APT status.
Generally used within a main loop.
Returns Whether the application is closing.
-Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , sdmc/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
+Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , sdmc/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
diff --git a/apt_8h_source.html b/apt_8h_source.html
index f2c4560..d1b6700 100644
--- a/apt_8h_source.html
+++ b/apt_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/audio_2mic_2source_2main_8c-example.html b/audio_2mic_2source_2main_8c-example.html
index e30990b..ba058d2 100644
--- a/audio_2mic_2source_2main_8c-example.html
+++ b/audio_2mic_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/cam_8h.html b/cam_8h.html
index 07c881b..e1502d0 100644
--- a/cam_8h.html
+++ b/cam_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/cam_8h_source.html b/cam_8h_source.html
index 724169b..5ef06e3 100644
--- a/cam_8h_source.html
+++ b/cam_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/cfgnor_8h.html b/cfgnor_8h.html
index 52c42c4..f4e8e7f 100644
--- a/cfgnor_8h.html
+++ b/cfgnor_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/cfgnor_8h_source.html b/cfgnor_8h_source.html
index bb5e181..349a3b4 100644
--- a/cfgnor_8h_source.html
+++ b/cfgnor_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/cfgu_8h.html b/cfgu_8h.html
index 4b8598d..4fea003 100644
--- a/cfgu_8h.html
+++ b/cfgu_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/cfgu_8h_source.html b/cfgu_8h_source.html
index 83375d0..56798c0 100644
--- a/cfgu_8h_source.html
+++ b/cfgu_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/channel_8h.html b/channel_8h.html
index 4d3cdc4..6dbf12b 100644
--- a/channel_8h.html
+++ b/channel_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/channel_8h_source.html b/channel_8h_source.html
index bad8f51..719a7c7 100644
--- a/channel_8h_source.html
+++ b/channel_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/classes.html b/classes.html
index 01e4b40..34dafc2 100644
--- a/classes.html
+++ b/classes.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/console_8h.html b/console_8h.html
index 01527ba..d474159 100644
--- a/console_8h.html
+++ b/console_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/console_8h_source.html b/console_8h_source.html
index 28d4f9c..4371f67 100644
--- a/console_8h_source.html
+++ b/console_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/csnd_8h.html b/csnd_8h.html
index 93bdea4..8cd7c90 100644
--- a/csnd_8h.html
+++ b/csnd_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/csnd_8h_source.html b/csnd_8h_source.html
index 0f811ce..b452b61 100644
--- a/csnd_8h_source.html
+++ b/csnd_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/deprecated.html b/deprecated.html
index 5ffee81..2a88549 100644
--- a/deprecated.html
+++ b/deprecated.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_0e005207343684f6967052d1f51a7e66.html b/dir_0e005207343684f6967052d1f51a7e66.html
index 499ecf5..d33a90b 100644
--- a/dir_0e005207343684f6967052d1f51a7e66.html
+++ b/dir_0e005207343684f6967052d1f51a7e66.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_0f128149b5f0edcc1e84fa1d13781a04.html b/dir_0f128149b5f0edcc1e84fa1d13781a04.html
index 093e0c6..2b625fb 100644
--- a/dir_0f128149b5f0edcc1e84fa1d13781a04.html
+++ b/dir_0f128149b5f0edcc1e84fa1d13781a04.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_1b1aef9f2527d990c50369cf62d7d9a1.html b/dir_1b1aef9f2527d990c50369cf62d7d9a1.html
index af91f52..171d565 100644
--- a/dir_1b1aef9f2527d990c50369cf62d7d9a1.html
+++ b/dir_1b1aef9f2527d990c50369cf62d7d9a1.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_317ea3797c15f4a1d9c156bc812661ca.html b/dir_317ea3797c15f4a1d9c156bc812661ca.html
index 8270c07..ad36b2d 100644
--- a/dir_317ea3797c15f4a1d9c156bc812661ca.html
+++ b/dir_317ea3797c15f4a1d9c156bc812661ca.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_6dafe9e8493a4966457f520acc17aa32.html b/dir_6dafe9e8493a4966457f520acc17aa32.html
index b3f1eb3..b4de6ec 100644
--- a/dir_6dafe9e8493a4966457f520acc17aa32.html
+++ b/dir_6dafe9e8493a4966457f520acc17aa32.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_953d82d0b36b92ff36f0c21b90fa146f.html b/dir_953d82d0b36b92ff36f0c21b90fa146f.html
index 751cc74..45e5f1b 100644
--- a/dir_953d82d0b36b92ff36f0c21b90fa146f.html
+++ b/dir_953d82d0b36b92ff36f0c21b90fa146f.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_a31f4157c8426a01402443a71f1cf774.html b/dir_a31f4157c8426a01402443a71f1cf774.html
index 74c08ff..54b6f1b 100644
--- a/dir_a31f4157c8426a01402443a71f1cf774.html
+++ b/dir_a31f4157c8426a01402443a71f1cf774.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_d0a04a149c821e4e65be9315f86ccf56.html b/dir_d0a04a149c821e4e65be9315f86ccf56.html
index cb5fc90..80e9c98 100644
--- a/dir_d0a04a149c821e4e65be9315f86ccf56.html
+++ b/dir_d0a04a149c821e4e65be9315f86ccf56.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_d44c64559bbebec7f509842c48db8b23.html b/dir_d44c64559bbebec7f509842c48db8b23.html
index 20f83ec..fb696d2 100644
--- a/dir_d44c64559bbebec7f509842c48db8b23.html
+++ b/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dir_d475325f6a9fe3bfc3a495c72a9e475e.html b/dir_d475325f6a9fe3bfc3a495c72a9e475e.html
index b913301..75cdd28 100644
--- a/dir_d475325f6a9fe3bfc3a495c72a9e475e.html
+++ b/dir_d475325f6a9fe3bfc3a495c72a9e475e.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dsp_8h.html b/dsp_8h.html
index 8994619..c5b6c3e 100644
--- a/dsp_8h.html
+++ b/dsp_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/dsp_8h_source.html b/dsp_8h_source.html
index 263079f..f8a87b8 100644
--- a/dsp_8h_source.html
+++ b/dsp_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/enums_8h.html b/enums_8h.html
index d96761a..7a43d68 100644
--- a/enums_8h.html
+++ b/enums_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/enums_8h_source.html b/enums_8h_source.html
index 0fe0655..a913807 100644
--- a/enums_8h_source.html
+++ b/enums_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/env_8h.html b/env_8h.html
index 4deb56e..9382d08 100644
--- a/env_8h.html
+++ b/env_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/env_8h_source.html b/env_8h_source.html
index 0815a15..a623991 100644
--- a/env_8h_source.html
+++ b/env_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/examples.html b/examples.html
index a70b4cd..4e7d69c 100644
--- a/examples.html
+++ b/examples.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -90,8 +90,14 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
graphics/bitmap/24bit-color/source/main.c
+graphics/gpu/fragment_light/source/main.c
+
graphics/gpu/geoshader/source/main.c
+graphics/gpu/gpusprites/source/main.c
+
+graphics/gpu/immediate/source/main.c
+
graphics/gpu/simple_tri/source/main.c
graphics/gpu/textured_cube/source/main.c
diff --git a/files.html b/files.html
index c165401..00d1d62 100644
--- a/files.html
+++ b/files.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/fs_8h.html b/fs_8h.html
index 90c4076..220d601 100644
--- a/fs_8h.html
+++ b/fs_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/fs_8h_source.html b/fs_8h_source.html
index 2707671..47689e6 100644
--- a/fs_8h_source.html
+++ b/fs_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions.html b/functions.html
index 970263a..048a7fe 100644
--- a/functions.html
+++ b/functions.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_a.html b/functions_a.html
index 817eda3..8c1ead9 100644
--- a/functions_a.html
+++ b/functions_a.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_b.html b/functions_b.html
index bda1e96..626091c 100644
--- a/functions_b.html
+++ b/functions_b.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_c.html b/functions_c.html
index 9f2b319..f863fd0 100644
--- a/functions_c.html
+++ b/functions_c.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_d.html b/functions_d.html
index 3ea0f6d..39f9750 100644
--- a/functions_d.html
+++ b/functions_d.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_e.html b/functions_e.html
index dcec099..d3cc24f 100644
--- a/functions_e.html
+++ b/functions_e.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_f.html b/functions_f.html
index 6207c20..c46d605 100644
--- a/functions_f.html
+++ b/functions_f.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_g.html b/functions_g.html
index 316177e..ad27906 100644
--- a/functions_g.html
+++ b/functions_g.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_h.html b/functions_h.html
index bb07d58..ada63ba 100644
--- a/functions_h.html
+++ b/functions_h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_i.html b/functions_i.html
index 80c154e..751106a 100644
--- a/functions_i.html
+++ b/functions_i.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_k.html b/functions_k.html
index 4062e60..d0d820d 100644
--- a/functions_k.html
+++ b/functions_k.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_l.html b/functions_l.html
index f23eafd..1fe66d9 100644
--- a/functions_l.html
+++ b/functions_l.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_m.html b/functions_m.html
index a51471c..89b4a93 100644
--- a/functions_m.html
+++ b/functions_m.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_n.html b/functions_n.html
index 6c62da6..2ab5d9a 100644
--- a/functions_n.html
+++ b/functions_n.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_o.html b/functions_o.html
index dfb7bf7..44b46b2 100644
--- a/functions_o.html
+++ b/functions_o.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_p.html b/functions_p.html
index 8374470..c15436e 100644
--- a/functions_p.html
+++ b/functions_p.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_r.html b/functions_r.html
index eccac86..7cf2df5 100644
--- a/functions_r.html
+++ b/functions_r.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_s.html b/functions_s.html
index 8fd8ed0..1416f11 100644
--- a/functions_s.html
+++ b/functions_s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_t.html b/functions_t.html
index 4b1dd53..fc288d7 100644
--- a/functions_t.html
+++ b/functions_t.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_u.html b/functions_u.html
index b14f834..3193041 100644
--- a/functions_u.html
+++ b/functions_u.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_v.html b/functions_v.html
index 56461e5..d7d53df 100644
--- a/functions_v.html
+++ b/functions_v.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars.html b/functions_vars.html
index 26fd8f5..d5bf0b0 100644
--- a/functions_vars.html
+++ b/functions_vars.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_a.html b/functions_vars_a.html
index 9e7e470..72eafa0 100644
--- a/functions_vars_a.html
+++ b/functions_vars_a.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_b.html b/functions_vars_b.html
index 5a69f22..6e48605 100644
--- a/functions_vars_b.html
+++ b/functions_vars_b.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_c.html b/functions_vars_c.html
index 41def49..5e8b9dd 100644
--- a/functions_vars_c.html
+++ b/functions_vars_c.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_d.html b/functions_vars_d.html
index 9eeb175..3fce734 100644
--- a/functions_vars_d.html
+++ b/functions_vars_d.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_e.html b/functions_vars_e.html
index 749f1f3..5c51eed 100644
--- a/functions_vars_e.html
+++ b/functions_vars_e.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_f.html b/functions_vars_f.html
index 1e3624b..45c808c 100644
--- a/functions_vars_f.html
+++ b/functions_vars_f.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_g.html b/functions_vars_g.html
index d8e6f9b..a7146d2 100644
--- a/functions_vars_g.html
+++ b/functions_vars_g.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_h.html b/functions_vars_h.html
index c757668..16c121b 100644
--- a/functions_vars_h.html
+++ b/functions_vars_h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_i.html b/functions_vars_i.html
index e458941..cc2ebd9 100644
--- a/functions_vars_i.html
+++ b/functions_vars_i.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_k.html b/functions_vars_k.html
index 7935066..d7af2b2 100644
--- a/functions_vars_k.html
+++ b/functions_vars_k.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_l.html b/functions_vars_l.html
index 630dd3b..09e3951 100644
--- a/functions_vars_l.html
+++ b/functions_vars_l.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_m.html b/functions_vars_m.html
index 9239443..ebd3363 100644
--- a/functions_vars_m.html
+++ b/functions_vars_m.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_n.html b/functions_vars_n.html
index cc24492..a86cedc 100644
--- a/functions_vars_n.html
+++ b/functions_vars_n.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_o.html b/functions_vars_o.html
index 2cabd31..b879047 100644
--- a/functions_vars_o.html
+++ b/functions_vars_o.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_p.html b/functions_vars_p.html
index 25e522a..410424d 100644
--- a/functions_vars_p.html
+++ b/functions_vars_p.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_r.html b/functions_vars_r.html
index e6e62cc..b39db36 100644
--- a/functions_vars_r.html
+++ b/functions_vars_r.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_s.html b/functions_vars_s.html
index d3b0f0a..15e7961 100644
--- a/functions_vars_s.html
+++ b/functions_vars_s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_t.html b/functions_vars_t.html
index cb7822f..aa07719 100644
--- a/functions_vars_t.html
+++ b/functions_vars_t.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_u.html b/functions_vars_u.html
index 01a653c..de4c7df 100644
--- a/functions_vars_u.html
+++ b/functions_vars_u.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_v.html b/functions_vars_v.html
index cc15202..43be384 100644
--- a/functions_vars_v.html
+++ b/functions_vars_v.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_w.html b/functions_vars_w.html
index 6e58cce..1c0355d 100644
--- a/functions_vars_w.html
+++ b/functions_vars_w.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_x.html b/functions_vars_x.html
index 88eb4e4..f6b04b8 100644
--- a/functions_vars_x.html
+++ b/functions_vars_x.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_y.html b/functions_vars_y.html
index 62d9497..0833e9d 100644
--- a/functions_vars_y.html
+++ b/functions_vars_y.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_vars_z.html b/functions_vars_z.html
index 04f1c69..662164d 100644
--- a/functions_vars_z.html
+++ b/functions_vars_z.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_w.html b/functions_w.html
index 8449765..f2163dd 100644
--- a/functions_w.html
+++ b/functions_w.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_x.html b/functions_x.html
index d44d097..9b2047c 100644
--- a/functions_x.html
+++ b/functions_x.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_y.html b/functions_y.html
index 97a58b9..663d006 100644
--- a/functions_y.html
+++ b/functions_y.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/functions_z.html b/functions_z.html
index a5ae59d..7a77530 100644
--- a/functions_z.html
+++ b/functions_z.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/get_system_language_2source_2main_8c-example.html b/get_system_language_2source_2main_8c-example.html
index edfdd32..4194b76 100644
--- a/get_system_language_2source_2main_8c-example.html
+++ b/get_system_language_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/gfx_8h.html b/gfx_8h.html
index 0efaac0..ce782c3 100644
--- a/gfx_8h.html
+++ b/gfx_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -149,6 +149,9 @@ Functions
void gfxSet3D (bool enable)
Enables the 3D stereoscopic effect. More...
+bool gfxIs3D (void)
+ Retrieves the status of the 3D stereoscopic effect. More...
+
void gfxSetScreenFormat (gfxScreen_t screen, GSPGPU_FramebufferFormats format)
Changes the color format of a screen. More...
@@ -161,6 +164,9 @@ Functions
void gfxFlushBuffers (void)
Flushes the current framebuffers. More...
+void gfxConfigScreen (gfxScreen_t scr, bool immediate)
+ Updates the configuration of the specified screen (swapping the buffers if double-buffering is enabled). More...
+
void gfxSwapBuffers (void)
Swaps the buffers and sets the gsp state. More...
@@ -234,6 +240,41 @@ Variables
+
+
+
+
+
+ void gfxConfigScreen
+ (
+ gfxScreen_t
+ scr ,
+
+
+
+
+ bool
+ immediate
+
+
+
+ )
+
+
+
+
+
+
Updates the configuration of the specified screen (swapping the buffers if double-buffering is enabled).
+
Parameters
+
+ scr Screen to configure.
+ immediate Whether to apply the updated configuration immediately or let GSPGPU apply it after the next GX transfer completes.
+
+
+
+
+
+
@@ -250,7 +291,7 @@ Variables
Closes the gsp service and frees the framebuffers.
Just call it when you're done.
-
Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , sdmc/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
+Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , sdmc/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
@@ -322,7 +363,7 @@ Variables
Returns A pointer to the current framebuffer of the choosen screen.
Please remember that the returned pointer will change after each call to gfxSwapBuffers if double buffering is enabled.
-Examples: graphics/bitmap/24bit-color/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , http/source/main.c , mvd/source/main.c , qtm/source/main.c , and sdmc/source/main.c .
+Examples: graphics/bitmap/24bit-color/source/main.c , http/source/main.c , mvd/source/main.c , qtm/source/main.c , and sdmc/source/main.c .
@@ -415,8 +456,27 @@ You should always call GSP_BGR8_OES format in linear memory. This is the same as calling :
1 gfxInit(GSP_BGR8_OES,GSP_BGR8_OES,false);
Note You should always call gfxExit once done to free the memory and services
-Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , sdmc/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
+Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , sdmc/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
+
+
+
+
+
+
+
+ bool gfxIs3D
+ (
+ void
+ )
+
+
+
+
+
+
Retrieves the status of the 3D stereoscopic effect.
+
Returns true if 3D enabled, false otherwise.
+
@@ -440,7 +500,8 @@ You should always call graphics/gpu/fragment_light/source/main.c .
+
@@ -552,7 +613,7 @@ You should always call graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , and sdmc/source/main.c .
+Examples: sdmc/source/main.c .
diff --git a/gfx_8h_source.html b/gfx_8h_source.html
index dbdb1cc..cd37793 100644
--- a/gfx_8h_source.html
+++ b/gfx_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -175,86 +175,101 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 156 extern u8 * gfxTopLeftFramebuffers[2];
- 157 extern u8 * gfxTopRightFramebuffers[2];
- 158 extern u8 * gfxBottomFramebuffers[2];
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 169 extern u8 * gfxTopLeftFramebuffers[2];
+ 170 extern u8 * gfxTopRightFramebuffers[2];
+ 171 extern u8 * gfxBottomFramebuffers[2];
+void gfxConfigScreen(gfxScreen_t scr, bool immediate)
Updates the configuration of the specified screen (swapping the buffers if double-buffering is enable...
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
Bottom screen.
Definition: gfx.h:23
GSPGPU_FramebufferFormats
Framebuffer format.
Definition: gspgpu.h:22
void gfxSwapBuffers(void)
Swaps the buffers and sets the gsp state.
+bool gfxIs3D(void)
Retrieves the status of the 3D stereoscopic effect.
void gfxSetDoubleBuffering(gfxScreen_t screen, bool doubleBuffering)
Sets whether to use ctrulib's double buffering.
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
void gfxInitDefault(void)
Initializes the LCD framebuffers with default parameters.
diff --git a/globals.html b/globals.html
index aabeb90..56b39bb 100644
--- a/globals.html
+++ b/globals.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -140,6 +140,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
__strex()
: synchronization.h
+__sync_get_arbiter()
+: synchronization.h
+
diff --git a/globals_a.html b/globals_a.html
index 6eaab69..75f2970 100644
--- a/globals_a.html
+++ b/globals_a.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -170,6 +170,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
AM_InitializeExternalTitleDatabase()
: am.h
+AM_InstallFirm()
+: am.h
+
AM_InstallNativeFirm()
: am.h
diff --git a/globals_b.html b/globals_b.html
index 6d4f097..d6a0499 100644
--- a/globals_b.html
+++ b/globals_b.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_c.html b/globals_c.html
index a3f45a2..a4af651 100644
--- a/globals_c.html
+++ b/globals_c.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_d.html b/globals_d.html
index e7430e3..93a1604 100644
--- a/globals_d.html
+++ b/globals_d.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs.html b/globals_defs.html
index 29754e7..85eba3c 100644
--- a/globals_defs.html
+++ b/globals_defs.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_b.html b/globals_defs_b.html
index 0dcd441..ea9e2bb 100644
--- a/globals_defs_b.html
+++ b/globals_defs_b.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_c.html b/globals_defs_c.html
index 01cf3c6..f7c5ffc 100644
--- a/globals_defs_c.html
+++ b/globals_defs_c.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_d.html b/globals_defs_d.html
index 0498cfe..b0333f5 100644
--- a/globals_defs_d.html
+++ b/globals_defs_d.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_g.html b/globals_defs_g.html
index 095aed8..3651a6a 100644
--- a/globals_defs_g.html
+++ b/globals_defs_g.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_h.html b/globals_defs_h.html
index d52777c..2364d45 100644
--- a/globals_defs_h.html
+++ b/globals_defs_h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_k.html b/globals_defs_k.html
index 9dda32c..767c7a2 100644
--- a/globals_defs_k.html
+++ b/globals_defs_k.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_m.html b/globals_defs_m.html
index fa8bd73..f994e9f 100644
--- a/globals_defs_m.html
+++ b/globals_defs_m.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_n.html b/globals_defs_n.html
index d21cb0f..b358430 100644
--- a/globals_defs_n.html
+++ b/globals_defs_n.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_p.html b/globals_defs_p.html
index 789fe7e..7c0db3a 100644
--- a/globals_defs_p.html
+++ b/globals_defs_p.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_r.html b/globals_defs_r.html
index a7ee68e..2c73857 100644
--- a/globals_defs_r.html
+++ b/globals_defs_r.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_s.html b/globals_defs_s.html
index eb8b81c..9725e21 100644
--- a/globals_defs_s.html
+++ b/globals_defs_s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_t.html b/globals_defs_t.html
index 48ec22b..589e4da 100644
--- a/globals_defs_t.html
+++ b/globals_defs_t.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_defs_u.html b/globals_defs_u.html
index 8fa4a12..606863e 100644
--- a/globals_defs_u.html
+++ b/globals_defs_u.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_e.html b/globals_e.html
index 7b87af1..1ca0c52 100644
--- a/globals_e.html
+++ b/globals_e.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_enum.html b/globals_enum.html
index 7c6cfd3..0638d14 100644
--- a/globals_enum.html
+++ b/globals_enum.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval.html b/globals_eval.html
index 6a3cce7..b525346 100644
--- a/globals_eval.html
+++ b/globals_eval.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_b.html b/globals_eval_b.html
index 08d74ef..e2a06ca 100644
--- a/globals_eval_b.html
+++ b/globals_eval_b.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_c.html b/globals_eval_c.html
index 5d256a9..fd76cf5 100644
--- a/globals_eval_c.html
+++ b/globals_eval_c.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_d.html b/globals_eval_d.html
index c1dac2d..2e22923 100644
--- a/globals_eval_d.html
+++ b/globals_eval_d.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_e.html b/globals_eval_e.html
index ac4deef..180b323 100644
--- a/globals_eval_e.html
+++ b/globals_eval_e.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_f.html b/globals_eval_f.html
index 4badaa6..f43ab0c 100644
--- a/globals_eval_f.html
+++ b/globals_eval_f.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_g.html b/globals_eval_g.html
index 791d575..5bb7379 100644
--- a/globals_eval_g.html
+++ b/globals_eval_g.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_h.html b/globals_eval_h.html
index 7bd43ac..11e9326 100644
--- a/globals_eval_h.html
+++ b/globals_eval_h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_i.html b/globals_eval_i.html
index 05d3d0a..1ca1e39 100644
--- a/globals_eval_i.html
+++ b/globals_eval_i.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_k.html b/globals_eval_k.html
index 3db4952..3d25cab 100644
--- a/globals_eval_k.html
+++ b/globals_eval_k.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_l.html b/globals_eval_l.html
index 1a3f202..6e30006 100644
--- a/globals_eval_l.html
+++ b/globals_eval_l.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_m.html b/globals_eval_m.html
index 9227867..0a20dfc 100644
--- a/globals_eval_m.html
+++ b/globals_eval_m.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_n.html b/globals_eval_n.html
index 95b41d0..e059567 100644
--- a/globals_eval_n.html
+++ b/globals_eval_n.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_o.html b/globals_eval_o.html
index 051b976..dddde20 100644
--- a/globals_eval_o.html
+++ b/globals_eval_o.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_p.html b/globals_eval_p.html
index 3ff1ce9..95ace3f 100644
--- a/globals_eval_p.html
+++ b/globals_eval_p.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_r.html b/globals_eval_r.html
index 64e26d3..7343028 100644
--- a/globals_eval_r.html
+++ b/globals_eval_r.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_s.html b/globals_eval_s.html
index 876631f..9dcf6ba 100644
--- a/globals_eval_s.html
+++ b/globals_eval_s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_t.html b/globals_eval_t.html
index beab036..3ef3618 100644
--- a/globals_eval_t.html
+++ b/globals_eval_t.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_u.html b/globals_eval_u.html
index 95027bb..a965ba0 100644
--- a/globals_eval_u.html
+++ b/globals_eval_u.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_v.html b/globals_eval_v.html
index 1662e2e..5c8d10a 100644
--- a/globals_eval_v.html
+++ b/globals_eval_v.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_eval_w.html b/globals_eval_w.html
index e5e186b..a6116fd 100644
--- a/globals_eval_w.html
+++ b/globals_eval_w.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_f.html b/globals_f.html
index 87e8597..f8919ab 100644
--- a/globals_f.html
+++ b/globals_f.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func.html b/globals_func.html
index 3219a9c..d5d3d3e 100644
--- a/globals_func.html
+++ b/globals_func.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -137,6 +137,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
__strex()
: synchronization.h
+__sync_get_arbiter()
+: synchronization.h
+
diff --git a/globals_func_a.html b/globals_func_a.html
index 100f39c..556b315 100644
--- a/globals_func_a.html
+++ b/globals_func_a.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -164,6 +164,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
AM_InitializeExternalTitleDatabase()
: am.h
+AM_InstallFirm()
+: am.h
+
AM_InstallNativeFirm()
: am.h
diff --git a/globals_func_c.html b/globals_func_c.html
index b8b51c9..5ccb062 100644
--- a/globals_func_c.html
+++ b/globals_func_c.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_d.html b/globals_func_d.html
index e6994da..1a2cb89 100644
--- a/globals_func_d.html
+++ b/globals_func_d.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_e.html b/globals_func_e.html
index 87fbffb..352a1b1 100644
--- a/globals_func_e.html
+++ b/globals_func_e.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_f.html b/globals_func_f.html
index 59863cd..1544fa6 100644
--- a/globals_func_f.html
+++ b/globals_func_f.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_g.html b/globals_func_g.html
index 277a588..2fcfadd 100644
--- a/globals_func_g.html
+++ b/globals_func_g.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -134,6 +134,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
getThreadStaticBuffers()
: svc.h
+gfxConfigScreen()
+: gfx.h
+
gfxExit()
: gfx.h
@@ -152,6 +155,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gfxInitDefault()
: gfx.h
+gfxIs3D()
+: gfx.h
+
gfxSet3D()
: gfx.h
@@ -332,9 +338,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gspLcdInit()
: gsplcd.h
+gspSetEventCallback()
+: gspgpu.h
+
gspSubmitGxCommand()
: gspgpu.h
+gspWaitForAnyEvent()
+: gspgpu.h
+
gspWaitForEvent()
: gspgpu.h
diff --git a/globals_func_h.html b/globals_func_h.html
index 66ae579..80f0a42 100644
--- a/globals_func_h.html
+++ b/globals_func_h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_i.html b/globals_func_i.html
index 4f6d116..529e40f 100644
--- a/globals_func_i.html
+++ b/globals_func_i.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_l.html b/globals_func_l.html
index f82cd12..75b005c 100644
--- a/globals_func_l.html
+++ b/globals_func_l.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_m.html b/globals_func_m.html
index 9012c82..5c07945 100644
--- a/globals_func_m.html
+++ b/globals_func_m.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_n.html b/globals_func_n.html
index c8824b3..9a26cb6 100644
--- a/globals_func_n.html
+++ b/globals_func_n.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_o.html b/globals_func_o.html
index e120714..43a5c66 100644
--- a/globals_func_o.html
+++ b/globals_func_o.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_p.html b/globals_func_p.html
index 9059199..643c577 100644
--- a/globals_func_p.html
+++ b/globals_func_p.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_q.html b/globals_func_q.html
index 9b681be..aa17d94 100644
--- a/globals_func_q.html
+++ b/globals_func_q.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_r.html b/globals_func_r.html
index 8a7d640..0ae1e72 100644
--- a/globals_func_r.html
+++ b/globals_func_r.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_s.html b/globals_func_s.html
index 5d6684a..732ebaf 100644
--- a/globals_func_s.html
+++ b/globals_func_s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_t.html b/globals_func_t.html
index 4a9f0b4..10dd708 100644
--- a/globals_func_t.html
+++ b/globals_func_t.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_u.html b/globals_func_u.html
index 437093d..67609b4 100644
--- a/globals_func_u.html
+++ b/globals_func_u.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_v.html b/globals_func_v.html
index c567828..11a804a 100644
--- a/globals_func_v.html
+++ b/globals_func_v.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_func_y.html b/globals_func_y.html
index a2a1803..5366db4 100644
--- a/globals_func_y.html
+++ b/globals_func_y.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_g.html b/globals_g.html
index c9b05a5..c9eea6f 100644
--- a/globals_g.html
+++ b/globals_g.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -167,6 +167,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
GFX_TOP
: gfx.h
+gfxConfigScreen()
+: gfx.h
+
gfxExit()
: gfx.h
@@ -185,6 +188,9 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gfxInitDefault()
: gfx.h
+gfxIs3D()
+: gfx.h
+
gfxScreen_t
: gfx.h
@@ -3479,9 +3485,15 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
gspLcdInit()
: gsplcd.h
+gspSetEventCallback()
+: gspgpu.h
+
gspSubmitGxCommand()
: gspgpu.h
+gspWaitForAnyEvent()
+: gspgpu.h
+
gspWaitForDMA
: gspgpu.h
diff --git a/globals_h.html b/globals_h.html
index 11cd65a..0807045 100644
--- a/globals_h.html
+++ b/globals_h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_i.html b/globals_i.html
index edbfd5a..33f7ea2 100644
--- a/globals_i.html
+++ b/globals_i.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_k.html b/globals_k.html
index 8210c03..ef5b48c 100644
--- a/globals_k.html
+++ b/globals_k.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_l.html b/globals_l.html
index c11bad7..defb8fd 100644
--- a/globals_l.html
+++ b/globals_l.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_m.html b/globals_m.html
index 6b29a63..e8f20e1 100644
--- a/globals_m.html
+++ b/globals_m.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_n.html b/globals_n.html
index 01dd2e9..44aed5b 100644
--- a/globals_n.html
+++ b/globals_n.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_o.html b/globals_o.html
index ee7f526..6f78688 100644
--- a/globals_o.html
+++ b/globals_o.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_p.html b/globals_p.html
index f909291..9d012b8 100644
--- a/globals_p.html
+++ b/globals_p.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_q.html b/globals_q.html
index 0a79fe5..84f86cb 100644
--- a/globals_q.html
+++ b/globals_q.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_r.html b/globals_r.html
index 9525fb1..a186750 100644
--- a/globals_r.html
+++ b/globals_r.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_s.html b/globals_s.html
index 0d56d8e..93f4d0c 100644
--- a/globals_s.html
+++ b/globals_s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_t.html b/globals_t.html
index e3a49ed..a9d3b0e 100644
--- a/globals_t.html
+++ b/globals_t.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_type.html b/globals_type.html
index d0ae1dd..14641ab 100644
--- a/globals_type.html
+++ b/globals_type.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_u.html b/globals_u.html
index 374d6e9..c16dd4a 100644
--- a/globals_u.html
+++ b/globals_u.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_v.html b/globals_v.html
index c4e2f85..e5b3897 100644
--- a/globals_v.html
+++ b/globals_v.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_vars.html b/globals_vars.html
index 226c554..6b44814 100644
--- a/globals_vars.html
+++ b/globals_vars.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_w.html b/globals_w.html
index 682c568..999ec7a 100644
--- a/globals_w.html
+++ b/globals_w.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/globals_y.html b/globals_y.html
index 12f3d4e..49608a8 100644
--- a/globals_y.html
+++ b/globals_y.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/gpu-old_8h.html b/gpu-old_8h.html
index 2e288de..a1a5a2b 100644
--- a/gpu-old_8h.html
+++ b/gpu-old_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -209,8 +209,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -253,8 +252,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -315,8 +313,7 @@ Functions
Finishes drawing.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -341,8 +338,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -385,8 +381,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -451,8 +446,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -495,8 +489,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -581,8 +574,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -632,8 +624,7 @@ Functions
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -742,8 +733,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -768,8 +758,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -819,8 +808,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -920,8 +908,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -978,8 +965,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -1057,8 +1043,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -1122,8 +1107,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/textured_cube/source/main.c .
-
+
@@ -1184,8 +1168,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/textured_cube/source/main.c .
-
+
@@ -1249,8 +1232,7 @@ Only the first four TEV stages can write to the combiner buffer.
Deprecated:
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
diff --git a/gpu-old_8h_source.html b/gpu-old_8h_source.html
index 9073fd7..4c7c58a 100644
--- a/gpu-old_8h_source.html
+++ b/gpu-old_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/gpu_8h.html b/gpu_8h.html
index 52ae550..a2e54bc 100644
--- a/gpu_8h.html
+++ b/gpu_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -480,8 +480,7 @@ Variables
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
diff --git a/gpu_8h_source.html b/gpu_8h_source.html
index ccb11f5..e969939 100644
--- a/gpu_8h_source.html
+++ b/gpu_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/graphics_2bitmap_224bit-color_2source_2main_8c-example.html b/graphics_2bitmap_224bit-color_2source_2main_8c-example.html
index e9f805b..243c7f9 100644
--- a/graphics_2bitmap_224bit-color_2source_2main_8c-example.html
+++ b/graphics_2bitmap_224bit-color_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/graphics_2gpu_2fragment_light_2source_2main_8c-example.html b/graphics_2gpu_2fragment_light_2source_2main_8c-example.html
new file mode 100644
index 0000000..a657f89
--- /dev/null
+++ b/graphics_2gpu_2fragment_light_2source_2main_8c-example.html
@@ -0,0 +1,333 @@
+
+
+
+
+
+
+libctru: graphics/gpu/fragment_light/source/main.c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ libctru
+ v1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
typedef struct { float position[3]; float texcoord[2]; float normal[3]; } vertex;
+
+
static const vertex vertex_list[] =
+
{
+
+
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, +1.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, +1.0f} },
+
+
+
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, 0.0f, -1.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, 0.0f, -1.0f} },
+
+
+
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {1.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {+1.0f, 0.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {+1.0f, 0.0f, 0.0f} },
+
+
+
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {1.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {-1.0f, 0.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {-1.0f, 0.0f, 0.0f} },
+
+
+
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, +0.5f}, {1.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
+
{ {+0.5f, +0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {+0.5f, +0.5f, -0.5f}, {0.0f, 1.0f}, {0.0f, +1.0f, 0.0f} },
+
{ {-0.5f, +0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, +1.0f, 0.0f} },
+
+
+
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, -0.5f}, {1.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
+
{ {+0.5f, -0.5f, +0.5f}, {1.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, +0.5f}, {0.0f, 1.0f}, {0.0f, -1.0f, 0.0f} },
+
{ {-0.5f, -0.5f, -0.5f}, {0.0f, 0.0f}, {0.0f, -1.0f, 0.0f} },
+
};
+
+
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
+
+
+
+
static int uLoc_projection, uLoc_modelView;
+
static C3D_Mtx projection;
+
+
static C3D_LightEnv lightEnv;
+
static C3D_Light light;
+
static C3D_LightLut lut_Phong;
+
+
static void * vbo_data;
+
static float angleX = 0.0, angleY = 0.0;
+
+
static void sceneInit(void )
+
{
+
+
+
+
+
C3D_BindProgram(&program);
+
+
+
+
+
+
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0,
GPU_FLOAT , 3);
+
AttrInfo_AddLoader(attrInfo, 1,
GPU_FLOAT , 2);
+
AttrInfo_AddLoader(attrInfo, 2,
GPU_FLOAT , 3);
+
+
+
+
memcpy(vbo_data, vertex_list, sizeof (vertex_list));
+
+
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof (vertex), 3, 0x210);
+
+
+
+
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
+
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
+
C3D_TexEnvFunc(env, C3D_Both,
GPU_ADD );
+
+
static const C3D_Material material =
+
{
+
{ 0.2f, 0.2f, 0.2f },
+
{ 0.4f, 0.4f, 0.4f },
+
{ 0.8f, 0.8f, 0.8f },
+
{ 0.0f, 0.0f, 0.0f },
+
{ 0.0f, 0.0f, 0.0f },
+
};
+
+
C3D_LightEnvInit(&lightEnv);
+
C3D_LightEnvBind(&lightEnv);
+
C3D_LightEnvMaterial(&lightEnv, &material);
+
+
LightLut_Phong(&lut_Phong, 30);
+
+
+
C3D_FVec lightVec = { { 1.0, -0.5, 0.0, 0.0 } };
+
+
C3D_LightInit(&light, &lightEnv);
+
C3D_LightColor(&light, 1.0, 1.0, 1.0);
+
C3D_LightPosition(&light, &lightVec);
+
}
+
+
static void sceneRender(float iod)
+
{
+
+
Mtx_PerspStereoTilt(&projection, 40.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f, iod, 2.0f);
+
+
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, 0.0, 0.0, -4.0 + sinf(angleX));
+
Mtx_RotateX(&modelView, angleX, true );
+
Mtx_RotateY(&modelView, angleY, true );
+
+
+
if (iod >= 0.0f)
+
{
+
angleX += M_PI / 180;
+
angleY += M_PI / 360;
+
}
+
+
+
+
+
+
+
+
}
+
+
static void sceneExit(void )
+
{
+
+
+
+
+
+
+
}
+
+
int main()
+
{
+
+
+
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
+
+
+
C3D_RenderTargetSetClear(targetLeft, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetClear(targetRight, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetOutput(targetLeft,
GFX_TOP ,
GFX_LEFT , DISPLAY_TRANSFER_FLAGS);
+
C3D_RenderTargetSetOutput(targetRight,
GFX_TOP ,
GFX_RIGHT , DISPLAY_TRANSFER_FLAGS);
+
+
+
sceneInit();
+
+
+
+
{
+
+
+
+
+
+
break ;
+
+
+
float iod = slider/3;
+
+
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
{
+
C3D_FrameDrawOn(targetLeft);
+
sceneRender(-iod);
+
+
if (iod > 0.0f)
+
{
+
C3D_FrameDrawOn(targetRight);
+
sceneRender(iod);
+
}
+
}
+
C3D_FrameEnd(0);
+
}
+
+
+
sceneExit();
+
+
+
C3D_Fini();
+
+
return 0;
+
}
+
+
+
+
+
diff --git a/graphics_2gpu_2geoshader_2source_2main_8c-example.html b/graphics_2gpu_2geoshader_2source_2main_8c-example.html
index 17d4620..a8c7713 100644
--- a/graphics_2gpu_2geoshader_2source_2main_8c-example.html
+++ b/graphics_2gpu_2geoshader_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -81,483 +81,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
graphics/gpu/geoshader/source/main.c
-
graphics/gpu/geoshader/source/gpu.h
-
-
-
-
-
#pragma once
+
+
#include <citro3d.h>
#include <string.h>
-
-
#include "3dmath.h"
-
-
void gpuInit(void );
-
void gpuExit(void );
-
-
void gpuClearBuffers(
u32 clearColor);
-
-
void gpuFrameBegin(void );
-
void gpuFrameEnd(void );
-
-
-
void GPU_SetDummyTexEnv(int id );
+
#include "program_shbin.h"
-
-
static inline void GPU_SetFloatUniformMatrix(
GPU_SHADER_TYPE type,
int location, matrix_4x4* matrix)
-
{
-
-
}
-
graphics/gpu/geoshader/source/gpu.c
+
#define CLEAR_COLOR 0x68B0D8FF
#define DISPLAY_TRANSFER_FLAGS \
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
-
static u32 *colorBuf, *depthBuf;
-
-
-
void gpuInit(void )
-
{
-
-
-
-
-
-
-
}
-
-
void gpuExit(void )
-
{
-
-
-
-
}
-
-
void gpuClearBuffers(
u32 clearColor)
-
{
-
-
-
-
-
}
-
-
void gpuFrameBegin(void )
-
{
-
-
-
-
-
0, 0, 240, 400);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
int i;
-
for (i = 0; i < 6; i ++)
-
GPU_SetDummyTexEnv(i);
-
}
-
-
void gpuFrameEnd(void )
-
{
-
-
-
-
-
-
-
-
-
-
-
DISPLAY_TRANSFER_FLAGS);
-
-
-
-
-
};
-
-
void GPU_SetDummyTexEnv(int id )
-
{
-
-
-
-
-
-
-
-
0xFFFFFFFF);
-
}
-
graphics/gpu/geoshader/source/3dmath.h
-
-
-
-
-
#pragma once
-
#include <string.h>
-
#include <stdbool.h>
-
#include <math.h>
-
-
typedef union { struct { float w, z, y, x; }; float c[4]; } vector_4f;
-
typedef struct { vector_4f r[4]; } matrix_4x4;
-
-
static inline float v4f_dp4(const vector_4f* a, const vector_4f* b)
-
{
-
return a->x*b->x + a->y*b->y + a->z*b->z + a->w*b->w;
-
}
-
-
static inline float v4f_mod4(const vector_4f* a)
-
{
-
return sqrtf(v4f_dp4(a,a));
-
}
-
-
static inline void v4f_norm4(vector_4f* vec)
-
{
-
float m = v4f_mod4(vec);
-
if (m == 0.0) return ;
-
vec->x /= m;
-
vec->y /= m;
-
vec->z /= m;
-
vec->w /= m;
-
}
-
-
static inline void m4x4_zeros(matrix_4x4* out)
-
{
-
memset(out, 0, sizeof (*out));
-
}
-
-
static inline void m4x4_copy(matrix_4x4* out, const matrix_4x4* in)
-
{
-
memcpy(out, in, sizeof (*out));
-
}
-
-
void m4x4_identity(matrix_4x4* out);
-
void m4x4_multiply(matrix_4x4* out, const matrix_4x4* a, const matrix_4x4* b);
-
-
void m4x4_translate(matrix_4x4* mtx, float x, float y, float z);
-
void m4x4_scale(matrix_4x4* mtx, float x, float y, float z);
-
-
void m4x4_rotate_x(matrix_4x4* mtx, float angle, bool bRightSide);
-
void m4x4_rotate_y(matrix_4x4* mtx, float angle, bool bRightSide);
-
void m4x4_rotate_z(matrix_4x4* mtx, float angle, bool bRightSide);
-
-
-
void m4x4_ortho_tilt(matrix_4x4* mtx, float left, float right, float bottom, float top, float near, float far);
-
void m4x4_persp_tilt(matrix_4x4* mtx, float fovy, float aspect, float near, float far);
-
graphics/gpu/geoshader/source/3dmath.c
#include "3dmath.h"
-
-
void m4x4_identity(matrix_4x4* out)
-
{
-
m4x4_zeros(out);
-
out->r[0].x = out->r[1].y = out->r[2].z = out->r[3].w = 1.0f;
-
}
-
-
void m4x4_multiply(matrix_4x4* out, const matrix_4x4* a, const matrix_4x4* b)
-
{
-
int i, j;
-
for (i = 0; i < 4; i ++)
-
for (j = 0; j < 4; j ++)
-
out->r[j].c[i] = a->r[j].x*b->r[0].c[i] + a->r[j].y*b->r[1].c[i] + a->r[j].z*b->r[2].c[i] + a->r[j].w*b->r[3].c[i];
-
}
-
-
void m4x4_translate(matrix_4x4* mtx, float x, float y, float z)
-
{
-
matrix_4x4 tm, om;
-
-
m4x4_identity(&tm);
-
tm.r[0].w = x;
-
tm.r[1].w = y;
-
tm.r[2].w = z;
-
-
m4x4_multiply(&om, mtx, &tm);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_scale(matrix_4x4* mtx, float x, float y, float z)
-
{
-
int i;
-
for (i = 0; i < 4; i ++)
-
{
-
mtx->r[i].x *= x;
-
mtx->r[i].y *= y;
-
mtx->r[i].z *= z;
-
}
-
}
-
-
void m4x4_rotate_x(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = 1.0f;
-
rm.r[1].y = cosAngle;
-
rm.r[1].z = sinAngle;
-
rm.r[2].y = -sinAngle;
-
rm.r[2].z = cosAngle;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_rotate_y(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = cosAngle;
-
rm.r[0].z = sinAngle;
-
rm.r[1].y = 1.0f;
-
rm.r[2].x = -sinAngle;
-
rm.r[2].z = cosAngle;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_rotate_z(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = cosAngle;
-
rm.r[0].y = sinAngle;
-
rm.r[1].x = -sinAngle;
-
rm.r[1].y = cosAngle;
-
rm.r[2].z = 1.0f;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_ortho_tilt(matrix_4x4* mtx, float left, float right, float bottom, float top, float near, float far)
-
{
-
matrix_4x4 mp;
-
m4x4_zeros(&mp);
-
-
-
mp.r[0].x = 2.0f / (right - left);
-
mp.r[0].w = (left + right) / (left - right);
-
mp.r[1].y = 2.0f / (top - bottom);
-
mp.r[1].w = (bottom + top) / (bottom - top);
-
mp.r[2].z = 2.0f / (near - far);
-
mp.r[2].w = (far + near) / (far - near);
-
mp.r[3].w = 1.0f;
-
-
-
matrix_4x4 mp2, mp3;
-
m4x4_identity(&mp2);
-
mp2.r[2].z = 0.5;
-
mp2.r[2].w = -0.5;
-
m4x4_multiply(&mp3, &mp2, &mp);
-
-
-
m4x4_identity(&mp2);
-
mp2.r[0].x = 0.0;
-
mp2.r[0].y = 1.0;
-
mp2.r[1].x = -1.0;
-
mp2.r[1].y = 0.0;
-
m4x4_multiply(mtx, &mp2, &mp3);
-
}
-
-
void m4x4_persp_tilt(matrix_4x4* mtx, float fovx, float invaspect, float near, float far)
-
{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
float fovx_tan = tanf(fovx / 2);
-
matrix_4x4 mp;
-
m4x4_zeros(&mp);
-
-
-
mp.r[0].x = 1.0f / fovx_tan;
-
mp.r[1].y = 1.0f / (fovx_tan*invaspect);
-
mp.r[2].z = (near + far) / (near - far);
-
mp.r[2].w = (2 * near * far) / (near - far);
-
mp.r[3].z = -1.0f;
-
-
-
matrix_4x4 mp2;
-
m4x4_identity(&mp2);
-
mp2.r[2].z = 0.5;
-
mp2.r[2].w = -0.5;
-
m4x4_multiply(mtx, &mp2, &mp);
-
-
-
m4x4_rotate_z(mtx, M_PI / 2, true );
-
}
-
graphics/gpu/geoshader/source/vshader.pica
; Example PICA200 vertex shader
-
-
; Constants
-
.constf myconst(0.0, 1.0, -1.0, -0.5)
-
.alias zeros myconst.xxxx ; Vector full of zeros
-
.alias ones myconst.yyyy ; Vector full of ones
-
-
; Outputs - since we are also using a geoshader the output type isn't really used
-
.out outpos position
-
.out outclr color
-
-
; Inputs (defined as aliases for convenience)
-
.alias inpos v0
-
.alias inclr v1
-
-
.proc main
-
; Pass through both inputs to the geoshader
-
mov outpos.xyz, inpos
-
mov outpos.w, ones
-
mov outclr, inclr
-
-
; We're finished
-
end
-
.end
-
graphics/gpu/geoshader/source/gshader.pica
; Example PICA200 geometry shader
-
-
; Uniforms
-
.fvec projection[4]
-
-
; Constants
-
.constf myconst(0.0, 1.0, -1.0, 0.5)
-
.alias zeros myconst.xxxx ; Vector full of zeros
-
.alias ones myconst.yyyy ; Vector full of ones
-
.alias half myconst.wwww
-
-
; Outputs - this time the type *is* used
-
.out outpos position
-
.out outclr color
-
-
; Inputs: we will receive the following inputs:
-
; v0-v1: position/color of the first vertex
-
; v2-v3: position/color of the second vertex
-
; v4-v5: position/color of the third vertex
-
-
.proc main
-
; Calculate the midpoints of the vertices
-
mov r4, v0
-
add r4, v2, r4
-
mul r4, half, r4
-
mov r5, v2
-
add r5, v4, r5
-
mul r5, half, r5
-
mov r6, v4
-
add r6, v0, r6
-
mul r6, half, r6
-
-
; Emit the first triangle
-
mov r0, v0
-
mov r1, r4
-
mov r2, r6
-
call emit_triangle
-
-
; Emit the second triangle
-
mov r0, r4
-
mov r1, v2
-
mov r2, r5
-
call emit_triangle
-
-
; Emit the third triangle
-
mov r0, r6
-
mov r1, r5
-
mov r2, v4
-
call emit_triangle
-
-
; We're finished
-
end
-
.end
-
-
.proc emit_triangle
-
; Emit the first vertex
-
setemit 0
-
mov r8, r0
-
mov r9, v1
-
call process_vertex
-
emit
-
-
; Emit the second vertex
-
setemit 1
-
mov r8, r1
-
mov r9, v3
-
call process_vertex
-
emit
-
-
; Emit the third vertex and finish the primitive
-
setemit 2, prim
-
mov r8, r2
-
mov r9, v5
-
call process_vertex
-
emit
-
.end
-
-
; Subroutine
-
; Inputs:
-
; r8: vertex position
-
; r9: vertex color
-
.proc process_vertex
-
; outpos = projectionMatrix * r8
-
dp4 outpos.x, projection[0], r8
-
dp4 outpos.y, projection[1], r8
-
dp4 outpos.z, projection[2], r8
-
dp4 outpos.w, projection[3], r8
-
-
; outclr = r9
-
mov outclr, r9
-
.end
-
-
-
-
-
-
-
-
-
-
#include "vshader_shbin.h"
-
#include "gshader_shbin.h"
-
-
#define CLEAR_COLOR 0x68B0D8FF
-
typedef struct { float position[3]; float color[4]; } vertex;
static const vertex vertex_list[] =
@@ -569,10 +104,10 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
-
static DVLB_s *vshader_dvlb, *gshader_dvlb;
-
+
+
static int uLoc_projection;
-
static matrix_4x4 projection;
+
static C3D_Mtx projection;
static void * vbo_data;
@@ -580,107 +115,97 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
{
-
-
-
-
-
+
+
+
+
+
C3D_BindProgram(&program);
-
+
+
+
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0,
GPU_FLOAT , 3);
+
AttrInfo_AddLoader(attrInfo, 1,
GPU_FLOAT , 4);
-
m4x4_ortho_tilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);
-
+
memcpy(vbo_data, vertex_list, sizeof (vertex_list));
-
}
-
static void sceneRender(void )
-
{
-
-
+
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof (vertex), 2, 0x10);
-
-
-
-
-
-
-
0xFFFFFFFF);
-
-
-
-
2,
-
-
-
-
0xFFC,
-
0x10,
-
1,
-
-
-
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
+
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
+
+
}
-
-
+
static void sceneRender(void )
+
{
+
+
-
+
}
static void sceneExit(void )
{
-
+
-
-
-
+
+
}
int main()
{
-
-
gpuInit();
+
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
+
+
C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetOutput(target,
GFX_TOP ,
GFX_LEFT , DISPLAY_TRANSFER_FLAGS);
sceneInit();
-
gpuClearBuffers(CLEAR_COLOR);
-
+
{
-
-
-
+
-
-
+
+
break ;
-
gpuFrameBegin();
-
sceneRender();
-
gpuFrameEnd();
-
gpuClearBuffers(CLEAR_COLOR);
-
-
-
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
}
sceneExit();
-
gpuExit();
-
+
C3D_Fini();
+
return 0;
}
diff --git a/graphics_2gpu_2gpusprites_2source_2main_8c-example.html b/graphics_2gpu_2gpusprites_2source_2main_8c-example.html
new file mode 100644
index 0000000..36942b3
--- /dev/null
+++ b/graphics_2gpu_2gpusprites_2source_2main_8c-example.html
@@ -0,0 +1,367 @@
+
+
+
+
+
+
+
libctru: graphics/gpu/gpusprites/source/main.c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ libctru
+ v1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <citro3d.h>
+
+
#include <string.h>
+
#include <stdlib.h>
+
#include <time.h>
+
+
#include "lodepng.h"
+
+
+
#include "vshader_shbin.h"
+
#include "ballsprites_png.h"
+
+
#define CLEAR_COLOR 0x000000FF
+
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
+
+
#define TEXTURE_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(1) | GX_TRANSFER_OUT_TILED(1) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGBA8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
#define NUM_SPRITES 256
+
+
+
typedef struct {
+
int x,y;
+
int dx, dy;
+
int image;
+
}Sprite;
+
+
Sprite sprites[NUM_SPRITES];
+
+
struct { float left, right, top, bottom; } images[4] = {
+
{0.0f, 0.5f, 0.0f, 0.5f},
+
{0.5f, 1.0f, 0.0f, 0.5f},
+
{0.0f, 0.5f, 0.5f, 1.0f},
+
{0.5f, 1.0f, 0.5f, 1.0f},
+
};
+
+
+
void drawSprite( int x, int y, int width, int height, int image ) {
+
+
+
float left = images[image].left;
+
float right = images[image].right;
+
float top = images[image].top;
+
float bottom = images[image].bottom;
+
+
+
+
C3D_ImmSendAttrib(x, y, 0.5f, 0.0f);
+
C3D_ImmSendAttrib( left, top, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(x+width, y+height, 0.5f, 0.0f);
+
C3D_ImmSendAttrib( right, bottom, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(x+width, y, 0.5f, 0.0f);
+
C3D_ImmSendAttrib( right, top, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(x, y, 0.5f, 0.0f);
+
C3D_ImmSendAttrib( left, top, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(x, y+height, 0.5f, 0.0f);
+
C3D_ImmSendAttrib( left, bottom, 0.0f, 0.0f);
+
+
C3D_ImmSendAttrib(x+width, y+height, 0.5f, 0.0f);
+
C3D_ImmSendAttrib( right, bottom, 0.0f, 0.0f);
+
+
+
C3D_ImmDrawEnd();
+
+
}
+
+
+
+
+
static int uLoc_projection;
+
static C3D_Mtx projection;
+
+
static C3D_Tex spritesheet_tex;
+
+
+
static void sceneInit(void ) {
+
+
int i;
+
+
+
+
+
+
C3D_BindProgram(&program);
+
+
+
+
+
+
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0,
GPU_FLOAT , 3);
+
AttrInfo_AddLoader(attrInfo, 1,
GPU_FLOAT , 2);
+
+
+
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 240.0, 0.0, 0.0, 1.0);
+
+
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
+
unsigned char * image;
+
unsigned width, height;
+
+
lodepng_decode32(&image, &width, &height, ballsprites_png, ballsprites_png_size);
+
+
+
+
+
u8 * src=image;
u8 *dst=gpusrc;
+
+
+
for (int i = 0; i<width*height; i++) {
+
int r = *src++;
+
int g = *src++;
+
int b = *src++;
+
int a = *src++;
+
+
*dst++ = a;
+
*dst++ = b;
+
*dst++ = g;
+
*dst++ = r;
+
}
+
+
+
+
+
+
C3D_TexInit(&spritesheet_tex, width, height,
GPU_RGBA8 );
+
+
+
+
+
+
+
C3D_TexBind(0, &spritesheet_tex);
+
+
free(image);
+
+
+
+
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
+
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
+
+
+
srand(time(NULL));
+
+
for (i = 0; i < NUM_SPRITES; i++) {
+
+
sprites[i].x = (rand() % (400 - 32 )) << 8;
+
sprites[i].y = (rand() % (240 - 32 )) << 8 ;
+
sprites[i].dx = (rand() & 0xFF) + 0x100;
+
sprites[i].dy = (rand() & 0xFF) + 0x100;
+
sprites[i].image = rand() & 3;
+
+
if (rand() & 1)
+
sprites[i].dx = -sprites[i].dx;
+
if (rand() & 1)
+
sprites[i].dy = -sprites[i].dy;
+
}
+
+
+
+
}
+
+
+
static void moveSprites() {
+
+
+
int i;
+
+
for (i = 0; i < NUM_SPRITES; i++) {
+
sprites[i].x += sprites[i].dx;
+
sprites[i].y += sprites[i].dy;
+
+
+
if (sprites[i].x < (1<<8) || sprites[i].x > ((400-32) << 8))
+
sprites[i].dx = -sprites[i].dx;
+
+
if (sprites[i].y < (1<<8) || sprites[i].y > ((240-32) << 8))
+
sprites[i].dy = -sprites[i].dy;
+
}
+
}
+
+
+
static void sceneRender(void ) {
+
+
int i;
+
+
+
+
for (i = 0; i < NUM_SPRITES; i++) {
+
+
drawSprite( sprites[i].x >> 8, sprites[i].y >> 8, 32, 32, sprites[i].image);
+
}
+
+
}
+
+
+
static void sceneExit(void ) {
+
+
+
+
+
+
}
+
+
+
int main(int argc, char **argv) {
+
+
+
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
+
+
C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetOutput(target,
GFX_TOP ,
GFX_LEFT , DISPLAY_TRANSFER_FLAGS);
+
+
+
sceneInit();
+
+
+
+
+
+
+
+
+
+
break ;
+
+
moveSprites();
+
+
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
+
sceneExit();
+
+
+
C3D_Fini();
+
+
return 0;
+
}
+
+
+
+
+
diff --git a/graphics_2gpu_2immediate_2source_2main_8c-example.html b/graphics_2gpu_2immediate_2source_2main_8c-example.html
new file mode 100644
index 0000000..f504c60
--- /dev/null
+++ b/graphics_2gpu_2immediate_2source_2main_8c-example.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
libctru: graphics/gpu/immediate/source/main.c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ libctru
+ v1.1.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <citro3d.h>
+
#include <string.h>
+
#include "vshader_shbin.h"
+
+
#define CLEAR_COLOR 0x68B0D8FF
+
+
#define DISPLAY_TRANSFER_FLAGS \
+
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
+
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
+
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
+
+
+
+
static int uLoc_projection;
+
static C3D_Mtx projection;
+
+
static void sceneInit(void )
+
{
+
+
+
+
+
C3D_BindProgram(&program);
+
+
+
+
+
+
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0,
GPU_FLOAT , 3);
+
AttrInfo_AddLoader(attrInfo, 1,
GPU_FLOAT , 3);
+
+
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);
+
+
+
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
+
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
+
+
}
+
+
static void sceneRender(void )
+
{
+
+
+
+
+
+
C3D_ImmSendAttrib(200.0f, 200.0f, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(1.0f, 0.0f, 0.0f, 1.0f);
+
+
C3D_ImmSendAttrib(100.0f, 40.0f, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(0.0f, 1.0f, 0.0f, 1.0f);
+
+
C3D_ImmSendAttrib(300.0f, 40.0f, 0.5f, 0.0f);
+
C3D_ImmSendAttrib(0.0f, 0.0f, 1.0f, 1.0f);
+
C3D_ImmDrawEnd();
+
}
+
+
static void sceneExit(void )
+
{
+
+
+
+
}
+
+
int main()
+
{
+
+
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
+
+
C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetOutput(target,
GFX_TOP ,
GFX_LEFT , DISPLAY_TRANSFER_FLAGS);
+
+
+
sceneInit();
+
+
+
+
{
+
+
+
+
+
+
break ;
+
+
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
+
}
+
+
+
sceneExit();
+
+
+
C3D_Fini();
+
+
return 0;
+
}
+
+
+
+
+
diff --git a/graphics_2gpu_2simple_tri_2source_2main_8c-example.html b/graphics_2gpu_2simple_tri_2source_2main_8c-example.html
index a2a8955..a316958 100644
--- a/graphics_2gpu_2simple_tri_2source_2main_8c-example.html
+++ b/graphics_2gpu_2simple_tri_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -81,399 +81,18 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
graphics/gpu/simple_tri/source/main.c
-
graphics/gpu/simple_tri/source/gpu.h
-
-
-
-
-
#pragma once
+
+
#include <citro3d.h>
#include <string.h>
-
-
#include "3dmath.h"
-
-
void gpuInit(void );
-
void gpuExit(void );
-
-
void gpuClearBuffers(
u32 clearColor);
-
-
void gpuFrameBegin(void );
-
void gpuFrameEnd(void );
-
-
-
void GPU_SetDummyTexEnv(int id );
+
#include "vshader_shbin.h"
-
-
static inline void GPU_SetFloatUniformMatrix(
GPU_SHADER_TYPE type,
int location, matrix_4x4* matrix)
-
{
-
-
}
-
graphics/gpu/simple_tri/source/gpu.c
+
#define CLEAR_COLOR 0x68B0D8FF
#define DISPLAY_TRANSFER_FLAGS \
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
-
static u32 *colorBuf, *depthBuf;
-
-
-
void gpuInit(void )
-
{
-
-
-
-
-
-
-
}
-
-
void gpuExit(void )
-
{
-
-
-
-
}
-
-
void gpuClearBuffers(
u32 clearColor)
-
{
-
-
-
-
-
}
-
-
void gpuFrameBegin(void )
-
{
-
-
-
-
-
0, 0, 240, 400);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
int i;
-
for (i = 0; i < 6; i ++)
-
GPU_SetDummyTexEnv(i);
-
}
-
-
void gpuFrameEnd(void )
-
{
-
-
-
-
-
-
-
-
-
-
-
DISPLAY_TRANSFER_FLAGS);
-
-
-
-
-
};
-
-
void GPU_SetDummyTexEnv(int id )
-
{
-
-
-
-
-
-
-
-
0xFFFFFFFF);
-
}
-
graphics/gpu/simple_tri/source/3dmath.h
-
-
-
-
-
#pragma once
-
#include <string.h>
-
#include <stdbool.h>
-
#include <math.h>
-
-
typedef union { struct { float w, z, y, x; }; float c[4]; } vector_4f;
-
typedef struct { vector_4f r[4]; } matrix_4x4;
-
-
static inline float v4f_dp4(const vector_4f* a, const vector_4f* b)
-
{
-
return a->x*b->x + a->y*b->y + a->z*b->z + a->w*b->w;
-
}
-
-
static inline float v4f_mod4(const vector_4f* a)
-
{
-
return sqrtf(v4f_dp4(a,a));
-
}
-
-
static inline void v4f_norm4(vector_4f* vec)
-
{
-
float m = v4f_mod4(vec);
-
if (m == 0.0) return ;
-
vec->x /= m;
-
vec->y /= m;
-
vec->z /= m;
-
vec->w /= m;
-
}
-
-
static inline void m4x4_zeros(matrix_4x4* out)
-
{
-
memset(out, 0, sizeof (*out));
-
}
-
-
static inline void m4x4_copy(matrix_4x4* out, const matrix_4x4* in)
-
{
-
memcpy(out, in, sizeof (*out));
-
}
-
-
void m4x4_identity(matrix_4x4* out);
-
void m4x4_multiply(matrix_4x4* out, const matrix_4x4* a, const matrix_4x4* b);
-
-
void m4x4_translate(matrix_4x4* mtx, float x, float y, float z);
-
void m4x4_scale(matrix_4x4* mtx, float x, float y, float z);
-
-
void m4x4_rotate_x(matrix_4x4* mtx, float angle, bool bRightSide);
-
void m4x4_rotate_y(matrix_4x4* mtx, float angle, bool bRightSide);
-
void m4x4_rotate_z(matrix_4x4* mtx, float angle, bool bRightSide);
-
-
-
void m4x4_ortho_tilt(matrix_4x4* mtx, float left, float right, float bottom, float top, float near, float far);
-
void m4x4_persp_tilt(matrix_4x4* mtx, float fovy, float aspect, float near, float far);
-
graphics/gpu/simple_tri/source/3dmath.c
#include "3dmath.h"
-
-
void m4x4_identity(matrix_4x4* out)
-
{
-
m4x4_zeros(out);
-
out->r[0].x = out->r[1].y = out->r[2].z = out->r[3].w = 1.0f;
-
}
-
-
void m4x4_multiply(matrix_4x4* out, const matrix_4x4* a, const matrix_4x4* b)
-
{
-
int i, j;
-
for (i = 0; i < 4; i ++)
-
for (j = 0; j < 4; j ++)
-
out->r[j].c[i] = a->r[j].x*b->r[0].c[i] + a->r[j].y*b->r[1].c[i] + a->r[j].z*b->r[2].c[i] + a->r[j].w*b->r[3].c[i];
-
}
-
-
void m4x4_translate(matrix_4x4* mtx, float x, float y, float z)
-
{
-
matrix_4x4 tm, om;
-
-
m4x4_identity(&tm);
-
tm.r[0].w = x;
-
tm.r[1].w = y;
-
tm.r[2].w = z;
-
-
m4x4_multiply(&om, mtx, &tm);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_scale(matrix_4x4* mtx, float x, float y, float z)
-
{
-
int i;
-
for (i = 0; i < 4; i ++)
-
{
-
mtx->r[i].x *= x;
-
mtx->r[i].y *= y;
-
mtx->r[i].z *= z;
-
}
-
}
-
-
void m4x4_rotate_x(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = 1.0f;
-
rm.r[1].y = cosAngle;
-
rm.r[1].z = sinAngle;
-
rm.r[2].y = -sinAngle;
-
rm.r[2].z = cosAngle;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_rotate_y(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = cosAngle;
-
rm.r[0].z = sinAngle;
-
rm.r[1].y = 1.0f;
-
rm.r[2].x = -sinAngle;
-
rm.r[2].z = cosAngle;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_rotate_z(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = cosAngle;
-
rm.r[0].y = sinAngle;
-
rm.r[1].x = -sinAngle;
-
rm.r[1].y = cosAngle;
-
rm.r[2].z = 1.0f;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_ortho_tilt(matrix_4x4* mtx, float left, float right, float bottom, float top, float near, float far)
-
{
-
matrix_4x4 mp;
-
m4x4_zeros(&mp);
-
-
-
mp.r[0].x = 2.0f / (right - left);
-
mp.r[0].w = (left + right) / (left - right);
-
mp.r[1].y = 2.0f / (top - bottom);
-
mp.r[1].w = (bottom + top) / (bottom - top);
-
mp.r[2].z = 2.0f / (near - far);
-
mp.r[2].w = (far + near) / (far - near);
-
mp.r[3].w = 1.0f;
-
-
-
matrix_4x4 mp2, mp3;
-
m4x4_identity(&mp2);
-
mp2.r[2].z = 0.5;
-
mp2.r[2].w = -0.5;
-
m4x4_multiply(&mp3, &mp2, &mp);
-
-
-
m4x4_identity(&mp2);
-
mp2.r[0].x = 0.0;
-
mp2.r[0].y = 1.0;
-
mp2.r[1].x = -1.0;
-
mp2.r[1].y = 0.0;
-
m4x4_multiply(mtx, &mp2, &mp3);
-
}
-
-
void m4x4_persp_tilt(matrix_4x4* mtx, float fovx, float invaspect, float near, float far)
-
{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
float fovx_tan = tanf(fovx / 2);
-
matrix_4x4 mp;
-
m4x4_zeros(&mp);
-
-
-
mp.r[0].x = 1.0f / fovx_tan;
-
mp.r[1].y = 1.0f / (fovx_tan*invaspect);
-
mp.r[2].z = (near + far) / (near - far);
-
mp.r[2].w = (2 * near * far) / (near - far);
-
mp.r[3].z = -1.0f;
-
-
-
matrix_4x4 mp2;
-
m4x4_identity(&mp2);
-
mp2.r[2].z = 0.5;
-
mp2.r[2].w = -0.5;
-
m4x4_multiply(mtx, &mp2, &mp);
-
-
-
m4x4_rotate_z(mtx, M_PI / 2, true );
-
}
-
graphics/gpu/simple_tri/source/vshader.pica
; Example PICA200 vertex shader
-
-
; Uniforms
-
.fvec projection[4]
-
-
; Constants
-
.constf myconst(0.0, 1.0, -1.0, -0.5)
-
.alias zeros myconst.xxxx ; Vector full of zeros
-
.alias ones myconst.yyyy ; Vector full of ones
-
-
; Outputs
-
.out outpos position
-
.out outclr color
-
-
; Inputs (defined as aliases for convenience)
-
.alias inpos v0
-
-
.proc main
-
; Force the w component of inpos to be 1.0
-
mov r0.xyz, inpos
-
mov r0.w, ones
-
-
; outpos = projectionMatrix * inpos
-
dp4 outpos.x, projection[0], r0
-
dp4 outpos.y, projection[1], r0
-
dp4 outpos.z, projection[2], r0
-
dp4 outpos.w, projection[3], r0
-
-
; outclr = solid white color
-
mov outclr, ones
-
-
; We're finished
-
end
-
.end
-
-
-
-
-
-
-
-
#include "vshader_shbin.h"
-
-
#define CLEAR_COLOR 0x68B0D8FF
-
typedef struct { float x, y, z; } vertex;
static const vertex vertex_list[] =
@@ -485,113 +104,109 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
-
-
+
+
static int uLoc_projection;
-
static matrix_4x4 projection;
+
static C3D_Mtx projection;
static void * vbo_data;
static void sceneInit(void )
{
-
-
-
-
+
+
+
+
+
C3D_BindProgram(&program);
+
+
+
-
-
+
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0,
GPU_FLOAT , 3);
+
AttrInfo_AddFixed(attrInfo, 1);
+
+
+
C3D_FixedAttribSet(1, 1.0, 1.0, 1.0, 1.0);
-
m4x4_ortho_tilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);
+
Mtx_OrthoTilt(&projection, 0.0, 400.0, 0.0, 240.0, 0.0, 1.0);
-
+
memcpy(vbo_data, vertex_list, sizeof (vertex_list));
-
}
-
static void sceneRender(void )
-
{
-
-
+
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof (vertex), 1, 0x0);
-
-
-
-
-
-
-
0xFFFFFFFF);
-
-
-
-
1,
-
-
-
0xFFE,
-
0x0,
-
1,
-
-
-
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
+
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
+
+
}
-
-
+
static void sceneRender(void )
+
{
+
+
-
+
}
static void sceneExit(void )
{
-
+
-
-
+
+
}
int main()
{
-
-
gpuInit();
+
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
+
+
C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetOutput(target,
GFX_TOP ,
GFX_LEFT , DISPLAY_TRANSFER_FLAGS);
sceneInit();
-
gpuClearBuffers(CLEAR_COLOR);
-
+
{
-
-
-
+
-
-
+
+
break ;
-
gpuFrameBegin();
-
sceneRender();
-
gpuFrameEnd();
-
gpuClearBuffers(CLEAR_COLOR);
-
-
-
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
}
sceneExit();
-
gpuExit();
-
+
C3D_Fini();
+
return 0;
}
diff --git a/graphics_2gpu_2textured_cube_2source_2main_8c-example.html b/graphics_2gpu_2textured_cube_2source_2main_8c-example.html
index b554c00..871547b 100644
--- a/graphics_2gpu_2textured_cube_2source_2main_8c-example.html
+++ b/graphics_2gpu_2textured_cube_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -81,458 +81,19 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
graphics/gpu/textured_cube/source/main.c
-
graphics/gpu/textured_cube/source/gpu.h
-
-
-
-
-
#pragma once
+
+
#include <citro3d.h>
#include <string.h>
-
-
#include "3dmath.h"
-
-
void gpuInit(void );
-
void gpuExit(void );
-
-
void gpuClearBuffers(
u32 clearColor);
-
-
void gpuFrameBegin(void );
-
void gpuFrameEnd(void );
-
-
-
void GPU_SetDummyTexEnv(int id );
+
#include "vshader_shbin.h"
+
#include "kitten_bin.h"
-
-
static inline void GPU_SetFloatUniformMatrix(
GPU_SHADER_TYPE type,
int location, matrix_4x4* matrix)
-
{
-
-
}
-
graphics/gpu/textured_cube/source/gpu.c
+
#define CLEAR_COLOR 0x68B0D8FF
#define DISPLAY_TRANSFER_FLAGS \
(GX_TRANSFER_FLIP_VERT(0) | GX_TRANSFER_OUT_TILED(0) | GX_TRANSFER_RAW_COPY(0) | \
GX_TRANSFER_IN_FORMAT(GX_TRANSFER_FMT_RGBA8) | GX_TRANSFER_OUT_FORMAT(GX_TRANSFER_FMT_RGB8) | \
GX_TRANSFER_SCALING(GX_TRANSFER_SCALE_NO))
-
static u32 *colorBuf, *depthBuf;
-
-
-
void gpuInit(void )
-
{
-
-
-
-
-
-
-
}
-
-
void gpuExit(void )
-
{
-
-
-
-
}
-
-
void gpuClearBuffers(
u32 clearColor)
-
{
-
-
-
-
-
}
-
-
void gpuFrameBegin(void )
-
{
-
-
-
-
-
0, 0, 240, 400);
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
int i;
-
for (i = 0; i < 6; i ++)
-
GPU_SetDummyTexEnv(i);
-
}
-
-
void gpuFrameEnd(void )
-
{
-
-
-
-
-
-
-
-
-
-
-
DISPLAY_TRANSFER_FLAGS);
-
-
-
-
-
};
-
-
void GPU_SetDummyTexEnv(int id )
-
{
-
-
-
-
-
-
-
-
0xFFFFFFFF);
-
}
-
graphics/gpu/textured_cube/source/3dmath.h
-
-
-
-
-
#pragma once
-
#include <string.h>
-
#include <stdbool.h>
-
#include <math.h>
-
-
typedef union { struct { float w, z, y, x; }; float c[4]; } vector_4f;
-
typedef struct { vector_4f r[4]; } matrix_4x4;
-
-
static inline float v4f_dp4(const vector_4f* a, const vector_4f* b)
-
{
-
return a->x*b->x + a->y*b->y + a->z*b->z + a->w*b->w;
-
}
-
-
static inline float v4f_mod4(const vector_4f* a)
-
{
-
return sqrtf(v4f_dp4(a,a));
-
}
-
-
static inline void v4f_norm4(vector_4f* vec)
-
{
-
float m = v4f_mod4(vec);
-
if (m == 0.0) return ;
-
vec->x /= m;
-
vec->y /= m;
-
vec->z /= m;
-
vec->w /= m;
-
}
-
-
static inline void m4x4_zeros(matrix_4x4* out)
-
{
-
memset(out, 0, sizeof (*out));
-
}
-
-
static inline void m4x4_copy(matrix_4x4* out, const matrix_4x4* in)
-
{
-
memcpy(out, in, sizeof (*out));
-
}
-
-
void m4x4_identity(matrix_4x4* out);
-
void m4x4_multiply(matrix_4x4* out, const matrix_4x4* a, const matrix_4x4* b);
-
-
void m4x4_translate(matrix_4x4* mtx, float x, float y, float z);
-
void m4x4_scale(matrix_4x4* mtx, float x, float y, float z);
-
-
void m4x4_rotate_x(matrix_4x4* mtx, float angle, bool bRightSide);
-
void m4x4_rotate_y(matrix_4x4* mtx, float angle, bool bRightSide);
-
void m4x4_rotate_z(matrix_4x4* mtx, float angle, bool bRightSide);
-
-
-
void m4x4_ortho_tilt(matrix_4x4* mtx, float left, float right, float bottom, float top, float near, float far);
-
void m4x4_persp_tilt(matrix_4x4* mtx, float fovy, float aspect, float near, float far);
-
graphics/gpu/textured_cube/source/3dmath.c
#include "3dmath.h"
-
-
void m4x4_identity(matrix_4x4* out)
-
{
-
m4x4_zeros(out);
-
out->r[0].x = out->r[1].y = out->r[2].z = out->r[3].w = 1.0f;
-
}
-
-
void m4x4_multiply(matrix_4x4* out, const matrix_4x4* a, const matrix_4x4* b)
-
{
-
int i, j;
-
for (i = 0; i < 4; i ++)
-
for (j = 0; j < 4; j ++)
-
out->r[j].c[i] = a->r[j].x*b->r[0].c[i] + a->r[j].y*b->r[1].c[i] + a->r[j].z*b->r[2].c[i] + a->r[j].w*b->r[3].c[i];
-
}
-
-
void m4x4_translate(matrix_4x4* mtx, float x, float y, float z)
-
{
-
matrix_4x4 tm, om;
-
-
m4x4_identity(&tm);
-
tm.r[0].w = x;
-
tm.r[1].w = y;
-
tm.r[2].w = z;
-
-
m4x4_multiply(&om, mtx, &tm);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_scale(matrix_4x4* mtx, float x, float y, float z)
-
{
-
int i;
-
for (i = 0; i < 4; i ++)
-
{
-
mtx->r[i].x *= x;
-
mtx->r[i].y *= y;
-
mtx->r[i].z *= z;
-
}
-
}
-
-
void m4x4_rotate_x(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = 1.0f;
-
rm.r[1].y = cosAngle;
-
rm.r[1].z = sinAngle;
-
rm.r[2].y = -sinAngle;
-
rm.r[2].z = cosAngle;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_rotate_y(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = cosAngle;
-
rm.r[0].z = sinAngle;
-
rm.r[1].y = 1.0f;
-
rm.r[2].x = -sinAngle;
-
rm.r[2].z = cosAngle;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_rotate_z(matrix_4x4* mtx, float angle, bool bRightSide)
-
{
-
matrix_4x4 rm, om;
-
-
float cosAngle = cosf(angle);
-
float sinAngle = sinf(angle);
-
-
m4x4_zeros(&rm);
-
rm.r[0].x = cosAngle;
-
rm.r[0].y = sinAngle;
-
rm.r[1].x = -sinAngle;
-
rm.r[1].y = cosAngle;
-
rm.r[2].z = 1.0f;
-
rm.r[3].w = 1.0f;
-
-
if (bRightSide) m4x4_multiply(&om, mtx, &rm);
-
else m4x4_multiply(&om, &rm, mtx);
-
m4x4_copy(mtx, &om);
-
}
-
-
void m4x4_ortho_tilt(matrix_4x4* mtx, float left, float right, float bottom, float top, float near, float far)
-
{
-
matrix_4x4 mp;
-
m4x4_zeros(&mp);
-
-
-
mp.r[0].x = 2.0f / (right - left);
-
mp.r[0].w = (left + right) / (left - right);
-
mp.r[1].y = 2.0f / (top - bottom);
-
mp.r[1].w = (bottom + top) / (bottom - top);
-
mp.r[2].z = 2.0f / (near - far);
-
mp.r[2].w = (far + near) / (far - near);
-
mp.r[3].w = 1.0f;
-
-
-
matrix_4x4 mp2, mp3;
-
m4x4_identity(&mp2);
-
mp2.r[2].z = 0.5;
-
mp2.r[2].w = -0.5;
-
m4x4_multiply(&mp3, &mp2, &mp);
-
-
-
m4x4_identity(&mp2);
-
mp2.r[0].x = 0.0;
-
mp2.r[0].y = 1.0;
-
mp2.r[1].x = -1.0;
-
mp2.r[1].y = 0.0;
-
m4x4_multiply(mtx, &mp2, &mp3);
-
}
-
-
void m4x4_persp_tilt(matrix_4x4* mtx, float fovx, float invaspect, float near, float far)
-
{
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
float fovx_tan = tanf(fovx / 2);
-
matrix_4x4 mp;
-
m4x4_zeros(&mp);
-
-
-
mp.r[0].x = 1.0f / fovx_tan;
-
mp.r[1].y = 1.0f / (fovx_tan*invaspect);
-
mp.r[2].z = (near + far) / (near - far);
-
mp.r[2].w = (2 * near * far) / (near - far);
-
mp.r[3].z = -1.0f;
-
-
-
matrix_4x4 mp2;
-
m4x4_identity(&mp2);
-
mp2.r[2].z = 0.5;
-
mp2.r[2].w = -0.5;
-
m4x4_multiply(mtx, &mp2, &mp);
-
-
-
m4x4_rotate_z(mtx, M_PI / 2, true );
-
}
-
graphics/gpu/textured_cube/source/vshader.pica
; Example PICA200 vertex shader
-
-
; Uniforms
-
.fvec projection[4], modelView[4]
-
.fvec lightVec, lightHalfVec, lightClr, material[4]
-
.alias mat_amb material[0]
-
.alias mat_dif material[1]
-
.alias mat_spe material[2]
-
.alias mat_emi material[3]
-
-
; Constants
-
.constf myconst(0.0, 1.0, -1.0, -0.5)
-
.alias zeros myconst.xxxx ; Vector full of zeros
-
.alias ones myconst.yyyy ; Vector full of ones
-
-
; Outputs
-
.out outpos position
-
.out outtc0 texcoord0
-
.out outclr color
-
-
; Inputs (defined as aliases for convenience)
-
.alias inpos v0
-
.alias intex v1
-
.alias innrm v2
-
-
.proc main
-
; Force the w component of inpos to be 1.0
-
mov r0.xyz, inpos
-
mov r0.w, ones
-
-
; r1 = modelView * inpos
-
dp4 r1.x, modelView[0], r0
-
dp4 r1.y, modelView[1], r0
-
dp4 r1.z, modelView[2], r0
-
dp4 r1.w, modelView[3], r0
-
-
; outpos = projection * r1
-
dp4 outpos.x, projection[0], r1
-
dp4 outpos.y, projection[1], r1
-
dp4 outpos.z, projection[2], r1
-
dp4 outpos.w, projection[3], r1
-
-
; outtex = intex
-
mov outtc0, intex
-
-
; Transform the normal vector with the modelView matrix
-
; r1 = normalize(modelView * innrm)
-
mov r0.xyz, innrm
-
mov r0.w, zeros
-
dp4 r1.x, modelView[0], r0
-
dp4 r1.y, modelView[1], r0
-
dp4 r1.z, modelView[2], r0
-
mov r1.w, zeros
-
dp3 r2, r1, r1 ; r2 = x^2+y^2+z^2 for each component
-
rsq r2, r2 ; r2 = 1/sqrt(r2) ''
-
mul r1, r2, r1 ; r1 = r1*r2
-
-
; Calculate the diffuse level (r0.x) and the shininess level (r0.y)
-
; r0.x = max(0, -(lightVec * r1))
-
; r0.y = max(0, (-lightHalfVec[i]) * r1) ^ 2
-
dp3 r0.x, lightVec, r1
-
add r0.x, zeros, -r0
-
dp3 r0.y, -lightHalfVec, r1
-
max r0, zeros, r0
-
mul r0.y, r0, r0
-
-
; Accumulate the vertex color in r1, initializing it to the emission color
-
mov r1, mat_emi
-
-
; r1 += specularColor * lightClr * shininessLevel
-
mul r2, lightClr, r0.yyyy
-
mul r2, mat_spe, r2
-
add r1, r2, r1
-
-
; r1 += diffuseColor * lightClr * diffuseLevel
-
mul r2, lightClr, r0.xxxx
-
mul r2, mat_dif, r2
-
add r1, r2, r1
-
-
; r1 += ambientColor * lightClr
-
mov r2, lightClr
-
mul r2, mat_amb, r2
-
add r1, r2, r1
-
-
; outclr = clamp r1 to [0,1]
-
min outclr, ones, r1
-
-
; We're finished
-
end
-
.end
-
-
-
-
-
-
-
-
-
-
#include "vshader_shbin.h"
-
#include "kitten_bin.h"
-
-
#define CLEAR_COLOR 0x68B0D8FF
-
typedef struct { float position[3]; float texcoord[2]; float normal[3]; } vertex;
static const vertex vertex_list[] =
@@ -600,12 +161,12 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
#define vertex_list_count (sizeof(vertex_list)/sizeof(vertex_list[0]))
-
-
+
+
static int uLoc_projection, uLoc_modelView;
static int uLoc_lightVec, uLoc_lightHalfVec, uLoc_lightClr, uLoc_material;
-
static matrix_4x4 projection;
-
static matrix_4x4 material =
+
static C3D_Mtx projection;
+
static C3D_Mtx material =
{
{
{ { 0.0f, 0.2f, 0.2f, 0.2f } },
@@ -616,151 +177,134 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
};
static void * vbo_data;
-
static void * tex_data;
+
static C3D_Tex kitten_tex;
static float angleX = 0.0, angleY = 0.0;
static void sceneInit(void )
{
-
-
-
-
+
+
+
+
+
C3D_BindProgram(&program);
-
+
+
+
C3D_AttrInfo* attrInfo = C3D_GetAttrInfo();
+
AttrInfo_Init(attrInfo);
+
AttrInfo_AddLoader(attrInfo, 0,
GPU_FLOAT , 3);
+
AttrInfo_AddLoader(attrInfo, 1,
GPU_FLOAT , 2);
+
AttrInfo_AddLoader(attrInfo, 2,
GPU_FLOAT , 3);
+
-
m4x4_persp_tilt(&projection, 80.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f);
+
Mtx_PerspTilt(&projection, 80.0f*M_PI/180.0f, 400.0f/240.0f, 0.01f, 1000.0f);
-
+
memcpy(vbo_data, vertex_list, sizeof (vertex_list));
-
-
-
memcpy(tex_data, kitten_bin, kitten_bin_size);
-
}
+
+
C3D_BufInfo* bufInfo = C3D_GetBufInfo();
+
BufInfo_Init(bufInfo);
+
BufInfo_Add(bufInfo, vbo_data, sizeof (vertex), 3, 0x210);
-
static void sceneRender(void )
-
{
-
-
+
+
+
C3D_TexUpload(&kitten_tex, kitten_bin);
+
+
C3D_TexBind(0, &kitten_tex);
-
-
-
-
-
-
-
0xFFFFFFFF);
-
-
-
-
-
-
-
64,
-
64,
-
-
-
);
-
-
-
-
3,
-
-
-
-
-
0xFFC,
-
0x210,
-
1,
-
-
-
+
C3D_TexEnv* env = C3D_GetTexEnv(0);
+
+
C3D_TexEnvOp(env, C3D_Both, 0, 0, 0);
+
+
}
+
static void sceneRender(void )
+
{
-
matrix_4x4 modelView;
-
m4x4_identity(&modelView);
-
m4x4_translate(&modelView, 0.0, 0.0, -2.0 + 0.5*sinf(angleX));
-
m4x4_rotate_x(&modelView, angleX, true );
-
m4x4_rotate_y(&modelView, angleY, true );
+
C3D_Mtx modelView;
+
Mtx_Identity(&modelView);
+
Mtx_Translate(&modelView, 0.0, 0.0, -2.0 + 0.5*sinf(angleX));
+
Mtx_RotateX(&modelView, angleX, true );
+
Mtx_RotateY(&modelView, angleY, true );
angleX += M_PI / 180;
angleY += M_PI / 360;
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
}
static void sceneExit(void )
{
-
+
C3D_TexDelete(&kitten_tex);
-
+
-
-
+
+
}
int main()
{
-
-
gpuInit();
+
+
C3D_Init(C3D_DEFAULT_CMDBUF_SIZE);
+
+
+
+
C3D_RenderTargetSetClear(target, C3D_CLEAR_ALL, CLEAR_COLOR, 0);
+
C3D_RenderTargetSetOutput(target,
GFX_TOP ,
GFX_LEFT , DISPLAY_TRANSFER_FLAGS);
sceneInit();
-
gpuClearBuffers(CLEAR_COLOR);
-
+
{
-
-
-
+
-
-
+
+
break ;
-
gpuFrameBegin();
-
sceneRender();
-
gpuFrameEnd();
-
gpuClearBuffers(CLEAR_COLOR);
-
-
-
+
C3D_FrameBegin(C3D_FRAME_SYNCDRAW);
+
C3D_FrameDrawOn(target);
+
sceneRender();
+
C3D_FrameEnd(0);
}
sceneExit();
-
gpuExit();
-
+
C3D_Fini();
+
return 0;
}
diff --git a/graphics_2printing_2both-screen-text_2source_2main_8c-example.html b/graphics_2printing_2both-screen-text_2source_2main_8c-example.html
index b06d7f7..3c7accc 100644
--- a/graphics_2printing_2both-screen-text_2source_2main_8c-example.html
+++ b/graphics_2printing_2both-screen-text_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/graphics_2printing_2colored-text_2source_2main_8c-example.html b/graphics_2printing_2colored-text_2source_2main_8c-example.html
index 5262564..991464c 100644
--- a/graphics_2printing_2colored-text_2source_2main_8c-example.html
+++ b/graphics_2printing_2colored-text_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/graphics_2printing_2hello-world_2source_2main_8c-example.html b/graphics_2printing_2hello-world_2source_2main_8c-example.html
index a277062..eb4be75 100644
--- a/graphics_2printing_2hello-world_2source_2main_8c-example.html
+++ b/graphics_2printing_2hello-world_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html b/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html
index 10160db..b57d351 100644
--- a/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html
+++ b/graphics_2printing_2multiple-windows-text_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/gspgpu_8h.html b/gspgpu_8h.html
index 1efbc81..489fe61 100644
--- a/gspgpu_8h.html
+++ b/gspgpu_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -199,6 +199,9 @@ Functions
void
gspExit (void)
Exits GSPGPU.
+
void gspSetEventCallback (GSPGPU_Event id, ThreadFunc cb, void *data, bool oneShot)
+
Configures a callback to run when a GSPGPU event occurs. More...
+
Result gspInitEventHandler (Handle gspEvent, vu8 *gspSharedMem, u8 gspThreadId)
Initializes the GSPGPU event handler. More...
@@ -209,6 +212,9 @@ void
void gspWaitForEvent (GSPGPU_Event id, bool nextEvent)
Waits for a GSPGPU event to occur. More...
+
GSPGPU_Event gspWaitForAnyEvent (void)
+
Waits for any GSPGPU event to occur. More...
+
Result gspSubmitGxCommand (u32 *sharedGspCmdBuf, u32 gxCommand[0x8])
Submits a GX command. More...
@@ -394,7 +400,7 @@ void
audio/mic/source/main.c , and mvd/source/main.c .
+Examples: audio/mic/source/main.c , graphics/gpu/gpusprites/source/main.c , and mvd/source/main.c .
@@ -746,6 +752,55 @@ void
+
+
+
+
+ void gspSetEventCallback
+ (
+ GSPGPU_Event
+ id ,
+
+
+
+
+ ThreadFunc
+ cb ,
+
+
+
+
+ void *
+ data ,
+
+
+
+
+ bool
+ oneShot
+
+
+
+ )
+
+
+
+
+
+
Configures a callback to run when a GSPGPU event occurs.
+
Parameters
+
+ id ID of the event.
+ cb Callback to run.
+ data Data to be passed to the callback.
+ oneShot When true, the callback is only executed once. When false, the callback is executed every time the event occurs.
+
+
+
+
@@ -781,6 +836,26 @@ void
+
+
+
+
Waits for any GSPGPU event to occur.
+
Returns The ID of the event that occurred.
+
The function returns immediately if there are unprocessed events at the time of call.
+
@@ -811,7 +886,7 @@ void Parameters
id ID of the event.
- Whether to discard the current event and wait for the next event.
+ nextEvent Whether to discard the current event and wait for the next event.
diff --git a/gspgpu_8h_source.html b/gspgpu_8h_source.html
index 5438d85..690c9a0 100644
--- a/gspgpu_8h_source.html
+++ b/gspgpu_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -157,143 +157,160 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 85 #define gspWaitForPSC0() gspWaitForEvent(GSPGPU_EVENT_PSC0, false)
-
-
- 88 #define gspWaitForPSC1() gspWaitForEvent(GSPGPU_EVENT_PSC1, false)
-
-
- 91 #define gspWaitForVBlank() gspWaitForVBlank0()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
- 94 #define gspWaitForVBlank0() gspWaitForEvent(GSPGPU_EVENT_VBlank0, true)
-
-
- 97 #define gspWaitForVBlank1() gspWaitForEvent(GSPGPU_EVENT_VBlank1, true)
-
-
- 100 #define gspWaitForPPF() gspWaitForEvent(GSPGPU_EVENT_PPF, false)
-
-
- 103 #define gspWaitForP3D() gspWaitForEvent(GSPGPU_EVENT_P3D, false)
-
-
- 106 #define gspWaitForDMA() gspWaitForEvent(GSPGPU_EVENT_DMA, false)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ 102 #define gspWaitForPSC0() gspWaitForEvent(GSPGPU_EVENT_PSC0, false)
+
+
+ 105 #define gspWaitForPSC1() gspWaitForEvent(GSPGPU_EVENT_PSC1, false)
+
+
+ 108 #define gspWaitForVBlank() gspWaitForVBlank0()
+
+
+ 111 #define gspWaitForVBlank0() gspWaitForEvent(GSPGPU_EVENT_VBlank0, true)
+
+
+ 114 #define gspWaitForVBlank1() gspWaitForEvent(GSPGPU_EVENT_VBlank1, true)
+
+
+ 117 #define gspWaitForPPF() gspWaitForEvent(GSPGPU_EVENT_PPF, false)
+
+
+ 120 #define gspWaitForP3D() gspWaitForEvent(GSPGPU_EVENT_P3D, false)
+
+
+ 123 #define gspWaitForDMA() gspWaitForEvent(GSPGPU_EVENT_DMA, false)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
u32 * framebuf1_vaddr
Right framebuffer.
Definition: gspgpu.h:35
GSPGPU_Event
GSPGPU events.
Definition: gspgpu.h:47
Used to know how many events there are.
Definition: gspgpu.h:57
@@ -303,6 +320,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
u32 format
Framebuffer format.
Definition: gspgpu.h:36
RGBA4. (2 bytes)
Definition: gspgpu.h:28
u32 format
Framebuffer format, this u16 is written to the low u16 for LCD register 0x1EF00X70.
Definition: gspgpu.h:16
+void(* ThreadFunc)(void *)
Thread entrypoint function.
Definition: types.h:43
+void gspSetEventCallback(GSPGPU_Event id, ThreadFunc cb, void *data, bool oneShot)
Configures a callback to run when a GSPGPU event occurs.
Display transfer finished.
Definition: gspgpu.h:53
Result GSPGPU_UnregisterInterruptRelayQueue(void)
Unregisters the interrupt relay queue.
Result GSPGPU_SetLcdForceBlack(u8 flags)
Sets whether to force the LCD to black.
@@ -322,6 +341,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
u32 framebuf_dispselect
Value for 0x1EF00X78, controls which framebuffer is displayed.
Definition: gspgpu.h:17
TODO.
Definition: gspgpu.h:55
RGB565. (2 bytes)
Definition: gspgpu.h:26
+GSPGPU_Event gspWaitForAnyEvent(void)
Waits for any GSPGPU event to occur.
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
Capture info entry.
Definition: gspgpu.h:32
Result gspInitEventHandler(Handle gspEvent, vu8 *gspSharedMem, u8 gspThreadId)
Initializes the GSPGPU event handler.
diff --git a/gsplcd_8h.html b/gsplcd_8h.html
index 8c915ce..605889a 100644
--- a/gsplcd_8h.html
+++ b/gsplcd_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/gsplcd_8h_source.html b/gsplcd_8h_source.html
index 629b457..3e81c01 100644
--- a/gsplcd_8h_source.html
+++ b/gsplcd_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/gx_8h.html b/gx_8h.html
index 4a6f04b..0821e81 100644
--- a/gx_8h.html
+++ b/gx_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -104,9 +104,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
-#define GX_BUFFER_DIM (w, h) (((h)<<16)|((w)&0xFFFF))
- Creates a buffer dimension parameter from width and height values.
+#define GX_BUFFER_DIM (w, h) (((h)<<16)|((w)&0xFFFF))
+ Creates a buffer dimension parameter from width and height values. More...
#define GX_TRANSFER_FLIP_VERT (x) ((x)<<0)
@@ -212,7 +211,44 @@ Variables
+
+
+
+
+
+
+ #define GX_BUFFER_DIM
+ (
+
+ w,
+
+
+
+
+
+ h
+
+
+
+ )
+ (((h)<<16)|((w)&0xFFFF))
+
+
+
+
+
Creates a buffer dimension parameter from width and height values.
+
Parameters
+
+ w buffer width for GX_DisplayTransfer, linesize for GX_TextureCopy
+ h buffer height for GX_DisplayTransfer, gap for GX_TextureCopy
+
+
+
+
Examples: graphics/gpu/gpusprites/source/main.c .
+
+
+
+
@@ -357,7 +393,7 @@ Variables
-
Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/gpusprites/source/main.c .
@@ -498,8 +534,7 @@ Variables
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
diff --git a/gx_8h_source.html b/gx_8h_source.html
index 2497463..f65c4f1 100644
--- a/gx_8h_source.html
+++ b/gx_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -97,154 +97,158 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
-
- 8 #define GX_BUFFER_DIM(w, h) (((h)<<16)|((w)&0xFFFF))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 47 #define GX_TRANSFER_FLIP_VERT(x) ((x)<<0)
-
- 49 #define GX_TRANSFER_OUT_TILED(x) ((x)<<1)
-
- 51 #define GX_TRANSFER_RAW_COPY(x) ((x)<<3)
-
- 53 #define GX_TRANSFER_IN_FORMAT(x) ((x)<<8)
-
- 55 #define GX_TRANSFER_OUT_FORMAT(x) ((x)<<12)
-
- 57 #define GX_TRANSFER_SCALING(x) ((x)<<24)
-
-
- 60 #define GX_CMDLIST_BIT0 BIT(0)
-
- 62 #define GX_CMDLIST_FLUSH BIT(1)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ 12 #define GX_BUFFER_DIM(w, h) (((h)<<16)|((w)&0xFFFF))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 51 #define GX_TRANSFER_FLIP_VERT(x) ((x)<<0)
+
+ 53 #define GX_TRANSFER_OUT_TILED(x) ((x)<<1)
+
+ 55 #define GX_TRANSFER_RAW_COPY(x) ((x)<<3)
+
+ 57 #define GX_TRANSFER_IN_FORMAT(x) ((x)<<8)
+
+ 59 #define GX_TRANSFER_OUT_FORMAT(x) ((x)<<12)
+
+ 61 #define GX_TRANSFER_SCALING(x) ((x)<<24)
+
+
+ 64 #define GX_CMDLIST_BIT0 BIT(0)
+
+ 66 #define GX_CMDLIST_FLUSH BIT(1)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Result GX_FlushCacheRegions(u32 *buf0a, u32 buf0s, u32 *buf1a, u32 buf1s, u32 *buf2a, u32 buf2s)
Flushes the cache regions of three buffers.
s32 Result
Function result.
Definition: types.h:42
uint16_t u16
16-bit unsigned integer
Definition: types.h:22
-GX_TRANSFER_FORMAT
Supported transfer pixel formats.
Definition: gx.h:14
-Indicates if the memory fill is complete. You should not use it when requesting a transfer...
Definition: gx.h:40
-8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: gx.h:16
+GX_TRANSFER_FORMAT
Supported transfer pixel formats.
Definition: gx.h:18
+Indicates if the memory fill is complete. You should not use it when requesting a transfer...
Definition: gx.h:44
+8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: gx.h:20
Result GX_DisplayTransfer(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 flags)
Initiates a display transfer.
Result GX_MemoryFill(u32 *buf0a, u32 buf0v, u32 *buf0e, u16 control0, u32 *buf1a, u32 buf1v, u32 *buf1e, u16 control1)
Fills the memory of two buffers with the given values.
-GX_FILL_CONTROL
GX transfer control flags.
Definition: gx.h:37
-4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: gx.h:20
+GX_FILL_CONTROL
GX transfer control flags.
Definition: gx.h:41
+4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: gx.h:24
uint8_t u8
would be nice if newlib had this already
Definition: types.h:21
-No anti-aliasing.
Definition: gx.h:31
+No anti-aliasing.
Definition: gx.h:35
Result GX_RequestDma(u32 *src, u32 *dst, u32 length)
Requests a DMA.
Result GX_ProcessCommandList(u32 *buf0a, u32 buf0s, u8 flags)
Processes a GPU command list.
-5-bit Red + 6-bit Green + 5-bit Blue
Definition: gx.h:18
+5-bit Red + 6-bit Green + 5-bit Blue
Definition: gx.h:22
uint32_t u32
32-bit unsigned integer
Definition: types.h:23
-The buffer has a 24 bit per pixel depth.
Definition: gx.h:42
+The buffer has a 24 bit per pixel depth.
Definition: gx.h:46
u32 * gxCmdBuf
GX command buffer.
-8-bit Red + 8-bit Green + 8-bit Blue
Definition: gx.h:17
-The buffer has a 32 bit per pixel depth.
Definition: gx.h:43
-Trigger the PPF event.
Definition: gx.h:39
-2x1 anti-aliasing
Definition: gx.h:32
-2x2 anti-aliasing
Definition: gx.h:33
-5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: gx.h:19
-GX_TRANSFER_SCALE
Anti-aliasing modes.
Definition: gx.h:29
+8-bit Red + 8-bit Green + 8-bit Blue
Definition: gx.h:21
+The buffer has a 32 bit per pixel depth.
Definition: gx.h:47
+Trigger the PPF event.
Definition: gx.h:43
+2x1 anti-aliasing
Definition: gx.h:36
+2x2 anti-aliasing
Definition: gx.h:37
+5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: gx.h:23
+GX_TRANSFER_SCALE
Anti-aliasing modes.
Definition: gx.h:33
Result GX_TextureCopy(u32 *inadr, u32 indim, u32 *outadr, u32 outdim, u32 size, u32 flags)
Initiates a texture copy.
-The buffer has a 16 bit per pixel depth.
Definition: gx.h:41
+The buffer has a 16 bit per pixel depth.
Definition: gx.h:45
Returns Keys down.
-Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
+Examples: app_launch/source/main.c , audio/mic/source/main.c , get_system_language/source/main.c , graphics/bitmap/24bit-color/source/main.c , graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , graphics/printing/both-screen-text/source/main.c , graphics/printing/colored-text/source/main.c , graphics/printing/hello-world/source/main.c , graphics/printing/multiple-windows-text/source/main.c , http/source/main.c , input/read-controls/source/main.c , input/touch-screen/source/main.c , libapplet_launch/source/main.c , mvd/source/main.c , qtm/source/main.c , threads/event/source/main.c , threads/thread-basic/source/main.c , and time/rtc/source/main.c .
diff --git a/hid_8h_source.html b/hid_8h_source.html
index d7ccb34..4996bd1 100644
--- a/hid_8h_source.html
+++ b/hid_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/http_2source_2main_8c-example.html b/http_2source_2main_8c-example.html
index 2826fb7..9f489ec 100644
--- a/http_2source_2main_8c-example.html
+++ b/http_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/httpc_8h.html b/httpc_8h.html
index 15c11c3..98879c4 100644
--- a/httpc_8h.html
+++ b/httpc_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/httpc_8h_source.html b/httpc_8h_source.html
index 644e191..bc6d88b 100644
--- a/httpc_8h_source.html
+++ b/httpc_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/in_8h_source.html b/in_8h_source.html
index d7e7569..9178112 100644
--- a/in_8h_source.html
+++ b/in_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/index.html b/index.html
index 52ba3f8..4e22ff5 100644
--- a/index.html
+++ b/index.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -87,6 +87,8 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
libctru is just a library and needs a toolchain to function. devkitARM (created by devkitPro ) is the officially supported ARM cross compiling toolchain, which provides the framework necessary to supply a usable POSIX-like environment, with working C and C++ standard libraries; as well as the tools required to compile homebrew in the 3DSX format, and assemble GPU shaders. The use of other ARM toolchains is severely discouraged.
The most recent version of devkitARM (r45 at the time of writing) is always recommended. The installers/setup scripts supplied by devkitPro install a prebuilt copy of the latest stable version of libctru, which is recommended for general use. Please note that devkitPro has a policy of keeping legacy code to a minimum, so a library upgrade may result in older code failing to compile or behave properly. Developers are encouraged to keep their code working with the latest versions of the tools and libraries.
You may find instructions on how to install devkitARM on the devkitPro Wiki .
+Documentation
+The documentation is automatically built upon release and can be found at the following url: http://smealum.github.io/ctrulib
License
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
diff --git a/inet_8h_source.html b/inet_8h_source.html
index 1053a8e..4c225fd 100644
--- a/inet_8h_source.html
+++ b/inet_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/input_2read-controls_2source_2main_8c-example.html b/input_2read-controls_2source_2main_8c-example.html
index 8abf2f9..b47d724 100644
--- a/input_2read-controls_2source_2main_8c-example.html
+++ b/input_2read-controls_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/input_2touch-screen_2source_2main_8c-example.html b/input_2touch-screen_2source_2main_8c-example.html
index df8d283..aaffb67 100644
--- a/input_2touch-screen_2source_2main_8c-example.html
+++ b/input_2touch-screen_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ioctl_8h_source.html b/ioctl_8h_source.html
index b21212a..3382542 100644
--- a/ioctl_8h_source.html
+++ b/ioctl_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ipc_8h.html b/ipc_8h.html
index 0ff59f3..3fe87a6 100644
--- a/ipc_8h.html
+++ b/ipc_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ipc_8h_source.html b/ipc_8h_source.html
index 47e13ff..2f7fa65 100644
--- a/ipc_8h_source.html
+++ b/ipc_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ir_8h.html b/ir_8h.html
index 170f145..36a2e6e 100644
--- a/ir_8h.html
+++ b/ir_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ir_8h_source.html b/ir_8h_source.html
index cecfb8f..4ee6157 100644
--- a/ir_8h_source.html
+++ b/ir_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/irrst_8h.html b/irrst_8h.html
index ada02ed..03aac37 100644
--- a/irrst_8h.html
+++ b/irrst_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/irrst_8h_source.html b/irrst_8h_source.html
index 6b7a251..cfbbba8 100644
--- a/irrst_8h_source.html
+++ b/irrst_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/libapplet_launch_2source_2main_8c-example.html b/libapplet_launch_2source_2main_8c-example.html
index 8ec1b1c..3b79bf2 100644
--- a/libapplet_launch_2source_2main_8c-example.html
+++ b/libapplet_launch_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/linear_8h.html b/linear_8h.html
index 001e72f..8ff8542 100644
--- a/linear_8h.html
+++ b/linear_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -142,7 +142,7 @@ Functions
Returns The allocated buffer.
-Examples: audio/mic/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , and mvd/source/main.c .
+Examples: audio/mic/source/main.c , graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , and mvd/source/main.c .
@@ -167,7 +167,7 @@ Functions
-Examples: audio/mic/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , and mvd/source/main.c .
+Examples: audio/mic/source/main.c , graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/simple_tri/source/main.c , graphics/gpu/textured_cube/source/main.c , and mvd/source/main.c .
diff --git a/linear_8h_source.html b/linear_8h_source.html
index 97fec6a..342d5e6 100644
--- a/linear_8h_source.html
+++ b/linear_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/mappable_8h.html b/mappable_8h.html
index 82682c8..923170f 100644
--- a/mappable_8h.html
+++ b/mappable_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/mappable_8h_source.html b/mappable_8h_source.html
index 21696ef..654ef62 100644
--- a/mappable_8h_source.html
+++ b/mappable_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/md__home_travis_build_smealum_ctrulib_Changelog.html b/md__home_travis_build_smealum_ctrulib_Changelog.html
index 9458412..689f6b8 100644
--- a/md__home_travis_build_smealum_ctrulib_Changelog.html
+++ b/md__home_travis_build_smealum_ctrulib_Changelog.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -81,7 +81,33 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
Changelog
-
Version 1.0.0
+
Version 1.1.0
+
+Additions:
+GSPGPU/GX code was revised and enhanced:
+Screens can be buffer-swapped independently using the new gfxConfigScreen function.
+Added gspSetEventCallback for running event code directly on the GSP thread.
+Added gspWaitForAnyEvent for waiting for any GSP event.
+Added gfxIs3D for retrieving 3D-enable status.
+
+
+Added AM_InstallFirm.
+Added __sync_get_arbiter.
+Added support for usleep.
+
+
+Changes:
+NDSP thread priority has been increasing, therefore mitigating potential sound issues due to high CPU usage on the main thread.
+RomFS initialization no longer makes romfs:/ the default device.
+
+
+Bug fixes:
+Fixed the timeout parameter in svcArbitrateAddress.
+Fixed svcSetTimer.
+
+
+
+
Version 1.0.0
New features:
libctru documentation is now available at http://smealum.github.io/ctrulib/
diff --git a/mic_8h.html b/mic_8h.html
index 92d78c6..a911788 100644
--- a/mic_8h.html
+++ b/mic_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/mic_8h_source.html b/mic_8h_source.html
index 441610d..77c1b53 100644
--- a/mic_8h_source.html
+++ b/mic_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/mvd_2source_2main_8c-example.html b/mvd_2source_2main_8c-example.html
index 7edec7b..66fed3e 100644
--- a/mvd_2source_2main_8c-example.html
+++ b/mvd_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/mvd_8h.html b/mvd_8h.html
index 7f18d8c..98a1e44 100644
--- a/mvd_8h.html
+++ b/mvd_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/mvd_8h_source.html b/mvd_8h_source.html
index bdb302b..c28163b 100644
--- a/mvd_8h_source.html
+++ b/mvd_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ndsp_8h.html b/ndsp_8h.html
index 835d106..64ec4a6 100644
--- a/ndsp_8h.html
+++ b/ndsp_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ndsp_8h_source.html b/ndsp_8h_source.html
index 4b85894..68b2d62 100644
--- a/ndsp_8h_source.html
+++ b/ndsp_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/netdb_8h_source.html b/netdb_8h_source.html
index 380990d..4963365 100644
--- a/netdb_8h_source.html
+++ b/netdb_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/news_8h.html b/news_8h.html
index 6bed31f..615a83d 100644
--- a/news_8h.html
+++ b/news_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/news_8h_source.html b/news_8h_source.html
index 7317dcd..4d2f4c2 100644
--- a/news_8h_source.html
+++ b/news_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ns_8h.html b/ns_8h.html
index 93984ba..03ab3c1 100644
--- a/ns_8h.html
+++ b/ns_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ns_8h_source.html b/ns_8h_source.html
index 08937c3..47132d9 100644
--- a/ns_8h_source.html
+++ b/ns_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/os_8h.html b/os_8h.html
index f665e4b..36a6b40 100644
--- a/os_8h.html
+++ b/os_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -266,8 +266,7 @@ Functions
Returns The corresponding physical address. It is sometimes required by services or when using the GPU command buffer.
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -294,7 +293,8 @@ Functions
Gets the state of the 3D slider.
Returns The state of the 3D slider (0.0~1.0)
-
+
Examples: graphics/gpu/fragment_light/source/main.c .
+
diff --git a/os_8h_source.html b/os_8h_source.html
index 253bf5c..5e64c86 100644
--- a/os_8h_source.html
+++ b/os_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/pages.html b/pages.html
index ac3be62..d3d66ad 100644
--- a/pages.html
+++ b/pages.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/pm_8h.html b/pm_8h.html
index b694675..97f677b 100644
--- a/pm_8h.html
+++ b/pm_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/pm_8h_source.html b/pm_8h_source.html
index c8fb18d..0b2c99e 100644
--- a/pm_8h_source.html
+++ b/pm_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/poll_8h_source.html b/poll_8h_source.html
index 3bdcca7..b6261d9 100644
--- a/poll_8h_source.html
+++ b/poll_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ps_8h.html b/ps_8h.html
index ced1541..ccc8789 100644
--- a/ps_8h.html
+++ b/ps_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ps_8h_source.html b/ps_8h_source.html
index bf72263..5c6a72d 100644
--- a/ps_8h_source.html
+++ b/ps_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ptmsysm_8h.html b/ptmsysm_8h.html
index d35218d..c542546 100644
--- a/ptmsysm_8h.html
+++ b/ptmsysm_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ptmsysm_8h_source.html b/ptmsysm_8h_source.html
index 0710ede..63cfb37 100644
--- a/ptmsysm_8h_source.html
+++ b/ptmsysm_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ptmu_8h.html b/ptmu_8h.html
index d6969e6..a9eb4d2 100644
--- a/ptmu_8h.html
+++ b/ptmu_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/ptmu_8h_source.html b/ptmu_8h_source.html
index d2bf3f2..2af139c 100644
--- a/ptmu_8h_source.html
+++ b/ptmu_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/qtm_2source_2main_8c-example.html b/qtm_2source_2main_8c-example.html
index cc6c795..6ccf8ab 100644
--- a/qtm_2source_2main_8c-example.html
+++ b/qtm_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/qtm_8h.html b/qtm_8h.html
index 2c99fc7..144ae4a 100644
--- a/qtm_8h.html
+++ b/qtm_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/qtm_8h_source.html b/qtm_8h_source.html
index f0487fc..02f64af 100644
--- a/qtm_8h_source.html
+++ b/qtm_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/rbtree_8h.html b/rbtree_8h.html
index 74a43e8..5e43087 100644
--- a/rbtree_8h.html
+++ b/rbtree_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/rbtree_8h_source.html b/rbtree_8h_source.html
index 6bbc8da..8a5510f 100644
--- a/rbtree_8h_source.html
+++ b/rbtree_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/registers_8h.html b/registers_8h.html
index ed1a693..762c671 100644
--- a/registers_8h.html
+++ b/registers_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/registers_8h_source.html b/registers_8h_source.html
index 1958f0a..947e081 100644
--- a/registers_8h_source.html
+++ b/registers_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/result_8h.html b/result_8h.html
index 3ab25d9..b810cf9 100644
--- a/result_8h.html
+++ b/result_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/result_8h_source.html b/result_8h_source.html
index a0185a2..bcba288 100644
--- a/result_8h_source.html
+++ b/result_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/romfs_8h.html b/romfs_8h.html
index 1e1cb89..b083601 100644
--- a/romfs_8h.html
+++ b/romfs_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/romfs_8h_source.html b/romfs_8h_source.html
index 4307af9..777f96b 100644
--- a/romfs_8h_source.html
+++ b/romfs_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/sdmc_2source_2main_8c-example.html b/sdmc_2source_2main_8c-example.html
index 11f101b..55a071e 100644
--- a/sdmc_2source_2main_8c-example.html
+++ b/sdmc_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/sdmc_8h.html b/sdmc_8h.html
index fb8ecf9..f3dce98 100644
--- a/sdmc_8h.html
+++ b/sdmc_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/sdmc_8h_source.html b/sdmc_8h_source.html
index 408ed12..cd6c04d 100644
--- a/sdmc_8h_source.html
+++ b/sdmc_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/select_8h_source.html b/select_8h_source.html
index 2f3dfd0..15c479e 100644
--- a/select_8h_source.html
+++ b/select_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/shaderProgram_8h.html b/shaderProgram_8h.html
index 106be16..7917dc7 100644
--- a/shaderProgram_8h.html
+++ b/shaderProgram_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -302,7 +302,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
@@ -446,7 +446,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
@@ -471,7 +471,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
@@ -514,7 +514,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c .
+Examples: graphics/gpu/geoshader/source/main.c .
@@ -620,7 +620,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
@@ -645,8 +645,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
diff --git a/shaderProgram_8h_source.html b/shaderProgram_8h_source.html
index 88bf97b..eaa63bd 100644
--- a/shaderProgram_8h_source.html
+++ b/shaderProgram_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/shbin_8h.html b/shbin_8h.html
index 6d46960..2d48f4d 100644
--- a/shbin_8h.html
+++ b/shbin_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -291,7 +291,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
@@ -328,7 +328,7 @@ Functions
Returns The parsed shader binary.
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
+Examples: graphics/gpu/fragment_light/source/main.c , graphics/gpu/geoshader/source/main.c , graphics/gpu/gpusprites/source/main.c , graphics/gpu/immediate/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
diff --git a/shbin_8h_source.html b/shbin_8h_source.html
index 44e4e37..a7567c7 100644
--- a/shbin_8h_source.html
+++ b/shbin_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/soc_8h.html b/soc_8h.html
index 0d9d71f..6deb778 100644
--- a/soc_8h.html
+++ b/soc_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/soc_8h_source.html b/soc_8h_source.html
index 4e42111..c5f2367 100644
--- a/soc_8h_source.html
+++ b/soc_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/socket_8h_source.html b/socket_8h_source.html
index a2a4a98..122d7a6 100644
--- a/socket_8h_source.html
+++ b/socket_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/srv_8h.html b/srv_8h.html
index 8b13d52..dd383ba 100644
--- a/srv_8h.html
+++ b/srv_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/srv_8h_source.html b/srv_8h_source.html
index 39f96e0..9472796 100644
--- a/srv_8h_source.html
+++ b/srv_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/srvpm_8h.html b/srvpm_8h.html
index 505ce61..a55dacc 100644
--- a/srvpm_8h.html
+++ b/srvpm_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/srvpm_8h_source.html b/srvpm_8h_source.html
index 6829051..a04d532 100644
--- a/srvpm_8h_source.html
+++ b/srvpm_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structAM__TitleEntry.html b/structAM__TitleEntry.html
index 1e0f803..4fd6946 100644
--- a/structAM__TitleEntry.html
+++ b/structAM__TitleEntry.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structCAMU__ImageQualityCalibrationData.html b/structCAMU__ImageQualityCalibrationData.html
index 620eef5..2d0352a 100644
--- a/structCAMU__ImageQualityCalibrationData.html
+++ b/structCAMU__ImageQualityCalibrationData.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structCAMU__PackageParameterCameraSelect.html b/structCAMU__PackageParameterCameraSelect.html
index ffe7e0c..5f05754 100644
--- a/structCAMU__PackageParameterCameraSelect.html
+++ b/structCAMU__PackageParameterCameraSelect.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structCAMU__PackageParameterContext.html b/structCAMU__PackageParameterContext.html
index 680de28..12bf953 100644
--- a/structCAMU__PackageParameterContext.html
+++ b/structCAMU__PackageParameterContext.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structCAMU__PackageParameterContextDetail.html b/structCAMU__PackageParameterContextDetail.html
index eac50af..fb097d4 100644
--- a/structCAMU__PackageParameterContextDetail.html
+++ b/structCAMU__PackageParameterContextDetail.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structCAMU__StereoCameraCalibrationData.html b/structCAMU__StereoCameraCalibrationData.html
index c15aa8b..a7da4ed 100644
--- a/structCAMU__StereoCameraCalibrationData.html
+++ b/structCAMU__StereoCameraCalibrationData.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structConsoleFont.html b/structConsoleFont.html
index 606319c..0c8f6f2 100644
--- a/structConsoleFont.html
+++ b/structConsoleFont.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structCreateThreadEvent.html b/structCreateThreadEvent.html
index bdec33b..832148c 100644
--- a/structCreateThreadEvent.html
+++ b/structCreateThreadEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structDVLB__s.html b/structDVLB__s.html
index 3a50a6b..e336597 100644
--- a/structDVLB__s.html
+++ b/structDVLB__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -113,7 +113,7 @@ Data Fields
The documentation for this struct was generated from the following file:
diff --git a/structDVLE__constEntry__s.html b/structDVLE__constEntry__s.html
index d606608..109d8db 100644
--- a/structDVLE__constEntry__s.html
+++ b/structDVLE__constEntry__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structDVLE__outEntry__s.html b/structDVLE__outEntry__s.html
index 37d6ea1..4250dcc 100644
--- a/structDVLE__outEntry__s.html
+++ b/structDVLE__outEntry__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structDVLE__s.html b/structDVLE__s.html
index cf4d28e..6c7960a 100644
--- a/structDVLE__s.html
+++ b/structDVLE__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structDVLE__uniformEntry__s.html b/structDVLE__uniformEntry__s.html
index 72cc1a8..65bbbce 100644
--- a/structDVLE__uniformEntry__s.html
+++ b/structDVLE__uniformEntry__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structDVLP__s.html b/structDVLP__s.html
index 7555cea..a909a00 100644
--- a/structDVLP__s.html
+++ b/structDVLP__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structDebugEventInfo.html b/structDebugEventInfo.html
index e207bc0..45162cd 100644
--- a/structDebugEventInfo.html
+++ b/structDebugEventInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structExceptionEvent.html b/structExceptionEvent.html
index 49ff174..5809677 100644
--- a/structExceptionEvent.html
+++ b/structExceptionEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structExitProcessEvent.html b/structExitProcessEvent.html
index 3158b0d..ec84d6f 100644
--- a/structExitProcessEvent.html
+++ b/structExitProcessEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structExitThreadEvent.html b/structExitThreadEvent.html
index 475e719..23dfeb3 100644
--- a/structExitThreadEvent.html
+++ b/structExitThreadEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__Archive.html b/structFS__Archive.html
index 6853cea..e89de28 100644
--- a/structFS__Archive.html
+++ b/structFS__Archive.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__ArchiveResource.html b/structFS__ArchiveResource.html
index 79ecf10..0d79ba9 100644
--- a/structFS__ArchiveResource.html
+++ b/structFS__ArchiveResource.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__DeviceMoveContext.html b/structFS__DeviceMoveContext.html
index f59e773..23c6655 100644
--- a/structFS__DeviceMoveContext.html
+++ b/structFS__DeviceMoveContext.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__DirectoryEntry.html b/structFS__DirectoryEntry.html
index 6736e38..930830d 100644
--- a/structFS__DirectoryEntry.html
+++ b/structFS__DirectoryEntry.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__ExtSaveDataInfo.html b/structFS__ExtSaveDataInfo.html
index 6e9f1e3..9826bff 100644
--- a/structFS__ExtSaveDataInfo.html
+++ b/structFS__ExtSaveDataInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__IntegrityVerificationSeed.html b/structFS__IntegrityVerificationSeed.html
index 8c2e338..b84da68 100644
--- a/structFS__IntegrityVerificationSeed.html
+++ b/structFS__IntegrityVerificationSeed.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__Path.html b/structFS__Path.html
index 8ad3bac..467408a 100644
--- a/structFS__Path.html
+++ b/structFS__Path.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__ProductInfo.html b/structFS__ProductInfo.html
index 6265c7c..76fd084 100644
--- a/structFS__ProductInfo.html
+++ b/structFS__ProductInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__ProgramInfo.html b/structFS__ProgramInfo.html
index 13b159a..5875711 100644
--- a/structFS__ProgramInfo.html
+++ b/structFS__ProgramInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structFS__SystemSaveDataInfo.html b/structFS__SystemSaveDataInfo.html
index 08956d4..76809e6 100644
--- a/structFS__SystemSaveDataInfo.html
+++ b/structFS__SystemSaveDataInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structGSPGPU__CaptureInfo.html b/structGSPGPU__CaptureInfo.html
index 5d31434..2179a58 100644
--- a/structGSPGPU__CaptureInfo.html
+++ b/structGSPGPU__CaptureInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structGSPGPU__CaptureInfoEntry.html b/structGSPGPU__CaptureInfoEntry.html
index 98cc492..cce4e4e 100644
--- a/structGSPGPU__CaptureInfoEntry.html
+++ b/structGSPGPU__CaptureInfoEntry.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structGSPGPU__FramebufferInfo.html b/structGSPGPU__FramebufferInfo.html
index 72c28c3..128a491 100644
--- a/structGSPGPU__FramebufferInfo.html
+++ b/structGSPGPU__FramebufferInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structMVDSTD__Config.html b/structMVDSTD__Config.html
index 85a31a6..67860ab 100644
--- a/structMVDSTD__Config.html
+++ b/structMVDSTD__Config.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structMapEvent.html b/structMapEvent.html
index e866b24..e8e3193 100644
--- a/structMapEvent.html
+++ b/structMapEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structMemInfo.html b/structMemInfo.html
index 4c5109c..6cc4fa4 100644
--- a/structMemInfo.html
+++ b/structMemInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structOS__VersionBin.html b/structOS__VersionBin.html
index fa11a70..202ee9f 100644
--- a/structOS__VersionBin.html
+++ b/structOS__VersionBin.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structOutputStringEvent.html b/structOutputStringEvent.html
index 53727de..2034437 100644
--- a/structOutputStringEvent.html
+++ b/structOutputStringEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structPageInfo.html b/structPageInfo.html
index 94ca168..ddfeeae 100644
--- a/structPageInfo.html
+++ b/structPageInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structPrintConsole.html b/structPrintConsole.html
index 5ec5abe..c5212fe 100644
--- a/structPrintConsole.html
+++ b/structPrintConsole.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structProcessEvent.html b/structProcessEvent.html
index eb9a5b3..79dd39f 100644
--- a/structProcessEvent.html
+++ b/structProcessEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structQTM__HeadTrackingInfo.html b/structQTM__HeadTrackingInfo.html
index a00e12c..19fd485 100644
--- a/structQTM__HeadTrackingInfo.html
+++ b/structQTM__HeadTrackingInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structQTM__HeadTrackingInfoCoord.html b/structQTM__HeadTrackingInfoCoord.html
index f6d5906..3e3e30b 100644
--- a/structQTM__HeadTrackingInfoCoord.html
+++ b/structQTM__HeadTrackingInfoCoord.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structSchedulerInOutEvent.html b/structSchedulerInOutEvent.html
index 96f4eaf..fa57639 100644
--- a/structSchedulerInOutEvent.html
+++ b/structSchedulerInOutEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structSyscallInOutEvent.html b/structSyscallInOutEvent.html
index 1d6c6b4..0b06f06 100644
--- a/structSyscallInOutEvent.html
+++ b/structSyscallInOutEvent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structY2RU__ColorCoefficients.html b/structY2RU__ColorCoefficients.html
index bf19f48..fef074a 100644
--- a/structY2RU__ColorCoefficients.html
+++ b/structY2RU__ColorCoefficients.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structY2RU__ConversionParams.html b/structY2RU__ConversionParams.html
index 7946b82..a26eb8b 100644
--- a/structY2RU__ConversionParams.html
+++ b/structY2RU__ConversionParams.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structY2RU__DitheringWeightParams.html b/structY2RU__DitheringWeightParams.html
index 0fd379c..1bef722 100644
--- a/structY2RU__DitheringWeightParams.html
+++ b/structY2RU__DitheringWeightParams.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structaccelVector.html b/structaccelVector.html
index 0eed8c9..12154a3 100644
--- a/structaccelVector.html
+++ b/structaccelVector.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structangularRate.html b/structangularRate.html
index 133dfbc..a3fae97 100644
--- a/structangularRate.html
+++ b/structangularRate.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structaptHookCookie.html b/structaptHookCookie.html
index 2e4171e..7772fc3 100644
--- a/structaptHookCookie.html
+++ b/structaptHookCookie.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structcirclePosition.html b/structcirclePosition.html
index 6e60e94..b3ec405 100644
--- a/structcirclePosition.html
+++ b/structcirclePosition.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structfloat24Uniform__s.html b/structfloat24Uniform__s.html
index 352ad03..715b55c 100644
--- a/structfloat24Uniform__s.html
+++ b/structfloat24Uniform__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structhostent.html b/structhostent.html
index 4fecfeb..b690837 100644
--- a/structhostent.html
+++ b/structhostent.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structhttpcContext.html b/structhttpcContext.html
index a8d7b1b..703707a 100644
--- a/structhttpcContext.html
+++ b/structhttpcContext.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structin__addr.html b/structin__addr.html
index 3f67ba4..f8099e0 100644
--- a/structin__addr.html
+++ b/structin__addr.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structip__mreq.html b/structip__mreq.html
index de75b89..fcd18d3 100644
--- a/structip__mreq.html
+++ b/structip__mreq.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structlinger.html b/structlinger.html
index 009f14c..0a52209 100644
--- a/structlinger.html
+++ b/structlinger.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structndspAdpcmData.html b/structndspAdpcmData.html
index 11e72fd..a7ed039 100644
--- a/structndspAdpcmData.html
+++ b/structndspAdpcmData.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structpollfd.html b/structpollfd.html
index 32447d9..cfb0f95 100644
--- a/structpollfd.html
+++ b/structpollfd.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structrbtree.html b/structrbtree.html
index cfebd69..5337a2f 100644
--- a/structrbtree.html
+++ b/structrbtree.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structrbtree__node.html b/structrbtree__node.html
index 3cd0ea0..8aefb7a 100644
--- a/structrbtree__node.html
+++ b/structrbtree__node.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structromfs__dir.html b/structromfs__dir.html
index a4f7729..ae81f8a 100644
--- a/structromfs__dir.html
+++ b/structromfs__dir.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structromfs__file.html b/structromfs__file.html
index f7851fc..af4ed4d 100644
--- a/structromfs__file.html
+++ b/structromfs__file.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structromfs__header.html b/structromfs__header.html
index 04f5c6a..30fd869 100644
--- a/structromfs__header.html
+++ b/structromfs__header.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structshaderInstance__s.html b/structshaderInstance__s.html
index aab7177..6f4c6ca 100644
--- a/structshaderInstance__s.html
+++ b/structshaderInstance__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structshaderProgram__s.html b/structshaderProgram__s.html
index df2f44f..924892a 100644
--- a/structshaderProgram__s.html
+++ b/structshaderProgram__s.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -121,7 +121,7 @@ Data Fields
The documentation for this struct was generated from the following file:
diff --git a/structsockaddr.html b/structsockaddr.html
index fb756ae..1e9e3ab 100644
--- a/structsockaddr.html
+++ b/structsockaddr.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structsockaddr__in.html b/structsockaddr__in.html
index 04f8421..2da70d5 100644
--- a/structsockaddr__in.html
+++ b/structsockaddr__in.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structsockaddr__storage.html b/structsockaddr__storage.html
index 0a4a0d7..e9e736c 100644
--- a/structsockaddr__storage.html
+++ b/structsockaddr__storage.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structtag__ndspWaveBuf.html b/structtag__ndspWaveBuf.html
index dfb0584..585361d 100644
--- a/structtag__ndspWaveBuf.html
+++ b/structtag__ndspWaveBuf.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/structtouchPosition.html b/structtouchPosition.html
index c37ab26..9bd457f 100644
--- a/structtouchPosition.html
+++ b/structtouchPosition.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/svc_8h.html b/svc_8h.html
index 2adfeb4..b165e95 100644
--- a/svc_8h.html
+++ b/svc_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/svc_8h_source.html b/svc_8h_source.html
index 41dfb68..ad39293 100644
--- a/svc_8h_source.html
+++ b/svc_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/synchronization_8h.html b/synchronization_8h.html
index 48df884..af910e6 100644
--- a/synchronization_8h.html
+++ b/synchronization_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -152,6 +152,9 @@ static void static bool __strex (s32 *addr, s32 val)
Performs a strex operation. More...
+Handle __sync_get_arbiter (void)
+ Retrieves the synchronization subsystem's address arbiter handle. More...
+
void LightLock_Init (LightLock *lock)
Initializes a light lock. More...
@@ -255,6 +258,25 @@ static void
Returns Whether the operation was successful.
+
+
+
+
+
+
+
+ Handle __sync_get_arbiter
+ (
+ void
+ )
+
+
+
+
+
+
Retrieves the synchronization subsystem's address arbiter handle.
+
Returns The synchronization subsystem's address arbiter handle.
+
diff --git a/synchronization_8h_source.html b/synchronization_8h_source.html
index bc9651c..6898efb 100644
--- a/synchronization_8h_source.html
+++ b/synchronization_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -153,55 +153,62 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
60 #define AtomicSwap(ptr, value) __atomic_exchange_n((u32*)(ptr), (value), __ATOMIC_SEQ_CST)
-
-
+
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
void LightLock_Init(LightLock *lock)
Initializes a light lock.
+u32 Handle
Resource handle.
Definition: types.h:41
_LOCK_RECURSIVE_T RecursiveLock
A recursive lock.
Definition: synchronization.h:12
void RecursiveLock_Init(RecursiveLock *lock)
Initializes a recursive lock.
static void __dsb(void)
Performs a Data Synchronization Barrier operation.
Definition: synchronization.h:15
@@ -215,6 +222,7 @@ var searchBox = new SearchBox("searchBox", "search",false,'Search');
int LightLock_TryLock(LightLock *lock)
Attempts to lock a light lock.
void RecursiveLock_Lock(RecursiveLock *lock)
Locks a recursive lock.
int RecursiveLock_TryLock(RecursiveLock *lock)
Attempts to lock a recursive lock.
+Handle __sync_get_arbiter(void)
Retrieves the synchronization subsystem's address arbiter handle.
void LightLock_Unlock(LightLock *lock)
Unlocks a light lock.
diff --git a/tcp_8h_source.html b/tcp_8h_source.html
index 0d3cd72..1eb8469 100644
--- a/tcp_8h_source.html
+++ b/tcp_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/thread_8h.html b/thread_8h.html
index 597ee79..7b858a5 100644
--- a/thread_8h.html
+++ b/thread_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/thread_8h_source.html b/thread_8h_source.html
index c87899f..8b97f38 100644
--- a/thread_8h_source.html
+++ b/thread_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/threads_2event_2source_2main_8c-example.html b/threads_2event_2source_2main_8c-example.html
index c9eaaf4..d186b11 100644
--- a/threads_2event_2source_2main_8c-example.html
+++ b/threads_2event_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/threads_2thread-basic_2source_2main_8c-example.html b/threads_2thread-basic_2source_2main_8c-example.html
index c2de3ff..86cfb36 100644
--- a/threads_2thread-basic_2source_2main_8c-example.html
+++ b/threads_2thread-basic_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/time_2rtc_2source_2main_8c-example.html b/time_2rtc_2source_2main_8c-example.html
index 9a7e390..2e4a93f 100644
--- a/time_2rtc_2source_2main_8c-example.html
+++ b/time_2rtc_2source_2main_8c-example.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/types_8h.html b/types_8h.html
index 242e776..99d6125 100644
--- a/types_8h.html
+++ b/types_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/types_8h_source.html b/types_8h_source.html
index 7adfcba..0125d9f 100644
--- a/types_8h_source.html
+++ b/types_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/unionCSND__CapInfo.html b/unionCSND__CapInfo.html
index 57ae86d..5b4631e 100644
--- a/unionCSND__CapInfo.html
+++ b/unionCSND__CapInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/unionCSND__ChnInfo.html b/unionCSND__ChnInfo.html
index 4cbe66c..1a3f8d8 100644
--- a/unionCSND__ChnInfo.html
+++ b/unionCSND__ChnInfo.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/utf_8h.html b/utf_8h.html
index 8f23e99..4dc0706 100644
--- a/utf_8h.html
+++ b/utf_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/utf_8h_source.html b/utf_8h_source.html
index f72e358..d316687 100644
--- a/utf_8h_source.html
+++ b/utf_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/vram_8h.html b/vram_8h.html
index 7a617de..bffa49c 100644
--- a/vram_8h.html
+++ b/vram_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
@@ -142,8 +142,7 @@ Functions
Returns The allocated buffer.
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
@@ -167,8 +166,7 @@ Functions
-Examples: graphics/gpu/geoshader/source/main.c , graphics/gpu/simple_tri/source/main.c , and graphics/gpu/textured_cube/source/main.c .
-
+
diff --git a/vram_8h_source.html b/vram_8h_source.html
index 09988cd..07e77bf 100644
--- a/vram_8h_source.html
+++ b/vram_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/y2r_8h.html b/y2r_8h.html
index d6e0a6f..02c41a1 100644
--- a/y2r_8h.html
+++ b/y2r_8h.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0
diff --git a/y2r_8h_source.html b/y2r_8h_source.html
index b12f963..e7afe5e 100644
--- a/y2r_8h_source.html
+++ b/y2r_8h_source.html
@@ -24,7 +24,7 @@
libctru
- v1.0.0
+ v1.1.0