mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-05-13 10:48:59 +00:00
35 lines
1.5 KiB
C++
35 lines
1.5 KiB
C++
#include "Util/NpcEventFlowUtil.h"
|
|
|
|
#include "Library/Base/StringUtil.h"
|
|
#include "Library/Camera/CameraPoser.h"
|
|
#include "Library/Camera/CameraPoserFix.h"
|
|
#include "Library/Camera/CameraPoserFunction.h"
|
|
#include "Library/Camera/CameraTicket.h"
|
|
#include "Library/Camera/CameraUtil.h"
|
|
#include "Library/Event/EventFlowDataHolder.h"
|
|
#include "Library/Event/EventFlowExecutor.h"
|
|
#include "Library/LiveActor/LiveActor.h"
|
|
|
|
namespace rs {
|
|
|
|
void initEventCameraObject(al::EventFlowExecutor* flowExecutor, const al::ActorInitInfo& initInfo,
|
|
const char* name) {
|
|
al::CameraTicket* cameraTicket =
|
|
al::initObjectCamera(flowExecutor->getActor(), initInfo, name, "会話用2点間");
|
|
alCameraFunction::initPriorityDemoTalk(cameraTicket);
|
|
alCameraFunction::validateKeepPreSelfPoseNextCamera(cameraTicket);
|
|
alCameraFunction::validateCameraInterpoleEaseOut(cameraTicket);
|
|
|
|
if (al::isEqualString(cameraTicket->getPoser()->getName(), "固定") ||
|
|
al::isEqualString(cameraTicket->getPoser()->getName(), "完全固定") ||
|
|
al::isEqualString(cameraTicket->getPoser()->getName(), "出入口専用固定")) {
|
|
al::CameraPoserFix* poser = static_cast<al::CameraPoserFix*>(cameraTicket->getPoser());
|
|
poser->setIsCalcNearestAtFromPreAt(true);
|
|
alCameraPoserFunction::invalidateKeepDistanceNextCameraIfNoCollide(poser);
|
|
}
|
|
|
|
flowExecutor->getEventFlowDataHolder()->initCamera(name, cameraTicket);
|
|
}
|
|
|
|
} // namespace rs
|