]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - mvm_cmds.c
Configure all of the CL_MeshEntities* meshes the same, the material flags decide...
[xonotic/darkplaces.git] / mvm_cmds.c
index 12fcecdfd1e63de0b9e3822d009bcaa222c8a7dd..ace22bfa74c2ac5009dcde180ea00b2adb0e7dea 100644 (file)
@@ -13,8 +13,9 @@
 const char *vm_m_extensions =
 "BX_WAL_SUPPORT "
 "DP_CINEMATIC_DPV "
-"DP_CSQC_BINDMAPS "
+"DP_COVERAGE "
 "DP_CRYPTO "
+"DP_CSQC_BINDMAPS "
 "DP_GFX_FONTS "
 "DP_GFX_FONTS_FREETYPE "
 "DP_UTF8 "
@@ -317,9 +318,9 @@ static void VM_M_setserverlistmaskstring(prvm_prog_t *prog)
        str = PRVM_G_STRING( OFS_PARM2 );
 
        masknr = (int)PRVM_G_FLOAT( OFS_PARM0 );
-       if( masknr >= 0 && masknr <= SERVERLIST_ANDMASKCOUNT )
+       if( masknr >= 0 && masknr < SERVERLIST_ANDMASKCOUNT )
                mask = &serverlist_andmasks[masknr];
-       else if( masknr >= 512 && masknr - 512 <= SERVERLIST_ORMASKCOUNT )
+       else if( masknr >= 512 && masknr - 512 < SERVERLIST_ORMASKCOUNT )
                mask = &serverlist_ormasks[masknr - 512 ];
        else
        {
@@ -379,9 +380,9 @@ static void VM_M_setserverlistmasknumber(prvm_prog_t *prog)
        VM_SAFEPARMCOUNT( 4, VM_M_setserverlistmasknumber );
 
        masknr = (int)PRVM_G_FLOAT( OFS_PARM0 );
-       if( masknr >= 0 && masknr <= SERVERLIST_ANDMASKCOUNT )
+       if( masknr >= 0 && masknr < SERVERLIST_ANDMASKCOUNT )
                mask = &serverlist_andmasks[masknr];
-       else if( masknr >= 512 && masknr - 512 <= SERVERLIST_ORMASKCOUNT )
+       else if( masknr >= 512 && masknr - 512 < SERVERLIST_ORMASKCOUNT )
                mask = &serverlist_ormasks[masknr - 512 ];
        else
        {
@@ -808,7 +809,7 @@ static void VM_M_crypto_getkeyfp(prvm_prog_t *prog)
        s = PRVM_G_STRING( OFS_PARM0 );
        VM_CheckEmptyString( prog, s );
 
-       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, keyfp, sizeof(keyfp), NULL, 0, NULL))
+       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, keyfp, sizeof(keyfp), NULL, 0, NULL, NULL))
                PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString( prog, keyfp );
        else
                PRVM_G_INT( OFS_RETURN ) = OFS_NULL;
@@ -824,11 +825,27 @@ static void VM_M_crypto_getidfp(prvm_prog_t *prog)
        s = PRVM_G_STRING( OFS_PARM0 );
        VM_CheckEmptyString( prog, s );
 
-       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, idfp, sizeof(idfp), NULL))
+       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, idfp, sizeof(idfp), NULL, NULL))
                PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString( prog, idfp );
        else
                PRVM_G_INT( OFS_RETURN ) = OFS_NULL;
 }
+static void VM_M_crypto_getidstatus(prvm_prog_t *prog)
+{
+       lhnetaddress_t addr;
+       const char *s;
+       qboolean issigned;
+
+       VM_SAFEPARMCOUNT(1,VM_M_crypto_getidstatus);
+
+       s = PRVM_G_STRING( OFS_PARM0 );
+       VM_CheckEmptyString( prog, s );
+
+       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, NULL, 0, NULL, &issigned))
+               PRVM_G_FLOAT( OFS_RETURN ) = issigned ? 2 : 1;
+       else
+               PRVM_G_FLOAT( OFS_RETURN ) = 0;
+}
 static void VM_M_crypto_getencryptlevel(prvm_prog_t *prog)
 {
        lhnetaddress_t addr;
@@ -841,7 +858,7 @@ static void VM_M_crypto_getencryptlevel(prvm_prog_t *prog)
        s = PRVM_G_STRING( OFS_PARM0 );
        VM_CheckEmptyString( prog, s );
 
-       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, NULL, 0, &aeslevel))
+       if(LHNETADDRESS_FromString(&addr, s, 26000) && Crypto_RetrieveHostKey(&addr, NULL, NULL, 0, NULL, 0, &aeslevel, NULL))
                PRVM_G_INT( OFS_RETURN ) = PRVM_SetTempString(prog, aeslevel ? va(vabuf, sizeof(vabuf), "%d AES128", aeslevel) : "0");
        else
                PRVM_G_INT( OFS_RETURN ) = OFS_NULL;
@@ -1583,6 +1600,8 @@ NULL,                                                     // #638
 VM_digest_hex,                                         // #639
 NULL,                                                  // #640
 VM_M_crypto_getmyidstatus,                             // #641 float(float i) crypto_getmyidstatus
+VM_coverage,                                           // #642
+VM_M_crypto_getidstatus,                               // #643 float(string addr) crypto_getidstatus
 NULL
 };