]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Merge remote branch 'refs/remotes/origin/divVerent/tag_seeker'
authorRudolf Polzer <divverent@alientrap.org>
Sun, 9 May 2010 18:01:03 +0000 (20:01 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Sun, 9 May 2010 18:01:03 +0000 (20:01 +0200)
effects-ultimate.cfg
qcsrc/client/View.qc
qcsrc/client/gibs.qc
qcsrc/client/hook.qc
qcsrc/client/target_music.qc
qcsrc/menu/xonotic/dialog_settings_effects.c
qcsrc/server/cl_client.qc
qcsrc/warpzonelib/client.qc
qcsrc/warpzonelib/client.qh

index cfce0c470bb6c6a53bc4467f54cf6193fa8b1dc6..123600875ac7ab55c041f99a5be68a93192ee926 100644 (file)
@@ -14,7 +14,7 @@ r_drawparticles_drawdistance 2000
 r_glsl_deluxemapping 1
 r_glsl_offsetmapping 1
 r_glsl_offsetmapping_reliefmapping 1
-r_hdr 1
+r_hdr 2
 r_motionblur 0.5
 r_picmipworld 0
 r_shadow_gloss 1
index 0802adef8711f8417811dd418e319f3cba848dce..0557db1160be5c4a8d0e7d4ae9339e9b72837aae 100644 (file)
@@ -367,17 +367,19 @@ void CSQC_UpdateView(float w, float h)
        vo = '0 0 1' * getstati(STAT_VIEWHEIGHT);
 
        warpzone_fixview_origin = pmove_org + vo;
-       warpzone_fixview_angles = input_angles;
+       warpzone_fixview_cl_viewangles = input_angles;
+       warpzone_fixview_angles = view_angles;
        WarpZone_FixView();
        pmove_org = warpzone_fixview_origin - vo;
-       input_angles = warpzone_fixview_angles;
+       input_angles = warpzone_fixview_cl_viewangles;
+       view_angles = warpzone_fixview_angles;
 
        if(cvar("cl_lockview"))
        {
-               pmove_org = warpzone_fixview_origin = freeze_pmove_org;
-               input_angles = freeze_input_angles;
+               pmove_org = freeze_pmove_org;
+               input_angles = view_angles = freeze_input_angles;
                R_SetView(VF_ORIGIN, pmove_org + vo);
-               R_SetView(VF_ANGLES, input_angles);
+               R_SetView(VF_ANGLES, view_angles);
                //R_SetView(VF_CL_VIEWANGLES, input_angles);
        }
        freeze_pmove_org = pmove_org;
index 67951fc3c3a021baf23b49a65a48fed92ef29ba2..a92567e61928f90ff8f4c74916430234f4768f3d 100644 (file)
@@ -160,7 +160,7 @@ void Ent_GibSplash(float isNew)
                        gentle_prefix = "";
                else if(cvar("cl_gentle") == 3) 
                        gentle_prefix = "happy_";
-               else
+               else if(cvar("cl_gentle"))
                        gentle_prefix = "morphed_";
        }
        else if(cvar("cl_particlegibs"))
