Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/game/StarSkyRenderData.hpp
blob: 8d47282b953a92997fadb568e89fb00b79d9c664 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#pragma once

#include "StarSkyParameters.hpp"

namespace Star {

struct SkyRenderData {
  Json settings;
  SkyParameters skyParameters;

  SkyType type;
  float dayLevel;
  float skyAlpha;

  float dayLength;
  float timeOfDay;
  double epochTime;

  Vec2F starOffset;
  float starRotation;
  Vec2F worldOffset;
  float worldRotation;
  float orbitAngle;

  size_t starFrames;
  StringList starList;
  StringList hyperStarList;

  Color environmentLight;
  Color mainSkyColor;
  Color topRectColor;
  Color bottomRectColor;
  Color flashColor;

  StringList const& starTypes() const;

  // Star and orbiter positions here are in view space, from (0, 0) to viewSize

  List<SkyOrbiter> backOrbiters(Vec2F const& viewSize) const;
  SkyWorldHorizon worldHorizon(Vec2F const& viewSize) const;
  List<SkyOrbiter> frontOrbiters(Vec2F const& viewSize) const;
};

DataStream& operator>>(DataStream& ds, SkyRenderData& skyRenderData);
DataStream& operator<<(DataStream& ds, SkyRenderData const& skyRenderData);
}