From db25d5597d2b92b496625892e8191f74c9878ddc Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Wed, 12 Sep 2012 08:24:17 +0900 Subject: [PATCH] Handle quest format brushes. Bah, I forgot I needed to fix the vertex count parsing when I did the script lexing change. --- tools/Forge/Bundles/MapEdit/SetBrush.m | 14 +++++++++++--- tools/qfbsp/source/map.c | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/tools/Forge/Bundles/MapEdit/SetBrush.m b/tools/Forge/Bundles/MapEdit/SetBrush.m index 6e5ea03a7..7711d9e7f 100644 --- a/tools/Forge/Bundles/MapEdit/SetBrush.m +++ b/tools/Forge/Bundles/MapEdit/SetBrush.m @@ -643,11 +643,19 @@ ParseVerts (script_t *script, int *n_verts) { vec3_t *verts; int i; + const char *token; - if (strcmp (Script_Token (script), ":")) + token = Script_Token (script); + if (token[0] != ':') Sys_Error ("parsing map file"); - Script_GetToken (script, false); - *n_verts = atoi (Script_Token (script)); + // It's normally ":count", but somebody might have done ": count" + if (!token[1]) { + Script_GetToken (script, false); + token = Script_Token (script); + } else { + token++; + } + *n_verts = atoi (token); verts = malloc (sizeof (vec3_t) * *n_verts); for (i = 0; i < *n_verts; i++) { diff --git a/tools/qfbsp/source/map.c b/tools/qfbsp/source/map.c index 196e2cdd8..3ee844f10 100644 --- a/tools/qfbsp/source/map.c +++ b/tools/qfbsp/source/map.c @@ -207,11 +207,19 @@ ParseVerts (int *n_verts) { vec3_t *verts; int i; + const char *token; - if (map_script->token->str[0] != ':') + token = Script_Token (map_script); + if (token[0] != ':') map_error ("parsing brush"); - Script_GetToken (map_script, false); - *n_verts = atoi (map_script->token->str); + // It's normally ":count", but somebody might have done ": count" + if (!token[1]) { + Script_GetToken (map_script, false); + token = Script_Token (map_script); + } else { + token++; + } + *n_verts = atoi (token); verts = malloc (sizeof (vec3_t) * *n_verts); for (i = 0; i < *n_verts; i++) {