Elevator now opens
This commit is contained in:
parent
41b81594f2
commit
54f7ab8002
Binary file not shown.
Binary file not shown.
|
@ -42,10 +42,9 @@ ExtendedMesh::ExtendedMesh(const ExtendedMesh& other):
|
|||
mPointInverseTransform(other.mPointInverseTransform),
|
||||
mNormalInverseTransform(other.mNormalInverseTransform),
|
||||
mVertexBones(other.mVertexBones),
|
||||
mFacesForBone(other.mFacesForBone),
|
||||
bbMin(other.bbMin),
|
||||
bbMax(other.bbMax) {
|
||||
for (auto& it : mFacesForBone) {
|
||||
for (auto& it : other.mFacesForBone) {
|
||||
std::vector<aiFace*> faces;
|
||||
|
||||
for (auto face : it.second) {
|
||||
|
@ -55,7 +54,7 @@ ExtendedMesh::ExtendedMesh(const ExtendedMesh& other):
|
|||
mFacesForBone[it.first] = faces;
|
||||
}
|
||||
|
||||
for (auto& it : mBoneSpanningFaces) {
|
||||
for (auto& it : other.mBoneSpanningFaces) {
|
||||
std::vector<aiFace*> faces;
|
||||
|
||||
for (auto face : it.second) {
|
||||
|
|
|
@ -22,10 +22,16 @@ struct ColliderTypeData gElevatorColliderType = {
|
|||
|
||||
int gElevatorCollisionLayers = COLLISION_LAYERS_STATIC | COLLISION_LAYERS_TANGIBLE;
|
||||
|
||||
struct Vector3 gOpenPosition = {
|
||||
-0.275674,
|
||||
0.0f,
|
||||
-0.653916,
|
||||
struct Vector3 gClosedPosition[] = {
|
||||
[PROPS_ROUND_ELEVATOR_ELEVATOR_BONE] = {0, 0, 0},
|
||||
[PROPS_ROUND_ELEVATOR_DOORLEFT_BONE] = {1.46439, 0, 0},
|
||||
[PROPS_ROUND_ELEVATOR_DOORRIGHT_BONE] = {1.46439, 0, 0},
|
||||
};
|
||||
|
||||
struct Vector3 gOpenPosition[] = {
|
||||
[PROPS_ROUND_ELEVATOR_ELEVATOR_BONE] = {0, 0, 0},
|
||||
[PROPS_ROUND_ELEVATOR_DOORLEFT_BONE] = {-0.275674 * SCENE_SCALE, 0.653916 * SCENE_SCALE, 0.0f},
|
||||
[PROPS_ROUND_ELEVATOR_DOORRIGHT_BONE] = {-0.275674 * SCENE_SCALE, -0.653916 * SCENE_SCALE, 0.0f},
|
||||
};
|
||||
|
||||
void elevatorRender(void* data, struct RenderScene* renderScene) {
|
||||
|
@ -36,6 +42,12 @@ void elevatorRender(void* data, struct RenderScene* renderScene) {
|
|||
Mtx* armature = renderStateRequestMatrices(renderScene->renderState, PROPS_ROUND_ELEVATOR_DEFAULT_BONES_COUNT);
|
||||
|
||||
for (int i = 0; i < PROPS_ROUND_ELEVATOR_DEFAULT_BONES_COUNT; ++i) {
|
||||
if (elevator->flags & ElevatorFlagsIsOpen) {
|
||||
props_round_elevator_default_bones[i].position = gOpenPosition[i];
|
||||
} else {
|
||||
props_round_elevator_default_bones[i].position = gClosedPosition[i];
|
||||
}
|
||||
|
||||
transformToMatrixL(&props_round_elevator_default_bones[i], &armature[i], 1.0f);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue