]> git.lizzy.rs Git - minetest.git/blobdiff - src/client/clientevent.h
Fix lighting of upright_sprite entities (#12336)
[minetest.git] / src / client / clientevent.h
index e70937a9e96dc0e02778e02185d58c46f5fd8030..17d3aedd6acc30cd5f9b5b1be0091200c110c3c5 100644 (file)
@@ -21,7 +21,13 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include <string>
 #include "irrlichttypes_bloated.h"
-#include "hud.h"
+
+struct ParticleParameters;
+struct ParticleSpawnerParameters;
+struct SkyboxParams;
+struct SunParams;
+struct MoonParams;
+struct StarParams;
 
 enum ClientEventType : u8
 {
@@ -38,11 +44,39 @@ enum ClientEventType : u8
        CE_HUDRM,
        CE_HUDCHANGE,
        CE_SET_SKY,
+       CE_SET_SUN,
+       CE_SET_MOON,
+       CE_SET_STARS,
        CE_OVERRIDE_DAY_NIGHT_RATIO,
        CE_CLOUD_PARAMS,
        CLIENTEVENT_MAX,
 };
 
+struct ClientEventHudAdd
+{
+       u32 server_id;
+       u8 type;
+       v2f pos, scale;
+       std::string name;
+       std::string text, text2;
+       u32 number, item, dir, style;
+       v2f align, offset;
+       v3f world_pos;
+       v2s32 size;
+       s16 z_index;
+};
+
+struct ClientEventHudChange
+{
+       u32 id;
+       HudElementStat stat;
+       v2f v2fdata;
+       std::string sdata;
+       u32 data;
+       v3f v3fdata;
+       v2s32 v2s32data;
+};
+
 struct ClientEvent
 {
        ClientEventType type;
@@ -73,84 +107,24 @@ struct ClientEvent
                } show_formspec;
                // struct{
                //} textures_updated;
+               ParticleParameters *spawn_particle;
                struct
                {
-                       v3f *pos;
-                       v3f *vel;
-                       v3f *acc;
-                       f32 expirationtime;
-                       f32 size;
-                       bool collisiondetection;
-                       bool collision_removal;
-                       bool vertical;
-                       std::string *texture;
-                       struct TileAnimationParams animation;
-                       u8 glow;
-               } spawn_particle;
-               struct
-               {
-                       u16 amount;
-                       f32 spawntime;
-                       v3f *minpos;
-                       v3f *maxpos;
-                       v3f *minvel;
-                       v3f *maxvel;
-                       v3f *minacc;
-                       v3f *maxacc;
-                       f32 minexptime;
-                       f32 maxexptime;
-                       f32 minsize;
-                       f32 maxsize;
-                       bool collisiondetection;
-                       bool collision_removal;
+                       ParticleSpawnerParameters *p;
                        u16 attached_id;
-                       bool vertical;
-                       std::string *texture;
-                       u32 id;
-                       struct TileAnimationParams animation;
-                       u8 glow;
+                       u64 id;
                } add_particlespawner;
                struct
                {
                        u32 id;
                } delete_particlespawner;
-               struct
-               {
-                       u32 id;
-                       u8 type;
-                       v2f *pos;
-                       std::string *name;
-                       v2f *scale;
-                       std::string *text;
-                       u32 number;
-                       u32 item;
-                       u32 dir;
-                       v2f *align;
-                       v2f *offset;
-                       v3f *world_pos;
-                       v2s32 *size;
-               } hudadd;
+               ClientEventHudAdd *hudadd;
                struct
                {
                        u32 id;
                } hudrm;
-               struct
-               {
-                       u32 id;
-                       HudElementStat stat;
-                       v2f *v2fdata;
-                       std::string *sdata;
-                       u32 data;
-                       v3f *v3fdata;
-                       v2s32 *v2s32data;
-               } hudchange;
-               struct
-               {
-                       video::SColor *bgcolor;
-                       std::string *type;
-                       std::vector<std::string> *params;
-                       bool clouds;
-               } set_sky;
+               ClientEventHudChange *hudchange;
+               SkyboxParams *set_sky;
                struct
                {
                        bool do_override;
@@ -166,5 +140,8 @@ struct ClientEvent
                        f32 speed_x;
                        f32 speed_y;
                } cloud_params;
+               SunParams *sun_params;
+               MoonParams *moon_params;
+               StarParams *star_params;
        };
 };