Elevator now opens

This commit is contained in:
James Lambert 2022-06-21 14:55:44 -06:00
parent 41b81594f2
commit 54f7ab8002
4 changed files with 18 additions and 7 deletions

View file

@ -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) {

View file

@ -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);
}