dpvsnprintf(msg,sizeof(msg),fmt,argptr);
va_end(argptr);
- Con_Print(msg);
+ Con_DPrint(msg);
// TODO: either add a cvar/cmd to control the state dumping or replace some of the calls with Con_Printf [9/13/2006 Black]
if(prvm_backtraceforwarnings.integer && recursive != realtime) // NOTE: this compares to the time, just in case if PRVM_PrintState causes a Host_Error and keeps recursive set
int blendindex;
int bonenum;
int numbones = ed->priv.server->skeleton.model->num_bones;
- const float *poses = ed->priv.server->skeleton.model->data_poses;
- const float *framebones;
+ const short *framebones6s;
float lerp;
+ float scale = ed->priv.server->skeleton.model->num_posescale;
matrix4x4_t *relativetransforms = ed->priv.server->skeleton.relativetransforms;
matrix4x4_t matrix;
memset(relativetransforms, 0, numbones * sizeof(matrix4x4_t));
for (blendindex = 0;blendindex < MAX_FRAMEBLENDS && frameblend[blendindex].lerp > 0;blendindex++)
{
lerp = frameblend[blendindex].lerp;
- framebones = poses + 12 * frameblend[blendindex].subframe * numbones;
+ framebones6s = ed->priv.server->skeleton.model->data_poses6s + 6 * frameblend[blendindex].subframe * numbones;
for (bonenum = 0;bonenum < numbones;bonenum++)
{
- Matrix4x4_FromArray12FloatD3D(&matrix, framebones + 12 * bonenum);
+ Matrix4x4_FromBonePose6s(&matrix, scale, framebones6s + 6 * bonenum);
Matrix4x4_Accumulate(&ed->priv.server->skeleton.relativetransforms[bonenum], &matrix, lerp);
}
}
{
char string[VM_STRINGTEMP_LENGTH];
VM_SAFEPARMCOUNTRANGE(1, 8, VM_dprint);
- if (developer.integer)
- {
- VM_VarString(0, string, sizeof(string));
+ VM_VarString(0, string, sizeof(string));
#if 1
- Con_Printf("%s", string);
+ Con_DPrintf("%s", string);
#else
- Con_Printf("%s: %s", PRVM_NAME, string);
+ Con_DPrintf("%s: %s", PRVM_NAME, string);
#endif
- }
}
/*
ed = PRVM_G_EDICT(OFS_PARM0);
if( PRVM_NUM_FOR_EDICT(ed) <= prog->reserved_edicts )
{
- if (developer.integer >= 1)
+ if (developer.integer)
VM_Warning( "VM_remove: tried to remove the null entity or a reserved entity!\n" );
}
else if( ed->priv.required->free )
{
- if (developer.integer >= 1)
+ if (developer.integer)
VM_Warning( "VM_remove: tried to remove an already freed entity!\n" );
}
else
if (prog->openfiles[filenum] == NULL)
{
PRVM_G_FLOAT(OFS_RETURN) = -1;
- if (developer.integer >= 100)
+ if (developer_extra.integer)
VM_Warning("VM_fopen: %s: %s mode %s failed\n", PRVM_NAME, filename, modestring);
}
else
{
PRVM_G_FLOAT(OFS_RETURN) = filenum;
- if (developer.integer >= 100)
- Con_Printf("VM_fopen: %s: %s mode %s opened as #%i\n", PRVM_NAME, filename, modestring, filenum);
+ if (developer_extra.integer)
+ Con_DPrintf("VM_fopen: %s: %s mode %s opened as #%i\n", PRVM_NAME, filename, modestring, filenum);
prog->openfiles_origin[filenum] = PRVM_AllocationOrigin();
}
}
prog->openfiles[filenum] = NULL;
if(prog->openfiles_origin[filenum])
PRVM_Free((char *)prog->openfiles_origin[filenum]);
- if (developer.integer >= 100)
- Con_Printf("VM_fclose: %s: #%i closed\n", PRVM_NAME, filenum);
+ if (developer_extra.integer)
+ Con_DPrintf("VM_fclose: %s: #%i closed\n", PRVM_NAME, filenum);
}
/*
if (c != '\n')
FS_UnGetc(prog->openfiles[filenum], (unsigned char)c);
}
- if (developer.integer >= 100)
- Con_Printf("fgets: %s: %s\n", PRVM_NAME, string);
+ if (developer_extra.integer)
+ Con_DPrintf("fgets: %s: %s\n", PRVM_NAME, string);
if (c >= 0 || end)
PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(string);
}
VM_VarString(1, string, sizeof(string));
if ((stringlength = (int)strlen(string)))
FS_Write(prog->openfiles[filenum], string, stringlength);
- if (developer.integer >= 100)
- Con_Printf("fputs: %s: %s\n", PRVM_NAME, string);
+ if (developer_extra.integer)
+ Con_DPrintf("fputs: %s: %s\n", PRVM_NAME, string);
}
/*
VM_SAFEPARMCOUNT(1, VM_chr);
len = u8_fromchar((Uchar)PRVM_G_FLOAT(OFS_PARM0), tmp, sizeof(tmp));
- if (len < 0)
- len = 0;
tmp[len] = 0;
PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(tmp);
}
}
getdrawfontscale(&sx, &sy);
- DrawQ_String_Font_Scale(pos[0], pos[1], &character, 1, scale[0], scale[1], sx, sy, rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag, NULL, true, getdrawfont());
+ DrawQ_String_Scale(pos[0], pos[1], &character, 1, scale[0], scale[1], sx, sy, rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag, NULL, true, getdrawfont());
PRVM_G_FLOAT(OFS_RETURN) = 1;
}
Con_Printf("VM_drawstring: z value%s from %s discarded\n",(pos[2] && scale[2]) ? "s" : " ",((pos[2] && scale[2]) ? "pos and scale" : (pos[2] ? "pos" : "scale")));
getdrawfontscale(&sx, &sy);
- DrawQ_String_Font_Scale(pos[0], pos[1], string, 0, scale[0], scale[1], sx, sy, rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag, NULL, true, getdrawfont());
+ DrawQ_String_Scale(pos[0], pos[1], string, 0, scale[0], scale[1], sx, sy, rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag, NULL, true, getdrawfont());
//Font_DrawString(pos[0], pos[1], string, 0, scale[0], scale[1], rgb[0], rgb[1], rgb[2], PRVM_G_FLOAT(OFS_PARM4), flag, NULL, true);
PRVM_G_FLOAT(OFS_RETURN) = 1;
}
color = -1;
getdrawfontscale(&sx, &sy);
- DrawQ_String_Font_Scale(pos[0], pos[1], string, 0, scale[0], scale[1], sx, sy, 1, 1, 1, PRVM_G_FLOAT(OFS_PARM3), flag, NULL, false, getdrawfont());
+ DrawQ_String_Scale(pos[0], pos[1], string, 0, scale[0], scale[1], sx, sy, 1, 1, 1, PRVM_G_FLOAT(OFS_PARM3), flag, NULL, false, getdrawfont());
PRVM_G_FLOAT(OFS_RETURN) = 1;
}
/*
string = PRVM_G_STRING(OFS_PARM0);
colors = (int)PRVM_G_FLOAT(OFS_PARM1);
- PRVM_G_FLOAT(OFS_RETURN) = DrawQ_TextWidth_Font_UntilWidth_TrackColors_Size_Scale(string, szv[0], szv[1], sx, sy, &maxlen, NULL, !colors, getdrawfont(), 1000000000) * mult; // 1x1 characters, don't actually draw
+ PRVM_G_FLOAT(OFS_RETURN) = DrawQ_TextWidth_UntilWidth_TrackColors_Scale(string, &maxlen, szv[0], szv[1], sx, sy, NULL, !colors, getdrawfont(), 1000000000) * mult;
/*
if(prog->argc == 3)
{
string = PRVM_G_STRING(OFS_PARM0);
colors = (int)PRVM_G_FLOAT(OFS_PARM1);
- PRVM_G_FLOAT(OFS_RETURN) = DrawQ_TextWidth_Font(string, 0, !colors, getdrawfont()) * mult; // 1x1 characters, don't actually draw
+ PRVM_G_FLOAT(OFS_RETURN) = DrawQ_TextWidth(string, 0, !colors, getdrawfont()) * mult; // 1x1 characters, don't actually draw
*/
}
if((unsigned)index < strlen(s))
{
- ch = u8_getchar(s + index, NULL);
+ if (utf8_enable.integer)
+ ch = u8_getchar_noendptr(s + index);
+ else
+ ch = (unsigned char)s[index];
PRVM_G_FLOAT(OFS_RETURN) = ch;
}
else
size_t len = 0;
VM_SAFEPARMCOUNTRANGE(0, 8, VM_chr2str);
for(i = 0; i < prog->argc && len < sizeof(t)-1; ++i)
- {
- int add = u8_fromchar((Uchar)PRVM_G_FLOAT(OFS_PARM0+i*3), t + len, sizeof(t)-1);
- if(add > 0)
- len += add;
- }
+ len += u8_fromchar((Uchar)PRVM_G_FLOAT(OFS_PARM0+i*3), t + len, sizeof(t)-1);
t[len] = 0;
PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(t);
}
int first;
--cl_net_extresponse_count;
first = (cl_net_extresponse_last + NET_EXTRESPONSE_MAX - cl_net_extresponse_count) % NET_EXTRESPONSE_MAX;
- PRVM_G_INT(OFS_RETURN) = PRVM_SetEngineString(cl_net_extresponse[first]);
+ PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(cl_net_extresponse[first]);
}
}
int first;
--sv_net_extresponse_count;
first = (sv_net_extresponse_last + NET_EXTRESPONSE_MAX - sv_net_extresponse_count) % NET_EXTRESPONSE_MAX;
- PRVM_G_INT(OFS_RETURN) = PRVM_SetEngineString(sv_net_extresponse[first]);
+ PRVM_G_INT(OFS_RETURN) = PRVM_SetTempString(sv_net_extresponse[first]);
}
}
else
width = argpos++;
width = GETARG_FLOAT(width);
+ if(width < 0)
+ {
+ flags |= PRINTF_LEFT;
+ width = -width;
+ }
}
else if(*s >= '0' && *s <= '9')
{
goto finished;
}
s = err;
+ if(width < 0)
+ {
+ flags |= PRINTF_LEFT;
+ width = -width;
+ }
}
- if(width < 0)
- {
- flags |= PRINTF_LEFT;
- width = -width;
- }
+ // otherwise width stays -1
}
if(*s == '.')
*f++ = *s;
*f++ = 0;
- if(width < 0)
+ if(width < 0) // not set
width = 0;
switch(*s)
{
case 'd': case 'i':
+ if(precision < 0) // not set
+ precision = 1;
o += dpsnprintf(o, end - o, formatbuf, width, precision, (isfloat ? (int) GETARG_FLOAT(thisarg) : (int) GETARG_INT(thisarg)));
break;
case 'o': case 'u': case 'x': case 'X':
+ if(precision < 0) // not set
+ precision = 1;
o += dpsnprintf(o, end - o, formatbuf, width, precision, (isfloat ? (unsigned int) GETARG_FLOAT(thisarg) : (unsigned int) GETARG_INT(thisarg)));
break;
case 'e': case 'E': case 'f': case 'F': case 'g': case 'G':
- if(precision < 0)
+ if(precision < 0) // not set
precision = 6;
o += dpsnprintf(o, end - o, formatbuf, width, precision, (isfloat ? (double) GETARG_FLOAT(thisarg) : (double) GETARG_INT(thisarg)));
break;
case 'c':
- if(precision < 0)
+ if(precision < 0) // not set
precision = end - o - 1;
if(flags & PRINTF_ALTERNATE)
o += dpsnprintf(o, end - o, formatbuf, width, precision, (isfloat ? (unsigned int) GETARG_FLOAT(thisarg) : (unsigned int) GETARG_INT(thisarg)));
}
break;
case 's':
- if(precision < 0)
+ if(precision < 0) // not set
precision = end - o - 1;
if(flags & PRINTF_ALTERNATE)
o += dpsnprintf(o, end - o, formatbuf, width, precision, GETARG_STRING(thisarg));