MCPcopy Create free account
hub / github.com/AbyssEngine/AbyssEngineOld / DC6

Class DC6

src/Abyss/DataTypes/DC6.h:14–44  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12namespace Abyss::DataTypes {
13
14class DC6 {
15 uint32_t _version;
16 uint32_t _flags;
17 uint32_t _encoding;
18 std::array<uint8_t, DC6TerminationSize> _termination{};
19 uint32_t _directions;
20 uint32_t _framesPerDirection;
21 std::vector<uint32_t> _framePointers;
22 std::vector<DC6Frame> _frames{};
23 std::unique_ptr<SDL_Texture, decltype(&SDL_DestroyTexture)> _texture;
24 std::vector<SDL_Rect> _frameRects;
25 Enums::BlendMode _blendMode{};
26
27 public:
28 explicit DC6(std::string_view path);
29 DC6(std::string_view path, const Palette &palette);
30 [[nodiscard]] uint32_t getVersion() const;
31 [[nodiscard]] uint32_t getFlags() const;
32 [[nodiscard]] uint32_t getEncoding() const;
33 [[nodiscard]] std::array<uint8_t, DC6TerminationSize> getTermination() const;
34 [[nodiscard]] uint32_t getDirections() const;
35 [[nodiscard]] uint32_t getFramesPerDirection() const;
36 [[nodiscard]] std::vector<uint32_t> getFramePointers() const;
37 [[nodiscard]] uint32_t getFrameCount() const;
38 void setPalette(const Palette &palette);
39 void draw(uint32_t frameIdx, int x, int y) const;
40 void draw(uint32_t frameIdx, int x, int y, int framesX, int framesY) const;
41 void setBlendMode(Enums::BlendMode blendMode);
42 void getFrameSize(uint32_t frameIdx, int &frameWidth, int &frameHeight) const;
43 void getFrameOffset(uint32_t frameIdx, int &offsetX, int &offsetY) const;
44};
45
46typedef Common::Animation<DC6> DC6Animation;
47

Callers 2

CreditsClass · 0.85
MainMenuClass · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected