mirror of https://github.com/axmolengine/axmol.git
Small improvemnts
This commit is contained in:
parent
00d4e94dac
commit
945b65716f
|
@ -221,13 +221,10 @@ void SimpleSnake::update(float delta)
|
|||
runTime += delta;
|
||||
endLevelTime += delta;
|
||||
|
||||
|
||||
|
||||
if (finish)
|
||||
{
|
||||
float myScale = runTime + 1.1;
|
||||
if (myScale > 3.0)
|
||||
myScale = 3.0;
|
||||
if (myScale > 3.0) myScale = 3.0;
|
||||
background->setScale(myScale);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,174 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
|
||||
## 2021-12-09
|
||||
|
||||
### Added
|
||||
|
||||
* Add static library(.a) for Mac Catalyst.
|
||||
|
||||
|
||||
## 2021-10-07
|
||||
|
||||
### Added
|
||||
|
||||
* Add `x86_64` library for Android.
|
||||
* Add `arm64` library for macOS.
|
||||
|
||||
|
||||
## 2021-03-09
|
||||
|
||||
### Added
|
||||
|
||||
* Add funtcions for Viewer.
|
||||
* `csmGetParameterKeyCounts`
|
||||
* `csmGetParameterKeyValues`
|
||||
|
||||
|
||||
### Changed
|
||||
|
||||
* Update Core version to `04.01.0000`.
|
||||
|
||||
|
||||
## 2020-01-30
|
||||
|
||||
### Added
|
||||
|
||||
* Add static library(.lib) for statically linking DLL.
|
||||
* Add symbol file for Windows dynamic library (dll).
|
||||
|
||||
|
||||
## 2019-11-19
|
||||
|
||||
### Fixed
|
||||
|
||||
* Fix linking static libraries for Windows (.lib).
|
||||
|
||||
|
||||
## 2019-11-14
|
||||
|
||||
### Added
|
||||
|
||||
* Support Visual Studio 2019.
|
||||
* Support macOS dynamic library (dylib).
|
||||
|
||||
### Changed
|
||||
|
||||
* Update Windows dynamic library: Use Visual Studio 2019 for building.
|
||||
|
||||
### Security
|
||||
|
||||
* Bundle certificate and notary ticket to macOS shared library.
|
||||
|
||||
|
||||
## 2019-09-04
|
||||
|
||||
### Added
|
||||
|
||||
* Support new Inverted Masking features.
|
||||
* Support ARM64 architecture for Universal Windows Platform.
|
||||
|
||||
### Changed
|
||||
|
||||
* Upgrade Core version to 04.00.0000 (67108864). This upgrade is following Cubism Editor 4.0 features.
|
||||
* Add calling convention for *Windows/x86 DLL* only.
|
||||
|
||||
### Removed
|
||||
|
||||
* Remove bitcode binary due to suspension of *Cubism Bindings.*
|
||||
|
||||
|
||||
## 2019-04-09
|
||||
|
||||
### Added
|
||||
|
||||
* Support Universal Windows Platform for Windows Store Application.
|
||||
|
||||
|
||||
## 2019-01-31
|
||||
|
||||
### Added
|
||||
|
||||
* Add API to get the parent part of the specified part.
|
||||
* Add API to get moc3 version.
|
||||
|
||||
|
||||
## 2018-12-20
|
||||
|
||||
### Added
|
||||
|
||||
* [Native] Add new function: `csmGetPartParentPartIndices`.
|
||||
* [Native, 3.3 Support] Support new Warp Deformer features.
|
||||
|
||||
### Changed
|
||||
|
||||
* Upgrade Core version to 03.03.0000 (50528256). This upgrade is following Cubism Editor 3.3 features.
|
||||
|
||||
|
||||
## 2018-08-22
|
||||
|
||||
### Added
|
||||
|
||||
* [Native] Add support for Neon.
|
||||
|
||||
|
||||
## 2018-05-14
|
||||
|
||||
### Added
|
||||
|
||||
* [Native] Add Windows **Visual C++ 2013** library.
|
||||
* [Windows] Add runtime library choice `MT`, `MD`, `MTd`, `MDd`.
|
||||
* [iOS] Add support for iPhone Simulator SDK.
|
||||
|
||||
### Fixed
|
||||
|
||||
* Fix an error occurred when linking libraries for Android `arm64-v8a`.
|
||||
|
||||
|
||||
## 2017-11-17
|
||||
|
||||
### Fixed
|
||||
|
||||
* Fix processing of vertex index.
|
||||
|
||||
|
||||
## 2017-10-05
|
||||
|
||||
### Added
|
||||
|
||||
* Provide bitcode for iOS.
|
||||
|
||||
|
||||
## 2017-08-09
|
||||
|
||||
### Added
|
||||
|
||||
* [Native] Add Android *arm64-v8a* ABI library.
|
||||
|
||||
### Fixed
|
||||
|
||||
* Fix drawing order in certain scenarios.
|
||||
|
||||
|
||||
## 2017-07-12
|
||||
|
||||
### Added
|
||||
|
||||
* Add experimental support for Emscripten.
|
||||
* Add `CHANGELOG.md`.
|
||||
|
||||
### Fixed
|
||||
|
||||
* Fix access violation in certain scenarios.
|
||||
* Fix update result in certain scenarios.
|
||||
|
||||
|
||||
## 2017-05-02
|
||||
|
||||
### Added
|
||||
|
||||
* [Native] Add experimental support for Raspberry PI.
|
||||
* Add `README.md`.
|
|
@ -0,0 +1,70 @@
|
|||
cmake_minimum_required(VERSION 3.6)
|
||||
|
||||
project(CubismCore)
|
||||
add_library(Live2DCubismCore STATIC IMPORTED GLOBAL)
|
||||
|
||||
set(CORE_PATH ${CMAKE_CURRENT_LIST_DIR})
|
||||
|
||||
if(ANDROID)
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION
|
||||
${CORE_PATH}/lib/android/${ANDROID_ABI}/libLive2DCubismCore.a
|
||||
)
|
||||
elseif(LINUX)
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION
|
||||
${CORE_PATH}/lib/linux/x86_64/libLive2DCubismCore.a
|
||||
)
|
||||
elseif(WINDOWS)
|
||||
set(CRT MD)
|
||||
|
||||
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION ${CORE_PATH}/lib/windows/x86_64/142/Live2DCubismCore_MD.lib
|
||||
IMPORTED_LOCATION_DEBUG
|
||||
${CORE_PATH}/lib/windows/x86_64/142/Live2DCubismCore_${CRT}d.lib
|
||||
IMPORTED_LOCATION_RELEASE
|
||||
${CORE_PATH}/lib/windows/x86_64/142/Live2DCubismCore_MD.lib
|
||||
)
|
||||
else()
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION ${CORE_PATH}/lib/windows/x86/142/Live2DCubismCore_MD.lib
|
||||
IMPORTED_LOCATION_DEBUG
|
||||
${CORE_PATH}/lib/windows/x86/142/Live2DCubismCore_${CRT}d.lib
|
||||
IMPORTED_LOCATION_RELEASE
|
||||
${CORE_PATH}/lib/windows/x86/142/Live2DCubismCore_MD.lib
|
||||
)
|
||||
endif()
|
||||
elseif(APPLE)
|
||||
if(IOS)
|
||||
# iPhone Simulator (i386) is not support on Cubism Core.
|
||||
if(IOS_PLATFORM STREQUAL "SIMULATOR")
|
||||
message(FATAL_ERROR
|
||||
"Cubism Core does not support i386 iOS architecture."
|
||||
)
|
||||
endif()
|
||||
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION_DEBUG
|
||||
${CORE_PATH}/lib/ios/Debug-iphoneos/libLive2DCubismCore.a
|
||||
IMPORTED_LOCATION_RELEASE
|
||||
${CORE_PATH}/lib/ios/Release-iphoneos/libLive2DCubismCore.a
|
||||
)
|
||||
elseif(MACOSX)
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
IMPORTED_LOCATION
|
||||
${CORE_PATH}/lib/macos/x86_64/libLive2DCubismCore.a
|
||||
)
|
||||
endif()
|
||||
endif()
|
||||
# Set core include directory.
|
||||
set_target_properties(Live2DCubismCore
|
||||
PROPERTIES
|
||||
INTERFACE_INCLUDE_DIRECTORIES ${CORE_PATH}/include
|
||||
)
|
|
@ -0,0 +1,7 @@
|
|||
## Live2D Proprietary Software License
|
||||
|
||||
Live2D Cubism Core is available under Live2D Proprietary Software License.
|
||||
|
||||
* [Live2D Proprietary Software License Agreement](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html)
|
||||
* [Live2D Proprietary Software 使用許諾契約書](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_jp.html)
|
||||
* [Live2D Proprietary Software 使用授权协议](https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_cn.html)
|
|
@ -0,0 +1,71 @@
|
|||
# Live2D Cubism Core
|
||||
|
||||
This folder contains header and platform-specific library files for developing native applications.
|
||||
|
||||
What's the Core anyway? It's a small library that allows you to load Cubism models in your application.
|
||||
|
||||
|
||||
## Getting Started
|
||||
|
||||
You probably want to play back animations and want to display your models on screen, too.
|
||||
|
||||
[Go here](https://github.com/Live2D/CubismNativeSamples) for further information.
|
||||
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
Core
|
||||
├─ dll # Shared (Dynamic) Library files
|
||||
├─ include # Header file
|
||||
└─ lib # Static Library files
|
||||
```
|
||||
|
||||
|
||||
## Library List
|
||||
|
||||
| Platform | Architecture | dll | lib | Path | Note |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| Android | ARM64 | ✓ | ✓ | android/arm64-v8a | |
|
||||
| Android | ARMv7 | ✓ | ✓ | android/armeabi-v7a | |
|
||||
| Android | x86 | ✓ | ✓ | android/x86 | |
|
||||
| Android | x86_64 | ✓ | ✓ | android/x86_64 | |
|
||||
| iOS | ARM64 | | ✓ | ios/xxx-iphoneos | iOS Devices |
|
||||
| iOS | x86_64 | | ✓ | ios/xxx-iphonesimulator | iOS Simulator |
|
||||
| Linux | x86_64 | ✓ | ✓ | linux/x86_64 | |
|
||||
| macOS | ARM64 | ✓ | ✓ | macos/arm64 | |
|
||||
| macOS | x86_64 | ✓ | ✓ | macos/x86_64 | |
|
||||
| Mac Catalyst | ARM64 | | ✓ | experimental/catalyst | Universal Binary |
|
||||
| Mac Catalyst | x86_64 | | ✓ | experimental/catalyst | Universal Binary |
|
||||
| Raspberry Pi | ARM | ✓ | ✓ | experimental/rpi | |
|
||||
| UWP | ARM | ✓ | | experimental/uwp/arm | |
|
||||
| UWP | ARM64 | ✓ | | experimental/uwp/arm64 | |
|
||||
| UWP | x64 | ✓ | | experimental/uwp/x64 | |
|
||||
| UWP | x86 | ✓ | | experimental/uwp/x86 | |
|
||||
| Windows | x86 | ✓ | ✓ | windows/x86 | |
|
||||
| Windows | x86_64 | ✓ | ✓ | windows/x86_64 | |
|
||||
|
||||
### Experimental Library
|
||||
|
||||
`Raspberry Pi`, `UWP` and `catalyst` are experimental libraries.
|
||||
|
||||
### Windows Static Library
|
||||
|
||||
Libraries are located under VC++ version name directory.
|
||||
|
||||
Below is the Visual Studio version for VC++ version.
|
||||
|
||||
| VC++ version | Visual Studio version |
|
||||
| ---: | --- |
|
||||
| 120 | Visual Studio 2013 |
|
||||
| 140 | Visual Studio 2015 |
|
||||
| 141 | Visual Studio 2017 |
|
||||
| 142 | Visual Studio 2019 |
|
||||
|
||||
Also, the suffix library (`_MD`, `_MDd`, `_MT`, `_MTd`) refers to the
|
||||
[Use Run-Time Library](https://docs.microsoft.com/en-us/cpp/build/reference/md-mt-ld-use-run-time-library)
|
||||
option used to compile the library.
|
||||
|
||||
### Calling convention
|
||||
|
||||
When using dynamic library of *Windows/x86*, explicitly using `__stdcall` as calling convention.
|
|
@ -0,0 +1,64 @@
|
|||
The following is a list of files available for redistribution
|
||||
under the terms of the Live2D Proprietary Software License Agreement:
|
||||
|
||||
- dll/android/arm64-v8a/libLive2DCubismCore.so
|
||||
- dll/android/armeabi-v7a/libLive2DCubismCore.so
|
||||
- dll/android/x86/libLive2DCubismCore.so
|
||||
- dll/android/x86_64/libLive2DCubismCore.so
|
||||
- dll/experimental/rpi/libLive2DCubismCore.so
|
||||
- dll/experimental/uwp/arm/Live2DCubismCore.dll
|
||||
- dll/experimental/uwp/arm64/Live2DCubismCore.dll
|
||||
- dll/experimental/uwp/x64/Live2DCubismCore.dll
|
||||
- dll/experimental/uwp/x86/Live2DCubismCore.dll
|
||||
- dll/linux/x86_64/libLive2DCubismCore.so
|
||||
- dll/macos/Live2DCubismCore.bundle
|
||||
- dll/macos/libLive2DCubismCore.dylib
|
||||
- dll/windows/x86/Live2DCubismCore.dll
|
||||
- dll/windows/x86/Live2DCubismCore.lib
|
||||
- dll/windows/x86_64/Live2DCubismCore.dll
|
||||
- dll/windows/x86_64/Live2DCubismCore.lib
|
||||
- lib/android/arm64-v8a/libLive2DCubismCore.a
|
||||
- lib/android/armeabi-v7a/libLive2DCubismCore.a
|
||||
- lib/android/x86/libLive2DCubismCore.a
|
||||
- lib/android/x86_64/libLive2DCubismCore.so
|
||||
- lib/experimental/catalyst/libLive2DCubismCore.a
|
||||
- lib/experimental/rpi/libLive2DCubismCore.a
|
||||
- lib/ios/Debug-iphoneos/libLive2DCubismCore.a
|
||||
- lib/ios/Debug-iphonesimulator/libLive2DCubismCore.a
|
||||
- lib/ios/Release-iphoneos/libLive2DCubismCore.a
|
||||
- lib/ios/Release-iphonesimulator/libLive2DCubismCore.a
|
||||
- lib/linux/x86_64/libLive2DCubismCore.a
|
||||
- lib/macos/arm64/libLive2DCubismCore.a
|
||||
- lib/macos/x86_64/libLive2DCubismCore.a
|
||||
- lib/windows/x86/120/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86/120/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86/120/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86/120/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86/140/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86/140/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86/140/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86/140/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86/141/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86/141/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86/141/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86/141/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86/142/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86/142/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86/142/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86/142/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86_64/120/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86_64/120/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86_64/120/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86_64/120/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86_64/140/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86_64/140/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86_64/140/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86_64/140/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86_64/141/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86_64/141/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86_64/141/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86_64/141/Live2DCubismCore_MTd.lib
|
||||
- lib/windows/x86_64/142/Live2DCubismCore_MD.lib
|
||||
- lib/windows/x86_64/142/Live2DCubismCore_MDd.lib
|
||||
- lib/windows/x86_64/142/Live2DCubismCore_MT.lib
|
||||
- lib/windows/x86_64/142/Live2DCubismCore_MTd.lib
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,504 @@
|
|||
/**
|
||||
* Copyright(c) Live2D Inc. All rights reserved.
|
||||
*
|
||||
* Use of this source code is governed by the Live2D Proprietary Software license
|
||||
* that can be found at https://www.live2d.com/eula/live2d-proprietary-software-license-agreement_en.html.
|
||||
*/
|
||||
|
||||
#ifndef LIVE2D_CUBISM_CORE_H
|
||||
#define LIVE2D_CUBISM_CORE_H
|
||||
|
||||
#if defined(__cplusplus)
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/* ------- *
|
||||
* DEFINES *
|
||||
* ------- */
|
||||
|
||||
/** Core API attribute. */
|
||||
#if !defined(csmApi)
|
||||
#define csmApi
|
||||
#endif
|
||||
|
||||
/* ----- *
|
||||
* TYPES *
|
||||
* ----- */
|
||||
|
||||
/** Cubism moc. */
|
||||
typedef struct csmMoc csmMoc;
|
||||
|
||||
/** Cubism model. */
|
||||
typedef struct csmModel csmModel;
|
||||
|
||||
/** Cubism version identifier. */
|
||||
typedef unsigned int csmVersion;
|
||||
|
||||
/** Alignment constraints. */
|
||||
enum
|
||||
{
|
||||
/** Necessary alignment for mocs (in bytes). */
|
||||
csmAlignofMoc = 64,
|
||||
|
||||
/** Necessary alignment for models (in bytes). */
|
||||
csmAlignofModel = 16
|
||||
};
|
||||
|
||||
/** Bit masks for non-dynamic drawable flags. */
|
||||
enum
|
||||
{
|
||||
/** Additive blend mode mask. */
|
||||
csmBlendAdditive = 1 << 0,
|
||||
|
||||
/** Multiplicative blend mode mask. */
|
||||
csmBlendMultiplicative = 1 << 1,
|
||||
|
||||
/** Double-sidedness mask. */
|
||||
csmIsDoubleSided = 1 << 2,
|
||||
|
||||
/** Clipping mask inversion mode mask. */
|
||||
csmIsInvertedMask = 1 << 3
|
||||
};
|
||||
|
||||
/** Bit masks for dynamic drawable flags. */
|
||||
enum
|
||||
{
|
||||
/** Flag set when visible. */
|
||||
csmIsVisible = 1 << 0,
|
||||
/** Flag set when visibility did change. */
|
||||
csmVisibilityDidChange = 1 << 1,
|
||||
/** Flag set when opacity did change. */
|
||||
csmOpacityDidChange = 1 << 2,
|
||||
/** Flag set when draw order did change. */
|
||||
csmDrawOrderDidChange = 1 << 3,
|
||||
/** Flag set when render order did change. */
|
||||
csmRenderOrderDidChange = 1 << 4,
|
||||
/** Flag set when vertex positions did change. */
|
||||
csmVertexPositionsDidChange = 1 << 5
|
||||
};
|
||||
|
||||
/** Bitfield. */
|
||||
typedef unsigned char csmFlags;
|
||||
|
||||
/** moc3 file format version. */
|
||||
enum
|
||||
{
|
||||
/** unknown */
|
||||
csmMocVersion_Unknown = 0,
|
||||
/** moc3 file version 3.0.00 - 3.2.07 */
|
||||
csmMocVersion_30 = 1,
|
||||
/** moc3 file version 3.3.00 - 3.3.03 */
|
||||
csmMocVersion_33 = 2,
|
||||
/** moc3 file version 4.0.00 - */
|
||||
csmMocVersion_40 = 3
|
||||
};
|
||||
|
||||
/** moc3 version identifier. */
|
||||
typedef unsigned int csmMocVersion;
|
||||
|
||||
/** 2 component vector. */
|
||||
typedef struct
|
||||
{
|
||||
/** First component. */
|
||||
float X;
|
||||
|
||||
/** Second component. */
|
||||
float Y;
|
||||
} csmVector2;
|
||||
|
||||
/** Log handler.
|
||||
*
|
||||
* @param message Null-terminated string message to log.
|
||||
*/
|
||||
typedef void (*csmLogFunction)(const char* message);
|
||||
|
||||
#if CSM_CORE_WIN32_DLL
|
||||
#define csmCallingConvention __stdcall
|
||||
#else
|
||||
#define csmCallingConvention
|
||||
#endif
|
||||
|
||||
/* ------- *
|
||||
* VERSION *
|
||||
* ------- */
|
||||
|
||||
/**
|
||||
* Queries Core version.
|
||||
*
|
||||
* @return Core version.
|
||||
*/
|
||||
csmApi csmVersion csmCallingConvention csmGetVersion();
|
||||
|
||||
/**
|
||||
* Gets Moc file supported latest version.
|
||||
*
|
||||
* @return csmMocVersion (Moc file latest format version).
|
||||
*/
|
||||
csmApi csmMocVersion csmCallingConvention csmGetLatestMocVersion();
|
||||
|
||||
/**
|
||||
* Gets Moc file format version.
|
||||
*
|
||||
* @param address Address of moc.
|
||||
* @param size Size of moc (in bytes).
|
||||
*
|
||||
* @return csmMocVersion
|
||||
*/
|
||||
csmApi csmMocVersion csmCallingConvention csmGetMocVersion(const void* address, const unsigned int size);
|
||||
|
||||
/* ------- *
|
||||
* LOGGING *
|
||||
* ------- */
|
||||
|
||||
/**
|
||||
* Queries log handler.
|
||||
*
|
||||
* @return Log handler.
|
||||
*/
|
||||
csmApi csmLogFunction csmCallingConvention csmGetLogFunction();
|
||||
|
||||
/**
|
||||
* Sets log handler.
|
||||
*
|
||||
* @param handler Handler to use.
|
||||
*/
|
||||
csmApi void csmCallingConvention csmSetLogFunction(csmLogFunction handler);
|
||||
|
||||
/* --- *
|
||||
* MOC *
|
||||
* --- */
|
||||
|
||||
/**
|
||||
* Tries to revive a moc from bytes in place.
|
||||
*
|
||||
* @param address Address of unrevived moc. The address must be aligned to 'csmAlignofMoc'.
|
||||
* @param size Size of moc (in bytes).
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi csmMoc* csmCallingConvention csmReviveMocInPlace(void* address, const unsigned int size);
|
||||
|
||||
/* ----- *
|
||||
* MODEL *
|
||||
* ----- */
|
||||
|
||||
/**
|
||||
* Queries size of a model in bytes.
|
||||
*
|
||||
* @param moc Moc to query.
|
||||
*
|
||||
* @return Valid size on success; '0' otherwise.
|
||||
*/
|
||||
csmApi unsigned int csmCallingConvention csmGetSizeofModel(const csmMoc* moc);
|
||||
|
||||
/**
|
||||
* Tries to instantiate a model in place.
|
||||
*
|
||||
* @param moc Source moc.
|
||||
* @param address Address to place instance at. Address must be aligned to 'csmAlignofModel'.
|
||||
* @param size Size of memory block for instance (in bytes).
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi csmModel* csmCallingConvention csmInitializeModelInPlace(const csmMoc* moc,
|
||||
void* address,
|
||||
const unsigned int size);
|
||||
|
||||
/**
|
||||
* Updates a model.
|
||||
*
|
||||
* @param model Model to update.
|
||||
*/
|
||||
csmApi void csmCallingConvention csmUpdateModel(csmModel* model);
|
||||
|
||||
/* ------ *
|
||||
* CANVAS *
|
||||
* ------ */
|
||||
|
||||
/**
|
||||
* Reads info on a model canvas.
|
||||
*
|
||||
* @param model Model query.
|
||||
*
|
||||
* @param outSizeInPixels Canvas dimensions.
|
||||
* @param outOriginInPixels Origin of model on canvas.
|
||||
* @param outPixelsPerUnit Aspect used for scaling pixels to units.
|
||||
*/
|
||||
csmApi void csmCallingConvention csmReadCanvasInfo(const csmModel* model,
|
||||
csmVector2* outSizeInPixels,
|
||||
csmVector2* outOriginInPixels,
|
||||
float* outPixelsPerUnit);
|
||||
|
||||
/* ---------- *
|
||||
* PARAMETERS *
|
||||
* ---------- */
|
||||
|
||||
/**
|
||||
* Gets number of parameters.
|
||||
*
|
||||
* @param[in] model Model to query.
|
||||
*
|
||||
* @return Valid count on success; '-1' otherwise.
|
||||
*/
|
||||
csmApi int csmCallingConvention csmGetParameterCount(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets parameter IDs.
|
||||
* All IDs are null-terminated ANSI strings.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const char** csmCallingConvention csmGetParameterIds(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets minimum parameter values.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const float* csmCallingConvention csmGetParameterMinimumValues(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets maximum parameter values.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const float* csmCallingConvention csmGetParameterMaximumValues(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets default parameter values.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const float* csmCallingConvention csmGetParameterDefaultValues(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets read/write parameter values buffer.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi float* csmCallingConvention csmGetParameterValues(csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets number of key values of each parameter.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetParameterKeyCounts(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets key values of each parameter.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const float** csmCallingConvention csmGetParameterKeyValues(const csmModel* model);
|
||||
|
||||
|
||||
/* ----- *
|
||||
* PARTS *
|
||||
* ----- */
|
||||
|
||||
/**
|
||||
* Gets number of parts.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid count on success; '-1' otherwise.
|
||||
*/
|
||||
csmApi int csmCallingConvention csmGetPartCount(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets parts IDs.
|
||||
* All IDs are null-terminated ANSI strings.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const char** csmCallingConvention csmGetPartIds(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets read/write part opacities buffer.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi float* csmCallingConvention csmGetPartOpacities(csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets part's parent part indices.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetPartParentPartIndices(const csmModel* model);
|
||||
|
||||
/* --------- *
|
||||
* DRAWABLES *
|
||||
* --------- */
|
||||
|
||||
/**
|
||||
* Gets number of drawables.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid count on success; '-1' otherwise.
|
||||
*/
|
||||
csmApi int csmCallingConvention csmGetDrawableCount(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets drawable IDs.
|
||||
* All IDs are null-terminated ANSI strings.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const char** csmCallingConvention csmGetDrawableIds(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets constant drawable flags.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const csmFlags* csmCallingConvention csmGetDrawableConstantFlags(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets dynamic drawable flags.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const csmFlags* csmCallingConvention csmGetDrawableDynamicFlags(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets drawable texture indices.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetDrawableTextureIndices(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets drawable draw orders.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetDrawableDrawOrders(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets drawable render orders.
|
||||
* The higher the order, the more up front a drawable is.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0'otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetDrawableRenderOrders(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets drawable opacities.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const float* csmCallingConvention csmGetDrawableOpacities(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets numbers of masks of each drawable.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetDrawableMaskCounts(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets mask indices of each drawable.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int** csmCallingConvention csmGetDrawableMasks(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets number of vertices of each drawable.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetDrawableVertexCounts(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets vertex position data of each drawable.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; a null pointer otherwise.
|
||||
*/
|
||||
csmApi const csmVector2** csmCallingConvention csmGetDrawableVertexPositions(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets texture coordinate data of each drawables.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const csmVector2** csmCallingConvention csmGetDrawableVertexUvs(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets number of triangle indices for each drawable.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const int* csmCallingConvention csmGetDrawableIndexCounts(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Gets triangle index data for each drawable.
|
||||
*
|
||||
* @param model Model to query.
|
||||
*
|
||||
* @return Valid pointer on success; '0' otherwise.
|
||||
*/
|
||||
csmApi const unsigned short** csmCallingConvention csmGetDrawableIndices(const csmModel* model);
|
||||
|
||||
/**
|
||||
* Resets all dynamic drawable flags.
|
||||
*
|
||||
* @param model Model containing flags.
|
||||
*/
|
||||
csmApi void csmCallingConvention csmResetDrawableDynamicFlags(csmModel* model);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue