Batch #9414 by secret: 0 byte-identical, 1 confirmed by peer review. - fn_21317 CGameMode::NewActor: logic confirmed by peer review Peer-reviewed-by: ragnarok-clanker, gordaoprogramas, Montyla Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
74 lines
2.3 KiB
C++
74 lines
2.3 KiB
C++
#ifndef RAGNAROK_SOURCE_CONTENTS_ACTORS_GRANNYGAMEACTOR_H
|
|
#define RAGNAROK_SOURCE_CONTENTS_ACTORS_GRANNYGAMEACTOR_H
|
|
|
|
#include "Contents/Actors/GameActor.h"
|
|
#include "Resource/Models/GrannyModelResource.h"
|
|
#include "Utility/Math/AffineMatrix.h"
|
|
#include "Utility/Math/Vector3d.h"
|
|
|
|
#include <cstdint>
|
|
#include <vector>
|
|
|
|
class CTexture;
|
|
struct RenderCommand;
|
|
struct RenderVertex;
|
|
|
|
struct GrannyActorLight {
|
|
/* 0000 */ vector3d direction;
|
|
/* 000C */ int intensity;
|
|
/* 0010 */ int red;
|
|
/* 0014 */ int green;
|
|
/* 0018 */ int blue;
|
|
};
|
|
|
|
class C3dGrannyGameActor : public CGameActor {
|
|
public:
|
|
explicit C3dGrannyGameActor(const char* name);
|
|
void SetAction(unsigned animation, int motion, int repeat) override;
|
|
void Slot08() override;
|
|
void Slot36() override;
|
|
int Slot37() override;
|
|
void Unused6860(int value);
|
|
void Unused7950(int value);
|
|
void SetModel(int job, int value, int unused);
|
|
void Render(int argument) override;
|
|
void RenderLit(int argument, const GrannyActorLight& light);
|
|
void RenderShadowed(int argument);
|
|
void SpawnCorpseActor();
|
|
bool OnProcess() override;
|
|
|
|
/* 0410 */ CTexture* emblemTexture;
|
|
/* 0414 */ C3dGrannyModelRes* model;
|
|
/* 0418 */ granny_model_instance* instance;
|
|
/* 041C */ RenderCommand* commands[30];
|
|
/* 0494 */ RenderVertex* vertices[30];
|
|
/* 050C */ granny_system_clock clock;
|
|
/* 051C */ granny_system_clock lastClock;
|
|
/* 052C */ float unknown_052C;
|
|
/* 0530 */ unsigned char unknown_0530[0x08];
|
|
/* 0538 */ float angle;
|
|
/* 053C */ unsigned char alpha;
|
|
/* 053D */ unsigned char unknown_053D[0x03];
|
|
/* 0540 */ unsigned brightness;
|
|
/* 0544 */ int motion;
|
|
/* 0548 */ unsigned char unknown_0548[0x04];
|
|
/* 054C */ char name[0x104];
|
|
/* 0650 */ int unknown_0650;
|
|
/* 0654 */ int unknown_0654;
|
|
/* 0658 */ granny_control* controls[20];
|
|
/* 06A8 */ unsigned char unknown_06A8;
|
|
/* 06A9 */ unsigned char unknown_06A9[0x03];
|
|
/* 06AC */ CTexture* meshTextures[30];
|
|
/* 0724 */ std::uint16_t* meshIndices[30];
|
|
/* 079C */ int meshTriangleCounts[30];
|
|
/* 0814 */ matrix meshTransforms[30];
|
|
/* 0DB4 */ unsigned char unknown_0DB4[0x04];
|
|
/* 0DB8 */ CTexture* texture;
|
|
/* 0DBC */ std::vector<vector3d> unknown_0DBC;
|
|
};
|
|
|
|
#if defined(_WIN32) && !defined(_WIN64)
|
|
static_assert(sizeof(C3dGrannyGameActor) == 0xDC8);
|
|
#endif
|
|
|
|
#endif
|