replace_len = (int)strlen(replace);
subject_len = (int)strlen(subject);
+ si = 0;
for (i = 0; i < subject_len; i++)
{
for (j = 0; j < search_len && i+j < subject_len; j++)
if (subject[i+j] != search[j])
break;
- if (j == search_len)
+ if (j == search_len || i+j == subject_len)
{
// found it at offset 'i'
for (j = 0; j < replace_len && si < (int)sizeof(string) - 1; j++)
replace_len = (int)strlen(replace);
subject_len = (int)strlen(subject);
+ si = 0;
for (i = 0; i < subject_len; i++)
{
for (j = 0; j < search_len && i+j < subject_len; j++)
if (tolower(subject[i+j]) != tolower(search[j]))
break;
- if (j == search_len)
+ if (j == search_len || i+j == subject_len)
{
// found it at offset 'i'
for (j = 0; j < replace_len && si < (int)sizeof(string) - 1; j++)
}
/*
=========
+VM_stringwidth
+
+float stringwidth(string text, float allowColorCodes)
+=========
+*/
+void VM_stringwidth(void)
+{
+ const char *string;
+ int colors;
+ VM_SAFEPARMCOUNT(2,VM_drawstring);
+
+ string = PRVM_G_STRING(OFS_PARM0);
+ colors = (int)PRVM_G_FLOAT(OFS_PARM1);
+
+ PRVM_G_FLOAT(OFS_RETURN) = DrawQ_String(0, 0, string, 0, 1, 1, 0, 0, 0, 0, 0, NULL, !colors); // 1x1 characters, don't actually draw
+}
+/*
+=========
VM_drawpic
float drawpic(vector position, string pic, vector size, vector rgb, float alpha, float flag)