@@ -17,65 +17,64 @@ class JniUserModel : public CubismUserModel {
1717 }
1818
1919 ~JniUserModel () {
20- JNIEnv* env = GetEnv ();
20+ JNIEnv* env = getEnv ();
2121 if (env) env->DeleteGlobalRef (_javaObj);
2222 }
2323
24- void LoadModelWithCopy (const csmByte* buffer, csmSizeInt size) {
24+ void loadModelCopy (const csmByte* buffer, csmSizeInt size) {
2525 _mocData.assign (buffer, buffer + size);
26- this -> LoadModel (_mocData.data (), static_cast <csmSizeInt>( _mocData.size () ));
26+ LoadModel (_mocData.data (), (csmSizeInt) _mocData.size ());
2727 }
2828
29- void StartMotionWithCallback (const csmByte* buffer, csmSizeInt size, int priority) {
29+ void startMotion (const csmByte* buffer, csmSizeInt size, int priority) {
3030 auto * motion = CubismMotion::Create (buffer, size);
3131 if (!motion) return ;
3232
33- motion->SetFinishedMotionHandler ([](ACubismMotion* self, void * customData ) {
34- auto * model = static_cast <JniUserModel*>(customData );
35- model->NotifyMotionFinished ( " motion " );
33+ motion->SetFinishedMotionHandlerAndMotionCustomData ([](ACubismMotion* self, void * data ) {
34+ auto * model = static_cast <JniUserModel*>(data );
35+ model->notifyFinished ( );
3636 CubismMotion::Delete (static_cast <CubismMotion*>(self));
3737 }, this );
3838
3939 _motionManager->StartMotionPriority (motion, true , priority);
4040 }
4141
42- void NotifyMotionFinished ( const std::string& name ) {
43- JNIEnv* env = GetEnv ();
42+ void notifyFinished ( ) {
43+ JNIEnv* env = getEnv ();
4444 if (!env) return ;
45- jclass clazz = env->GetObjectClass (_javaObj);
46- jmethodID mid = env->GetMethodID (clazz , " onMotionFinished" , " (Ljava/lang/String;)V" );
47- jstring jname = env->NewStringUTF (name. c_str () );
48- env->CallVoidMethod (_javaObj, mid, jname );
49- env->DeleteLocalRef (jname );
45+ jclass cls = env->GetObjectClass (_javaObj);
46+ jmethodID mid = env->GetMethodID (cls , " onMotionFinished" , " (Ljava/lang/String;)V" );
47+ jstring name = env->NewStringUTF (" motion " );
48+ env->CallVoidMethod (_javaObj, mid, name );
49+ env->DeleteLocalRef (name );
5050 }
5151
52- void UpdateFramework (float deltaTime ) {
52+ void update (float dt ) {
5353 if (!_model) return ;
5454
5555 _model->LoadParameters ();
56- if (_motionManager->IsFinished ()) {
57- // Idle logic could go here
58- } else {
59- _motionManager->UpdateMotion (_model, deltaTime);
56+ if (!_motionManager->IsFinished ()) {
57+ _motionManager->UpdateMotion (_model, dt);
6058 }
6159 _model->SaveParameters ();
6260
6361 if (_dragManager) {
64- _dragManager->Update (deltaTime);
65- _model->AddParameterValue (CubismFramework::GetIdManager ()->GetId (" ParamAngleX" ), _dragManager->GetX () * 30 .0f );
66- _model->AddParameterValue (CubismFramework::GetIdManager ()->GetId (" ParamAngleY" ), _dragManager->GetY () * 30 .0f );
67- _model->AddParameterValue (CubismFramework::GetIdManager ()->GetId (" ParamBodyAngleX" ), _dragManager->GetX () * 10 .0f );
68- _model->AddParameterValue (CubismFramework::GetIdManager ()->GetId (" ParamEyeBallX" ), _dragManager->GetX ());
69- _model->AddParameterValue (CubismFramework::GetIdManager ()->GetId (" ParamEyeBallY" ), _dragManager->GetY ());
62+ _dragManager->Update (dt);
63+ auto * idm = CubismFramework::GetIdManager ();
64+ _model->AddParameterValue (idm->GetId (" ParamAngleX" ), _dragManager->GetX () * 30 .0f );
65+ _model->AddParameterValue (idm->GetId (" ParamAngleY" ), _dragManager->GetY () * 30 .0f );
66+ _model->AddParameterValue (idm->GetId (" ParamBodyAngleX" ), _dragManager->GetX () * 10 .0f );
67+ _model->AddParameterValue (idm->GetId (" ParamEyeBallX" ), _dragManager->GetX ());
68+ _model->AddParameterValue (idm->GetId (" ParamEyeBallY" ), _dragManager->GetY ());
7069 }
7170
72- if (_pose) _pose->UpdateParameters (_model, deltaTime );
73- if (_physics) _physics->Evaluate (_model, deltaTime );
71+ if (_pose) _pose->UpdateParameters (_model, dt );
72+ if (_physics) _physics->Evaluate (_model, dt );
7473 _model->Update ();
7574 }
7675
7776private:
78- JNIEnv* GetEnv () {
77+ JNIEnv* getEnv () {
7978 JNIEnv* env;
8079 if (_jvm->GetEnv ((void **)&env, JNI_VERSION_1_6) == JNI_EDETACHED) {
8180 _jvm->AttachCurrentThread ((void **)&env, nullptr );
@@ -94,32 +93,32 @@ JNIEXPORT jlong JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_createNative(J
9493 return (jlong) new JniUserModel (env, thiz);
9594}
9695
97- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_deleteNative (JNIEnv* env, jclass clazz , jlong ptr) {
98- delete (JniUserModel*) ptr;
96+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_deleteNative (JNIEnv* env, jclass, jlong ptr) {
97+ delete (JniUserModel*)ptr;
9998}
10099
101- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadModelNative (JNIEnv* env, jclass clazz , jlong ptr, jbyteArray buffer) {
100+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadModelNative (JNIEnv* env, jclass, jlong ptr, jbyteArray buffer) {
102101 jsize len = env->GetArrayLength (buffer);
103102 jbyte* data = env->GetByteArrayElements (buffer, nullptr );
104- ((JniUserModel*)ptr)->LoadModelWithCopy ((const csmByte*)data, len);
103+ ((JniUserModel*)ptr)->loadModelCopy ((const csmByte*)data, len);
105104 env->ReleaseByteArrayElements (buffer, data, JNI_ABORT);
106105}
107106
108- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadPhysicsNative (JNIEnv* env, jclass clazz , jlong ptr, jbyteArray buffer) {
107+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadPhysicsNative (JNIEnv* env, jclass, jlong ptr, jbyteArray buffer) {
109108 jsize len = env->GetArrayLength (buffer);
110109 jbyte* data = env->GetByteArrayElements (buffer, nullptr );
111110 ((JniUserModel*)ptr)->LoadPhysics ((const csmByte*)data, len);
112111 env->ReleaseByteArrayElements (buffer, data, JNI_ABORT);
113112}
114113
115- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadPoseNative (JNIEnv* env, jclass clazz , jlong ptr, jbyteArray buffer) {
114+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadPoseNative (JNIEnv* env, jclass, jlong ptr, jbyteArray buffer) {
116115 jsize len = env->GetArrayLength (buffer);
117116 jbyte* data = env->GetByteArrayElements (buffer, nullptr );
118117 ((JniUserModel*)ptr)->LoadPose ((const csmByte*)data, len);
119118 env->ReleaseByteArrayElements (buffer, data, JNI_ABORT);
120119}
121120
122- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadExpressionNative (JNIEnv* env, jclass clazz , jlong ptr, jbyteArray buffer, jstring name) {
121+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadExpressionNative (JNIEnv* env, jclass, jlong ptr, jbyteArray buffer, jstring name) {
123122 jsize len = env->GetArrayLength (buffer);
124123 jbyte* data = env->GetByteArrayElements (buffer, nullptr );
125124 const char * n = env->GetStringUTFChars (name, nullptr );
@@ -128,61 +127,61 @@ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_loadExpressionN
128127 env->ReleaseByteArrayElements (buffer, data, JNI_ABORT);
129128}
130129
131- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_createRendererNative (JNIEnv* env , jclass clazz , jlong ptr) {
130+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_createRendererNative (JNIEnv*, jclass, jlong ptr) {
132131 ((JniUserModel*)ptr)->CreateRenderer ();
133132}
134133
135- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_registerTextureNative (JNIEnv* env , jclass clazz , jlong ptr, jint index, jint textureId) {
134+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_registerTextureNative (JNIEnv*, jclass, jlong ptr, jint index, jint textureId) {
136135 auto * renderer = ((JniUserModel*)ptr)->GetRenderer <CubismRenderer_OpenGLES2>();
137136 if (renderer) renderer->BindTexture (index, (GLuint)textureId);
138137}
139138
140- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_setDraggingNative (JNIEnv* env , jclass clazz , jlong ptr, jfloat x, jfloat y) {
139+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_setDraggingNative (JNIEnv*, jclass, jlong ptr, jfloat x, jfloat y) {
141140 ((JniUserModel*)ptr)->SetDragging (x, y);
142141}
143142
144- JNIEXPORT jboolean JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_isHitNative (JNIEnv* env, jclass clazz , jlong ptr, jstring drawableId , jfloat x, jfloat y) {
145- const char * idStr = env->GetStringUTFChars (drawableId , nullptr );
146- bool hit = ((JniUserModel*)ptr)->IsHit (CubismFramework::GetIdManager ()->GetId (idStr ), x, y);
147- env->ReleaseStringUTFChars (drawableId, idStr );
143+ JNIEXPORT jboolean JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_isHitNative (JNIEnv* env, jclass, jlong ptr, jstring id , jfloat x, jfloat y) {
144+ const char * s = env->GetStringUTFChars (id , nullptr );
145+ bool hit = ((JniUserModel*)ptr)->IsHit (CubismFramework::GetIdManager ()->GetId (s ), x, y);
146+ env->ReleaseStringUTFChars (id, s );
148147 return hit;
149148}
150149
151- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_startMotionNative (JNIEnv* env, jclass clazz , jlong ptr, jbyteArray buffer, jint priority) {
150+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_startMotionNative (JNIEnv* env, jclass, jlong ptr, jbyteArray buffer, jint priority) {
152151 jsize len = env->GetArrayLength (buffer);
153152 jbyte* data = env->GetByteArrayElements (buffer, nullptr );
154- ((JniUserModel*)ptr)->StartMotionWithCallback ((const csmByte*)data, len, priority);
153+ ((JniUserModel*)ptr)->startMotion ((const csmByte*)data, len, priority);
155154 env->ReleaseByteArrayElements (buffer, data, JNI_ABORT);
156155}
157156
158- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_updateNative (JNIEnv* env , jclass clazz , jlong ptr, jfloat deltaTime ) {
159- ((JniUserModel*)ptr)->UpdateFramework (deltaTime );
157+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_updateNative (JNIEnv*, jclass, jlong ptr, jfloat dt ) {
158+ ((JniUserModel*)ptr)->update (dt );
160159}
161160
162- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_setParameterValueNative (JNIEnv* env, jclass clazz , jlong ptr, jstring id, jfloat value) {
163- const char * idStr = env->GetStringUTFChars (id, nullptr );
164- ((JniUserModel*)ptr)->GetModel ()->SetParameterValue (CubismFramework::GetIdManager ()->GetId (idStr ), value);
165- env->ReleaseStringUTFChars (id, idStr );
161+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_setParameterValueNative (JNIEnv* env, jclass, jlong ptr, jstring id, jfloat value) {
162+ const char * s = env->GetStringUTFChars (id, nullptr );
163+ ((JniUserModel*)ptr)->GetModel ()->SetParameterValue (CubismFramework::GetIdManager ()->GetId (s ), value);
164+ env->ReleaseStringUTFChars (id, s );
166165}
167166
168- JNIEXPORT jfloat JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_getCanvasWidthNative (JNIEnv* env , jclass clazz , jlong ptr) {
167+ JNIEXPORT jfloat JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_getCanvasWidthNative (JNIEnv*, jclass, jlong ptr) {
169168 return ((JniUserModel*)ptr)->GetModel ()->GetCanvasWidth ();
170169}
171170
172- JNIEXPORT jfloat JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_getCanvasHeightNative (JNIEnv* env , jclass clazz , jlong ptr) {
171+ JNIEXPORT jfloat JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_getCanvasHeightNative (JNIEnv*, jclass, jlong ptr) {
173172 return ((JniUserModel*)ptr)->GetModel ()->GetCanvasHeight ();
174173}
175174
176- JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_drawNative (JNIEnv* env, jclass clazz , jlong ptr, jfloatArray mvpMatrix ) {
177- auto * model = (JniUserModel*) ptr;
175+ JNIEXPORT void JNICALL Java_dev_eatgrapes_live2d_CubismUserModel_drawNative (JNIEnv* env, jclass, jlong ptr, jfloatArray matrix ) {
176+ auto * model = (JniUserModel*)ptr;
178177 auto * renderer = model->GetRenderer <CubismRenderer_OpenGLES2>();
179178 if (renderer) {
180- jfloat* matrix = env->GetFloatArrayElements (mvpMatrix , nullptr );
179+ jfloat* m_ptr = env->GetFloatArrayElements (matrix , nullptr );
181180 CubismMatrix44 m;
182- m.SetMatrix (matrix );
181+ m.SetMatrix (m_ptr );
183182 renderer->SetMvpMatrix (&m);
184183 renderer->DrawModel ();
185- env->ReleaseFloatArrayElements (mvpMatrix, matrix , JNI_ABORT);
184+ env->ReleaseFloatArrayElements (matrix, m_ptr , JNI_ABORT);
186185 }
187186}
188187
0 commit comments