9 # error This is a userspace-only header, not allowed by the current build.
12 #include <sifteo/abi.h>
63 if (_SYS_lti_counter(
"Sifteo.Metadata", 0) == 0) {
66 unsigned numAGSlots = _SYS_lti_counter(
"Sifteo.AssetGroupSlot", -1);
67 _SYS_lti_metadata(_SYS_METADATA_NUM_ASLOTS,
"b", numAGSlots);
70 _SYS_lti_metadata(_SYS_METADATA_UUID,
"IIII",
71 _SYS_lti_uuid(0, 0), _SYS_lti_uuid(0, 1),
72 _SYS_lti_uuid(0, 2), _SYS_lti_uuid(0, 3));
81 _SYS_lti_abort(_SYS_lti_counter(
"Sifteo.Metadata.Title", 0) != 0,
82 "Duplicate Metadata::title() instance.");
84 _SYS_lti_metadata(_SYS_METADATA_TITLE_STR,
"sB", str, 0);
102 _SYS_lti_abort(_SYS_lti_counter(
"Sifteo.Metadata.Package", 0) != 0,
103 "Duplicate Metadata::package() instance.");
105 _SYS_lti_metadata(_SYS_METADATA_PACKAGE_STR,
"sB", pkg, 0);
106 _SYS_lti_metadata(_SYS_METADATA_VERSION_STR,
"sB", version, 0);
123 _SYS_lti_abort(_SYS_lti_counter(
"Sifteo.Metadata.IsDemoOf", 0) != 0,
124 "Duplicate Metadata::isDemoOf() instance.");
126 _SYS_lti_metadata(_SYS_METADATA_IS_DEMO_OF_STR,
"sB", fullAppPkgID, 0);
139 _SYS_lti_abort(_SYS_lti_counter(
"Sifteo.Metadata.Icon", 0) != 0,
140 "Duplicate Metadata::icon() instance.");
141 _SYS_lti_abort(i.width != 96/8 || i.height != 96/8,
142 "Metadata::icon() image must be 96x96 pixels in size.");
144 return image(_SYS_METADATA_ICON_96x96, i);
154 _SYSAssetGroup *G = (_SYSAssetGroup*) _SYS_lti_initializer(
155 reinterpret_cast<const void*>(i.pAssetGroup),
true);
158 _SYS_lti_metadata(key,
"BBBBII",
159 i.width, i.height, i.frames, i.format, G->pHdr, i.pData);
172 _SYS_lti_abort(_SYS_lti_counter(
"Sifteo.Metadata.CubeRange", 0) != 0,
173 "Duplicate Metadata::cubeRange() instance.");
174 _SYS_lti_abort(minCubes > _SYS_NUM_CUBE_SLOTS,
175 "Minimum number of cubes is too high.");
176 _SYS_lti_abort(maxCubes > _SYS_NUM_CUBE_SLOTS,
177 "Maximum number of cubes is too high.");
178 _SYS_lti_abort(minCubes > maxCubes,
179 "Minimum number of cubes must be <= maximum number");
181 _SYS_lti_metadata(_SYS_METADATA_CUBE_RANGE,
"BB", minCubes, maxCubes);
211 _SYS_lti_abort((version & 0xff000000) != 0,
212 "Metadata::minimumOSVersion(): invalid version. Must be of the form "
213 "0xMMNNPP (MM = major, NN = minor, PP = patch).");
215 _SYS_lti_metadata(_SYS_METADATA_MIN_OS_VERSION,
"I", version);