From f7942c3a41dbea29b68274312abf47c2755a7606 Mon Sep 17 00:00:00 2001 From: black Date: Thu, 23 Oct 2003 19:47:08 +0000 Subject: [PATCH] Changed prvm_ed_loadfromfile - it isnt really compatible with the old vm anymore (allows now loading multiple files. Fixed prvm_crashall and altered some error texts. git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@3604 d7cf8633-e32d-0410-b094-e92efae38249 --- menu.c | 4 +++- prvm_cmds.c | 6 ++++-- prvm_edict.c | 4 ++-- prvm_exec.c | 6 ++++-- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/menu.c b/menu.c index 5978e5b2..1ad0b4c3 100644 --- a/menu.c +++ b/menu.c @@ -3734,6 +3734,7 @@ void M_Shutdown(void) void M_Restart(void) { + key_dest = key_game; } //============================================================================ @@ -3765,7 +3766,7 @@ void MP_Error(void) // fall back to the normal menu // say it - Con_Printf("Falling back to normal menu.\n Error :"); + Con_Printf("Falling back to normal menu\n"); // init the normal menu now -> this will also correct the menu router pointers MR_SetRouting (TRUE); @@ -3874,6 +3875,7 @@ void MP_Init (void) void MP_Restart(void) { + key_dest = key_game; MP_Init(); } diff --git a/prvm_cmds.c b/prvm_cmds.c index bf26c4b4..0b4fb015 100644 --- a/prvm_cmds.c +++ b/prvm_cmds.c @@ -2145,13 +2145,15 @@ void VM_loadfromfile(void) return; } - data = FS_LoadFile(va("data/%s", filename), false); + // not conform with VM_fopen + data = FS_LoadFile(filename, false); if (data == NULL) PRVM_G_FLOAT(OFS_RETURN) = -1; PRVM_ED_LoadFromFile(data); - Mem_Free(data); + if(data) + Mem_Free(data); } diff --git a/prvm_edict.c b/prvm_edict.c index 06432129..5ed79417 100644 --- a/prvm_edict.c +++ b/prvm_edict.c @@ -958,7 +958,7 @@ qboolean PRVM_ED_ParseEpair(prvm_edict_t *ent, ddef_t *key, const char *s) def = PRVM_ED_FindField(s); if (!def) { - Con_DPrintf("PRVM_ED_ParseEpair: Can't find field %s on %s\n", s, PRVM_NAME); + Con_DPrintf("PRVM_ED_ParseEpair: Can't find field %s in %s\n", s, PRVM_NAME); return false; } val->_int = PRVM_G_INT(def->ofs); @@ -968,7 +968,7 @@ qboolean PRVM_ED_ParseEpair(prvm_edict_t *ent, ddef_t *key, const char *s) func = PRVM_ED_FindFunction(s); if (!func) { - Con_Printf ("PRVM_ED_ParseEpair: Can't find function %s on %s\n", s, PRVM_NAME); + Con_Printf ("PRVM_ED_ParseEpair: Can't find function %s in %s\n", s, PRVM_NAME); return false; } val->function = func - prog->functions; diff --git a/prvm_exec.c b/prvm_exec.c index adaf7967..7ba8a1b2 100644 --- a/prvm_exec.c +++ b/prvm_exec.c @@ -233,7 +233,8 @@ void PRVM_Profile_f (void) void PRVM_CrashAll() { int i; - PRVM_Begin; + prvm_prog_t *oldprog = prog; + for(i = 0; i < PRVM_MAXPROGS; i++) { if(!PRVM_ProgLoaded(i)) @@ -241,7 +242,8 @@ void PRVM_CrashAll() PRVM_SetProg(i); PRVM_Crash(); } - PRVM_End; + + prog = oldprog; } void PRVM_Crash() -- 2.39.2