Ship 0.8 fog/freistellen and fix Windows CI for friends
Some checks are pending
Windows Release / windows-x86_64 (push) Waiting to run
Some checks are pending
Windows Release / windows-x86_64 (push) Waiting to run
Publish the portable zip to public Forgejo from the private GitHub builder, and force Ninja so MSVC 195 deps build without CMake 4.2.
This commit is contained in:
parent
97b136de3b
commit
1c1d63f376
46 changed files with 1748 additions and 156 deletions
|
|
@ -35,6 +35,8 @@ struct DrawingProgramLayerListItemMetaInfo {
|
|||
std::string name;
|
||||
float alpha = 1.0f;
|
||||
SerializedBlendMode blendMode = SerializedBlendMode::BLEND_SRC_OVER;
|
||||
bool playerLocked = false;
|
||||
bool fogLayer = false;
|
||||
bool operator==(const DrawingProgramLayerListItemMetaInfo&) const = default;
|
||||
};
|
||||
|
||||
|
|
@ -80,12 +82,22 @@ class DrawingProgramLayerListItem {
|
|||
void set_blend_mode(DrawingProgramLayerManager& layerMan, SerializedBlendMode newBlendMode) const;
|
||||
SerializedBlendMode get_blend_mode() const;
|
||||
|
||||
void set_player_locked(DrawingProgramLayerManager& layerMan, bool locked) const;
|
||||
bool get_player_locked() const;
|
||||
void set_fog_layer(DrawingProgramLayerManager& layerMan, bool fog) const;
|
||||
bool is_fog_layer() const;
|
||||
// Fog layers are always treated as player-locked for edit checks.
|
||||
bool is_player_edit_blocked() const;
|
||||
|
||||
void set_metainfo(DrawingProgramLayerManager& layerMan, const DrawingProgramLayerListItemMetaInfo& metaInfo);
|
||||
DrawingProgramLayerListItemMetaInfo get_metainfo() const;
|
||||
|
||||
uint32_t get_component_count() const;
|
||||
|
||||
void erase_invalid_components();
|
||||
|
||||
// Host→client join projection: same shape as write_constructor_func, omits hidden comps.
|
||||
void write_stripped_constructor(cereal::PortableBinaryOutputArchive& a, const std::unordered_set<NetworkingObjects::NetObjID>& hiddenComponentIds) const;
|
||||
private:
|
||||
static void write_constructor_func(const NetworkingObjects::NetObjTemporaryPtr<DrawingProgramLayerListItem>& o, cereal::PortableBinaryOutputArchive& a);
|
||||
static void read_constructor_func(const NetworkingObjects::NetObjTemporaryPtr<DrawingProgramLayerListItem>& o, cereal::PortableBinaryInputArchive& a, const std::shared_ptr<NetServer::ClientData>& c);
|
||||
|
|
@ -101,8 +113,10 @@ class DrawingProgramLayerListItem {
|
|||
float alpha = 1.0f;
|
||||
bool visible = true;
|
||||
SerializedBlendMode blendMode = SerializedBlendMode::BLEND_SRC_OVER;
|
||||
bool playerLocked = false;
|
||||
bool fogLayer = false;
|
||||
template <typename Archive> void serialize(Archive& a) {
|
||||
a(alpha, visible, blendMode);
|
||||
a(alpha, visible, blendMode, playerLocked, fogLayer);
|
||||
}
|
||||
};
|
||||
NetworkingObjects::NetObjOwnerPtr<NameData> nameData;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue