]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - clvm_cmds.c
add missing uniform
[xonotic/darkplaces.git] / clvm_cmds.c
index 0b61025e16b405dd46b1ac08c544db295f3e1792..fd4207c6e57a08eb51a9c74939b260ad29c59549 100644 (file)
@@ -790,6 +790,8 @@ void VM_CL_R_AddEntity (void)
 //#303 float(float property, ...) setproperty (EXT_CSQC)
 //#303 float(float property) getproperty
 //#303 vector(float property) getpropertyvec
+//#309 float(float property) getproperty
+//#309 vector(float property) getpropertyvec
 // VorteX: make this function be able to return previously set property if new value is not given
 void VM_CL_R_SetView (void)
 {
@@ -887,6 +889,38 @@ void VM_CL_R_SetView (void)
                case VF_CLEARSCREEN:
                        PRVM_G_FLOAT(OFS_RETURN) = r_refdef.view.isoverlay;
                        break;
+               case VF_FOG_DENSITY:
+                       PRVM_G_FLOAT(OFS_RETURN) = r_refdef.fog_density;
+                       break;
+               case VF_FOG_COLOR:
+                       PRVM_G_VECTOR(OFS_RETURN)[0] = r_refdef.fog_red;
+                       PRVM_G_VECTOR(OFS_RETURN)[1] = r_refdef.fog_green;
+                       PRVM_G_VECTOR(OFS_RETURN)[2] = r_refdef.fog_blue;
+                       break;
+               case VF_FOG_COLOR_R:
+                       PRVM_G_VECTOR(OFS_RETURN)[0] = r_refdef.fog_red;
+                       break;
+               case VF_FOG_COLOR_G:
+                       PRVM_G_VECTOR(OFS_RETURN)[1] = r_refdef.fog_green;
+                       break;
+               case VF_FOG_COLOR_B:
+                       PRVM_G_VECTOR(OFS_RETURN)[2] = r_refdef.fog_blue;
+                       break;
+               case VF_FOG_ALPHA:
+                       PRVM_G_FLOAT(OFS_RETURN) = r_refdef.fog_alpha;
+                       break;
+               case VF_FOG_START:
+                       PRVM_G_FLOAT(OFS_RETURN) = r_refdef.fog_start;
+                       break;
+               case VF_FOG_END:
+                       PRVM_G_FLOAT(OFS_RETURN) = r_refdef.fog_end;
+                       break;
+               case VF_FOG_HEIGHT:
+                       PRVM_G_FLOAT(OFS_RETURN) = r_refdef.fog_height;
+                       break;
+               case VF_FOG_FADEDEPTH:
+                       PRVM_G_FLOAT(OFS_RETURN) = r_refdef.fog_fadedepth;
+                       break;
                default:
                        PRVM_G_FLOAT(OFS_RETURN) = 0;
                        VM_Warning("VM_CL_R_GetView : unknown parm %i\n", c);
@@ -1002,6 +1036,38 @@ void VM_CL_R_SetView (void)
        case VF_CLEARSCREEN:
                r_refdef.view.isoverlay = !k;
                break;
+       case VF_FOG_DENSITY:
+               r_refdef.fog_density = k;
+               break;
+       case VF_FOG_COLOR:
+               r_refdef.fog_red = f[0];
+               r_refdef.fog_green = f[1];
+               r_refdef.fog_blue = f[2];
+               break;
+       case VF_FOG_COLOR_R:
+               r_refdef.fog_red = k;
+               break;
+       case VF_FOG_COLOR_G:
+               r_refdef.fog_green = k;
+               break;
+       case VF_FOG_COLOR_B:
+               r_refdef.fog_blue = k;
+               break;
+       case VF_FOG_ALPHA:
+               r_refdef.fog_alpha = k;
+               break;
+       case VF_FOG_START:
+               r_refdef.fog_start = k;
+               break;
+       case VF_FOG_END:
+               r_refdef.fog_end = k;
+               break;
+       case VF_FOG_HEIGHT:
+               r_refdef.fog_height = k;
+               break;
+       case VF_FOG_FADEDEPTH:
+               r_refdef.fog_fadedepth = k;
+               break;
        default:
                PRVM_G_FLOAT(OFS_RETURN) = 0;
                VM_Warning("VM_CL_R_SetView : unknown parm %i\n", c);
@@ -1318,7 +1384,7 @@ static void VM_CL_setpause(void)
                cl.csqc_paused = false;
 }
 
