From 8a2788c267ca76eb31d1f76bc0181d27ed560b26 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Mon, 3 Jan 2022 13:56:43 +0900 Subject: [PATCH] [gamecode] Add PROG_V6P_VERSION and bump PROG_VERSION This allows the VM to select the right execution loop and qfcc currently still produces only the old IS (it doesn't know how to deal with the new IS yet) --- include/QF/pr_comp.h | 3 +- libs/gamecode/pr_exec.c | 2 +- libs/gamecode/pr_load.c | 1 + libs/gamecode/pr_opcode.c | 442 ++++++++++++++++++------------------ libs/gamecode/pr_strings.c | 5 +- tools/qfcc/source/options.c | 6 +- tools/qfcc/source/pragma.c | 2 +- 7 files changed, 233 insertions(+), 228 deletions(-) diff --git a/include/QF/pr_comp.h b/include/QF/pr_comp.h index 84cc7e755..df81d606f 100644 --- a/include/QF/pr_comp.h +++ b/include/QF/pr_comp.h @@ -693,7 +693,8 @@ typedef struct pr_va_list_s { |(((0x##b) & 0xfff) << 12) \ |(((0x##c) & 0xfff) << 0) ) #define PROG_ID_VERSION 6 -#define PROG_VERSION PROG_VERSION_ENCODE(0,fff,00a) +#define PROG_V6P_VERSION PROG_VERSION_ENCODE(0,fff,00a) +#define PROG_VERSION PROG_VERSION_ENCODE(0,fff,010) typedef struct dprograms_s { pr_uint_t version; diff --git a/libs/gamecode/pr_exec.c b/libs/gamecode/pr_exec.c index 3aa973620..ad5808107 100644 --- a/libs/gamecode/pr_exec.c +++ b/libs/gamecode/pr_exec.c @@ -2650,7 +2650,7 @@ PR_ExecuteProgram (progs_t *pr, func_t fnum) // called a builtin instead of progs code goto exit_program; } - if (1) { + if (pr->progs->version < PROG_VERSION) { pr_exec_quakec (pr, exitdepth); } else { pr_exec_ruamoko (pr, exitdepth); diff --git a/libs/gamecode/pr_load.c b/libs/gamecode/pr_load.c index 40f99dd84..95626fc22 100644 --- a/libs/gamecode/pr_load.c +++ b/libs/gamecode/pr_load.c @@ -145,6 +145,7 @@ PR_LoadProgsFile (progs_t *pr, QFile *file, int size) ((int *) &progs)[i] = LittleLong (((int *) &progs)[i]); if (progs.version != PROG_VERSION + && progs.version != PROG_V6P_VERSION && progs.version != PROG_ID_VERSION) { if (progs.version < 0x00fff000) { PR_Error (pr, "%s has unrecognised version number (%u)", diff --git a/libs/gamecode/pr_opcode.c b/libs/gamecode/pr_opcode.c index f2710d446..aff4784de 100644 --- a/libs/gamecode/pr_opcode.c +++ b/libs/gamecode/pr_opcode.c @@ -105,7 +105,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_MUL_D_v6p] = {"*", "mul.d", ev_double, ev_double, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_F_v6p] = {"*", "mul.f", ev_float, ev_float, ev_float, @@ -133,32 +133,32 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_MUL_Q_v6p] = {"*", "mul.q", ev_quat, ev_quat, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_FQ_v6p] = {"*", "mul.fq", ev_float, ev_quat, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_QF_v6p] = {"*", "mul.qf", ev_quat, ev_float, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_DQ_v6p] = {"*", "mul.dq", ev_double, ev_quat, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_QD_v6p] = {"*", "mul.qd", ev_quat, ev_double, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_QV_v6p] = {"*", "mul.qv", ev_quat, ev_vector, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_CONJ_Q_v6p] = {"~", "conj.q", ev_quat, ev_invalid, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, @@ -168,20 +168,20 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_DIV_D_v6p] = {"/", "div.d", ev_double, ev_double, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_REM_D_v6p] = {"%", "rem.d", ev_double, ev_double, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MOD_D_v6p] = {"%%", "mod.d", ev_double, ev_double, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_ADD_D_v6p] = {"+", "add.d", ev_double, ev_double, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_ADD_F_v6p] = {"+", "add.f", ev_float, ev_float, ev_float, @@ -193,16 +193,16 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_ADD_Q_v6p] = {"+", "add.q", ev_quat, ev_quat, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_ADD_S_v6p] = {"+", "add.s", ev_string, ev_string, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SUB_D_v6p] = {"-", "sub.d", ev_double, ev_double, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SUB_F_v6p] = {"-", "sub.f", ev_float, ev_float, ev_float, @@ -214,12 +214,12 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_SUB_Q_v6p] = {"-", "sub.q", ev_quat, ev_quat, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_EQ_D_v6p] = {"==", "eq.d", ev_double, ev_double, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_EQ_F_v6p] = {"==", "eq.f", ev_float, ev_float, ev_integer, @@ -231,7 +231,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_EQ_Q_v6p] = {"==", "eq.q", ev_quat, ev_quat, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_EQ_S_v6p] = {"==", "eq.s", ev_string, ev_string, ev_integer, @@ -248,7 +248,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_NE_D_v6p] = {"!=", "ne.d", ev_double, ev_double, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_NE_F_v6p] = {"!=", "ne.f", ev_float, ev_float, ev_integer, @@ -260,7 +260,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_NE_Q_v6p] = {"!=", "ne.q", ev_quat, ev_quat, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_NE_S_v6p] = {"!=", "ne.s", ev_string, ev_string, ev_integer, @@ -277,7 +277,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_LE_D_v6p] = {"<=", "le.d", ev_double, ev_double, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LE_F_v6p] = {"<=", "le.f", ev_float, ev_float, ev_integer, @@ -285,7 +285,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_GE_D_v6p] = {">=", "ge.d", ev_double, ev_double, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GE_F_v6p] = {">=", "ge.f", ev_float, ev_float, ev_integer, @@ -293,15 +293,15 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_LE_S_v6p] = {"<=", "le.s", ev_string, ev_string, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GE_S_v6p] = {">=", "ge.s", ev_string, ev_string, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LT_D_v6p] = {"<", "lt.d", ev_double, ev_double, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LT_F_v6p] = {"<", "lt.f", ev_float, ev_float, ev_integer, @@ -309,7 +309,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_GT_D_v6p] = {">", "gt.d", ev_double, ev_double, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GT_F_v6p] = {">", "gt.f", ev_float, ev_float, ev_integer, @@ -317,11 +317,11 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_LT_S_v6p] = {"<", "lt.s", ev_string, ev_string, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GT_S_v6p] = {">", "gt.s", ev_string, ev_string, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LOAD_F_v6p] = {".", "load.f", @@ -331,7 +331,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_LOAD_D_v6p] = {".", "load.d", ev_entity, ev_field, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga.%Gb(%Ec), %gc", }, [OP_LOAD_V_v6p] = {".", "load.v", @@ -341,7 +341,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_LOAD_Q_v6p] = {".", "load.q", ev_entity, ev_field, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga.%Gb(%Ec), %gc", }, [OP_LOAD_S_v6p] = {".", "load.s", @@ -366,114 +366,114 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_LOAD_I_v6p] = {".", "load.i", ev_entity, ev_field, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga.%Gb(%Ec), %gc", }, [OP_LOAD_P_v6p] = {".", "load.p", ev_entity, ev_field, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga.%Gb(%Ec), %gc", }, [OP_LOADB_D_v6p] = {".", "loadb.d", ev_pointer, ev_integer, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_F_v6p] = {".", "loadb.f", ev_pointer, ev_integer, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_V_v6p] = {".", "loadb.v", ev_pointer, ev_integer, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_Q_v6p] = {".", "loadb.q", ev_pointer, ev_integer, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_S_v6p] = {".", "loadb.s", ev_pointer, ev_integer, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_ENT_v6p] = {".", "loadb.ent", ev_pointer, ev_integer, ev_entity, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_FLD_v6p] = {".", "loadb.fld", ev_pointer, ev_integer, ev_field, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_FN_v6p] = {".", "loadb.fn", ev_pointer, ev_integer, ev_func, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_I_v6p] = {".", "loadb.i", ev_pointer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADB_P_v6p] = {".", "loadb.p", ev_pointer, ev_integer, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb), %gc", }, [OP_LOADBI_D_v6p] = {".", "loadbi.d", ev_pointer, ev_short, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_F_v6p] = {".", "loadbi.f", ev_pointer, ev_short, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_V_v6p] = {".", "loadbi.v", ev_pointer, ev_short, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_Q_v6p] = {".", "loadbi.q", ev_pointer, ev_short, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_S_v6p] = {".", "loadbi.s", ev_pointer, ev_short, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_ENT_v6p] = {".", "loadbi.ent", ev_pointer, ev_short, ev_entity, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_FLD_v6p] = {".", "loadbi.fld", ev_pointer, ev_short, ev_field, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_FN_v6p] = {".", "loadbi.fn", ev_pointer, ev_short, ev_func, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_I_v6p] = {".", "loadbi.i", ev_pointer, ev_short, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, [OP_LOADBI_P_v6p] = {".", "loadbi.p", ev_pointer, ev_short, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb), %gc", }, @@ -485,105 +485,105 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_ADDRESS_VOID_v6p] = {"&", "address", ev_void, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_D_v6p] = {"&", "address.d", ev_double, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_F_v6p] = {"&", "address.f", ev_float, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_V_v6p] = {"&", "address.v", ev_vector, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_Q_v6p] = {"&", "address.q", ev_quat, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_S_v6p] = {"&", "address.s", ev_string, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_ENT_v6p] = {"&", "address.ent", ev_entity, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_FLD_v6p] = {"&", "address.fld", ev_field, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_FN_v6p] = {"&", "address.fn", ev_func, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_I_v6p] = {"&", "address.i", ev_integer, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_ADDRESS_P_v6p] = {"&", "address.p", ev_pointer, ev_invalid, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_LEA_v6p] = {"&", "lea", ev_pointer, ev_integer, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "(%Ga + %Gb), %gc", }, [OP_LEAI_v6p] = {"&", "leai", ev_pointer, ev_short, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "(%Ga + %sb), %gc", }, [OP_CONV_IF_v6p] = {"", "conv.if", ev_integer, ev_invalid, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_CONV_FI_v6p] = {"", "conv.fi", ev_float, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_CONV_ID_v6p] = {"", "conv.id", ev_integer, ev_invalid, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_CONV_DI_v6p] = {"", "conv.di", ev_double, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_CONV_FD_v6p] = {"", "conv.fd", ev_float, ev_invalid, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_CONV_DF_v6p] = {"", "conv.df", ev_double, ev_invalid, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_STORE_D_v6p] = {"=", "store.d", ev_double, ev_double, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gb", }, [OP_STORE_F_v6p] = {"=", "store.f", @@ -598,7 +598,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_STORE_Q_v6p] = {"=", "store.q", ev_quat, ev_quat, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gb", }, [OP_STORE_S_v6p] = {"=", "store.s", @@ -623,12 +623,12 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_STORE_I_v6p] = {"=", "store.i", ev_integer, ev_integer, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gb", }, [OP_STORE_P_v6p] = {"=", "store.p", ev_pointer, ev_pointer, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gb", }, @@ -649,7 +649,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_STOREP_Q_v6p] = {".=", "storep.q", ev_quat, ev_pointer, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *%Gb", }, [OP_STOREP_S_v6p] = {".=", "storep.s", @@ -674,114 +674,114 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_STOREP_I_v6p] = {".=", "storep.i", ev_integer, ev_pointer, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *%Gb", }, [OP_STOREP_P_v6p] = {".=", "storep.p", ev_pointer, ev_pointer, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *%Gb", }, [OP_STOREB_D_v6p] = {".=", "storeb.d", ev_double, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_F_v6p] = {".=", "storeb.f", ev_float, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_V_v6p] = {".=", "storeb.v", ev_vector, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_Q_v6p] = {".=", "storeb.q", ev_quat, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_S_v6p] = {".=", "storeb.s", ev_string, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_ENT_v6p] = {".=", "storeb.ent", ev_entity, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_FLD_v6p] = {".=", "storeb.fld", ev_field, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_FN_v6p] = {".=", "storeb.fn", ev_func, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_I_v6p] = {".=", "storeb.i", ev_integer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREB_P_v6p] = {".=", "storeb.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %Gc)", }, [OP_STOREBI_D_v6p] = {".=", "storebi.d", ev_double, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_F_v6p] = {".=", "storebi.f", ev_float, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_V_v6p] = {".=", "storebi.v", ev_vector, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_Q_v6p] = {".=", "storebi.q", ev_quat, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_S_v6p] = {".=", "storebi.s", ev_string, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_ENT_v6p] = {".=", "storebi.ent", ev_entity, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_FLD_v6p] = {".=", "storebi.fld", ev_field, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_FN_v6p] = {".=", "storebi.fn", ev_func, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_I_v6p] = {".=", "storebi.i", ev_integer, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, [OP_STOREBI_P_v6p] = {".=", "storebi.p", ev_pointer, ev_pointer, ev_short, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, *(%Gb + %sc)", }, @@ -793,13 +793,13 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_RETURN_V_v6p] = {"", "return", ev_invalid, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "", }, [OP_NOT_D_v6p] = {"!", "not.d", ev_double, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_NOT_F_v6p] = {"!", "not.f", @@ -814,7 +814,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_NOT_Q_v6p] = {"!", "not.q", ev_quat, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_NOT_S_v6p] = {"!", "not.s", @@ -834,7 +834,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_NOT_P_v6p] = {"!", "not.p", ev_pointer, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, @@ -850,22 +850,22 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_IFBE_v6p] = {"", "ifbe", ev_integer, ev_short, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga branch %sb (%Ob)", }, [OP_IFB_v6p] = {"", "ifb", ev_integer, ev_short, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga branch %sb (%Ob)", }, [OP_IFAE_v6p] = {"", "ifae", ev_integer, ev_short, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga branch %sb (%Ob)", }, [OP_IFA_v6p] = {"", "ifa", ev_integer, ev_short, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga branch %sb (%Ob)", }, @@ -922,42 +922,42 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_RCALL1_v6p] = {"", "rcall1", ev_func, ev_void, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b)", }, [OP_RCALL2_v6p] = {"", "rcall2", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c)", }, [OP_RCALL3_v6p] = {"", "rcall3", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c, %P2x)", }, [OP_RCALL4_v6p] = {"", "rcall4", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c, %P2x, %P3x)", }, [OP_RCALL5_v6p] = {"", "rcall5", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c, %P2x, %P3x, %P4x)", }, [OP_RCALL6_v6p] = {"", "rcall6", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c, %P2x, %P3x, %P4x, %P5x)", }, [OP_RCALL7_v6p] = {"", "rcall7", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c, %P2x, %P3x, %P4x, %P5x, %P6x)", }, [OP_RCALL8_v6p] = {"", "rcall8", ev_func, ev_void, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Fa (%P0b, %P1c, %P2x, %P3x, %P4x, %P5x, %P6x, %P7x)", }, @@ -969,7 +969,7 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_STATE_F_v6p] = {"", "state.f", ev_float, ev_func, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %Gb, %Gc", }, @@ -980,12 +980,12 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { }, [OP_JUMP_v6p] = {"", "jump", ev_integer, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_JUMPB_v6p] = {"", "jumpb", ev_void, ev_integer, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga[%Gb]", }, @@ -1000,23 +1000,23 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_SHL_F_v6p] = {"<<", "shl.f", ev_float, ev_float, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SHR_F_v6p] = {">>", "shr.f", ev_float, ev_float, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SHL_I_v6p] = {"<<", "shl.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SHR_I_v6p] = {">>", "shr.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SHR_U_v6p] = {">>", "shr.u", ev_uinteger, ev_integer, ev_uinteger, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_BITAND_v6p] = {"&", "bitand", @@ -1030,481 +1030,481 @@ VISIBLE const v6p_opcode_t pr_v6p_opcodes[] = { [OP_ADD_I_v6p] = {"+", "add.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_SUB_I_v6p] = {"-", "sub.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MUL_I_v6p] = {"*", "mul.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_DIV_I_v6p] = {"/", "div.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_REM_I_v6p] = {"%", "rem.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MOD_I_v6p] = {"%%", "mod.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_BITAND_I_v6p] = {"&", "bitand.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_BITOR_I_v6p] = {"|", "bitor.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_REM_F_v6p] = {"%", "rem.f", ev_float, ev_float, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MOD_F_v6p] = {"%%", "mod.f", ev_float, ev_float, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GE_I_v6p] = {">=", "ge.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LE_I_v6p] = {"<=", "le.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GT_I_v6p] = {">", "gt.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LT_I_v6p] = {"<", "lt.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_AND_I_v6p] = {"&&", "and.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_OR_I_v6p] = {"||", "or.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_NOT_I_v6p] = {"!", "not.i", ev_integer, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_EQ_I_v6p] = {"==", "eq.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_NE_I_v6p] = {"!=", "ne.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GE_U_v6p] = {">=", "ge.u", ev_uinteger, ev_uinteger, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LE_U_v6p] = {"<=", "le.u", ev_uinteger, ev_uinteger, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GT_U_v6p] = {">", "gt.u", ev_uinteger, ev_uinteger, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LT_U_v6p] = {"<", "lt.u", ev_uinteger, ev_uinteger, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_BITXOR_F_v6p] = {"^", "bitxor.f", ev_float, ev_float, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_BITNOT_F_v6p] = {"~", "bitnot.f", ev_float, ev_invalid, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_BITXOR_I_v6p] = {"^", "bitxor.i", ev_integer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_BITNOT_I_v6p] = {"~", "bitnot.i", ev_integer, ev_invalid, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %gc", }, [OP_GE_P_v6p] = {">=", "ge.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LE_P_v6p] = {"<=", "le.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_GT_P_v6p] = {">", "gt.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_LT_P_v6p] = {"<", "lt.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_EQ_P_v6p] = {"==", "eq.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_NE_P_v6p] = {"!=", "ne.p", ev_pointer, ev_pointer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, }, [OP_MOVEI_v6p] = {"", "movei", ev_void, ev_short, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %sb, %gc", }, [OP_MOVEP_v6p] = {"", "movep", ev_pointer, ev_integer, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %Gb, %Gc", }, [OP_MOVEPI_v6p] = {"", "movepi", ev_pointer, ev_short, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %sb, %Gc", }, [OP_MEMSETI_v6p] = {"", "memseti", ev_integer, ev_short, ev_void, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %sb, %gc", }, [OP_MEMSETP_v6p] = {"", "memsetp", ev_integer, ev_integer, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %Gb, %Gc", }, [OP_MEMSETPI_v6p] = {"", "memsetpi", ev_integer, ev_short, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga, %sb, %Gc", }, [OP_PUSH_S_v6p] = {"", "push.s", ev_string, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_F_v6p] = {"", "push.f", ev_float, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_V_v6p] = {"", "push.v", ev_vector, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_ENT_v6p] = {"", "push.ent", ev_entity, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_FLD_v6p] = {"", "push.fld", ev_field, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_FN_v6p] = {"", "push.fn", ev_func, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_P_v6p] = {"", "push.p", ev_pointer, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_Q_v6p] = {"", "push.q", ev_quat, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_I_v6p] = {"", "push.i", ev_integer, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSH_D_v6p] = {"", "push.d", ev_double, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%Ga", }, [OP_PUSHB_S_v6p] = {"", "pushb.s", ev_pointer, ev_integer, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_F_v6p] = {"", "pushb.f", ev_pointer, ev_integer, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_V_v6p] = {"", "pushb.v", ev_pointer, ev_integer, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_ENT_v6p] = {"", "pushb.ent", ev_pointer, ev_integer, ev_entity, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_FLD_v6p] = {"", "pushb.fld", ev_pointer, ev_integer, ev_field, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_FN_v6p] = {"", "pushb.fn", ev_pointer, ev_integer, ev_func, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_P_v6p] = {"", "pushb.p", ev_pointer, ev_integer, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_Q_v6p] = {"", "pushb.q", ev_pointer, ev_integer, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_I_v6p] = {"", "pushb.i", ev_pointer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHB_D_v6p] = {"", "pushb.d", ev_pointer, ev_integer, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_PUSHBI_S_v6p] = {"", "pushbi.s", ev_pointer, ev_short, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_F_v6p] = {"", "pushbi.f", ev_pointer, ev_short, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_V_v6p] = {"", "pushbi.v", ev_pointer, ev_short, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_ENT_v6p] = {"", "pushbi.ent", ev_pointer, ev_short, ev_entity, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_FLD_v6p] = {"", "pushbi.fld", ev_pointer, ev_short, ev_field, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_FN_v6p] = {"", "pushbi.fn", ev_pointer, ev_short, ev_func, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_P_v6p] = {"", "pushbi.p", ev_pointer, ev_short, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_Q_v6p] = {"", "pushbi.q", ev_pointer, ev_short, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_I_v6p] = {"", "pushbi.i", ev_pointer, ev_short, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_PUSHBI_D_v6p] = {"", "pushbi.d", ev_pointer, ev_short, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POP_S_v6p] = {"", "pop.s", ev_string, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_F_v6p] = {"", "pop.f", ev_float, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_V_v6p] = {"", "pop.v", ev_vector, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_ENT_v6p] = {"", "pop.ent", ev_entity, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_FLD_v6p] = {"", "pop.fld", ev_field, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_FN_v6p] = {"", "pop.fn", ev_func, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_P_v6p] = {"", "pop.p", ev_pointer, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_Q_v6p] = {"", "pop.q", ev_quat, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_I_v6p] = {"", "pop.i", ev_integer, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POP_D_v6p] = {"", "pop.d", ev_double, ev_invalid, ev_invalid, - PROG_VERSION, + PROG_V6P_VERSION, "%ga", }, [OP_POPB_S_v6p] = {"", "popb.s", ev_pointer, ev_integer, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_F_v6p] = {"", "popb.f", ev_pointer, ev_integer, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_V_v6p] = {"", "popb.v", ev_pointer, ev_integer, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_ENT_v6p] = {"", "popb.ent", ev_pointer, ev_integer, ev_entity, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_FLD_v6p] = {"", "popb.fld", ev_pointer, ev_integer, ev_field, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_FN_v6p] = {"", "popb.fn", ev_pointer, ev_integer, ev_func, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_P_v6p] = {"", "popb.p", ev_pointer, ev_integer, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_Q_v6p] = {"", "popb.q", ev_pointer, ev_integer, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_I_v6p] = {"", "popb.i", ev_pointer, ev_integer, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPB_D_v6p] = {"", "popb.d", ev_pointer, ev_integer, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %Gb)", }, [OP_POPBI_S_v6p] = {"", "popbi.s", ev_pointer, ev_short, ev_string, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_F_v6p] = {"", "popbi.f", ev_pointer, ev_short, ev_float, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_V_v6p] = {"", "popbi.v", ev_pointer, ev_short, ev_vector, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_ENT_v6p] = {"", "popbi.ent", ev_pointer, ev_short, ev_entity, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_FLD_v6p] = {"", "popbi.fld", ev_pointer, ev_short, ev_field, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_FN_v6p] = {"", "popbi.fn", ev_pointer, ev_short, ev_func, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_P_v6p] = {"", "popbi.p", ev_pointer, ev_short, ev_pointer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_Q_v6p] = {"", "popbi.q", ev_pointer, ev_short, ev_quat, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_I_v6p] = {"", "popbi.i", ev_pointer, ev_short, ev_integer, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, [OP_POPBI_D_v6p] = {"", "popbi.d", ev_pointer, ev_short, ev_double, - PROG_VERSION, + PROG_V6P_VERSION, "*(%Ga + %sb)", }, diff --git a/libs/gamecode/pr_strings.c b/libs/gamecode/pr_strings.c index ba53acac8..f2e5237a6 100644 --- a/libs/gamecode/pr_strings.c +++ b/libs/gamecode/pr_strings.c @@ -242,13 +242,16 @@ PR_LoadStrings (progs_t *pr) while (str < end) { count++; - if (*str == '@' && pr->progs->version == PROG_VERSION) { + if (*str == '@' && pr->progs->version == PROG_V6P_VERSION) { if (!strcmp (str, "@float_promoted@")) { pr->float_promoted = 1; } } str += strlen (str) + 1; } + if (pr->progs->version == PROG_VERSION) { + pr->float_promoted = 1; + } res->ds_mem.alloc = pr_strings_alloc; res->ds_mem.free = pr_strings_free; diff --git a/tools/qfcc/source/options.c b/tools/qfcc/source/options.c index 09989684c..671d3aa85 100644 --- a/tools/qfcc/source/options.c +++ b/tools/qfcc/source/options.c @@ -398,7 +398,7 @@ DecodeArgs (int argc, char **argv) case OPT_ADVANCED: options.traditional = 0; options.advanced = true; - options.code.progsversion = PROG_VERSION; + options.code.progsversion = PROG_V6P_VERSION; options.code.const_initializers = false; break; case OPT_BLOCK_DOT: @@ -505,7 +505,7 @@ DecodeArgs (int argc, char **argv) if (flag) options.code.progsversion = PROG_ID_VERSION; else - options.code.progsversion = PROG_VERSION; + options.code.progsversion = PROG_V6P_VERSION; } else if (!(strcasecmp (temp, "const-initializers"))) { options.code.const_initializers = flag; } @@ -699,7 +699,7 @@ DecodeArgs (int argc, char **argv) options.code.vector_components = true; } if (!options.code.progsversion) - options.code.progsversion = PROG_VERSION; + options.code.progsversion = PROG_V6P_VERSION; if (!options.traditional) { options.advanced = true; add_cpp_def ("-D__RUAMOKO__=1"); diff --git a/tools/qfcc/source/pragma.c b/tools/qfcc/source/pragma.c index d82f2aef4..edabcaaf4 100644 --- a/tools/qfcc/source/pragma.c +++ b/tools/qfcc/source/pragma.c @@ -65,7 +65,7 @@ set_traditional (int traditional) case 0: options.traditional = 0; options.advanced = true; - options.code.progsversion = PROG_VERSION; + options.code.progsversion = PROG_V6P_VERSION; type_default = &type_integer; break; case 1: