rodecomp/Source/Contents/Ground/GroundWaterState.h
ragnarok-clanker a47d20f8be Reconstruct readable C++ and organize cohesive source subsystems
Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
2026-10-25 07:42:41 +00:00

47 lines
997 B
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_GROUND_GROUNDWATERSTATE_H
#define RAGNAROK_SOURCE_CONTENTS_GROUND_GROUNDWATERSTATE_H
#include <cstdint>
#include <vector>
class CGndRes;
class CTexture;
class TextureCache;
struct GroundWaterSurface {
float level;
int type;
float height;
float speed;
float pitch;
int animation;
int frame;
float phase;
CTexture* texture;
};
struct GroundWaterState {
GroundWaterState();
void Set(float level, int type, int animation, int pitch, int phase, float height);
bool Import(const CGndRes& resource, TextureCache& textures);
void Update(TextureCache& textures);
float Level(int width, int height, int column, int row) const;
float level;
int animation;
int pitch;
int phase;
int type;
float height;
int columns;
int rows;
std::vector<float> levels;
std::vector<GroundWaterSurface> surfaces;
bool partitioned;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(GroundWaterSurface) == 36);
#endif
#endif