-//#343 void(float usecursor) setcursormode (EXT_CSQC)
+//#343 void(float usecursor) setcursormode (DP_CSQC)
 static void VM_CL_setcursormode (void)
 {
        VM_SAFEPARMCOUNT(1, VM_CL_setcursormode);
@@ -1326,7 +1392,7 @@ static void VM_CL_setcursormode (void)
        cl_ignoremousemoves = 2;
 }
 
-//#344 vector() getmousepos (EXT_CSQC)
+//#344 vector() getmousepos (DP_CSQC)
 static void VM_CL_getmousepos(void)
 {
        VM_SAFEPARMCOUNT(0,VM_CL_getmousepos);
@@ -3032,6 +3098,7 @@ void VM_CL_R_RenderScene (void)
        // we need to update any RENDER_VIEWMODEL entities at this point because
        // csqc supplies its own view matrix
        CL_UpdateViewEntities();
+
        // now draw stuff!
        R_RenderView();
 
@@ -4375,7 +4442,7 @@ VM_CL_R_AddDynamicLight,          // #305 void(vector org, float radius, vector lightcol
 VM_CL_R_PolygonBegin,                  // #306 void(string texturename, float flag, float is2d[NYI: , float lines]) R_BeginPolygon
 VM_CL_R_PolygonVertex,                 // #307 void(vector org, vector texcoords, vector rgb, float alpha) R_PolygonVertex
 VM_CL_R_PolygonEnd,                            // #308 void() R_EndPolygon
-NULL /* R_LoadWorldModel in menu VM, should stay unassigned in client*/, // #309
+VM_CL_R_SetView,                               // #309 float(float property) getproperty (EXT_CSQC)
 VM_CL_unproject,                               // #310 vector (vector v) cs_unproject (EXT_CSQC)
 VM_CL_project,                                 // #311 vector (vector v) cs_project (EXT_CSQC)
 NULL,                                                  // #312
@@ -4387,8 +4454,8 @@ VM_precache_pic,                          // #317 string(string name, float trywad) precache_pic (EXT_
 VM_getimagesize,                               // #318 vector(string picname) draw_getimagesize (EXT_CSQC)
 VM_freepic,                                            // #319 void(string name) freepic (EXT_CSQC)
 VM_drawcharacter,                              // #320 float(vector position, float character, vector scale, vector rgb, float alpha, float flag) drawcharacter (EXT_CSQC)
-VM_drawstring,                                 // #321 float(vector position, string text, vector scale, vector rgb, float alpha, float flag) drawstring (EXT_CSQC)
-VM_drawpic,                                            // #322 float(vector position, string pic, vector size, vector rgb, float alpha, float flag) drawpic (EXT_CSQC)
+VM_drawstring,                                 // #321 float(vector position, string text, vector scale, vector rgb, float alpha[, float flag]) drawstring (EXT_CSQC, DP_CSQC)
+VM_drawpic,                                            // #322 float(vector position, string pic, vector size, vector rgb, float alpha[, float flag]) drawpic (EXT_CSQC)
 VM_drawfill,                                   // #323 float(vector position, vector size, vector rgb, float alpha, float flag) drawfill (EXT_CSQC)
 VM_drawsetcliparea,                            // #324 void(float x, float y, float width, float height) drawsetcliparea
 VM_drawresetcliparea,                  // #325 void(void) drawresetcliparea
@@ -4409,8 +4476,8 @@ VM_print,                                         // #339 void(string s, ...) print (EXT_CSQC, DP_SV_PRINT)
 VM_keynumtostring,                             // #340 string(float keynum) keynumtostring (EXT_CSQC)
 VM_stringtokeynum,                             // #341 float(string keyname) stringtokeynum (EXT_CSQC)
 VM_getkeybind,                                 // #342 string(float keynum[, float bindmap]) getkeybind (EXT_CSQC)
-VM_CL_setcursormode,                   // #343 void(float usecursor) setcursormode (EXT_CSQC)
-VM_CL_getmousepos,                             // #344 vector() getmousepos (EXT_CSQC)
+VM_CL_setcursormode,                   // #343 void(float usecursor) setcursormode (DP_CSQC)
+VM_CL_getmousepos,                             // #344 vector() getmousepos (DP_CSQC)
 VM_CL_getinputstate,                   // #345 float(float framenum) getinputstate (EXT_CSQC)
 VM_CL_setsensitivityscale,             // #346 void(float sens) setsensitivityscale (EXT_CSQC)
 VM_CL_runplayerphysics,                        // #347 void() runstandardplayerphysics (EXT_CSQC)