SourcePP
Several modern C++20 libraries for sanely parsing Valve's formats.
Toggle main menu visibility
Loading...
Searching...
No Matches
PSFrames.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <filesystem>
4
#include <span>
5
#include <vector>
6
7
#include <
vtfpp/ImageFormats.h
>
8
9
namespace
vtfpp
{
10
12
class
PSFrames
{
13
protected
:
14
struct
Frame
{
15
//uint16_t palettePixelCount;
16
//uint16_t palettePixelBits;
17
uint16_t
width
;
18
uint16_t
height
;
19
//uint8_t paletteIndexBits;
20
//uint16_t decodedPixelBits;
21
22
std::span<std::byte>
paletteData
;
23
std::span<std::byte>
imageData
;
24
};
25
26
public
:
27
explicit
PSFrames
(std::vector<std::byte>&& psFramesData);
28
29
explicit
PSFrames
(std::span<const std::byte> psFramesData);
30
31
explicit
PSFrames
(
const
std::filesystem::path& psFramesPath);
32
33
[[nodiscard]]
explicit
operator
bool()
const
;
34
35
[[nodiscard]] uint32_t
getFrameCount
()
const
;
36
37
[[nodiscard]] uint32_t
getFPS
()
const
;
38
39
[[nodiscard]] uint16_t
getWidth
(uint32_t frame)
const
;
40
41
[[nodiscard]] uint16_t
getHeight
(uint32_t frame)
const
;
42
43
[[nodiscard]] std::span<const std::byte>
getPaletteDataRaw
(uint32_t frame)
const
;
44
45
[[nodiscard]] std::span<std::byte>
getPaletteDataRaw
(uint32_t frame);
46
47
[[nodiscard]] std::vector<std::byte>
getPaletteDataAs
(
ImageFormat
newFormat, uint32_t frame)
const
;
48
49
[[nodiscard]] std::span<const std::byte>
getImageDataRaw
(uint32_t frame)
const
;
50
51
[[nodiscard]] std::span<std::byte>
getImageDataRaw
(uint32_t frame);
52
53
[[nodiscard]] std::vector<std::byte>
getImageDataAs
(
ImageFormat
newFormat, uint32_t frame)
const
;
54
55
[[nodiscard]] std::vector<std::byte>
getImageDataAsBGR888
(uint32_t frame)
const
;
56
57
protected
:
58
bool
opened
;
59
60
uint32_t
frameCount
= 0;
61
uint32_t
fps
= 0;
62
63
std::vector<std::byte>
data
;
64
std::vector<Frame>
frames
;
65
};
66
67
}
// namespace vtfpp
ImageFormats.h
vtfpp::PSFrames::getFPS
uint32_t getFPS() const
Definition
PSFrames.cpp:63
vtfpp::PSFrames::getFrameCount
uint32_t getFrameCount() const
Definition
PSFrames.cpp:59
vtfpp::PSFrames::getImageDataRaw
std::span< const std::byte > getImageDataRaw(uint32_t frame) const
Definition
PSFrames.cpp:87
vtfpp::PSFrames::data
std::vector< std::byte > data
Definition
PSFrames.h:63
vtfpp::PSFrames::fps
uint32_t fps
Definition
PSFrames.h:61
vtfpp::PSFrames::getHeight
uint16_t getHeight(uint32_t frame) const
Definition
PSFrames.cpp:71
vtfpp::PSFrames::getPaletteDataRaw
std::span< const std::byte > getPaletteDataRaw(uint32_t frame) const
Definition
PSFrames.cpp:75
vtfpp::PSFrames::frames
std::vector< Frame > frames
Definition
PSFrames.h:64
vtfpp::PSFrames::getImageDataAsBGR888
std::vector< std::byte > getImageDataAsBGR888(uint32_t frame) const
Definition
PSFrames.cpp:100
vtfpp::PSFrames::getPaletteDataAs
std::vector< std::byte > getPaletteDataAs(ImageFormat newFormat, uint32_t frame) const
Definition
PSFrames.cpp:83
vtfpp::PSFrames::getWidth
uint16_t getWidth(uint32_t frame) const
Definition
PSFrames.cpp:67
vtfpp::PSFrames::getImageDataAs
std::vector< std::byte > getImageDataAs(ImageFormat newFormat, uint32_t frame) const
Definition
PSFrames.cpp:95
vtfpp::PSFrames::opened
bool opened
Definition
PSFrames.h:58
vtfpp::PSFrames::PSFrames
PSFrames(std::vector< std::byte > &&psFramesData)
Definition
PSFrames.cpp:13
vtfpp::PSFrames::frameCount
uint32_t frameCount
Definition
PSFrames.h:60
vtfpp
Definition
DistanceMapping.h:8
vtfpp::ImageFormat
ImageFormat
Definition
ImageFormats.h:13
vtfpp::PSFrames::Frame
Definition
PSFrames.h:14
vtfpp::PSFrames::Frame::width
uint16_t width
Definition
PSFrames.h:17
vtfpp::PSFrames::Frame::paletteData
std::span< std::byte > paletteData
Definition
PSFrames.h:22
vtfpp::PSFrames::Frame::height
uint16_t height
Definition
PSFrames.h:18
vtfpp::PSFrames::Frame::imageData
std::span< std::byte > imageData
Definition
PSFrames.h:23
include
vtfpp
PSFrames.h
Generated on
for SourcePP by
1.17.0