X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=parser.c;h=4a09583593a97c5cebe19090d9f5368e7ed89e7e;hp=e1779da37667f157085c3e40322378c01fd657fd;hb=5d5b9a379ac6c4c2f6855b6a155216ab375795e4;hpb=b08195e2da48e041a4f027d93e944bc4715169ec diff --git a/parser.c b/parser.c index e1779da..4a09583 100644 --- a/parser.c +++ b/parser.c @@ -953,6 +953,9 @@ static bool parser_sy_apply_operator(parser_t *parser, shunt *sy) } } (void)check_write_to(ctx, exprs[0]); + /* When we're a vector of part of an entity field we use STOREP */ + if (ast_istype(exprs[0], ast_member) && ast_istype(((ast_member*)exprs[0])->owner, ast_entfield)) + assignop = INSTR_STOREP_F; out = (ast_expression*)ast_store_new(ctx, assignop, exprs[0], exprs[1]); break; case opid3('+','+','P'):