From 63994793c9aef33f95828012f39dc789c74a112e Mon Sep 17 00:00:00 2001 From: Spoike Date: Mon, 8 Oct 2012 04:36:10 +0000 Subject: [PATCH] audio on android is now configurable, hopefully. tweaks to the media decoder's input controls and media plugin decoder stability. lame basic volumetric fog support. needs improvements. git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@4115 fc73d0e0-1445-4013-8a0c-d673dee63da5 --- engine/client/cl_cg.c | 2 +- engine/client/cl_main.c | 3 +- engine/client/cl_pred.c | 1 + engine/client/cl_screen.c | 2 +- engine/client/keys.c | 3 + engine/client/m_download.c | 31 +- engine/client/m_mp3.c | 84 +- engine/client/pr_menu.c | 10 +- engine/client/snd_dma.c | 32 +- engine/client/snd_droid.c | 30 +- engine/client/snd_ov.c | 40 +- engine/client/sys_droid.c | 8 + engine/client/sys_win.c | 1 + engine/common/gl_q2bsp.c | 2 +- engine/common/plugin.c | 8 + engine/common/pr_bgcmd.c | 61 + engine/common/pr_common.h | 2 +- engine/dotnet2005/ftequake.sln | 86 +- engine/dotnet2005/ftequake.vcproj | 27693 ++++++++-------- .../droid/src/com/fteqw/FTEDroidActivity.java | 47 +- .../droid/src/com/fteqw/FTEDroidEngine.java | 1 + engine/gl/gl_alias.c | 10 +- engine/gl/gl_backend.c | 164 +- engine/gl/gl_model.c | 27 +- engine/gl/gl_model.h | 1 + engine/gl/gl_screen.c | 1 + engine/gl/gl_shader.c | 2 +- engine/gl/gl_shadow.c | 2 +- engine/gl/r_bishaders.h | 48 +- engine/gl/shader.h | 1 - engine/qclib/qcc_pr_comp.c | 20 +- engine/server/svq3_game.c | 12 +- fteqtv/dotnet2005/qtvprox.vcproj | 1 + plugins/berkelium/berkelium.vcproj | 5 +- 34 files changed, 14413 insertions(+), 14028 deletions(-) diff --git a/engine/client/cl_cg.c b/engine/client/cl_cg.c index 1b830fb3b..6d0170ba3 100644 --- a/engine/client/cl_cg.c +++ b/engine/client/cl_cg.c @@ -844,7 +844,7 @@ static qintptr_t CG_SystemCalls(void *offset, quintptr_t mask, qintptr_t fn, con break; case CG_S_STARTSOUND:// ( vec3_t origin, int entityNum, int entchannel, sfxHandle_t sfx ) - S_StartSound(VM_LONG(arg[1]), VM_LONG(arg[2]), S_PrecacheSound(VM_FROMSTRCACHE(arg[3])), VM_POINTER(arg[0]), 1, 1, 0, 0); + S_StartSound(VM_LONG(arg[1])+1, VM_LONG(arg[2]), S_PrecacheSound(VM_FROMSTRCACHE(arg[3])), VM_POINTER(arg[0]), 1, 1, 0, 0); break; case CG_S_ADDLOOPINGSOUND: diff --git a/engine/client/cl_main.c b/engine/client/cl_main.c index b18897b2b..a053bbbd5 100644 --- a/engine/client/cl_main.c +++ b/engine/client/cl_main.c @@ -3658,7 +3658,8 @@ double Host_Frame (double time) SV_Frame(); RSpeedEnd(RSPEED_SERVER); host_frametime = ohft; - CL_ReadPackets (); + if (cls.protocol != CP_QUAKE3) + CL_ReadPackets (); //q3's cgame cannot cope with input commands with the same time as the most recent snapshot value } #endif CL_CalcClientTime(); diff --git a/engine/client/cl_pred.c b/engine/client/cl_pred.c index ca2f7dede..a3926dbfa 100644 --- a/engine/client/cl_pred.c +++ b/engine/client/cl_pred.c @@ -635,6 +635,7 @@ short LerpAngles16(short to, short from, float frac) void CL_CalcClientTime(void) { + if (cls.protocol != CP_QUAKE3) { float oldst = realtime; diff --git a/engine/client/cl_screen.c b/engine/client/cl_screen.c index 49c4809d8..881d08731 100644 --- a/engine/client/cl_screen.c +++ b/engine/client/cl_screen.c @@ -1750,7 +1750,7 @@ void SCR_SetUpToDrawConsole (void) key_dest = key_console; scr_conlines = scr_con_current = vid.height * fullscreenpercent; } - else if ((key_dest == key_console || key_dest == key_game) && SCR_GetLoadingStage() == LS_NONE && cls.state < ca_active) + else if ((key_dest == key_console || key_dest == key_game) && SCR_GetLoadingStage() == LS_NONE && cls.state < ca_active && !Media_PlayingFullScreen()) { if (cls.state < ca_demostart) key_dest = key_console; diff --git a/engine/client/keys.c b/engine/client/keys.c index c80374de6..1e84cbe44 100644 --- a/engine/client/keys.c +++ b/engine/client/keys.c @@ -1330,6 +1330,9 @@ qboolean Key_MouseShouldBeFree(void) return false; #endif + if (Media_PlayingFullScreen()) + return true; + if (cl_prydoncursor.ival) return true; diff --git a/engine/client/m_download.c b/engine/client/m_download.c index 2a83f1a00..6d2a0d319 100644 --- a/engine/client/m_download.c +++ b/engine/client/m_download.c @@ -264,23 +264,30 @@ static void dlnotification(struct dl_download *dl) static void MD_Draw (int x, int y, struct menucustom_s *c, struct menu_s *m) { package_t *p; + int fl; p = c->data; if (p) { Draw_FunString (x+4, y, "^Ue080^Ue082"); - Draw_FunString (x+24, y, "^Ue080^Ue082"); - if (p->flags&DPF_WANTTOINSTALL) - Draw_FunString (x+8, y, "^Ue083"); - else + fl = p->flags & (DPF_HAVEAVERSION | DPF_WANTTOINSTALL); + if ((p->flags & (DPF_DOWNLOADING|DPF_ENQUED)) && ((int)(realtime*4)&1)) + fl |= DPF_HAVEAVERSION; //flicker have if we're downloading it. + switch(fl) + { + case 0: Draw_FunString (x+8, y, "^Ue081"); - - //if you have it already - if (p->flags&(DPF_HAVEAVERSION | ((((int)(realtime*4))&1)?(DPF_DOWNLOADING|DPF_ENQUED):0) )) - Draw_FunString (x+28, y, "^Ue083"); - else - Draw_FunString (x+28, y, "^Ue081"); - + break; + case DPF_HAVEAVERSION: + Draw_FunString (x, y, "REM"); + break; + case DPF_WANTTOINSTALL: + Draw_FunString (x, y, "GET"); + break; + case DPF_HAVEAVERSION | DPF_WANTTOINSTALL: + Draw_FunString (x+8, y, "^Ue083"); + break; + } if (&m->selecteditem->common == &c->common) Draw_AltFunString (x+48, y, p->name); @@ -396,7 +403,7 @@ void M_AddItemsToDownloadMenu(menu_t *m) int prefixlen; p = availablepackages; - MC_AddRedText(m, 0, 40, "WntHav", false); +// MC_AddRedText(m, 0, 40, "WntHav", false); prefixlen = strlen(info->pathprefix); y = 48+4; diff --git a/engine/client/m_mp3.c b/engine/client/m_mp3.c index f559b9993..0c2c8db5b 100644 --- a/engine/client/m_mp3.c +++ b/engine/client/m_mp3.c @@ -960,7 +960,6 @@ static qboolean qAVIStartup(void) struct cin_s { - qboolean (*decodeframe)(cin_t *cin, qboolean nosound); void (*doneframe)(cin_t *cin); void (*shutdown)(cin_t *cin); //warning: doesn't free cin_t @@ -1022,6 +1021,8 @@ struct cin_s void *ctx; struct plugin_s *plug; media_decoder_funcs_t *funcs; /*fixme*/ + struct cin_s *next; + struct cin_s *prev; } plugin; #endif @@ -1177,6 +1178,9 @@ cin_t *Media_WinAvi_TryLoad(char *name) PAVIFILE pavi; flocation_t loc; + if (strchr(name, ':')) + return NULL; + if (!qAVIStartup()) return NULL; @@ -1304,8 +1308,9 @@ cin_t *Media_WinAvi_TryLoad(char *name) ////////////////////////////////////////////////////////////////////////////////// //Plugin Support #ifdef PLUGINS -media_decoder_funcs_t *plugindecodersfunc[8]; -struct plugin_s *plugindecodersplugin[8]; +static media_decoder_funcs_t *plugindecodersfunc[8]; +static struct plugin_s *plugindecodersplugin[8]; +static cin_t *active_cin_plugins; qboolean Media_RegisterDecoder(struct plugin_s *plug, media_decoder_funcs_t *funcs) { @@ -1321,19 +1326,69 @@ qboolean Media_RegisterDecoder(struct plugin_s *plug, media_decoder_funcs_t *fun } return false; } +/*funcs==null closes ALL decoders from this plugin*/ qboolean Media_UnregisterDecoder(struct plugin_s *plug, media_decoder_funcs_t *funcs) { + qboolean success = true; int i; + static media_decoder_funcs_t deadfuncs; + struct plugin_s *oldplug = currentplug; + cin_t *cin, *next; + for (i = 0; i < sizeof(plugindecodersfunc)/sizeof(plugindecodersfunc[0]); i++) { if (plugindecodersfunc[i] == funcs || (!funcs && plugindecodersplugin[i] == plug)) { + //kill any cinematics currently using that decoder + for (cin = active_cin_plugins; cin; cin = next) + { + next = cin->plugin.next; + + if (cin->plugin.plug == plug && cin->plugin.funcs == plugindecodersfunc[i]) + { + //we don't kill the engine's side of it, not just yet anyway. + currentplug = cin->plugin.plug; + if (cin->plugin.funcs->shutdown) + cin->plugin.funcs->shutdown(cin->plugin.ctx); + cin->plugin.funcs = &deadfuncs; + cin->plugin.plug = NULL; + cin->plugin.ctx = NULL; + } + } + currentplug = oldplug; + + plugindecodersfunc[i] = NULL; plugindecodersplugin[i] = NULL; - return true; + if (funcs) + return success; } } - return false; + + if (!funcs) + { + static media_decoder_funcs_t deadfuncs; + struct plugin_s *oldplug = currentplug; + cin_t *cin, *next; + + for (cin = active_cin_plugins; cin; cin = next) + { + next = cin->plugin.next; + + if (cin->plugin.plug == plug) + { + //we don't kill the engine's side of it, not just yet anyway. + currentplug = cin->plugin.plug; + if (cin->plugin.funcs->shutdown) + cin->plugin.funcs->shutdown(cin->plugin.ctx); + cin->plugin.funcs = &deadfuncs; + cin->plugin.plug = NULL; + cin->plugin.ctx = NULL; + } + } + currentplug = oldplug; + } + return success; } static qboolean Media_Plugin_DecodeFrame(cin_t *cin, qboolean nosound) @@ -1343,6 +1398,8 @@ static qboolean Media_Plugin_DecodeFrame(cin_t *cin, qboolean nosound) cin->outdata = cin->plugin.funcs->decodeframe(cin->plugin.ctx, nosound, &cin->outtype, &cin->outwidth, &cin->outheight); currentplug = oldplug; + cin->outunchanged = (cin->outdata==NULL); + if (cin->outtype != TF_INVALID) return true; return false; @@ -1362,6 +1419,13 @@ static void Media_Plugin_Shutdown(cin_t *cin) if (cin->plugin.funcs->shutdown) cin->plugin.funcs->shutdown(cin->plugin.ctx); currentplug = oldplug; + + if (cin->plugin.prev) + cin->plugin.prev->plugin.next = cin->plugin.next; + else + active_cin_plugins = cin->plugin.next; + if (cin->plugin.next) + cin->plugin.next->plugin.prev = cin->plugin.prev; } static void Media_Plugin_Rewind(cin_t *cin) { @@ -1443,6 +1507,11 @@ cin_t *Media_Plugin_TryLoad(char *name) cin->plugin.funcs = funcs; cin->plugin.plug = plug; cin->plugin.ctx = ctx; + cin->plugin.next = active_cin_plugins; + cin->plugin.prev = NULL; + if (cin->plugin.next) + cin->plugin.next->plugin.prev = cin; + active_cin_plugins = cin; cin->decodeframe = Media_Plugin_DecodeFrame; cin->doneframe = Media_Plugin_DoneFrame; cin->shutdown = Media_Plugin_Shutdown; @@ -1587,6 +1656,9 @@ cin_t *Media_RoQ_TryLoad(char *name) { cin_t *cin; roq_info *roqfilm; + if (strchr(name, ':')) + return NULL; + if ((roqfilm = roq_open(name))) { cin = Z_Malloc(sizeof(cin_t)); @@ -2166,6 +2238,8 @@ qboolean Media_ShowFilm(void) extern int mousecursor_x, mousecursor_y; cin->cursormove(cin, mousecursor_x/(float)vid.width, mousecursor_y/(float)vid.height); } + if (cin->setsize) + cin->setsize(cin, vid.pixelwidth, vid.pixelheight); // GL_Set2D (false); R2D_ImageColours(1, 1, 1, 1); diff --git a/engine/client/pr_menu.c b/engine/client/pr_menu.c index 805f9e832..ca7670923 100644 --- a/engine/client/pr_menu.c +++ b/engine/client/pr_menu.c @@ -355,7 +355,7 @@ void QCBUILTIN PF_CL_drawcolouredstring (progfuncs_t *prinst, struct globalvars_ float r, g, b; conchar_t buffer[2048], *str; - float px, py; + float px, py, ipx; if (*prinst->callargc >= 6) { @@ -384,10 +384,16 @@ void QCBUILTIN PF_CL_drawcolouredstring (progfuncs_t *prinst, struct globalvars_ str = buffer; Font_BeginScaledString(font_conchar, pos[0], pos[1], &px, &py); + ipx = px; Font_ForceColour(r, g, b, alpha); while(*str) { - px = Font_DrawScaleChar(px, py, size[0], size[1], *str++); + if ((*str & CON_CHARMASK) == '\n') + py += Font_CharHeight(); + else if ((*str & CON_CHARMASK) == '\r') + px = ipx; + else + px = Font_DrawScaleChar(px, py, size[0], size[1], *str++); } Font_InvalidateColour(); Font_EndString(font_conchar); diff --git a/engine/client/snd_dma.c b/engine/client/snd_dma.c index 7b8c087c3..3073f86ea 100644 --- a/engine/client/snd_dma.c +++ b/engine/client/snd_dma.c @@ -2184,33 +2184,47 @@ void S_PlayVol(void) void S_SoundList_f(void) { - /* int i; sfx_t *sfx; sfxcache_t *sc; + sfxcache_t scachebuf; int size, total; + int duration; + + S_LockMixer(); + total = 0; for (sfx=known_sfx, i=0 ; idecoder) + if (sfx->decoder.decodedata) { - Con_Printf("S( ) : %s\n", sfx->name); + sc = sfx->decoder.decodedata(sfx, &scachebuf, 0, 0x0fffffff); + if (!sc) + { + Con_Printf("S( ) : %s\n", sfx->name); + continue; + } + } + else + sc = sfx->decoder.buf; + if (!sc) + { + Con_Printf("?( ) : %s\n", sfx->name); continue; } - sc = Cache_Check (&sfx->cache); - if (!sc) - continue; - size = sc->length*sc->width*(sc->numchannels); + size = (sc->soundoffset+sc->length)*sc->width*(sc->numchannels); + duration = (sc->soundoffset+sc->length) / sc->speed; total += size; if (sc->loopstart >= 0) Con_Printf ("L"); else Con_Printf (" "); - Con_Printf("(%2db%2ic) %6i : %s\n",sc->width*8, sc->numchannels, size, sfx->name); + Con_Printf("(%2db%2ic) %6i %2is : %s\n",sc->width*8, sc->numchannels, size, duration, sfx->name); } Con_Printf ("Total resident: %i\n", total); - */ + + S_UnlockMixer(); } diff --git a/engine/client/snd_droid.c b/engine/client/snd_droid.c index 90cfcd005..8a2ff4f8b 100644 --- a/engine/client/snd_droid.c +++ b/engine/client/snd_droid.c @@ -8,8 +8,24 @@ java code has a function or two which just periodically calls us to ask us to du //static pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; static soundcardinfo_t *sys_sc = NULL; +extern int sys_soundflags; +JNIEXPORT jint JNICALL Java_com_fteqw_FTEDroidEngine_audioinfo(JNIEnv *env, jclass this, jint arg) +{ + soundcardinfo_t *sc = sys_sc; + if (!sc) + return 0; + switch(arg) + { + case 1: + return sc->sn.numchannels; + case 2: + return sc->sn.samplebits; + default: + return sc->sn.speed; + } +} //transfer the 'dma' buffer into the buffer it requests, called from a dedicated sound thread created by the java code. JNIEXPORT jint JNICALL Java_com_fteqw_FTEDroidEngine_paintaudio(JNIEnv *env, jclass this, jbyteArray stream, jint len) @@ -61,6 +77,7 @@ static void Droid_Shutdown(soundcardinfo_t *sc) sys_sc = NULL; free(sc->sn.buffer); + sys_soundflags = 0; // pthread_mutex_unlock(&mutex); } @@ -90,6 +107,10 @@ static void Droid_Submit(soundcardinfo_t *sc, int start, int end) { } +//on android, 16bit audio is 'guarenteed'. +//8bit is not guarenteed. +//there's no reference to sample rates. I assume 44.1khz will always work, though we want to avoid that cpu+mem load if we can +//nor any guarentee about channels supported. I assume mono will always work. static int Droid_InitCard (soundcardinfo_t *sc, int cardnum) { if (sys_sc) @@ -98,9 +119,10 @@ static int Droid_InitCard (soundcardinfo_t *sc, int cardnum) // if (!pthread_mutex_lock(&mutex)) { sc->selfpainting = true; - sc->sn.speed = 11025; - sc->sn.samplebits = 16; - sc->sn.numchannels = 1; +// sc->sn.speed = 11025; +// sc->sn.samplebits = 16; +// sc->sn.numchannels = 1; + /*internal buffer should have 1 sec audio*/ sc->sn.samples = sc->sn.speed*sc->sn.numchannels; @@ -114,6 +136,8 @@ static int Droid_InitCard (soundcardinfo_t *sc, int cardnum) sc->sn.buffer = malloc(sc->sn.samples*sc->sn.samplebits/8); sys_sc = sc; + + sys_soundflags = 3; // pthread_mutex_unlock(&mutex); diff --git a/engine/client/snd_ov.c b/engine/client/snd_ov.c index 9acc710ca..310f38047 100644 --- a/engine/client/snd_ov.c +++ b/engine/client/snd_ov.c @@ -125,33 +125,41 @@ sfxcache_t *OV_DecodeSome(struct sfx_s *sfx, struct sfxcache_s *buf, int start, start *= 2*dec->srcchannels; length *= 2*dec->srcchannels; - for (;;) + if (start < dec->decodedbytestart) { - if (start < dec->decodedbytestart) + /*something rewound, purge clear the buffer*/ + dec->decodedbytecount = 0; + dec->decodedbytestart = start; + + //check pos + p_ov_pcm_seek(&dec->vf, dec->decodedbytestart); + } + + if (dec->decodedbytecount > snd_speed*8) + { + /*everything is okay, but our buffer is getting needlessly large. + keep anything after the 'new' position, but discard all before that + trim shouldn't be able to go negative + */ + int trim = start - dec->decodedbytestart; + if (trim < 0) { - /*something rewound, purge clear the buffer*/ dec->decodedbytecount = 0; dec->decodedbytestart = start; - - //check pos - p_ov_pcm_seek(&dec->vf, dec->decodedbytestart); } - - if (start+length <= dec->decodedbytestart + dec->decodedbytecount) - break; - - if (dec->decodedbytecount > snd_speed*8) + else { - /*everything is okay, but our buffer is getting needlessly large. - keep anything after the 'new' position, but discard all before that - trim shouldn't be able to go negative - */ - unsigned int trim = start - dec->decodedbytestart; //FIXME: retain an extra half-second for dual+ sound devices running slightly out of sync memmove(dec->decodedbuffer, dec->decodedbuffer + trim, dec->decodedbytecount - trim); dec->decodedbytecount -= trim; dec->decodedbytestart += trim; } + } + + for (;;) + { + if (start+length <= dec->decodedbytestart + dec->decodedbytecount) + break; if (dec->decodedbufferbytes < start+length - dec->decodedbytestart + 128) //expand if needed. { diff --git a/engine/client/sys_droid.c b/engine/client/sys_droid.c index 1a5d48a9d..789227f67 100644 --- a/engine/client/sys_droid.c +++ b/engine/client/sys_droid.c @@ -20,6 +20,7 @@ qboolean isDedicated = false; void *sys_window; /*public so the renderer can attach to the correct place*/ static int sys_running = false; int sys_glesversion; +int sys_soundflags; /*1 means active. 2 means reset (so claim that its not active for one frame to force a reset)*/ static void *sys_memheap; static unsigned int sys_lastframe; static unsigned int vibrateduration; @@ -98,6 +99,13 @@ JNIEXPORT jint JNICALL Java_com_fteqw_FTEDroidEngine_frame(JNIEnv *env, jobject ret |= 8; if (sys_orientation.modified) ret |= 16; + if (sys_soundflags) + { + if (sys_soundflags & 2) + sys_soundflags &= ~2; + else + ret |= 32; + } return ret; } diff --git a/engine/client/sys_win.c b/engine/client/sys_win.c index 59a7b66b6..5d404efc5 100644 --- a/engine/client/sys_win.c +++ b/engine/client/sys_win.c @@ -119,6 +119,7 @@ dllhandle_t *Sys_LoadLibrary(const char *name, dllfunction_t *funcs) } if (funcs[i].name) { + Con_DPrintf("Missing export \"%s\" in \"%s\"\n", funcs[i].name, name); Sys_CloseLibrary((dllhandle_t*)lib); lib = NULL; } diff --git a/engine/common/gl_q2bsp.c b/engine/common/gl_q2bsp.c index d8963c1fb..cc171cb79 100644 --- a/engine/common/gl_q2bsp.c +++ b/engine/common/gl_q2bsp.c @@ -2328,7 +2328,7 @@ mfog_t *CM_FogForOrigin(vec3_t org) int i, j; mfog_t *ret = map_fogs; float dot; - if (!cl.worldmodel || cl.worldmodel->fromgame != fg_quake3) + if (!map_numfogs || !cl.worldmodel || cl.worldmodel->fromgame != fg_quake3) return NULL; for ( i=0 ; itick = functionid; else if (!strcmp(name, "ExecuteCommand")) currentplug->executestring = functionid; + else if (!strcmp(name, "Shutdown")) + currentplug->shutdown = functionid; #ifndef SERVERONLY else if (!strcmp(name, "ConExecuteCommand")) currentplug->conexecutecommand = functionid; @@ -1807,6 +1810,11 @@ void Plug_Close(plugin_t *plug) } Con_Printf("Closing plugin %s\n", plug->name); +#if defined(PLUGINS) && !defined(NOMEDIA) && !defined(SERVERONLY) + Media_UnregisterDecoder(plug, NULL); +#endif + if (plug->shutdown) + VM_Call(plug->vm, plug->shutdown); VM_Destroy(plug->vm); Plug_FreeConCommands(plug); diff --git a/engine/common/pr_bgcmd.c b/engine/common/pr_bgcmd.c index de38869bc..2e720cb17 100644 --- a/engine/common/pr_bgcmd.c +++ b/engine/common/pr_bgcmd.c @@ -425,6 +425,67 @@ void QCBUILTIN PF_getsurfacetriangle(progfuncs_t *prinst, struct globalvars_s *p G_FLOAT(OFS_RETURN+2) = 0; } +//vector(entity e, float s, float n, float a) getsurfacepointattribute +void QCBUILTIN PF_getsurfacepointattribute(progfuncs_t *prinst, struct globalvars_s *pr_globals) +{ + wedict_t *ent = G_WEDICT(prinst, OFS_PARM0); + unsigned int surfnum = G_FLOAT(OFS_PARM1); + unsigned int pointnum = G_FLOAT(OFS_PARM2); + unsigned int attribute = G_FLOAT(OFS_PARM3); + world_t *w = prinst->parms->user; + model_t *model = w->Get_CModel(w, ent->v->modelindex); + G_FLOAT(OFS_RETURN+0) = 0; + G_FLOAT(OFS_RETURN+1) = 0; + G_FLOAT(OFS_RETURN+2) = 0; + if (model && model->type == mod_brush && surfnum < model->nummodelsurfaces) + { + surfnum += model->firstmodelsurface; + + if (pointnum < model->surfaces[surfnum].mesh->numvertexes) + { + switch(attribute) + { + case 0: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->xyz_array[pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->xyz_array[pointnum][1]; + G_FLOAT(OFS_RETURN+2) = model->surfaces[surfnum].mesh->xyz_array[pointnum][2]; + break; + case 1: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->snormals_array[pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->snormals_array[pointnum][1]; + G_FLOAT(OFS_RETURN+2) = model->surfaces[surfnum].mesh->snormals_array[pointnum][2]; + break; + case 2: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->tnormals_array[pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->tnormals_array[pointnum][1]; + G_FLOAT(OFS_RETURN+2) = model->surfaces[surfnum].mesh->tnormals_array[pointnum][2]; + break; + case 3: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->normals_array[pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->normals_array[pointnum][1]; + G_FLOAT(OFS_RETURN+2) = model->surfaces[surfnum].mesh->normals_array[pointnum][2]; + break; + case 4: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->st_array[pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->st_array[pointnum][1]; + G_FLOAT(OFS_RETURN+2) = 0; + break; + case 5: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->lmst_array[0][pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->lmst_array[0][pointnum][1]; + G_FLOAT(OFS_RETURN+2) = 0; + break; + case 6: + G_FLOAT(OFS_RETURN+0) = model->surfaces[surfnum].mesh->colors4f_array[pointnum][0]; + G_FLOAT(OFS_RETURN+1) = model->surfaces[surfnum].mesh->colors4f_array[pointnum][1]; + G_FLOAT(OFS_RETURN+2) = model->surfaces[surfnum].mesh->colors4f_array[pointnum][2]; + //no way to return alpha here. + break; + } + } + } +} + #ifndef TERRAIN void QCBUILTIN PF_terrain_edit(progfuncs_t *prinst, struct globalvars_s *pr_globals) { diff --git a/engine/common/pr_common.h b/engine/common/pr_common.h index c87e6605a..9c7df50b9 100644 --- a/engine/common/pr_common.h +++ b/engine/common/pr_common.h @@ -52,7 +52,6 @@ struct wedict_s #define PF_gecko_get_texture_extent PF_Fixme #define PF_pointsound PF_Fixme -#define PF_getsurfacepointattribute PF_Fixme #define PF_gecko_mousemove PF_Fixme #define PF_numentityfields PF_Fixme #define PF_entityfieldname PF_Fixme @@ -190,6 +189,7 @@ void QCBUILTIN PF_getsurfacenearpoint(progfuncs_t *prinst, struct globalvars_s * void QCBUILTIN PF_getsurfaceclippedpoint(progfuncs_t *prinst, struct globalvars_s *pr_globals); void QCBUILTIN PF_getsurfacenumtriangles(progfuncs_t *prinst, struct globalvars_s *pr_globals); void QCBUILTIN PF_getsurfacetriangle(progfuncs_t *prinst, struct globalvars_s *pr_globals); +void QCBUILTIN PF_getsurfacepointattribute(progfuncs_t *prinst, struct globalvars_s *pr_globals); void QCBUILTIN PF_skel_set_bone_world (progfuncs_t *prinst, struct globalvars_s *pr_globals); void QCBUILTIN PF_skel_mmap(progfuncs_t *prinst, struct globalvars_s *pr_globals); void QCBUILTIN PF_skel_ragedit(progfuncs_t *prinst, struct globalvars_s *pr_globals); diff --git a/engine/dotnet2005/ftequake.sln b/engine/dotnet2005/ftequake.sln index 5f5cd4ae7..9d7db92e9 100644 --- a/engine/dotnet2005/ftequake.sln +++ b/engine/dotnet2005/ftequake.sln @@ -26,6 +26,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "nacl", "..\nacl\nacl.vcproj EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "xsv", "..\..\plugins\xsv\xsv.vcproj", "{873CCE24-3549-49D4-A4B4-653F91B1532A}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "berkelium", "..\..\plugins\berkelium\berkelium.vcproj", "{4877586B-E85B-4DF8-BCCE-59D31514D240}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution D3DDebug|Win32 = D3DDebug|Win32 @@ -130,45 +132,39 @@ Global {F384725A-62D4-4063-9941-6D8D2D6C2A47}.Release|Win32.ActiveCfg = Release Dedicated Server_SDL|x64 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.Release|x64.ActiveCfg = Release Dedicated Server_SDL|x64 {F384725A-62D4-4063-9941-6D8D2D6C2A47}.Release|x64.Build.0 = Release Dedicated Server_SDL|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DDebug|Win32.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DDebug|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DDebug|x64.Build.0 = GLRelease|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DDebug|Win32.ActiveCfg = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DDebug|Win32.Build.0 = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DDebug|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DRelease|Win32.ActiveCfg = GLRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.D3DRelease|x64.ActiveCfg = GLRelease|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug Dedicated Server|Win32.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug Dedicated Server|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug Dedicated Server|x64.Build.0 = GLRelease|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug Dedicated Server|Win32.ActiveCfg = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug Dedicated Server|Win32.Build.0 = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug Dedicated Server|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug|Win32.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug|Win32.Build.0 = GLDebug|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug|x64.ActiveCfg = GLDebug|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug|x64.Build.0 = GLDebug|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Debug|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLDebug|Win32.ActiveCfg = GLDebug|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLDebug|x64.ActiveCfg = GLDebug|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLDebug|x64.Build.0 = GLDebug|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLDebug|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLRelease|Win32.ActiveCfg = GLRelease|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLRelease|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLRelease|x64.Build.0 = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MDebug|Win32.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MDebug|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MDebug|x64.Build.0 = GLRelease|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.GLRelease|x64.ActiveCfg = GLRelease|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MDebug|Win32.ActiveCfg = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MDebug|Win32.Build.0 = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MDebug|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLDebug|Win32.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLDebug|Win32.Build.0 = GLDebug|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLDebug|x64.ActiveCfg = GLDebug|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLDebug|x64.Build.0 = GLDebug|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLDebug|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLRelease|Win32.ActiveCfg = GLRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLRelease|Win32.Build.0 = GLRelease|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLRelease|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLRelease|x64.Build.0 = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MRelease|Win32.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MRelease|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MRelease|x64.Build.0 = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release Dedicated Server|Win32.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release Dedicated Server|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release Dedicated Server|x64.Build.0 = GLRelease|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MinGLRelease|x64.ActiveCfg = GLRelease|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MRelease|Win32.ActiveCfg = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MRelease|Win32.Build.0 = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.MRelease|x64.ActiveCfg = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release Dedicated Server|Win32.ActiveCfg = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release Dedicated Server|Win32.Build.0 = GLDebug|Win32 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release Dedicated Server|x64.ActiveCfg = GLDebug|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|Win32.ActiveCfg = GLRelease|Win32 {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|Win32.Build.0 = GLRelease|Win32 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|x64.ActiveCfg = GLRelease|x64 - {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|x64.Build.0 = GLRelease|x64 + {88BFEE0E-7BC0-43AD-9CCC-6B1A6E4C1365}.Release|x64.ActiveCfg = GLDebug|Win32 {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DDebug|Win32.ActiveCfg = Debug {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DDebug|x64.ActiveCfg = Debug {E0EE8B50-3A75-42A9-B80A-787675979B0C}.D3DRelease|Win32.ActiveCfg = Release @@ -380,6 +376,42 @@ Global {873CCE24-3549-49D4-A4B4-653F91B1532A}.Release|Win32.ActiveCfg = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.Release|Win32.Build.0 = Release|Win32 {873CCE24-3549-49D4-A4B4-653F91B1532A}.Release|x64.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|Win32.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DDebug|x64.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DRelease|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DRelease|Win32.Build.0 = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.D3DRelease|x64.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Debug Dedicated Server|Win32.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Debug Dedicated Server|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Debug Dedicated Server|x64.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Debug|Win32.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Debug|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Debug|x64.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLDebug|Win32.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLDebug|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLDebug|x64.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLRelease|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLRelease|Win32.Build.0 = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.GLRelease|x64.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MDebug|Win32.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MDebug|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MDebug|x64.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MinGLDebug|Win32.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MinGLDebug|Win32.Build.0 = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MinGLDebug|x64.ActiveCfg = Debug|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MinGLRelease|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MinGLRelease|Win32.Build.0 = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MinGLRelease|x64.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MRelease|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MRelease|Win32.Build.0 = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.MRelease|x64.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Release Dedicated Server|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Release Dedicated Server|Win32.Build.0 = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Release Dedicated Server|x64.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Release|Win32.ActiveCfg = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Release|Win32.Build.0 = Release|Win32 + {4877586B-E85B-4DF8-BCCE-59D31514D240}.Release|x64.ActiveCfg = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/engine/dotnet2005/ftequake.vcproj b/engine/dotnet2005/ftequake.vcproj index fe20858a0..86db71ef5 100644 --- a/engine/dotnet2005/ftequake.vcproj +++ b/engine/dotnet2005/ftequake.vcproj @@ -114,6 +114,934 @@ Name="VCPostBuildEventTool" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2116,16 +2107,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2136,16 +2117,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2156,16 +2127,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2176,16 +2137,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2196,16 +2147,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2216,16 +2157,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2236,16 +2167,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2257,7 +2178,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -2320,16 +2311,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2340,16 +2321,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2360,16 +2331,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2380,16 +2341,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2400,16 +2351,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2420,16 +2361,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2440,16 +2371,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2461,7 +2382,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -2528,16 +2519,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2548,16 +2529,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2568,16 +2539,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2588,16 +2549,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2608,16 +2559,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2628,16 +2569,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2648,16 +2579,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2669,7 +2590,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -2732,16 +2723,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2752,16 +2733,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2772,16 +2743,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2792,16 +2753,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2812,16 +2763,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2832,16 +2773,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2852,16 +2783,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2873,7 +2794,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -2936,16 +2927,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2956,16 +2937,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2976,16 +2947,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -2996,16 +2957,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3016,16 +2967,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3036,16 +2977,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3056,16 +2987,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3077,7 +2998,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -3140,16 +3131,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3160,16 +3141,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3180,16 +3151,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3200,16 +3161,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3220,16 +3171,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3240,16 +3181,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3260,16 +3191,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3281,7 +3202,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -3344,16 +3335,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3364,16 +3345,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3384,16 +3355,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3404,16 +3365,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3424,16 +3375,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3444,16 +3385,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3464,16 +3395,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3485,7 +3406,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -3548,16 +3539,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3568,16 +3549,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3588,16 +3559,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3608,16 +3569,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3628,16 +3579,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3648,16 +3589,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3668,16 +3599,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3689,7 +3610,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -3752,16 +3743,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3772,16 +3753,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3792,16 +3763,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3812,16 +3773,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3832,16 +3783,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3852,16 +3793,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3872,16 +3803,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3893,7 +3814,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -3956,16 +3947,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3976,16 +3957,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -3996,16 +3967,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4016,16 +3977,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4036,16 +3987,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4056,16 +3997,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4076,16 +4007,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4097,7 +4018,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -4160,16 +4151,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4180,16 +4161,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4200,16 +4171,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4220,16 +4181,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4240,16 +4191,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4260,16 +4201,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4280,16 +4211,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4301,7 +4222,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -4364,16 +4355,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4384,16 +4365,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4404,16 +4375,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4424,16 +4385,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4444,16 +4395,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4464,16 +4405,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4484,16 +4415,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4505,7 +4426,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -4568,16 +4559,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4588,16 +4569,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4608,16 +4579,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4628,16 +4589,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4648,16 +4599,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4668,16 +4609,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4688,16 +4619,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4709,7 +4630,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -4772,16 +4763,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4792,16 +4773,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4812,16 +4783,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4832,16 +4793,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4852,16 +4803,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4872,16 +4813,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4892,16 +4823,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4913,7 +4834,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -4976,16 +4967,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -4996,16 +4977,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5016,16 +4987,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5036,16 +4997,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5056,16 +5007,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5076,16 +5017,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5096,16 +5027,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5117,7 +5038,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -5174,14 +5167,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5190,14 +5175,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5206,14 +5183,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5222,14 +5191,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5238,14 +5199,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5254,14 +5207,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5270,14 +5215,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5287,7 +5224,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -5338,14 +5331,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5354,14 +5339,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5370,14 +5347,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5386,14 +5355,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5402,14 +5363,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5418,14 +5371,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5434,14 +5379,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5451,7 +5388,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -5502,14 +5495,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5518,14 +5503,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5534,14 +5511,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5550,14 +5519,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5566,14 +5527,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5582,14 +5535,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5598,14 +5543,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5615,7 +5552,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -5672,16 +5663,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5692,16 +5673,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5712,16 +5683,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5732,16 +5693,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5752,16 +5703,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5772,16 +5713,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5792,16 +5723,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5813,7 +5734,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -5876,16 +5867,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5896,16 +5877,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5916,16 +5887,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5936,16 +5897,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5956,16 +5907,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5976,16 +5917,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -5996,16 +5927,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -6017,7 +5938,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -6082,16 +6072,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - @@ -6124,16 +6093,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -6144,16 +6103,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -6164,16 +6113,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -6184,16 +6123,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -6204,16 +6133,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -6225,7 +6144,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -6289,15 +6281,6 @@ PreprocessorDefinitions="" /> - - - @@ -6307,15 +6290,6 @@ PreprocessorDefinitions="" /> - - - @@ -6325,15 +6299,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6363,15 +6318,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6401,15 +6337,6 @@ PreprocessorDefinitions="" /> - - - @@ -6420,7 +6347,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -6479,15 +6470,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6517,15 +6489,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6555,15 +6508,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6593,15 +6527,6 @@ PreprocessorDefinitions="" /> - - - @@ -6612,7 +6537,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -6669,15 +6661,6 @@ PreprocessorDefinitions="" /> - - - @@ -6687,15 +6670,6 @@ PreprocessorDefinitions="" /> - - - @@ -6705,15 +6679,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6743,15 +6698,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6781,15 +6717,6 @@ PreprocessorDefinitions="" /> - - - @@ -6800,7 +6727,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -6857,15 +6849,6 @@ PreprocessorDefinitions="" /> - - - @@ -6875,15 +6858,6 @@ PreprocessorDefinitions="" /> - - - @@ -6893,15 +6867,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6931,15 +6886,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -6969,15 +6905,6 @@ PreprocessorDefinitions="" /> - - - @@ -6988,7 +6915,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7045,15 +7037,6 @@ PreprocessorDefinitions="" /> - - - @@ -7063,15 +7046,6 @@ PreprocessorDefinitions="" /> - - - @@ -7081,15 +7055,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7119,15 +7074,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7157,15 +7093,6 @@ PreprocessorDefinitions="" /> - - - @@ -7176,7 +7103,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7233,15 +7225,6 @@ PreprocessorDefinitions="" /> - - - @@ -7251,15 +7234,6 @@ PreprocessorDefinitions="" /> - - - @@ -7269,15 +7243,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7307,15 +7262,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7345,15 +7281,6 @@ PreprocessorDefinitions="" /> - - - @@ -7364,7 +7291,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7421,15 +7413,6 @@ PreprocessorDefinitions="" /> - - - @@ -7439,15 +7422,6 @@ PreprocessorDefinitions="" /> - - - @@ -7457,15 +7431,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7495,15 +7450,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7533,15 +7469,6 @@ PreprocessorDefinitions="" /> - - - @@ -7552,7 +7479,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7609,15 +7601,6 @@ PreprocessorDefinitions="" /> - - - @@ -7627,15 +7610,6 @@ PreprocessorDefinitions="" /> - - - @@ -7645,15 +7619,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7683,15 +7638,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7721,15 +7657,6 @@ PreprocessorDefinitions="" /> - - - @@ -7740,7 +7667,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7797,15 +7789,6 @@ PreprocessorDefinitions="" /> - - - @@ -7815,15 +7798,6 @@ PreprocessorDefinitions="" /> - - - @@ -7833,15 +7807,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7871,15 +7826,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -7909,15 +7845,6 @@ PreprocessorDefinitions="" /> - - - @@ -7928,7 +7855,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -7985,15 +7977,6 @@ PreprocessorDefinitions="" /> - - - @@ -8003,15 +7986,6 @@ PreprocessorDefinitions="" /> - - - @@ -8021,15 +7995,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8059,15 +8014,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8097,15 +8033,6 @@ PreprocessorDefinitions="" /> - - - @@ -8116,7 +8043,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -8173,15 +8165,6 @@ PreprocessorDefinitions="" /> - - - @@ -8191,15 +8174,6 @@ PreprocessorDefinitions="" /> - - - @@ -8209,15 +8183,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8247,15 +8202,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8285,15 +8221,6 @@ PreprocessorDefinitions="" /> - - - @@ -8304,7 +8231,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -8361,15 +8353,6 @@ PreprocessorDefinitions="" /> - - - @@ -8379,15 +8362,6 @@ PreprocessorDefinitions="" /> - - - @@ -8397,15 +8371,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8435,15 +8390,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8473,15 +8409,6 @@ PreprocessorDefinitions="" /> - - - @@ -8492,7 +8419,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -8553,15 +8545,6 @@ PreprocessorDefinitions="" /> - - - @@ -8571,15 +8554,6 @@ PreprocessorDefinitions="" /> - - - @@ -8589,15 +8563,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8627,15 +8582,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8665,15 +8601,6 @@ PreprocessorDefinitions="" /> - - - @@ -8684,7 +8611,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -8741,15 +8733,6 @@ PreprocessorDefinitions="" /> - - - @@ -8759,15 +8742,6 @@ PreprocessorDefinitions="" /> - - - @@ -8777,15 +8751,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8815,15 +8770,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8853,15 +8789,6 @@ PreprocessorDefinitions="" /> - - - @@ -8872,7 +8799,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -8931,15 +8922,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -8969,15 +8941,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9007,15 +8960,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9045,15 +8979,6 @@ PreprocessorDefinitions="" /> - - - @@ -9064,7 +8989,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -9121,15 +9113,6 @@ PreprocessorDefinitions="" /> - - - @@ -9139,15 +9122,6 @@ PreprocessorDefinitions="" /> - - - @@ -9157,15 +9131,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9195,15 +9150,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9233,15 +9169,6 @@ PreprocessorDefinitions="" /> - - - @@ -9252,7 +9179,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -9309,15 +9301,6 @@ PreprocessorDefinitions="" /> - - - @@ -9327,15 +9310,6 @@ PreprocessorDefinitions="" /> - - - @@ -9345,15 +9319,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9383,15 +9338,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9421,15 +9357,6 @@ PreprocessorDefinitions="" /> - - - @@ -9440,7 +9367,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -9497,15 +9489,6 @@ PreprocessorDefinitions="" /> - - - @@ -9515,15 +9498,6 @@ PreprocessorDefinitions="" /> - - - @@ -9533,15 +9507,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9571,15 +9526,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9609,15 +9545,6 @@ PreprocessorDefinitions="" /> - - - @@ -9628,7 +9555,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -9685,15 +9677,6 @@ PreprocessorDefinitions="" /> - - - @@ -9703,15 +9686,6 @@ PreprocessorDefinitions="" /> - - - @@ -9721,15 +9695,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9759,15 +9714,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9797,15 +9733,6 @@ PreprocessorDefinitions="" /> - - - @@ -9816,7 +9743,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -9873,15 +9865,6 @@ PreprocessorDefinitions="" /> - - - @@ -9891,15 +9874,6 @@ PreprocessorDefinitions="" /> - - - @@ -9909,15 +9883,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9947,15 +9902,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -9985,15 +9921,6 @@ PreprocessorDefinitions="" /> - - - @@ -10004,7 +9931,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -10061,15 +10053,6 @@ PreprocessorDefinitions="" /> - - - @@ -10079,15 +10062,6 @@ PreprocessorDefinitions="" /> - - - @@ -10097,15 +10071,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10135,15 +10090,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10173,15 +10109,6 @@ PreprocessorDefinitions="" /> - - - @@ -10192,7 +10119,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -10249,15 +10241,6 @@ PreprocessorDefinitions="" /> - - - @@ -10267,15 +10250,6 @@ PreprocessorDefinitions="" /> - - - @@ -10285,15 +10259,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10323,15 +10278,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10361,15 +10297,6 @@ PreprocessorDefinitions="" /> - - - @@ -10380,7 +10307,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -10437,15 +10429,6 @@ PreprocessorDefinitions="" /> - - - @@ -10455,15 +10438,6 @@ PreprocessorDefinitions="" /> - - - @@ -10473,15 +10447,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10511,15 +10466,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10549,15 +10485,6 @@ PreprocessorDefinitions="" /> - - - @@ -10568,7 +10495,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -10625,15 +10617,6 @@ PreprocessorDefinitions="" /> - - - @@ -10643,15 +10626,6 @@ PreprocessorDefinitions="" /> - - - @@ -10661,15 +10635,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10699,15 +10654,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10737,15 +10673,6 @@ PreprocessorDefinitions="" /> - - - @@ -10756,7 +10683,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -10813,15 +10805,6 @@ PreprocessorDefinitions="" /> - - - @@ -10831,15 +10814,6 @@ PreprocessorDefinitions="" /> - - - @@ -10849,15 +10823,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10887,15 +10842,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -10925,15 +10861,6 @@ PreprocessorDefinitions="" /> - - - @@ -10944,7 +10871,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -11001,15 +10993,6 @@ PreprocessorDefinitions="" /> - - - @@ -11019,15 +11002,6 @@ PreprocessorDefinitions="" /> - - - @@ -11037,15 +11011,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11075,15 +11030,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11113,15 +11049,6 @@ PreprocessorDefinitions="" /> - - - @@ -11132,7 +11059,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -11189,15 +11181,6 @@ PreprocessorDefinitions="" /> - - - @@ -11207,15 +11190,6 @@ PreprocessorDefinitions="" /> - - - @@ -11225,15 +11199,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11263,15 +11218,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11301,15 +11237,6 @@ PreprocessorDefinitions="" /> - - - @@ -11320,7 +11247,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -11377,15 +11369,6 @@ PreprocessorDefinitions="" /> - - - @@ -11395,15 +11378,6 @@ PreprocessorDefinitions="" /> - - - @@ -11413,15 +11387,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11451,15 +11406,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11489,15 +11425,6 @@ PreprocessorDefinitions="" /> - - - @@ -11508,7 +11435,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -11565,15 +11557,6 @@ PreprocessorDefinitions="" /> - - - @@ -11583,15 +11566,6 @@ PreprocessorDefinitions="" /> - - - @@ -11601,15 +11575,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11639,15 +11594,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11677,15 +11613,6 @@ PreprocessorDefinitions="" /> - - - @@ -11696,7 +11623,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -11753,15 +11745,6 @@ PreprocessorDefinitions="" /> - - - @@ -11771,15 +11754,6 @@ PreprocessorDefinitions="" /> - - - @@ -11789,15 +11763,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11827,15 +11782,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -11865,15 +11801,6 @@ PreprocessorDefinitions="" /> - - - @@ -11884,7 +11811,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - @@ -12019,15 +12011,6 @@ PreprocessorDefinitions="" /> - - - @@ -12037,15 +12020,6 @@ PreprocessorDefinitions="" /> - - - @@ -12055,15 +12029,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12093,15 +12048,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12131,15 +12067,6 @@ PreprocessorDefinitions="" /> - - - @@ -12150,7 +12077,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -12207,15 +12199,6 @@ PreprocessorDefinitions="" /> - - - @@ -12225,15 +12208,6 @@ PreprocessorDefinitions="" /> - - - @@ -12243,15 +12217,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12281,15 +12236,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12321,15 +12256,6 @@ PreprocessorDefinitions="" /> - - - @@ -12340,7 +12266,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -12397,15 +12389,6 @@ PreprocessorDefinitions="" /> - - - @@ -12415,15 +12398,6 @@ PreprocessorDefinitions="" /> - - - @@ -12433,15 +12407,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12471,15 +12426,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12509,15 +12445,6 @@ PreprocessorDefinitions="" /> - - - @@ -12528,7 +12455,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -12588,16 +12579,6 @@ UsePrecompiledHeader="0" /> - - - @@ -12608,16 +12589,6 @@ UsePrecompiledHeader="0" /> - - - @@ -12628,16 +12599,6 @@ UsePrecompiledHeader="0" /> - - - - - - @@ -12670,16 +12620,6 @@ UsePrecompiledHeader="0" /> - - - - - - @@ -12712,16 +12641,6 @@ UsePrecompiledHeader="0" /> - - - @@ -12733,7 +12652,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -12793,15 +12785,6 @@ PreprocessorDefinitions="" /> - - - @@ -12811,15 +12794,6 @@ PreprocessorDefinitions="" /> - - - @@ -12829,15 +12803,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12867,15 +12822,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -12905,15 +12841,6 @@ PreprocessorDefinitions="" /> - - - @@ -12924,7 +12851,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -12981,15 +12973,6 @@ PreprocessorDefinitions="" /> - - - @@ -12999,15 +12982,6 @@ PreprocessorDefinitions="" /> - - - @@ -13017,15 +12991,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13055,15 +13010,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13093,15 +13029,6 @@ PreprocessorDefinitions="" /> - - - @@ -13112,7 +13039,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -13169,15 +13161,6 @@ PreprocessorDefinitions="" /> - - - @@ -13187,15 +13170,6 @@ PreprocessorDefinitions="" /> - - - @@ -13205,15 +13179,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13243,15 +13198,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13281,15 +13217,6 @@ PreprocessorDefinitions="" /> - - - @@ -13300,7 +13227,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -13357,15 +13349,6 @@ PreprocessorDefinitions="" /> - - - @@ -13375,15 +13358,6 @@ PreprocessorDefinitions="" /> - - - @@ -13393,15 +13367,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13431,15 +13386,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13469,15 +13405,6 @@ PreprocessorDefinitions="" /> - - - @@ -13488,7 +13415,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -13545,15 +13537,6 @@ PreprocessorDefinitions="" /> - - - @@ -13563,15 +13546,6 @@ PreprocessorDefinitions="" /> - - - @@ -13581,15 +13555,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13619,15 +13574,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13657,15 +13593,6 @@ PreprocessorDefinitions="" /> - - - @@ -13676,7 +13603,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -13733,15 +13725,6 @@ PreprocessorDefinitions="" /> - - - @@ -13751,15 +13734,6 @@ PreprocessorDefinitions="" /> - - - @@ -13769,15 +13743,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13807,15 +13762,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13845,15 +13781,6 @@ PreprocessorDefinitions="" /> - - - @@ -13864,7 +13791,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -13921,15 +13913,6 @@ PreprocessorDefinitions="" /> - - - @@ -13939,15 +13922,6 @@ PreprocessorDefinitions="" /> - - - @@ -13957,15 +13931,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -13995,15 +13950,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14033,15 +13969,6 @@ PreprocessorDefinitions="" /> - - - @@ -14052,7 +13979,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -14109,15 +14101,6 @@ PreprocessorDefinitions="" /> - - - @@ -14127,15 +14110,6 @@ PreprocessorDefinitions="" /> - - - @@ -14145,15 +14119,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14183,15 +14138,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14221,15 +14157,6 @@ PreprocessorDefinitions="" /> - - - @@ -14240,7 +14167,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -14297,15 +14289,6 @@ PreprocessorDefinitions="" /> - - - @@ -14315,15 +14298,6 @@ PreprocessorDefinitions="" /> - - - @@ -14333,15 +14307,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14371,15 +14326,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14409,15 +14345,6 @@ PreprocessorDefinitions="" /> - - - @@ -14428,7 +14355,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -14485,15 +14477,6 @@ PreprocessorDefinitions="" /> - - - @@ -14503,15 +14486,6 @@ PreprocessorDefinitions="" /> - - - @@ -14521,15 +14495,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14559,15 +14514,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14597,15 +14533,6 @@ PreprocessorDefinitions="" /> - - - @@ -14616,7 +14543,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -14673,15 +14665,6 @@ PreprocessorDefinitions="" /> - - - @@ -14691,15 +14674,6 @@ PreprocessorDefinitions="" /> - - - @@ -14709,15 +14683,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14747,15 +14702,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14785,15 +14721,6 @@ PreprocessorDefinitions="" /> - - - @@ -14804,7 +14731,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -14864,15 +14856,6 @@ PreprocessorDefinitions="" /> - - - @@ -14882,15 +14865,6 @@ PreprocessorDefinitions="" /> - - - @@ -14900,15 +14874,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14938,15 +14893,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -14976,15 +14912,6 @@ PreprocessorDefinitions="" /> - - - @@ -14995,7 +14922,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -15088,15 +15080,6 @@ PreprocessorDefinitions="" /> - - - @@ -15106,15 +15089,6 @@ PreprocessorDefinitions="" /> - - - @@ -15124,15 +15098,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15162,15 +15117,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15200,15 +15136,6 @@ PreprocessorDefinitions="" /> - - - @@ -15219,7 +15146,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -15276,15 +15268,6 @@ PreprocessorDefinitions="" /> - - - @@ -15294,15 +15277,6 @@ PreprocessorDefinitions="" /> - - - @@ -15312,15 +15286,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15350,15 +15305,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15388,15 +15324,6 @@ PreprocessorDefinitions="" /> - - - @@ -15407,7 +15334,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -15464,15 +15456,6 @@ PreprocessorDefinitions="" /> - - - @@ -15482,15 +15465,6 @@ PreprocessorDefinitions="" /> - - - @@ -15500,15 +15474,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15538,15 +15493,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15576,15 +15512,6 @@ PreprocessorDefinitions="" /> - - - @@ -15595,7 +15522,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -15652,15 +15644,6 @@ PreprocessorDefinitions="" /> - - - @@ -15670,15 +15653,6 @@ PreprocessorDefinitions="" /> - - - @@ -15688,15 +15662,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15726,15 +15681,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15764,15 +15700,6 @@ PreprocessorDefinitions="" /> - - - @@ -15783,7 +15710,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -15840,15 +15832,6 @@ PreprocessorDefinitions="" /> - - - @@ -15858,15 +15841,6 @@ PreprocessorDefinitions="" /> - - - @@ -15876,15 +15850,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15914,15 +15869,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -15952,15 +15888,6 @@ PreprocessorDefinitions="" /> - - - @@ -15971,7 +15898,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -16028,15 +16020,6 @@ PreprocessorDefinitions="" /> - - - @@ -16046,15 +16029,6 @@ PreprocessorDefinitions="" /> - - - @@ -16064,15 +16038,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -16102,15 +16057,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -16140,15 +16076,6 @@ PreprocessorDefinitions="" /> - - - @@ -16159,7 +16086,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -16224,16 +16215,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16244,16 +16225,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16264,16 +16235,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16284,16 +16245,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16304,16 +16255,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16324,16 +16265,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16344,16 +16275,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16365,7 +16286,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -16428,16 +16419,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16448,16 +16429,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16468,16 +16439,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16488,16 +16449,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16508,16 +16459,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16528,16 +16469,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16548,16 +16479,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16569,7 +16490,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -16632,16 +16623,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16652,16 +16633,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16672,16 +16643,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16692,16 +16653,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16712,16 +16663,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16732,16 +16673,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16752,16 +16683,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16773,7 +16694,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -16836,16 +16827,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16856,16 +16837,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16876,16 +16847,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16896,16 +16857,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16916,16 +16867,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16936,16 +16877,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16956,16 +16887,6 @@ UsePrecompiledHeader="0" /> - - - @@ -16977,7 +16898,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -17040,16 +17031,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17060,16 +17041,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17080,16 +17051,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17100,16 +17061,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17120,16 +17071,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17140,16 +17081,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17160,16 +17091,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17181,7 +17102,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -17244,16 +17235,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17264,16 +17245,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17284,16 +17255,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17304,16 +17265,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17324,16 +17275,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17344,16 +17285,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17364,16 +17295,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17385,7 +17306,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -17442,14 +17435,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17458,14 +17443,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17474,14 +17451,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17490,14 +17459,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17506,14 +17467,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17522,14 +17475,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17538,14 +17483,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17555,7 +17492,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -17612,16 +17603,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17632,16 +17613,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17652,16 +17623,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17672,16 +17633,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17692,16 +17643,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17712,16 +17653,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17732,16 +17663,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17753,7 +17674,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -17816,16 +17807,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17836,16 +17817,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17856,16 +17827,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17876,16 +17837,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17896,16 +17847,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17916,16 +17857,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17936,16 +17867,6 @@ UsePrecompiledHeader="0" /> - - - @@ -17957,7 +17878,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -18020,16 +18011,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18040,16 +18021,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18060,16 +18031,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18080,16 +18041,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18100,16 +18051,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18120,16 +18061,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18140,16 +18071,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18161,7 +18082,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -18224,16 +18215,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18244,16 +18225,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18264,16 +18235,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18284,16 +18245,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18304,16 +18255,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18324,16 +18265,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18344,16 +18275,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18365,7 +18286,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -18428,16 +18419,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18448,16 +18429,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18468,16 +18439,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18488,16 +18449,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18508,16 +18459,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18528,16 +18469,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18548,16 +18479,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18569,7 +18490,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -18632,16 +18623,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18652,16 +18633,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18672,16 +18643,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18692,16 +18653,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18712,16 +18663,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18732,16 +18673,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18752,16 +18683,6 @@ UsePrecompiledHeader="0" /> - - - @@ -18773,7 +18694,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -18837,15 +18829,6 @@ PreprocessorDefinitions="" /> - - - @@ -18855,15 +18838,6 @@ PreprocessorDefinitions="" /> - - - @@ -18873,15 +18847,6 @@ PreprocessorDefinitions="" /> - - - @@ -18891,15 +18856,6 @@ PreprocessorDefinitions="" /> - - - @@ -18909,15 +18865,6 @@ PreprocessorDefinitions="" /> - - - @@ -18927,15 +18874,6 @@ PreprocessorDefinitions="" /> - - - @@ -18945,15 +18883,6 @@ PreprocessorDefinitions="" /> - - - @@ -18964,7 +18893,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -19021,15 +19013,6 @@ PreprocessorDefinitions="" /> - - - @@ -19039,15 +19022,6 @@ PreprocessorDefinitions="" /> - - - @@ -19057,15 +19031,6 @@ PreprocessorDefinitions="" /> - - - @@ -19075,15 +19040,6 @@ PreprocessorDefinitions="" /> - - - @@ -19093,15 +19049,6 @@ PreprocessorDefinitions="" /> - - - @@ -19111,15 +19058,6 @@ PreprocessorDefinitions="" /> - - - @@ -19129,15 +19067,6 @@ PreprocessorDefinitions="" /> - - - @@ -19148,7 +19077,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -19205,15 +19197,6 @@ PreprocessorDefinitions="" /> - - - @@ -19223,15 +19206,6 @@ PreprocessorDefinitions="" /> - - - @@ -19241,15 +19215,6 @@ PreprocessorDefinitions="" /> - - - @@ -19259,15 +19224,6 @@ PreprocessorDefinitions="" /> - - - @@ -19277,15 +19233,6 @@ PreprocessorDefinitions="" /> - - - @@ -19295,15 +19242,6 @@ PreprocessorDefinitions="" /> - - - @@ -19313,15 +19251,6 @@ PreprocessorDefinitions="" /> - - - @@ -19332,7 +19261,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -19389,15 +19381,6 @@ PreprocessorDefinitions="" /> - - - @@ -19407,15 +19390,6 @@ PreprocessorDefinitions="" /> - - - @@ -19425,15 +19399,6 @@ PreprocessorDefinitions="" /> - - - @@ -19443,15 +19408,6 @@ PreprocessorDefinitions="" /> - - - @@ -19461,15 +19417,6 @@ PreprocessorDefinitions="" /> - - - @@ -19479,15 +19426,6 @@ PreprocessorDefinitions="" /> - - - @@ -19497,15 +19435,6 @@ PreprocessorDefinitions="" /> - - - @@ -19516,7 +19445,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -19576,16 +19567,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19596,16 +19577,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19616,16 +19587,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19636,16 +19597,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19656,16 +19607,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19676,16 +19617,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19696,16 +19627,6 @@ UsePrecompiledHeader="0" /> - - - @@ -19717,7 +19638,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -19777,15 +19769,6 @@ PreprocessorDefinitions="" /> - - - @@ -19795,15 +19778,6 @@ PreprocessorDefinitions="" /> - - - @@ -19813,15 +19787,6 @@ PreprocessorDefinitions="" /> - - - @@ -19831,15 +19796,6 @@ PreprocessorDefinitions="" /> - - - @@ -19849,15 +19805,6 @@ PreprocessorDefinitions="" /> - - - @@ -19867,15 +19814,6 @@ PreprocessorDefinitions="" /> - - - @@ -19885,15 +19823,6 @@ PreprocessorDefinitions="" /> - - - @@ -19904,7 +19833,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - @@ -20028,16 +19989,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - @@ -20068,16 +20009,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - @@ -20232,16 +20193,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - @@ -20272,16 +20213,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -23005,15 +22997,6 @@ PreprocessorDefinitions="" /> - - - @@ -23023,15 +23006,6 @@ PreprocessorDefinitions="" /> - - - @@ -23041,15 +23015,6 @@ PreprocessorDefinitions="" /> - - - @@ -23059,15 +23024,6 @@ PreprocessorDefinitions="" /> - - - @@ -23077,15 +23033,6 @@ PreprocessorDefinitions="" /> - - - @@ -23095,15 +23042,6 @@ PreprocessorDefinitions="" /> - - - @@ -23113,15 +23051,6 @@ PreprocessorDefinitions="" /> - - - @@ -23132,7 +23061,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -23193,15 +23185,6 @@ PreprocessorDefinitions="" /> - - - @@ -23211,15 +23194,6 @@ PreprocessorDefinitions="" /> - - - @@ -23229,15 +23203,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -23267,15 +23222,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -23305,15 +23241,6 @@ PreprocessorDefinitions="" /> - - - @@ -23324,7 +23251,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -23381,15 +23373,6 @@ PreprocessorDefinitions="" /> - - - @@ -23399,15 +23382,6 @@ PreprocessorDefinitions="" /> - - - @@ -23417,15 +23391,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -23455,15 +23410,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -23493,15 +23429,6 @@ PreprocessorDefinitions="" /> - - - @@ -23512,7 +23439,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -23569,15 +23561,6 @@ PreprocessorDefinitions="" /> - - - @@ -23587,15 +23570,6 @@ PreprocessorDefinitions="" /> - - - @@ -23605,15 +23579,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -23643,15 +23598,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -23681,15 +23617,6 @@ PreprocessorDefinitions="" /> - - - @@ -23700,7 +23627,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -23757,15 +23749,6 @@ PreprocessorDefinitions="" /> - - - @@ -23775,15 +23758,6 @@ PreprocessorDefinitions="" /> - - - @@ -23793,15 +23767,6 @@ PreprocessorDefinitions="" /> - - - @@ -23811,15 +23776,6 @@ PreprocessorDefinitions="" /> - - - @@ -23829,15 +23785,6 @@ PreprocessorDefinitions="" /> - - - @@ -23847,15 +23794,6 @@ PreprocessorDefinitions="" /> - - - @@ -23865,15 +23803,6 @@ PreprocessorDefinitions="" /> - - - @@ -23884,7 +23813,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -23941,15 +23933,6 @@ PreprocessorDefinitions="" /> - - - @@ -23959,15 +23942,6 @@ PreprocessorDefinitions="" /> - - - @@ -23977,15 +23951,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24015,15 +23970,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24053,15 +23989,6 @@ PreprocessorDefinitions="" /> - - - @@ -24072,7 +23999,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -24129,15 +24121,6 @@ PreprocessorDefinitions="" /> - - - @@ -24147,15 +24130,6 @@ PreprocessorDefinitions="" /> - - - @@ -24165,15 +24139,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24203,15 +24158,6 @@ PreprocessorDefinitions="" /> - - - @@ -24221,15 +24167,6 @@ PreprocessorDefinitions="" /> - - - @@ -24239,15 +24176,6 @@ PreprocessorDefinitions="" /> - - - @@ -24258,7 +24186,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -24315,15 +24307,6 @@ PreprocessorDefinitions="" /> - - - @@ -24333,15 +24316,6 @@ PreprocessorDefinitions="" /> - - - @@ -24352,15 +24326,6 @@ EnableFunctionLevelLinking="true" /> - - - - - - @@ -24390,15 +24345,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24428,15 +24364,6 @@ PreprocessorDefinitions="" /> - - - @@ -24447,7 +24374,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -24504,15 +24496,6 @@ PreprocessorDefinitions="" /> - - - @@ -24522,15 +24505,6 @@ PreprocessorDefinitions="" /> - - - @@ -24540,15 +24514,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24578,15 +24533,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24616,15 +24552,6 @@ PreprocessorDefinitions="" /> - - - @@ -24636,7 +24563,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -24705,15 +24697,6 @@ PreprocessorDefinitions="" /> - - - @@ -24723,15 +24706,6 @@ PreprocessorDefinitions="" /> - - - @@ -24741,15 +24715,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24779,15 +24734,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -24817,15 +24753,6 @@ PreprocessorDefinitions="" /> - - - @@ -24836,7 +24763,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -25100,15 +25092,6 @@ PreprocessorDefinitions="" /> - - - @@ -25118,15 +25101,6 @@ PreprocessorDefinitions="" /> - - - @@ -25136,15 +25110,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25174,15 +25129,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25212,15 +25148,6 @@ PreprocessorDefinitions="" /> - - - @@ -25231,7 +25158,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -25288,15 +25280,6 @@ PreprocessorDefinitions="" /> - - - @@ -25306,15 +25289,6 @@ PreprocessorDefinitions="" /> - - - @@ -25324,15 +25298,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25362,15 +25317,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25400,15 +25336,6 @@ PreprocessorDefinitions="" /> - - - @@ -25419,7 +25346,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -25476,15 +25468,6 @@ PreprocessorDefinitions="" /> - - - @@ -25494,15 +25477,6 @@ PreprocessorDefinitions="" /> - - - @@ -25512,15 +25486,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25550,15 +25505,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25588,15 +25524,6 @@ PreprocessorDefinitions="" /> - - - @@ -25607,7 +25534,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -25664,15 +25656,6 @@ PreprocessorDefinitions="" /> - - - @@ -25682,15 +25665,6 @@ PreprocessorDefinitions="" /> - - - @@ -25700,15 +25674,6 @@ PreprocessorDefinitions="" /> - - - @@ -25718,15 +25683,6 @@ PreprocessorDefinitions="" /> - - - @@ -25736,15 +25692,6 @@ PreprocessorDefinitions="" /> - - - @@ -25754,15 +25701,6 @@ PreprocessorDefinitions="" /> - - - @@ -25772,15 +25710,6 @@ PreprocessorDefinitions="" /> - - - @@ -25791,7 +25720,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -25848,15 +25840,6 @@ PreprocessorDefinitions="" /> - - - @@ -25866,15 +25849,6 @@ PreprocessorDefinitions="" /> - - - @@ -25884,15 +25858,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25922,15 +25877,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -25960,15 +25896,6 @@ PreprocessorDefinitions="" /> - - - @@ -25979,7 +25906,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -26036,15 +26028,6 @@ PreprocessorDefinitions="" /> - - - @@ -26054,15 +26037,6 @@ PreprocessorDefinitions="" /> - - - @@ -26073,15 +26047,6 @@ EnableFunctionLevelLinking="true" /> - - - - - - @@ -26111,15 +26066,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26149,15 +26085,6 @@ PreprocessorDefinitions="" /> - - - @@ -26168,7 +26095,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -26225,15 +26217,6 @@ PreprocessorDefinitions="" /> - - - @@ -26243,15 +26226,6 @@ PreprocessorDefinitions="" /> - - - @@ -26261,15 +26235,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26299,15 +26254,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26337,15 +26273,6 @@ PreprocessorDefinitions="" /> - - - @@ -26356,7 +26283,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -26413,15 +26405,6 @@ PreprocessorDefinitions="" /> - - - @@ -26431,15 +26414,6 @@ PreprocessorDefinitions="" /> - - - @@ -26449,15 +26423,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26487,15 +26442,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26525,15 +26461,6 @@ PreprocessorDefinitions="" /> - - - @@ -26544,7 +26471,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -26605,15 +26597,6 @@ PreprocessorDefinitions="" /> - - - @@ -26623,15 +26606,6 @@ PreprocessorDefinitions="" /> - - - @@ -26641,15 +26615,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26679,15 +26634,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26717,15 +26653,6 @@ PreprocessorDefinitions="" /> - - - @@ -26736,7 +26663,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -26793,15 +26785,6 @@ PreprocessorDefinitions="" /> - - - @@ -26811,15 +26794,6 @@ PreprocessorDefinitions="" /> - - - @@ -26829,15 +26803,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26867,15 +26822,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -26905,15 +26841,6 @@ PreprocessorDefinitions="" /> - - - @@ -26924,7 +26851,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -26981,15 +26973,6 @@ PreprocessorDefinitions="" /> - - - @@ -26999,15 +26982,6 @@ PreprocessorDefinitions="" /> - - - @@ -27017,15 +26991,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -27055,15 +27010,6 @@ PreprocessorDefinitions="" /> - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -27122,15 +27132,6 @@ PreprocessorDefinitions="" /> - - - @@ -27207,16 +27208,6 @@ PreprocessorDefinitions="" /> - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -29680,15 +29672,6 @@ PreprocessorDefinitions="" /> - - - @@ -29698,15 +29681,6 @@ PreprocessorDefinitions="" /> - - - @@ -29716,15 +29690,6 @@ PreprocessorDefinitions="" /> - - - @@ -29734,15 +29699,6 @@ PreprocessorDefinitions="" /> - - - @@ -29752,15 +29708,6 @@ PreprocessorDefinitions="" /> - - - @@ -29770,15 +29717,6 @@ PreprocessorDefinitions="" /> - - - @@ -29788,15 +29726,6 @@ PreprocessorDefinitions="" /> - - - @@ -29807,7 +29736,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -29864,15 +29856,6 @@ PreprocessorDefinitions="" /> - - - @@ -29882,15 +29865,6 @@ PreprocessorDefinitions="" /> - - - @@ -29900,15 +29874,6 @@ PreprocessorDefinitions="" /> - - - @@ -29918,15 +29883,6 @@ PreprocessorDefinitions="" /> - - - @@ -29936,15 +29892,6 @@ PreprocessorDefinitions="" /> - - - @@ -29954,15 +29901,6 @@ PreprocessorDefinitions="" /> - - - @@ -29972,15 +29910,6 @@ PreprocessorDefinitions="" /> - - - @@ -29991,7 +29920,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -30055,16 +30046,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30075,16 +30056,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30095,16 +30066,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30115,16 +30076,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30135,16 +30086,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30155,16 +30096,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30175,16 +30106,6 @@ UsePrecompiledHeader="1" /> - - - @@ -30196,7 +30117,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -30256,15 +30248,6 @@ PreprocessorDefinitions="" /> - - - @@ -30274,15 +30257,6 @@ PreprocessorDefinitions="" /> - - - @@ -30292,15 +30266,6 @@ PreprocessorDefinitions="" /> - - - @@ -30310,15 +30275,6 @@ PreprocessorDefinitions="" /> - - - @@ -30328,15 +30284,6 @@ PreprocessorDefinitions="" /> - - - @@ -30346,15 +30293,6 @@ PreprocessorDefinitions="" /> - - - @@ -30364,15 +30302,6 @@ PreprocessorDefinitions="" /> - - - @@ -30383,7 +30312,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -30440,15 +30432,6 @@ PreprocessorDefinitions="" /> - - - @@ -30458,15 +30441,6 @@ PreprocessorDefinitions="" /> - - - @@ -30476,15 +30450,6 @@ PreprocessorDefinitions="" /> - - - @@ -30494,15 +30459,6 @@ PreprocessorDefinitions="" /> - - - @@ -30512,15 +30468,6 @@ PreprocessorDefinitions="" /> - - - @@ -30530,15 +30477,6 @@ PreprocessorDefinitions="" /> - - - @@ -30548,15 +30486,6 @@ PreprocessorDefinitions="" /> - - - @@ -30567,7 +30496,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -30624,15 +30616,6 @@ PreprocessorDefinitions="" /> - - - @@ -30642,15 +30625,6 @@ PreprocessorDefinitions="" /> - - - @@ -30660,15 +30634,6 @@ PreprocessorDefinitions="" /> - - - @@ -30678,15 +30643,6 @@ PreprocessorDefinitions="" /> - - - @@ -30696,15 +30652,6 @@ PreprocessorDefinitions="" /> - - - @@ -30714,15 +30661,6 @@ PreprocessorDefinitions="" /> - - - @@ -30732,15 +30670,6 @@ PreprocessorDefinitions="" /> - - - @@ -30751,7 +30680,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -30824,15 +30816,6 @@ PreprocessorDefinitions="" /> - - - @@ -30842,15 +30825,6 @@ PreprocessorDefinitions="" /> - - - @@ -30860,15 +30834,6 @@ PreprocessorDefinitions="" /> - - - @@ -30878,15 +30843,6 @@ PreprocessorDefinitions="" /> - - - @@ -30896,15 +30852,6 @@ PreprocessorDefinitions="" /> - - - @@ -30914,15 +30861,6 @@ PreprocessorDefinitions="" /> - - - @@ -30932,15 +30870,6 @@ PreprocessorDefinitions="" /> - - - @@ -30951,7 +30880,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -31008,15 +31000,6 @@ PreprocessorDefinitions="" /> - - - @@ -31026,15 +31009,6 @@ PreprocessorDefinitions="" /> - - - @@ -31044,15 +31018,6 @@ PreprocessorDefinitions="" /> - - - @@ -31062,15 +31027,6 @@ PreprocessorDefinitions="" /> - - - @@ -31080,15 +31036,6 @@ PreprocessorDefinitions="" /> - - - @@ -31098,15 +31045,6 @@ PreprocessorDefinitions="" /> - - - @@ -31116,15 +31054,6 @@ PreprocessorDefinitions="" /> - - - @@ -31135,7 +31064,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -31192,15 +31184,6 @@ PreprocessorDefinitions="" /> - - - @@ -31210,15 +31193,6 @@ PreprocessorDefinitions="" /> - - - @@ -31228,15 +31202,6 @@ PreprocessorDefinitions="" /> - - - @@ -31246,15 +31211,6 @@ PreprocessorDefinitions="" /> - - - @@ -31264,15 +31220,6 @@ PreprocessorDefinitions="" /> - - - @@ -31282,15 +31229,6 @@ PreprocessorDefinitions="" /> - - - @@ -31300,15 +31238,6 @@ PreprocessorDefinitions="" /> - - - @@ -31319,7 +31248,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -31379,16 +31370,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31399,16 +31380,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31419,16 +31390,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31439,16 +31400,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31459,16 +31410,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31479,16 +31420,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31499,16 +31430,6 @@ UsePrecompiledHeader="0" /> - - - @@ -31520,7 +31441,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -31580,15 +31572,6 @@ PreprocessorDefinitions="" /> - - - @@ -31598,15 +31581,6 @@ PreprocessorDefinitions="" /> - - - @@ -31616,15 +31590,6 @@ PreprocessorDefinitions="" /> - - - @@ -31634,15 +31599,6 @@ PreprocessorDefinitions="" /> - - - @@ -31652,15 +31608,6 @@ PreprocessorDefinitions="" /> - - - @@ -31670,15 +31617,6 @@ PreprocessorDefinitions="" /> - - - @@ -31688,15 +31626,6 @@ PreprocessorDefinitions="" /> - - - @@ -31707,7 +31636,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -31764,15 +31756,6 @@ PreprocessorDefinitions="" /> - - - @@ -31782,15 +31765,6 @@ PreprocessorDefinitions="" /> - - - @@ -31800,15 +31774,6 @@ PreprocessorDefinitions="" /> - - - @@ -31818,15 +31783,6 @@ PreprocessorDefinitions="" /> - - - @@ -31836,15 +31792,6 @@ PreprocessorDefinitions="" /> - - - @@ -31854,15 +31801,6 @@ PreprocessorDefinitions="" /> - - - @@ -31872,15 +31810,6 @@ PreprocessorDefinitions="" /> - - - @@ -31891,7 +31820,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -31948,15 +31940,6 @@ PreprocessorDefinitions="" /> - - - @@ -31966,15 +31949,6 @@ PreprocessorDefinitions="" /> - - - @@ -31984,15 +31958,6 @@ PreprocessorDefinitions="" /> - - - @@ -32002,15 +31967,6 @@ PreprocessorDefinitions="" /> - - - @@ -32020,15 +31976,6 @@ PreprocessorDefinitions="" /> - - - @@ -32038,15 +31985,6 @@ PreprocessorDefinitions="" /> - - - @@ -32056,15 +31994,6 @@ PreprocessorDefinitions="" /> - - - @@ -32075,7 +32004,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -32132,15 +32124,6 @@ PreprocessorDefinitions="" /> - - - @@ -32150,15 +32133,6 @@ PreprocessorDefinitions="" /> - - - @@ -32168,15 +32142,6 @@ PreprocessorDefinitions="" /> - - - @@ -32186,15 +32151,6 @@ PreprocessorDefinitions="" /> - - - @@ -32204,15 +32160,6 @@ PreprocessorDefinitions="" /> - - - @@ -32222,15 +32169,6 @@ PreprocessorDefinitions="" /> - - - @@ -32240,15 +32178,6 @@ PreprocessorDefinitions="" /> - - - @@ -32259,7 +32188,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -32316,15 +32308,6 @@ PreprocessorDefinitions="" /> - - - @@ -32334,15 +32317,6 @@ PreprocessorDefinitions="" /> - - - @@ -32352,15 +32326,6 @@ PreprocessorDefinitions="" /> - - - @@ -32370,15 +32335,6 @@ PreprocessorDefinitions="" /> - - - @@ -32388,15 +32344,6 @@ PreprocessorDefinitions="" /> - - - @@ -32406,15 +32353,6 @@ PreprocessorDefinitions="" /> - - - @@ -32424,15 +32362,6 @@ PreprocessorDefinitions="" /> - - - @@ -32443,7 +32372,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -32508,15 +32500,6 @@ PreprocessorDefinitions="" /> - - - @@ -32526,15 +32509,6 @@ PreprocessorDefinitions="" /> - - - @@ -32544,15 +32518,6 @@ PreprocessorDefinitions="" /> - - - @@ -32562,15 +32527,6 @@ PreprocessorDefinitions="" /> - - - @@ -32580,15 +32536,6 @@ PreprocessorDefinitions="" /> - - - @@ -32598,15 +32545,6 @@ PreprocessorDefinitions="" /> - - - @@ -32616,15 +32554,6 @@ PreprocessorDefinitions="" /> - - - @@ -32635,7 +32564,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -32692,15 +32684,6 @@ PreprocessorDefinitions="" /> - - - @@ -32710,15 +32693,6 @@ PreprocessorDefinitions="" /> - - - @@ -32728,15 +32702,6 @@ PreprocessorDefinitions="" /> - - - @@ -32746,15 +32711,6 @@ PreprocessorDefinitions="" /> - - - @@ -32764,15 +32720,6 @@ PreprocessorDefinitions="" /> - - - @@ -32782,15 +32729,6 @@ PreprocessorDefinitions="" /> - - - @@ -32800,15 +32738,6 @@ PreprocessorDefinitions="" /> - - - @@ -32819,7 +32748,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -32878,15 +32869,6 @@ PreprocessorDefinitions="" /> - - - - - - @@ -32916,15 +32888,6 @@ PreprocessorDefinitions="" /> - - - @@ -32934,15 +32897,6 @@ PreprocessorDefinitions="" /> - - - @@ -32952,15 +32906,6 @@ PreprocessorDefinitions="" /> - - - @@ -32970,15 +32915,6 @@ PreprocessorDefinitions="" /> - - - @@ -32988,15 +32924,6 @@ PreprocessorDefinitions="" /> - - - @@ -33007,7 +32934,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -33064,15 +33056,6 @@ PreprocessorDefinitions="" /> - - - @@ -33082,15 +33065,6 @@ PreprocessorDefinitions="" /> - - - @@ -33100,15 +33074,6 @@ PreprocessorDefinitions="" /> - - - @@ -33118,15 +33083,6 @@ PreprocessorDefinitions="" /> - - - @@ -33136,15 +33092,6 @@ PreprocessorDefinitions="" /> - - - @@ -33154,15 +33101,6 @@ PreprocessorDefinitions="" /> - - - @@ -33172,15 +33110,6 @@ PreprocessorDefinitions="" /> - - - @@ -33191,7 +33120,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -33245,14 +33238,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33261,14 +33246,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33277,14 +33254,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33293,14 +33262,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33309,14 +33270,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33325,14 +33278,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33341,14 +33286,6 @@ UsePrecompiledHeader="0" /> - - - @@ -33358,7 +33295,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -33415,16 +33406,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33435,16 +33416,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33455,16 +33426,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33475,16 +33436,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33495,16 +33446,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33515,16 +33456,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33535,16 +33466,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -33556,7 +33477,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -33619,16 +33610,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33639,16 +33620,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33659,16 +33630,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33679,16 +33640,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33699,16 +33650,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33719,16 +33660,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33739,16 +33670,6 @@ PrecompiledHeaderThrough="qwsvdef.h" /> - - - @@ -33760,7 +33681,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -33820,15 +33812,6 @@ PreprocessorDefinitions="" /> - - - @@ -33838,15 +33821,6 @@ PreprocessorDefinitions="" /> - - - @@ -33856,15 +33830,6 @@ PreprocessorDefinitions="" /> - - - @@ -33874,15 +33839,6 @@ PreprocessorDefinitions="" /> - - - @@ -33892,15 +33848,6 @@ PreprocessorDefinitions="" /> - - - @@ -33910,15 +33857,6 @@ PreprocessorDefinitions="" /> - - - @@ -33928,15 +33866,6 @@ PreprocessorDefinitions="" /> - - - @@ -33947,7 +33876,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -34007,16 +33998,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34027,16 +34008,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34047,16 +34018,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34067,16 +34028,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34087,16 +34038,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34107,16 +34048,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34127,16 +34058,6 @@ PrecompiledHeaderThrough="quakedef.h" /> - - - @@ -34148,7 +34069,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + - - - @@ -34208,15 +34200,6 @@ PreprocessorDefinitions="" /> - - - @@ -34226,15 +34209,6 @@ PreprocessorDefinitions="" /> - - - @@ -34244,15 +34218,6 @@ PreprocessorDefinitions="" /> - - - @@ -34262,15 +34227,6 @@ PreprocessorDefinitions="" /> - - - @@ -34280,15 +34236,6 @@ PreprocessorDefinitions="" /> - - - @@ -34298,15 +34245,6 @@ PreprocessorDefinitions="" /> - - - @@ -34316,15 +34254,6 @@ PreprocessorDefinitions="" /> - - - @@ -34335,7 +34264,7 @@ /> + + + + + + + + + + + + + + + + + + + + + + + + = 8) //the OUT enumeration allows specific speaker control. but also api level 5+ + chans = AudioFormat.CHANNEL_OUT_7POINT1; + else if (schannels >= 6) + chans = AudioFormat.CHANNEL_OUT_5POINT1; + else if (schannels >= 4) + chans = AudioFormat.CHANNEL_OUT_QUAD; + else if (schannels >= 2) + chans = AudioFormat.CHANNEL_CONFIGURATION_STEREO; + else + chans = AudioFormat.CHANNEL_CONFIGURATION_MONO; + int enc = (sbits == 8)?AudioFormat.ENCODING_PCM_8BIT:AudioFormat.ENCODING_PCM_16BIT; + + int sz = 2*AudioTrack.getMinBufferSize(sspeed, chans, enc); // if (sz < sspeed * 0.05) // sz = sspeed * 0.05; - AudioTrack at = new AudioTrack(AudioManager.STREAM_MUSIC, sspeed, ((speakers==2)?AudioFormat.CHANNEL_CONFIGURATION_STEREO:AudioFormat.CHANNEL_CONFIGURATION_MONO), AudioFormat.ENCODING_PCM_16BIT, sz, AudioTrack.MODE_STREAM); + AudioTrack at = new AudioTrack(AudioManager.STREAM_MUSIC, sspeed, chans, enc, sz, AudioTrack.MODE_STREAM); at.setStereoVolume(1, 1); at.play(); - while(!timetodie) { avail = FTEDroidEngine.paintaudio(audbuf, audbuf.length); @@ -356,14 +376,18 @@ public class FTEDroidActivity extends Activity catch(InterruptedException e) { } + timetodie = false; } }; - private void audioInit() + private void audioInit(int sspeed, int schannels, int sbits) { if (audiothread == null) { audiothread = new audiothreadclass(); + audiothread.schannels = schannels; + audiothread.sspeed = sspeed; + audiothread.sbits = sbits; audiothread.start(); } } @@ -377,8 +401,11 @@ public class FTEDroidActivity extends Activity } public void audioResume() { - audioStop(); - audioInit(); + if (audiothread != null) + { + audiothread.killoff(); + audiothread.start(); + } } private FTELegacyInputEvent inputevent; @@ -499,10 +526,6 @@ public class FTEDroidActivity extends Activity setRenderer(rndr); setFocusable(true); setFocusableInTouchMode(true); - - android.util.Log.i("FTEDroid", "starting audio"); - audioInit(); - android.util.Log.i("FTEDroid", "audio running"); } private void sendKey(final boolean presseddown, final int qcode, final int unicode) diff --git a/engine/droid/src/com/fteqw/FTEDroidEngine.java b/engine/droid/src/com/fteqw/FTEDroidEngine.java index e551d4cf3..c46cba1c0 100644 --- a/engine/droid/src/com/fteqw/FTEDroidEngine.java +++ b/engine/droid/src/com/fteqw/FTEDroidEngine.java @@ -8,6 +8,7 @@ public class FTEDroidEngine public static native void keypress(int down, int qkey, int unicode); public static native void motion(int act, int pointerid, float x, float y, float size); public static native int paintaudio(byte[] stream, int len); + public static native int audioinfo(int arg); public static native String geterrormessage(); public static native String getpreferedorientation(); public static native void newglcontext(); diff --git a/engine/gl/gl_alias.c b/engine/gl/gl_alias.c index 9c9b97ac4..f5b0b9015 100644 --- a/engine/gl/gl_alias.c +++ b/engine/gl/gl_alias.c @@ -1014,6 +1014,7 @@ void R_GAlias_GenerateBatches(entity_t *e, batch_t **batches) b->buildmeshes = R_GAlias_DrawBatch; b->ent = e; + b->fog = CM_FogForOrigin(e->origin); b->mesh = NULL; b->firstmesh = 0; b->meshes = 1; @@ -1770,6 +1771,13 @@ static void R_DB_Sprite(batch_t *batch) Vector4Copy(e->shaderRGBAf, colours[2]); Vector4Copy(e->shaderRGBAf, colours[3]); + VectorSubtract(sprorigin, e->origin, sprorigin); + if (!e->scale) + e->scale = 1; + VectorSet(e->axis[0], 1/e->scale, 0, 0); + VectorSet(e->axis[1], 0, 1/e->scale, 0); + VectorSet(e->axis[2], 0, 0, 1/e->scale); + VectorMA (sprorigin, frame->down, spraxis[2], point); VectorMA (point, frame->left, spraxis[1], vertcoords[0]); @@ -1782,7 +1790,6 @@ static void R_DB_Sprite(batch_t *batch) VectorMA (sprorigin, frame->down, spraxis[2], point); VectorMA (point, frame->right, spraxis[1], vertcoords[3]); - batch->ent = &r_worldentity; batch->mesh = &meshptr; memset(&mesh, 0, sizeof(mesh)); @@ -1856,6 +1863,7 @@ static void R_Sprite_GenerateBatch(entity_t *e, batch_t **batches, void (*drawfu b->buildmeshes = drawfunc; b->ent = e; + b->fog = CM_FogForOrigin(e->origin); b->mesh = NULL; b->firstmesh = 0; b->meshes = 1; diff --git a/engine/gl/gl_backend.c b/engine/gl/gl_backend.c index 37a9a9cb0..a12626123 100644 --- a/engine/gl/gl_backend.c +++ b/engine/gl/gl_backend.c @@ -90,6 +90,14 @@ static const char PCFPASS_SHADER[] = "\ }"; +enum +{ + LSHADER_STANDARD, + LSHADER_CUBE, + LSHADER_SMAP, + LSHADER_SPOT, + LSHADER_MODES +}; extern cvar_t r_glsl_offsetmapping, r_noportals; @@ -105,7 +113,9 @@ struct { // int vbo_texcoords[SHADER_PASS_MAX]; // int vbo_deforms; //holds verticies... in case you didn't realise. - qboolean inited_shader_rtlight; + const shader_t *shader_light[LSHADER_MODES]; + qboolean inited_shader_light[LSHADER_MODES]; +/* qboolean inited_shader_rtlight; const shader_t *shader_rtlight; qboolean inited_shader_cubeproj; const shader_t *shader_cubeproj; @@ -113,7 +123,7 @@ struct { const shader_t *shader_smap; qboolean inited_shader_spot; const shader_t *shader_spot; - +*/ const shader_t *crepskyshader; const shader_t *crepopaqueshader; @@ -193,10 +203,12 @@ struct { const entity_t *curentity; const batch_t *curbatch; const texnums_t *curtexnums; + const mfog_t *fog; float curtime; float updatetime; + int lightmode; vec3_t lightorg; vec3_t lightcolours; vec3_t lightcolourscale; @@ -1165,6 +1177,12 @@ void GenerateFogTexture(texid_t *tex, float density, float zscale) byte_vec4_t fogdata[FOGS*FOGT]; int s, t; float f, z; + static float fogdensity, fogzscale; + if (TEXVALID(*tex) && density == fogdensity && zscale == fogzscale) + return; + fogdensity = density; + fogzscale = zscale; + for(s = 0; s < FOGS; s++) for(t = 0; t < FOGT; t++) { @@ -1172,7 +1190,7 @@ void GenerateFogTexture(texid_t *tex, float density, float zscale) z *= zscale; if (0)//q3 - f = pow(f, 0.5); + f = pow(z, 0.5); else if (1)//GL_EXP f = 1-exp(-density * z); else //GL_EXP2 @@ -1239,6 +1257,7 @@ void GLBE_Init(void) for (i = 0; i < MAXLIGHTMAPS; i++) shaderstate.dummybatch.lightmap[i] = -1; +#if FIXME /*normally we load these lazily, but if they're probably going to be used anyway, load them now to avoid stalls.*/ if (r_shadow_realtime_dlight.ival && !shaderstate.inited_shader_rtlight && gl_config.arb_shader_objects) { @@ -1250,6 +1269,7 @@ void GLBE_Init(void) shaderstate.inited_shader_cubeproj = true; shaderstate.shader_cubeproj = R_RegisterCustom("rtlight_cubeproj", Shader_LightPass_CubeProj, NULL); } +#endif gl_overbright.modified = true; /*in case the d3d renderer does the same*/ /*lock the cvar down if the backend can't actually do it*/ @@ -1311,7 +1331,7 @@ static void tcgen_environment(float *st, unsigned int numverts, float *xyz, floa } } -static void tcgen_fog(float *st, unsigned int numverts, float *xyz) +static void tcgen_fog(float *st, unsigned int numverts, float *xyz, mfog_t *fog) { int i; @@ -1359,9 +1379,6 @@ static float *tcgen(unsigned int tcgen, int cnt, float *dst, const mesh_t *mesh) return (float*)mesh->st_array; tcgen_environment(dst, cnt, (float*)mesh->xyz_array, (float*)mesh->normals_array); return dst; - case TC_GEN_FOG: - tcgen_fog(dst, cnt, (float*)mesh->xyz_array); - return dst; // case TC_GEN_DOTPRODUCT: // return mesh->st_array[0]; @@ -1464,23 +1481,17 @@ static void tcmod(const tcmod_t *tcmod, int cnt, const float *src, float *dst, c } } -static void GenerateTCFog(int passnum) +static void GenerateTCFog(int passnum, mfog_t *fog) { int m; - float *src; mesh_t *mesh; for (m = 0; m < shaderstate.meshcount; m++) { mesh = shaderstate.meshes[m]; - - src = tcgen(TC_GEN_FOG, mesh->numvertexes, texcoordarray[passnum]+mesh->vbofirstvert*2, mesh); - if (src != texcoordarray[passnum]+mesh->vbofirstvert*2) - { - //this shouldn't actually ever be true - memcpy(texcoordarray[passnum]+mesh->vbofirstvert*2, src, 8*mesh->numvertexes); - } + tcgen_fog(texcoordarray[passnum]+mesh->vbofirstvert*2, mesh->numvertexes, (float*)mesh->xyz_array, fog); } GL_SelectVBO(0); + qglClientActiveTextureARB(mtexid0 + passnum); qglTexCoordPointer(2, GL_FLOAT, 0, texcoordarray[passnum]); } static void GenerateTCMods(const shaderpass_t *pass, int passnum) @@ -3088,36 +3099,6 @@ void GLBE_SelectMode(backendmode_t mode) //don't actually change stencil stuff - caller needs to be //aware of how many times stuff is drawn, so they can do that themselves. break; - - case BEM_SMAPLIGHT: - if (!shaderstate.inited_shader_smap) - { - shaderstate.inited_shader_smap = true; - shaderstate.shader_smap = R_RegisterCustom("rtlight_shadowmap", Shader_LightPass_PCF, NULL); - } - break; - - case BEM_SMAPLIGHTSPOT: - if (!shaderstate.inited_shader_spot) - { - shaderstate.inited_shader_spot = true; - shaderstate.shader_spot = R_RegisterCustom("rtlight_spot", Shader_LightPass_Spot, NULL); - } - break; - - case BEM_LIGHT: - if (!shaderstate.inited_shader_rtlight && gl_config.arb_shader_objects) - { - shaderstate.inited_shader_rtlight = true; - shaderstate.shader_rtlight = R_RegisterCustom("rtlight", Shader_LightPass_Std, NULL); - } - if (!shaderstate.inited_shader_cubeproj && gl_config.arb_shader_objects) - { - shaderstate.inited_shader_cubeproj = true; - shaderstate.shader_cubeproj = R_RegisterCustom("rtlight_sube", Shader_LightPass_CubeProj, NULL); - } - break; - case BEM_CREPUSCULAR: if (!shaderstate.crepopaqueshader) { @@ -3204,6 +3185,7 @@ static void BE_SelectFog(vec3_t colour, float alpha, float density) void GLBE_SelectDLight(dlight_t *dl, vec3_t colour) { float view[16], proj[16]; + int lmode; /*generate light projection information*/ float nearplane = 4; @@ -3229,6 +3211,15 @@ void GLBE_SelectDLight(dlight_t *dl, vec3_t colour) #endif shaderstate.lastuniform = 0; + + lmode = 0; + if (dl->fov && shaderstate.shader_light[lmode|LSHADER_SPOT]->prog) + lmode |= LSHADER_SPOT; + if ((dl->flags & LFLAG_SHADOWMAP) && shaderstate.shader_light[lmode|LSHADER_SMAP]->prog) + lmode |= LSHADER_SMAP; + if (TEXVALID(shaderstate.lightcubemap) && shaderstate.shader_light[lmode|LSHADER_CUBE]->prog) + lmode |= LSHADER_CUBE; + shaderstate.lightmode = lmode; } void GLBE_PushOffsetShadow(qboolean pushdepth) @@ -3435,23 +3426,46 @@ static void DrawMeshes(void) break; #ifdef RTLIGHTS case BEM_SMAPLIGHTSPOT: - if (shaderstate.shader_smap->prog) - BE_RenderMeshProgram(shaderstate.shader_spot, shaderstate.shader_spot->passes); - break; +// if (shaderstate.shader_spot->prog) +// BE_RenderMeshProgram(shaderstate.shader_spot, shaderstate.shader_spot->passes); +// break; case BEM_SMAPLIGHT: - if (shaderstate.shader_smap->prog) - BE_RenderMeshProgram(shaderstate.shader_smap, shaderstate.shader_smap->passes); - break; +// if (shaderstate.shader_smap->prog) +// BE_RenderMeshProgram(shaderstate.shader_smap, shaderstate.shader_smap->passes); +// break; case BEM_LIGHT: - if (!shaderstate.inited_shader_rtlight) + if (!shaderstate.shader_light[shaderstate.lightmode]) { - BE_LegacyLighting(); - break; + if (!shaderstate.inited_shader_light[shaderstate.lightmode]) + { + shaderstate.inited_shader_light[shaderstate.lightmode] = true; + switch(shaderstate.lightmode) + { + case LSHADER_SMAP: + shaderstate.shader_light[shaderstate.lightmode] = R_RegisterCustom("rtlight_shadowmap", Shader_LightPass_PCF, NULL); + break; + case LSHADER_SPOT: + shaderstate.shader_light[shaderstate.lightmode] = R_RegisterCustom("rtlight_spot", Shader_LightPass_Spot, NULL); + break; + case LSHADER_STANDARD: + shaderstate.shader_light[shaderstate.lightmode] = R_RegisterCustom("rtlight", Shader_LightPass_Std, NULL); + break; + case LSHADER_CUBE: + shaderstate.shader_light[shaderstate.lightmode] = R_RegisterCustom("rtlight_cube", Shader_LightPass_CubeProj, NULL); + break; + } + + if (!shaderstate.shader_light[shaderstate.lightmode]) + break; + } + else + { + BE_LegacyLighting(); + break; + } } - if (TEXVALID(shaderstate.lightcubemap) && shaderstate.shader_cubeproj->prog) - BE_RenderMeshProgram(shaderstate.shader_cubeproj, shaderstate.shader_cubeproj->passes); - else if (shaderstate.shader_rtlight->prog) - BE_RenderMeshProgram(shaderstate.shader_rtlight, shaderstate.shader_rtlight->passes); + + BE_RenderMeshProgram(shaderstate.shader_light[shaderstate.lightmode], shaderstate.shader_light[shaderstate.lightmode]->passes); break; case BEM_DEPTHNORM: BE_RenderMeshProgram(shaderstate.depthnormshader, shaderstate.depthnormshader->passes); @@ -3477,7 +3491,7 @@ static void DrawMeshes(void) GL_DeselectVAO(); GL_DeSelectProgram(); - GenerateTCFog(0); + GenerateTCFog(0, NULL); BE_EnableShaderAttributes((1u<fog) + { + GL_DeselectVAO(); + GL_DeSelectProgram(); + + GenerateFogTexture(&shaderstate.fogtexture, shaderstate.curbatch->fog->shader->fog_dist, 2048); + shaderstate.fogfar = 1.0f/2048; /*scaler for z coords*/ + + while(shaderstate.lastpasstmus>0) + { + GL_LazyBind(--shaderstate.lastpasstmus, 0, r_nulltex); + } + GL_LazyBind(0, GL_TEXTURE_2D, shaderstate.fogtexture); + shaderstate.lastpasstmus = 1; + + Vector4Scale(shaderstate.curbatch->fog->shader->fog_color, (1/255.0), shaderstate.pendingcolourflat); + shaderstate.pendingcolourvbo = 0; + shaderstate.pendingcolourpointer = NULL; + BE_SetPassBlendMode(0, PBM_MODULATE); + BE_SendPassBlendDepthMask(SBITS_SRCBLEND_SRC_ALPHA | SBITS_DSTBLEND_ONE_MINUS_SRC_ALPHA | SBITS_MISC_DEPTHEQUALONLY); + + GenerateTCFog(0, shaderstate.curbatch->fog); + BE_EnableShaderAttributes((1u<= shaderstate.maxwbatches) { shaderstate.wbatch++; return NULL; } - return &shaderstate.wbatches[shaderstate.wbatch++]; + b = &shaderstate.wbatches[shaderstate.wbatch++]; + b->fog = NULL; + return b; } /*called from shadowmapping code*/ diff --git a/engine/gl/gl_model.c b/engine/gl/gl_model.c index 8f0fedd01..49a4c9071 100644 --- a/engine/gl/gl_model.c +++ b/engine/gl/gl_model.c @@ -2502,19 +2502,29 @@ static void RMod_Batches_Generate(model_t *mod) plane[3] = 0; } - if (lbatch && (lbatch->texture == surf->texinfo->texture && lbatch->lightmap[0] == surf->lightmaptexturenums[0] && Vector4Compare(plane, lbatch->plane) && lbatch->firstmesh + surf->mesh->numvertexes <= MAX_INDICIES) && - lbatch->lightmap[1] == surf->lightmaptexturenums[1] && - lbatch->lightmap[2] == surf->lightmaptexturenums[2] && - lbatch->lightmap[3] == surf->lightmaptexturenums[3]) + if (lbatch && ( + lbatch->texture == surf->texinfo->texture && + lbatch->lightmap[0] == surf->lightmaptexturenums[0] && + Vector4Compare(plane, lbatch->plane) && + lbatch->firstmesh + surf->mesh->numvertexes <= MAX_INDICIES) && + lbatch->lightmap[1] == surf->lightmaptexturenums[1] && + lbatch->lightmap[2] == surf->lightmaptexturenums[2] && + lbatch->lightmap[3] == surf->lightmaptexturenums[3] && + lbatch->fog == surf->fog) batch = lbatch; else { for (batch = mod->batches[sortid]; batch; batch = batch->next) { - if (batch->texture == surf->texinfo->texture && batch->lightmap[0] == surf->lightmaptexturenums[0] && Vector4Compare(plane, batch->plane) && batch->firstmesh + surf->mesh->numvertexes <= MAX_INDICIES && - batch->lightmap[1] == surf->lightmaptexturenums[1] && - batch->lightmap[2] == surf->lightmaptexturenums[2] && - batch->lightmap[3] == surf->lightmaptexturenums[3]) + if ( + batch->texture == surf->texinfo->texture && + batch->lightmap[0] == surf->lightmaptexturenums[0] && + Vector4Compare(plane, batch->plane) && + batch->firstmesh + surf->mesh->numvertexes <= MAX_INDICIES && + batch->lightmap[1] == surf->lightmaptexturenums[1] && + batch->lightmap[2] == surf->lightmaptexturenums[2] && + batch->lightmap[3] == surf->lightmaptexturenums[3] && + batch->fog == surf->fog) break; } } @@ -2528,6 +2538,7 @@ static void RMod_Batches_Generate(model_t *mod) batch->texture = surf->texinfo->texture; batch->next = mod->batches[sortid]; batch->ent = &r_worldentity; + batch->fog = surf->fog; Vector4Copy(plane, batch->plane); mod->batches[sortid] = batch; diff --git a/engine/gl/gl_model.h b/engine/gl/gl_model.h index 0dc48d14b..5ac8b2264 100644 --- a/engine/gl/gl_model.h +++ b/engine/gl/gl_model.h @@ -108,6 +108,7 @@ typedef struct batch_s int lightmap[MAXLIGHTMAPS]; /*used for shader lightmap textures*/ unsigned char lightstyle[MAXLIGHTMAPS]; + struct mfog_s *fog; struct texture_s *texture; /*is this used by the backend?*/ struct texnums_s *skin; diff --git a/engine/gl/gl_screen.c b/engine/gl/gl_screen.c index 5bcc65dc1..04b101fcb 100644 --- a/engine/gl/gl_screen.c +++ b/engine/gl/gl_screen.c @@ -134,6 +134,7 @@ void GLSCR_UpdateScreen (void) R2D_BrightenScreen(); GL_EndRendering (); GL_DoSwap(); + GL_Set2D (false); RSpeedEnd(RSPEED_TOTALREFRESH); return; } diff --git a/engine/gl/gl_shader.c b/engine/gl/gl_shader.c index 8933c2d23..1d355d909 100644 --- a/engine/gl/gl_shader.c +++ b/engine/gl/gl_shader.c @@ -2387,7 +2387,7 @@ static void Shaderpass_VideoMap (shader_t *shader, shaderpass_t *pass, char **pt { char *token; - token = Shader_ParseString (ptr); + token = Shader_ParseSensString (ptr); #ifdef NOMEDIA #else diff --git a/engine/gl/gl_shadow.c b/engine/gl/gl_shadow.c index 32247c109..208ad0571 100644 --- a/engine/gl/gl_shadow.c +++ b/engine/gl/gl_shadow.c @@ -3026,7 +3026,7 @@ void Sh_DrawLights(qbyte *vis) { Sh_DrawShadowlessLight(dl, colour, vis); } - else if ((dl->flags & LFLAG_SHADOWMAP) || dl->fov || r_shadow_shadowmapping.ival) + else if ((dl->flags & LFLAG_SHADOWMAP) || r_shadow_shadowmapping.ival) { #ifdef GLQUAKE Sh_DrawShadowMapLight(dl, colour, vis); diff --git a/engine/gl/r_bishaders.h b/engine/gl/r_bishaders.h index fd7fbd517..5690411cb 100644 --- a/engine/gl/r_bishaders.h +++ b/engine/gl/r_bishaders.h @@ -498,10 +498,11 @@ YOU SHOULD NOT EDIT THIS FILE BY HAND #endif #ifdef GLQUAKE {QR_OPENGL, 110, "defaultwall", -"!!permu OFFSETMAPPING\n" +"!!permu DELUXE\n" "!!permu FULLBRIGHT\n" "!!permu FOG\n" "!!permu LIGHTSTYLED\n" +"!!permu BUMP\n" "!!cvarf r_glsl_offsetmapping_scale\n" //this is what normally draws all of your walls, even with rtlights disabled @@ -557,18 +558,22 @@ YOU SHOULD NOT EDIT THIS FILE BY HAND "#ifdef FRAGMENT_SHADER\n" //samplers -"uniform sampler2D s_t0;\n" -"uniform sampler2D s_t1;\n" -"#ifdef OFFSETMAPPING\n" -"uniform sampler2D s_t2;\n" +"uniform sampler2D s_t0; //diffuse\n" +"uniform sampler2D s_t1; //lightmap0\n" +"#if defined(OFFSETMAPPING) || defined(DELUXE)\n" +"uniform sampler2D s_t2; //normal\n" "#endif\n" +"uniform sampler2D s_t3; //deluxe0\n" "#ifdef FULLBRIGHT\n" -"uniform sampler2D s_t4;\n" +"uniform sampler2D s_t4; //fullbright\n" "#endif\n" "#ifdef LIGHTSTYLED\n" -"uniform sampler2D s_t5;\n" -"uniform sampler2D s_t6;\n" -"uniform sampler2D s_t7;\n" +"uniform sampler2D s_t5; //lightmap1\n" +"uniform sampler2D s_t6; //lightmap2\n" +"uniform sampler2D s_t7; //lightmap3\n" +"uniform sampler2D s_t8; //deluxe1\n" +"uniform sampler2D s_t9; //deluxe2\n" +"uniform sampler2D s_t10; //deluxe3\n" "#endif\n" "#ifdef LIGHTSTYLED\n" @@ -582,26 +587,50 @@ YOU SHOULD NOT EDIT THIS FILE BY HAND "#endif\n" "void main ()\n" "{\n" +//adjust texture coords for offsetmapping "#ifdef OFFSETMAPPING\n" "vec2 tcoffsetmap = offsetmap(s_t2, tc, eyevector);\n" "#define tc tcoffsetmap\n" "#endif\n" + +//yay, regular texture! "gl_FragColor = texture2D(s_t0, tc);\n" + +//modulate that by the lightmap(s) including deluxemap(s) "#ifdef LIGHTSTYLED\n" "vec4 lightmaps;\n" +"#ifdef DELUXE\n" +"vec3 norm = texture2D(s_t2, tc).rgb;\n" +"lightmaps = texture2D(s_t1, lm ) * e_lmscale[0] * dot(norm, texture2D(s_t3, lm ));\n" +"lightmaps += texture2D(s_t5, lm2) * e_lmscale[1] * dot(norm, texture2D(s_t8, lm2));\n" +"lightmaps += texture2D(s_t6, lm3) * e_lmscale[2] * dot(norm, texture2D(s_t9, lm3));\n" +"lightmaps += texture2D(s_t7, lm4) * e_lmscale[3] * dot(norm, texture2D(s_t10,lm4));\n" +"#else\n" "lightmaps = texture2D(s_t1, lm ) * e_lmscale[0];\n" "lightmaps += texture2D(s_t5, lm2) * e_lmscale[1];\n" "lightmaps += texture2D(s_t6, lm3) * e_lmscale[2];\n" "lightmaps += texture2D(s_t7, lm4) * e_lmscale[3];\n" +"#endif\n" "gl_FragColor.rgb *= lightmaps.rgb;\n" "#else\n" +"#ifdef DELUXE\n" +//gl_FragColor.rgb = dot(normalize(texture2D(s_t2, tc).rgb - 0.5), normalize(texture2D(s_t3, lm).rgb - 0.5)); +//gl_FragColor.rgb = texture2D(s_t3, lm).rgb; +"gl_FragColor.rgb *= (texture2D(s_t1, lm) * e_lmscale).rgb * dot(normalize(texture2D(s_t2, tc).rgb-0.5), 2.0*(texture2D(s_t3, lm).rgb-0.5));\n" +"#else\n" "gl_FragColor.rgb *= (texture2D(s_t1, lm) * e_lmscale).rgb;\n" "#endif\n" +"#endif\n" +//add on the fullbright "#ifdef FULLBRIGHT\n" "gl_FragColor.rgb += texture2D(s_t4, tc).rgb;\n" "#endif\n" + +//entity modifiers "gl_FragColor = gl_FragColor * e_colourident;\n" + +//and finally hide it all if we're fogged. "#ifdef FOG\n" "gl_FragColor = fog4(gl_FragColor);\n" "#endif\n" @@ -890,7 +919,6 @@ YOU SHOULD NOT EDIT THIS FILE BY HAND {QR_OPENGL, 110, "rtlight", "!!permu BUMP\n" "!!permu SPECULAR\n" -"!!permu OFFSETMAPPING\n" "!!permu SKELETAL\n" "!!permu FOG\n" "!!cvarf r_glsl_offsetmapping_scale\n" diff --git a/engine/gl/shader.h b/engine/gl/shader.h index 68e583c1d..32a4b3bd7 100644 --- a/engine/gl/shader.h +++ b/engine/gl/shader.h @@ -189,7 +189,6 @@ typedef struct shaderpass_s { TC_GEN_ENVIRONMENT, TC_GEN_DOTPRODUCT, TC_GEN_VECTOR, - TC_GEN_FOG, //these are really for use only in glsl stuff or perhaps cubemaps, as they generate 3d coords. TC_GEN_NORMAL, diff --git a/engine/qclib/qcc_pr_comp.c b/engine/qclib/qcc_pr_comp.c index 054796d5d..e7ce47a3e 100644 --- a/engine/qclib/qcc_pr_comp.c +++ b/engine/qclib/qcc_pr_comp.c @@ -3171,9 +3171,23 @@ QCC_def_t *QCC_PR_ParseFunctionCall (QCC_def_t *func) //warning, the func could if (!func->initialized) func->initialized = 3; func->references++; - t = QCC_PR_ParseType(false, false); - QCC_PR_Expect(")"); - return QCC_MakeIntConst(t->size * 4); + t = QCC_PR_ParseType(false, true); + if (t) + { + QCC_PR_Expect(")"); + return QCC_MakeIntConst(t->size * 4); + } + else + { + int oldstcount = numstatements; + e = QCC_PR_Expression (TOP_PRIORITY, EXPR_DISALLOW_COMMA); + //the term should not have side effects, or generate any actual statements. + numstatements = oldstcount; + QCC_PR_Expect(")"); + if (!e) + QCC_PR_ParseErrorPrintDef (ERR_NOTAFUNCTION, func, "sizeof term not supported"); + return QCC_MakeIntConst(e->type->size * 4 * e->arraysize); + } } if (!strcmp(func->name, "_")) { diff --git a/engine/server/svq3_game.c b/engine/server/svq3_game.c index 77cc51be2..c96958433 100644 --- a/engine/server/svq3_game.c +++ b/engine/server/svq3_game.c @@ -1674,6 +1674,7 @@ static void SV_InitBotLib(void) qboolean SVQ3_InitGame(void) { + int i; char buffer[8192]; char *str; char sysinfo[8192]; @@ -1748,10 +1749,13 @@ qboolean SVQ3_InitGame(void) q3_next_snapshot_entities = 0; q3_snapshot_entities = BZ_Malloc(sizeof( q3entityState_t ) * q3_num_snapshot_entities); -#ifdef USEBOTLIB - if (botlib) - VM_Call(q3gamevm, BOTAI_START_FRAME, (int)(sv.time*1000)); -#endif + + // run a few frames to allow everything to settle + for (i = 0; i < 3; i++) + { + SVQ3_RunFrame(); + sv.time += 0.1; + } return true; } diff --git a/fteqtv/dotnet2005/qtvprox.vcproj b/fteqtv/dotnet2005/qtvprox.vcproj index de11e9241..652e5b6fb 100644 --- a/fteqtv/dotnet2005/qtvprox.vcproj +++ b/fteqtv/dotnet2005/qtvprox.vcproj @@ -178,6 +178,7 @@ />