index 101ab9f019ad561e836b832a69f6941d2edac2b1..dbd8ab2ad89fd7429a8b8349ccd54634e8aacd16 100644 (file)
@@ -16,6 +16,13 @@ void Draw_CylindricLine(vector from, vector to, float thickness, string texture,
        // direction is perpendicular to the view normal, and perpendicular to the axis
        thickdir = normalize(cross(axis, view_origin - from));
 
+/*
+       print("from ", vtos(from), "\n");
+       print("to ", vtos(to), "\n");
+       print("org ", vtos(view_origin), "\n");
+       print("dir ", vtos(thickdir), "\n");
+*/
+
        A = from - thickdir * (thickness / 2);
        B = from + thickdir * (thickness / 2);
        C = to + thickdir * (thickness / 2);
index 4ef9a37aeb47f80e518c899a14af583e2550dfc3..a7a46d80ad5788c19e58e649c7d25c0a147b1376 100644 (file)
@@ -4,12 +4,13 @@ entity music_target;
 entity music_trigger;
 
 .float state;
+.float lastvol;
 
 void TargetMusic_Advance()
 {
        // run AFTER all the thinks!
        entity best, e;
-       float s0;
+       float vol, vol0;
        best = music_default;
        if(music_target && time < music_target.lifetime)
                best = music_target;
@@ -17,10 +18,10 @@ void TargetMusic_Advance()
                best = music_trigger;
        for(e = world; (e = findfloat(e, enttype, ENT_CLIENT_TRIGGER_MUSIC)); ) if(e.noise)
        {
-               s0 = e.state;
+               vol0 = e.lastvol;
                if(getsoundtime(e, CHAN_VOICE) < 0)
                {
-                       s0 = -1;
+                       vol0 = -1;
                }
                if(e == best)
                {
@@ -38,12 +39,14 @@ void TargetMusic_Advance()
                        else
                                e.state = 0;
                }
-               if(e.state != s0)
+               vol = e.state * e.volume * cvar("bgmvolume");
+               if(vol != vol0)
                {
-                       if(s0 < 0)
-                               sound(e, CHAN_VOICE, e.noise, e.volume * e.state * cvar("bgmvolume"), ATTN_NONE); // restart
+                       if(vol0 < 0)
+                               sound(e, CHAN_VOICE, e.noise, vol, ATTN_NONE); // restart
                        else
-                               sound(e, CHAN_VOICE, "", e.volume * e.state * cvar("bgmvolume"), ATTN_NONE);
+                               sound(e, CHAN_VOICE, "", vol, ATTN_NONE);
+                       e.lastvol = vol;
                }
        }
        music_trigger = world;
@@ -52,7 +55,7 @@ void TargetMusic_Advance()
 void Net_TargetMusic()
 {
        float vol, fai, fao, tim, id;
-       string noi, s;
+       string noi;
        entity e;
 
        id = ReadShort();
@@ -71,13 +74,13 @@ void Net_TargetMusic()
        {
                e = spawn();
                e.enttype = ENT_CLIENT_TRIGGER_MUSIC;
+               e.count = id;
        }
-       s = e.noise;
-       if(e.noise)
-               strunzone(e.noise);
-       e.noise = strzone(noi);
-       if(e.noise != s)
+       if(e.noise != noi)
        {
+               if(e.noise)
+                       strunzone(e.noise);
+               e.noise = strzone(noi);
                precache_sound(e.noise);
                sound(e, CHAN_VOICE, e.noise, 0, ATTN_NONE);
                if(getsoundtime(e, CHAN_VOICE) < 0)
index bd2c6dd886b40fd9cde6d5e2234486c187ef8736..1184d2967f3537b8a6dde74fe4fcc1bac1422a50 100644 (file)
@@ -158,7 +158,7 @@ void fillXonoticEffectsSettingsTab(entity me)
        me.TR(me);
                me.TD(me, 1, 1, e = makeXonoticCheckBox(0, "r_bloom", "Bloom"));
                        setDependent(e, "r_hdr", 0, 0);
-               me.TD(me, 1, 2, e = makeXonoticCheckBox(0, "r_hdr", "High Dynamic Range (HDR)"));
+               me.TD(me, 1, 2, e = makeXonoticCheckBoxEx(2, 0, "r_hdr", "High Dynamic Range (HDR)"));
        
        me.TR(me);
                s = makeXonoticSlider(0.1, 1, 0.1, "r_motionblur");
index 0ec16a9a3db6de3c40590be7c3a179e62d798e12..c4b8bb600ab8faa86251f23ac5a743d05f4759c7 100644 (file)
@@ -1059,7 +1059,6 @@ float ClientInit_SendEntity(entity to, float sf)
        WriteCoord(MSG_ENTITY, hook_shotorigin_x);
        WriteCoord(MSG_ENTITY, hook_shotorigin_y);
        WriteCoord(MSG_ENTITY, hook_shotorigin_z);
-
        if(sv_foginterval && world.fog != "")
                WriteString(MSG_ENTITY, world.fog);
        else
@@ -1100,10 +1099,11 @@ void ClientInit_Spawn()
 {
        entity o;
        entity e;
+       e = spawn();
        e.classname = "clientinit";
        e.think = ClientInit_CheckUpdate;
-       e.nextthink = time;
        Net_LinkEntity(e, FALSE, 0, ClientInit_SendEntity);
+
        o = self;
        self = e;
        ClientInit_CheckUpdate();
index c16fc898b0d09232c049bb25a31babf4ffca811a..773e90d5ecd655752f4fa02ca10ac2e36f951361 100644 (file)
@@ -112,22 +112,33 @@ void WarpZone_Outside()
 float warpzone_saved;
 vector warpzone_saved_origin;
 vector warpzone_saved_angles;
+vector warpzone_saved_cl_viewangles;
 #ifndef KEEP_ROLL
 var float autocvar_cl_rollkillspeed = 10;
 #endif
 void WarpZone_FixView()
 {
-       float pd;
+       float pd, f;
        entity e;
        warpzone_saved = 0;
        warpzone_saved_origin = warpzone_fixview_origin;
        warpzone_saved_angles = warpzone_fixview_angles;
+       warpzone_saved_cl_viewangles = warpzone_fixview_cl_viewangles;
 
 #ifndef KEEP_ROLL
-       if(autocvar_cl_rollkillspeed)
-               R_SetView(VF_CL_VIEWANGLES_Z, input_angles_z * max(0, (1 - frametime * autocvar_cl_rollkillspeed)));
-       else
-               R_SetView(VF_CL_VIEWANGLES_Z, 0);
+       if(warpzone_fixview_angles_z != 0 || warpzone_fixview_cl_viewangles_z != 0)
+       {
+               if(autocvar_cl_rollkillspeed)
+                       f = max(0, (1 - frametime * autocvar_cl_rollkillspeed));
+               else
+                       f = 0;
+               warpzone_fixview_angles_z *= f;
+               warpzone_fixview_cl_viewangles_z *= f;
+               warpzone_saved_angles_z *= f; // PERMANENTLY apply that change!
+               warpzone_saved_cl_viewangles_z *= f; // PERMANENTLY apply that change!
+               warpzone_saved = 2;
+               R_SetView(VF_CL_VIEWANGLES_Z, warpzone_fixview_angles_z);
+       }
 #endif
 
        e = WarpZone_Find(warpzone_fixview_origin, warpzone_fixview_origin);
@@ -136,6 +147,7 @@ void WarpZone_FixView()
                warpzone_saved = 1;
                warpzone_fixview_origin = WarpZone_TransformOrigin(e, warpzone_fixview_origin);
                warpzone_fixview_angles = WarpZone_TransformVAngles(e, warpzone_fixview_angles);
+               warpzone_fixview_cl_viewangles = WarpZone_TransformVAngles(e, warpzone_fixview_cl_viewangles);
                WarpZone_Inside();
        }
        else
@@ -154,10 +166,10 @@ void WarpZone_FixView()
                }
        }
 
-       if(warpzone_saved)
+       if(warpzone_saved == 1)
        {
                R_SetView(VF_ORIGIN, warpzone_fixview_origin);
-               R_SetView(VF_ANGLES, warpzone_fixview_angles);
+               R_SetView(VF_ANGLES, warpzone_fixview_cl_viewangles);
        }
 }
 void WarpZone_UnFixView()
@@ -166,8 +178,10 @@ void WarpZone_UnFixView()
        {
                warpzone_fixview_origin = warpzone_saved_origin;
                warpzone_fixview_angles = warpzone_saved_angles;
+               warpzone_fixview_cl_viewangles = warpzone_saved_cl_viewangles;
                R_SetView(VF_ORIGIN, warpzone_fixview_origin);
                R_SetView(VF_ANGLES, warpzone_fixview_angles);
+               R_SetView(VF_CL_VIEWANGLES, warpzone_fixview_cl_viewangles);
        }
 }
 
index 5ab212a333e938c9e7bcb7c18fe46adba6e71dba..e8f44be136d4effa8c4cf5102554fdab48c77eec 100644 (file)
@@ -3,6 +3,7 @@ void WarpZone_Camera_Read(float bIsNewEntity);
 
 vector warpzone_fixview_origin;
 vector warpzone_fixview_angles;
+vector warpzone_fixview_cl_viewangles;
 void WarpZone_FixView(); // this saves the previous values
 void WarpZone_UnFixView(); // and restores them