splash and shameless plug updates:
removed experimental splash stuff from h3/h5 for non-windows. if either of GLIDE_SPLASH or GLIDE_PLUG aren't defined their respective data are completey excluded from the binary image, and their respective functions aren't called at all.
This commit is contained in:
@@ -93,13 +93,11 @@
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
#include "banner.inc"
|
||||
#endif
|
||||
|
||||
/* display the translucent 3Dfx powerfield logo */
|
||||
void
|
||||
_grShamelessPlug(void)
|
||||
{
|
||||
#ifdef GLIDE_PLUG
|
||||
GrState state;
|
||||
|
||||
GR_BEGIN_NOFIFOCHECK("_grShamelessPlug", 80);
|
||||
@@ -185,5 +183,5 @@ _grShamelessPlug(void)
|
||||
grGlideSetState(&state);
|
||||
|
||||
GR_END();
|
||||
#endif /* GLIDE_PLUG */
|
||||
} /* _grShamelessPlug */
|
||||
#endif /* GLIDE_PLUG */
|
||||
|
||||
@@ -978,8 +978,10 @@ GR_ENTRY(grBufferSwap, void, (FxU32 swapInterval))
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_HW_CVG) */
|
||||
|
||||
#if ((GLIDE_PLATFORM & GLIDE_HW_CVG) || (GLIDE_PLATFORM & GLIDE_HW_H3))
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug) _grShamelessPlug();
|
||||
#endif
|
||||
|
||||
/* check for environmental override.
|
||||
*
|
||||
|
||||
@@ -731,8 +731,16 @@ _GlideInitEnvironment(void)
|
||||
(((envStr = GETENV(__envVar)) == NULL) ? (__defVal) : atol(envStr))
|
||||
|
||||
_GlideRoot.environment.triBoundsCheck = (GETENV("FX_GLIDE_BOUNDS_CHECK") != NULL);
|
||||
#ifdef GLIDE_SPLASH
|
||||
_GlideRoot.environment.noSplash = (GETENV("FX_GLIDE_NO_SPLASH") != NULL);
|
||||
#else
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
#endif
|
||||
#ifdef GLIDE_PLUG
|
||||
_GlideRoot.environment.shamelessPlug = (GETENV("FX_GLIDE_SHAMELESS_PLUG") != NULL);
|
||||
#else
|
||||
_GlideRoot.environment.shamelessPlug = 0;
|
||||
#endif
|
||||
_GlideRoot.environment.ignoreReopen = (GETENV("FX_GLIDE_IGNORE_REOPEN") != NULL);
|
||||
_GlideRoot.environment.texLodDither = ((GETENV("FX_GLIDE_LOD_DITHER") == NULL)
|
||||
? 0x00UL
|
||||
|
||||
@@ -129,6 +129,13 @@
|
||||
#include "fxglide.h"
|
||||
#include "fxinline.h"
|
||||
|
||||
#ifndef GLIDE_SPLASH
|
||||
GR_DIENTRY(grSplash,void,(float x,float y,float w,float h,FxU32 _frame)) {
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
#else /* GLIDE_SPLASH */
|
||||
|
||||
/*-----------------------------
|
||||
Constants
|
||||
-----------------------------*/
|
||||
@@ -1103,4 +1110,4 @@ GR_DIENTRY(grSplash,void,(float x,float y,float w,float h,FxU32 _frame))
|
||||
grVertexLayout(GR_PARAM_Q1, gc->state.vData.q1Info.offset ,
|
||||
gc->state.vData.q1Info.mode);
|
||||
}
|
||||
|
||||
#endif /* GLIDE_SPLASH */
|
||||
|
||||
@@ -1523,6 +1523,7 @@ __errSliExit:
|
||||
/* --------------------------------------------------------
|
||||
Splash Screen
|
||||
--------------------------------------------------------*/
|
||||
#ifdef GLIDE_SPLASH
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
if (!_GlideRoot.environment.noSplash) {
|
||||
HMODULE newSplash;
|
||||
@@ -1586,6 +1587,7 @@ __errSliExit:
|
||||
0);
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
_GlideRoot.windowsInit = FXTRUE; /* to avoid race with grSstControl() */
|
||||
|
||||
|
||||
@@ -105,29 +105,43 @@
|
||||
#include "fxglide.h"
|
||||
#include "fxcmd.h"
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
static const void *
|
||||
getPlugdata (FxU32* w, FxU32* h, FxI32* strideInBytes,
|
||||
GrLfbWriteMode_t* format)
|
||||
{
|
||||
GR_DCL_GC;
|
||||
if (gc->pluginInfo.plugProc != NULL)
|
||||
return (*gc->pluginInfo.plugProc)(w,h,strideInBytes,format);
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
static __inline const void *
|
||||
getPlugdata (FxU32* w, FxU32* h, FxI32* strideInBytes,
|
||||
GrLfbWriteMode_t* format)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
_grShamelessPlug(void)
|
||||
{
|
||||
GR_BEGIN_NOFIFOCHECK("_grShamelessPlug", 80);
|
||||
GDBG_INFO_MORE(gc->myLevel, "()\n");
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
if (gc->pluginInfo.plugProc != NULL) {
|
||||
FxU32
|
||||
plugWidth, plugHeight;
|
||||
FxI32
|
||||
plugStride;
|
||||
GrLfbWriteMode_t
|
||||
plugFormat;
|
||||
const void*
|
||||
plugData = (*gc->pluginInfo.plugProc)(&plugWidth, &plugHeight,
|
||||
&plugStride,
|
||||
&plugFormat);
|
||||
GrState state;
|
||||
FxU32 plugWidth, plugHeight;
|
||||
FxI32 plugStride;
|
||||
GrLfbWriteMode_t plugFormat;
|
||||
const void* plugData =
|
||||
getPlugdata(&plugWidth, &plugHeight, &plugStride, &plugFormat);
|
||||
|
||||
if (!plugData) return;
|
||||
|
||||
if (plugData != NULL) {
|
||||
#ifdef GLIDE_PLUG
|
||||
GrState state;
|
||||
|
||||
grGlideGetState(&state);
|
||||
grDisableAllEffects();
|
||||
|
||||
@@ -165,10 +179,8 @@ _grShamelessPlug(void)
|
||||
plugData);
|
||||
|
||||
grGlideSetState(&state);
|
||||
#endif /* GLIDE_PLUG */
|
||||
}
|
||||
}
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
|
||||
GR_END();
|
||||
} /* _grShamelessPlug */
|
||||
|
||||
#endif /* GLIDE_PLUG */
|
||||
|
||||
@@ -1061,8 +1061,10 @@ GR_ENTRY(grBufferSwap, void, (FxU32 swapInterval))
|
||||
GR_BEGIN_NOFIFOCHECK(FN_NAME,86);
|
||||
GDBG_INFO_MORE(gc->myLevel,"(%d)\n",swapInterval);
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug) _grShamelessPlug();
|
||||
#endif
|
||||
|
||||
/* check for environmental override */
|
||||
if (_GlideRoot.environment.swapInterval >= 0) {
|
||||
@@ -1180,8 +1182,10 @@ GR_ENTRY(grDRIBufferSwap, void, (FxU32 swapInterval))
|
||||
GR_BEGIN_NOFIFOCHECK(FN_NAME,86);
|
||||
GDBG_INFO_MORE(gc->myLevel,"(%d)\n",swapInterval);
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug) _grShamelessPlug();
|
||||
#endif
|
||||
|
||||
/* check for environmental override */
|
||||
if (_GlideRoot.environment.swapInterval >= 0) {
|
||||
|
||||
@@ -864,9 +864,17 @@ _GlideInitEnvironment(void)
|
||||
|
||||
_GlideRoot.environment.triBoundsCheck = (GETENV("FX_GLIDE_BOUNDS_CHECK") != NULL);
|
||||
GDBG_INFO(80," triBoundsCheck: %d\n",_GlideRoot.environment.triBoundsCheck);
|
||||
#ifdef GLIDE_SPLASH
|
||||
_GlideRoot.environment.noSplash = (GETENV("FX_GLIDE_NO_SPLASH") != NULL);
|
||||
#else
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
#endif
|
||||
GDBG_INFO(80," noSplash: %d\n",_GlideRoot.environment.noSplash);
|
||||
#ifdef GLIDE_PLUG
|
||||
_GlideRoot.environment.shamelessPlug = (GETENV("FX_GLIDE_SHAMELESS_PLUG") != NULL);
|
||||
#else
|
||||
_GlideRoot.environment.shamelessPlug = 0;
|
||||
#endif
|
||||
GDBG_INFO(80," shamelessPlug: %d\n",_GlideRoot.environment.shamelessPlug);
|
||||
_GlideRoot.environment.ignoreReopen = (GETENV("FX_GLIDE_IGNORE_REOPEN") != NULL);
|
||||
GDBG_INFO(80," ignoreReopen: %d\n",_GlideRoot.environment.ignoreReopen);
|
||||
|
||||
@@ -156,6 +156,19 @@
|
||||
* Updated grSplash code to set all of the necessary state itself rather
|
||||
* than expecting the caller to do so.
|
||||
*/
|
||||
#ifndef GLIDE_SPLASH
|
||||
#include <3dfx.h>
|
||||
#define FX_DLL_DEFINITION
|
||||
#include <fxdll.h>
|
||||
#include <glide.h>
|
||||
#include "fxglide.h"
|
||||
GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
float w, float h,
|
||||
FxU32 frameNumber)) {
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
#elif defined(_WIN32)
|
||||
#include <math.h>
|
||||
|
||||
#include <3dfx.h>
|
||||
@@ -188,7 +201,6 @@ GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
GR_BEGIN_NOFIFOCHECK("grSplash", 85);
|
||||
GDBG_INFO_MORE(gc->myLevel,"(%f,%f,%f,%f,%d)\n", x, y, w, h, frameNumber);
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
{
|
||||
GrState glideState;
|
||||
|
||||
@@ -201,8 +213,20 @@ GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
}
|
||||
grGlideSetState((const void*)&glideState);
|
||||
}
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
|
||||
GR_END();
|
||||
#undef FN_NAME
|
||||
}
|
||||
|
||||
#else /* others */
|
||||
#include <3dfx.h>
|
||||
#define FX_DLL_DEFINITION
|
||||
#include <fxdll.h>
|
||||
#include <glide.h>
|
||||
#include "fxglide.h"
|
||||
GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
float w, float h,
|
||||
FxU32 frameNumber)) {
|
||||
/* nothing */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -696,9 +696,11 @@ clearBuffers( GrGC *gc )
|
||||
static void
|
||||
doSplash( void )
|
||||
{
|
||||
#if defined(GLIDE_SPLASH) || ((GLIDE_PLATFORM & GLIDE_OS_WIN32) && defined(GLIDE_PLUG))
|
||||
GR_DCL_GC;
|
||||
#endif
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32) && (defined(GLIDE_SPLASH)||defined(GLIDE_PLUG))
|
||||
{
|
||||
FxBool
|
||||
didLoad;
|
||||
@@ -742,6 +744,7 @@ doSplash( void )
|
||||
}
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
|
||||
#ifdef GLIDE_SPLASH
|
||||
if (_GlideRoot.environment.noSplash == 0) {
|
||||
grSplash(0.0f, 0.0f,
|
||||
(float)gc->state.screen_width,
|
||||
@@ -749,6 +752,7 @@ doSplash( void )
|
||||
0);
|
||||
}
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
#endif
|
||||
} /* doSplash */
|
||||
|
||||
|
||||
|
||||
@@ -1,457 +0,0 @@
|
||||
static unsigned long fxPlugWidth = 180;
|
||||
static unsigned long fxPlugHeight = 90;
|
||||
static unsigned long fxPlugStride = 360;
|
||||
static unsigned char tga_16rle[] = {
|
||||
0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
|
||||
0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00,
|
||||
0xff, 0x00, 0x00, 0x98, 0x00, 0x00, 0x06, 0x00, 0x00, 0x40, 0x10, 0xa0,
|
||||
0x20, 0xe0, 0x30, 0x40, 0x41, 0x60, 0x51, 0xa0, 0x59, 0x81, 0xa0, 0x59,
|
||||
0x05, 0x80, 0x59, 0x60, 0x49, 0x20, 0x41, 0xc0, 0x28, 0x60, 0x10, 0x20,
|
||||
0x00, 0xff, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x0b, 0x20, 0x08, 0xa0, 0x20,
|
||||
0x40, 0x49, 0xe0, 0x69, 0xa1, 0x92, 0x41, 0xb3, 0xc1, 0xd3, 0xe1, 0xdb,
|
||||
0xe1, 0xdb, 0x01, 0xe4, 0x21, 0xe4, 0x21, 0xec, 0x81, 0x21, 0xec, 0x09,
|
||||
0x21, 0xec, 0x01, 0xe4, 0x01, 0xe4, 0xe1, 0xdb, 0xc1, 0xd3, 0x41, 0xbb,
|
||||
0x81, 0x8a, 0xc0, 0x61, 0xc0, 0x28, 0x00, 0x00, 0xff, 0x00, 0x00, 0x97,
|
||||
0x00, 0x00, 0x1d, 0x00, 0x00, 0xa0, 0x20, 0x80, 0x51, 0x61, 0x8a, 0x61,
|
||||
0xbb, 0xe1, 0xdb, 0x21, 0xec, 0x41, 0xf4, 0x41, 0xf4, 0x41, 0xec, 0x21,
|
||||
0xec, 0x21, 0xec, 0x21, 0xec, 0x21, 0xe4, 0x01, 0xe4, 0x01, 0xe4, 0x01,
|
||||
0xe4, 0x01, 0xe4, 0x01, 0xe4, 0x01, 0xe4, 0x01, 0xe4, 0x01, 0xe4, 0x01,
|
||||
0xe4, 0x21, 0xe4, 0x21, 0xec, 0x21, 0xec, 0xe1, 0xdb, 0x41, 0xb3, 0xe0,
|
||||
0x69, 0xa0, 0x20, 0xff, 0x00, 0x00, 0x92, 0x00, 0x00, 0x13, 0x00, 0x00,
|
||||
0xa0, 0x20, 0x00, 0x72, 0x41, 0xb3, 0x01, 0xe4, 0x61, 0xf4, 0x61, 0xfc,
|
||||
0x21, 0xec, 0x01, 0xe4, 0xe1, 0xdb, 0xc1, 0xd3, 0x61, 0xc3, 0x41, 0xbb,
|
||||
0x41, 0xbb, 0x41, 0xbb, 0x41, 0xbb, 0x81, 0xc3, 0xc1, 0xd3, 0xe1, 0xdb,
|
||||
0x01, 0xe4, 0x81, 0x21, 0xec, 0x01, 0x01, 0xe4, 0x01, 0xe4, 0x83, 0x01,
|
||||
0xe4, 0x06, 0x01, 0xe4, 0x01, 0xe4, 0x21, 0xec, 0x21, 0xec, 0xe1, 0xdb,
|
||||
0x81, 0x8a, 0x80, 0x20, 0xff, 0x00, 0x00, 0x8e, 0x00, 0x00, 0x0f, 0xa0,
|
||||
0x20, 0x00, 0x72, 0x41, 0xbb, 0x21, 0xec, 0x41, 0xf4, 0x01, 0xe4, 0x41,
|
||||
0xbb, 0x81, 0x8a, 0xe0, 0x69, 0x60, 0x49, 0xe0, 0x30, 0x80, 0x18, 0x40,
|
||||
0x10, 0x20, 0x08, 0x20, 0x00, 0x00, 0x00, 0x81, 0x20, 0x00, 0x09, 0x20,
|
||||
0x08, 0x40, 0x10, 0xc0, 0x28, 0x20, 0x41, 0xc0, 0x61, 0xa1, 0x92, 0xa1,
|
||||
0xcb, 0x01, 0xe4, 0x21, 0xec, 0x01, 0xe4, 0x85, 0x01, 0xe4, 0x04, 0x01,
|
||||
0xe4, 0x41, 0xec, 0xc1, 0xd3, 0xe0, 0x69, 0x20, 0x08, 0xff, 0x00, 0x00,
|
||||
0x89, 0x00, 0x00, 0x09, 0x40, 0x10, 0x80, 0x59, 0x01, 0xab, 0x01, 0xe4,
|
||||
0x21, 0xe4, 0x41, 0xbb, 0x20, 0x7a, 0x40, 0x49, 0x80, 0x18, 0x00, 0x00,
|
||||
0x90, 0x00, 0x00, 0x05, 0x40, 0x10, 0x20, 0x41, 0x61, 0x82, 0xc1, 0xd3,
|
||||
0x21, 0xec, 0x01, 0xe4, 0x85, 0x01, 0xe4, 0x03, 0x01, 0xe4, 0x41, 0xec,
|
||||
0x21, 0xb3, 0xc0, 0x28, 0xff, 0x00, 0x00, 0x86, 0x00, 0x00, 0x07, 0xc0,
|
||||
0x28, 0x61, 0x8a, 0xa1, 0xcb, 0xe1, 0xdb, 0xe1, 0xa2, 0xa0, 0x59, 0xa0,
|
||||
0x20, 0x00, 0x00, 0x97, 0x00, 0x00, 0x04, 0x80, 0x18, 0x00, 0x72, 0xa1,
|
||||
0xd3, 0x21, 0xec, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x03, 0x01, 0xe4, 0x21,
|
||||
0xec, 0xc1, 0xd3, 0x40, 0x49, 0xff, 0x00, 0x00, 0x83, 0x00, 0x00, 0x05,
|
||||
0x40, 0x41, 0xe1, 0xa2, 0xc1, 0xd3, 0x01, 0xab, 0xa0, 0x59, 0x80, 0x18,
|
||||
0x9d, 0x00, 0x00, 0x03, 0x80, 0x20, 0x81, 0x8a, 0x21, 0xec, 0x01, 0xe4,
|
||||
0x85, 0x01, 0xe4, 0x02, 0x21, 0xec, 0x01, 0xe4, 0x60, 0x51, 0xff, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x40, 0x49, 0x01, 0xab, 0x81, 0xcb, 0x81, 0x8a,
|
||||
0xe0, 0x30, 0xa2, 0x00, 0x00, 0x02, 0xa0, 0x59, 0xe1, 0xdb, 0x21, 0xec,
|
||||
0x85, 0x01, 0xe4, 0x02, 0x21, 0xe4, 0xe1, 0xdb, 0x00, 0x39, 0xfc, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x60, 0x51, 0x01, 0xab, 0x21, 0xb3, 0xc0, 0x61,
|
||||
0x40, 0x10, 0xa5, 0x00, 0x00, 0x02, 0x00, 0x39, 0xa1, 0xd3, 0x21, 0xec,
|
||||
0x85, 0x01, 0xe4, 0x02, 0x21, 0xec, 0xa1, 0xcb, 0x80, 0x20, 0xf9, 0x00,
|
||||
0x00, 0x05, 0x00, 0x00, 0x40, 0x49, 0xe1, 0xa2, 0xe1, 0xa2, 0x40, 0x49,
|
||||
0x00, 0x00, 0xa8, 0x00, 0x00, 0x02, 0xe0, 0x30, 0xc1, 0xd3, 0x21, 0xec,
|
||||
0x85, 0x01, 0xe4, 0x02, 0x21, 0xec, 0x21, 0xb3, 0x20, 0x08, 0xf7, 0x00,
|
||||
0x00, 0x03, 0x00, 0x39, 0xa1, 0x92, 0xa1, 0x9a, 0x00, 0x39, 0xac, 0x00,
|
||||
0x00, 0x02, 0x00, 0x39, 0xe1, 0xdb, 0x01, 0xe4, 0x85, 0x01, 0xe4, 0x01,
|
||||
0x41, 0xec, 0x00, 0x72, 0xf5, 0x00, 0x00, 0x03, 0x80, 0x20, 0x61, 0x8a,
|
||||
0xc1, 0x9a, 0x00, 0x39, 0xaf, 0x00, 0x00, 0x02, 0xa0, 0x61, 0x21, 0xec,
|
||||
0x01, 0xe4, 0x84, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xc1, 0xd3, 0x80, 0x20,
|
||||
0xf2, 0x00, 0x00, 0x04, 0x20, 0x08, 0xc0, 0x61, 0x81, 0x92, 0x40, 0x49,
|
||||
0x00, 0x00, 0xb0, 0x00, 0x00, 0x02, 0x00, 0x00, 0xe1, 0xa2, 0x21, 0xec,
|
||||
0x85, 0x01, 0xe4, 0x01, 0x41, 0xec, 0x40, 0x7a, 0xf1, 0x00, 0x00, 0x03,
|
||||
0x20, 0x41, 0x61, 0x8a, 0xa0, 0x59, 0x20, 0x08, 0xb3, 0x00, 0x00, 0x02,
|
||||
0xc0, 0x28, 0xe1, 0xdb, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x02, 0x01, 0xe4,
|
||||
0xc1, 0xd3, 0x60, 0x18, 0xee, 0x00, 0x00, 0x03, 0x80, 0x20, 0x20, 0x7a,
|
||||
0xe0, 0x69, 0x60, 0x18, 0xb6, 0x00, 0x00, 0x01, 0x81, 0x8a, 0x21, 0xec,
|
||||
0x85, 0x01, 0xe4, 0x01, 0x21, 0xec, 0xc0, 0x61, 0xec, 0x00, 0x00, 0x03,
|
||||
0x00, 0x00, 0x80, 0x51, 0x20, 0x7a, 0xe0, 0x30, 0xb8, 0x00, 0x00, 0x02,
|
||||
0xc0, 0x28, 0xe1, 0xdb, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x02, 0x21, 0xec,
|
||||
0x21, 0xab, 0x00, 0x00, 0xea, 0x00, 0x00, 0x03, 0xa0, 0x20, 0xe0, 0x69,
|
||||
0xa0, 0x59, 0x00, 0x00, 0xba, 0x00, 0x00, 0x01, 0xc1, 0x9a, 0x21, 0xec,
|
||||
0x84, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xe1, 0xdb, 0xa0, 0x20, 0xe8, 0x00,
|
||||
0x00, 0x03, 0x00, 0x00, 0x40, 0x41, 0xe0, 0x69, 0xa0, 0x20, 0xbc, 0x00,
|
||||
0x00, 0x02, 0x80, 0x51, 0x21, 0xec, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02,
|
||||
0x01, 0xe4, 0x21, 0xec, 0x80, 0x51, 0xe7, 0x00, 0x00, 0x03, 0x60, 0x18,
|
||||
0xa0, 0x61, 0x40, 0x49, 0x00, 0x00, 0xbd, 0x00, 0x00, 0x02, 0x80, 0x18,
|
||||
0xe1, 0xdb, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x01, 0x41, 0xec, 0x41, 0x82,
|
||||
0xe6, 0x00, 0x00, 0x02, 0x00, 0x39, 0xc0, 0x61, 0x80, 0x20, 0xbf, 0x00,
|
||||
0x00, 0x02, 0x00, 0x00, 0x21, 0xb3, 0x21, 0xec, 0x84, 0x01, 0xe4, 0x02,
|
||||
0x21, 0xec, 0x21, 0xb3, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x03, 0x20, 0x08,
|
||||
0x60, 0x51, 0x60, 0x49, 0x00, 0x00, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x87, 0x20, 0x00, 0x00, 0x00, 0x00, 0x8a, 0x00, 0x00, 0x09, 0xa2, 0x10,
|
||||
0x49, 0x4a, 0x4d, 0x6b, 0xef, 0x7b, 0x10, 0x84, 0x8e, 0x73, 0x0c, 0x63,
|
||||
0x49, 0x4a, 0x45, 0x29, 0x20, 0x00, 0x8f, 0x00, 0x00, 0x01, 0x41, 0x82,
|
||||
0x41, 0xec, 0x84, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xa1, 0xd3, 0x40, 0x10,
|
||||
0xe2, 0x00, 0x00, 0x02, 0x60, 0x18, 0x80, 0x59, 0xc0, 0x28, 0x94, 0x00,
|
||||
0x00, 0x00, 0x8a, 0x52, 0x87, 0x59, 0xce, 0x00, 0x8a, 0x52, 0x88, 0x00,
|
||||
0x00, 0x02, 0x28, 0x42, 0x55, 0xad, 0x5d, 0xef, 0x86, 0xff, 0xff, 0x01,
|
||||
0xdf, 0xff, 0x28, 0x42, 0x8f, 0x00, 0x00, 0x02, 0xa0, 0x59, 0x21, 0xec,
|
||||
0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xe1, 0xdb, 0xc0, 0x28,
|
||||
0xe1, 0x00, 0x00, 0x02, 0xe0, 0x30, 0x60, 0x51, 0x60, 0x10, 0x95, 0x00,
|
||||
0x00, 0x00, 0x6d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x6d, 0x6b, 0x87, 0x00,
|
||||
0x00, 0x01, 0x30, 0x84, 0xff, 0xff, 0x89, 0xff, 0xff, 0x00, 0x49, 0x4a,
|
||||
0x8f, 0x00, 0x00, 0x00, 0x20, 0x41, 0x81, 0x01, 0xe4, 0x83, 0x01, 0xe4,
|
||||
0x02, 0x01, 0xe4, 0x01, 0xe4, 0x20, 0x41, 0xdf, 0x00, 0x00, 0x03, 0x00,
|
||||
0x00, 0x20, 0x41, 0x20, 0x41, 0x00, 0x00, 0x96, 0x00, 0x00, 0x00, 0x4d,
|
||||
0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x86, 0x00, 0x00, 0x00, 0xcf,
|
||||
0x7b, 0x8b, 0xff, 0xff, 0x00, 0x49, 0x4a, 0x8f, 0x00, 0x00, 0x02, 0xc0,
|
||||
0x28, 0xe1, 0xdb, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x21,
|
||||
0xe4, 0x80, 0x51, 0xde, 0x00, 0x00, 0x02, 0x40, 0x10, 0x40, 0x49, 0xa0,
|
||||
0x28, 0x98, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x85, 0x00, 0x00, 0x01, 0x45, 0x29, 0xbe, 0xf7, 0x8b, 0xff, 0xff,
|
||||
0x00, 0x49, 0x4a, 0x8f, 0x00, 0x00, 0x02, 0x80, 0x20, 0xe1, 0xdb, 0x01,
|
||||
0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x21, 0xec, 0xa0, 0x59, 0xdd,
|
||||
0x00, 0x00, 0x02, 0x60, 0x18, 0x40, 0x49, 0x60, 0x18, 0x99, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x85, 0x00, 0x00,
|
||||
0x00, 0x51, 0x8c, 0x8c, 0xff, 0xff, 0x00, 0x49, 0x4a, 0x8f, 0x00, 0x00,
|
||||
0x02, 0x60, 0x10, 0xc1, 0xd3, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x01, 0x21,
|
||||
0xec, 0xc0, 0x61, 0xdc, 0x00, 0x00, 0x02, 0xa0, 0x20, 0x20, 0x41, 0x20,
|
||||
0x08, 0x9a, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0x00, 0x00, 0x38, 0xc6, 0x8c, 0xff, 0xff,
|
||||
0x00, 0x49, 0x4a, 0x8f, 0x00, 0x00, 0x02, 0x40, 0x10, 0xc1, 0xd3, 0x01,
|
||||
0xe4, 0x84, 0x01, 0xe4, 0x01, 0x21, 0xec, 0xc0, 0x61, 0xdb, 0x00, 0x00,
|
||||
0x02, 0xe0, 0x30, 0x00, 0x39, 0x00, 0x00, 0x9b, 0x00, 0x00, 0x00, 0x4d,
|
||||
0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0x61,
|
||||
0x08, 0x5d, 0xef, 0x89, 0xff, 0xff, 0x03, 0x7d, 0xef, 0x9a, 0xd6, 0x59,
|
||||
0xce, 0xc7, 0x39, 0x8f, 0x00, 0x00, 0x02, 0x40, 0x10, 0xc1, 0xd3, 0x01,
|
||||
0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x21, 0xec, 0xa0, 0x59, 0xd9,
|
||||
0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x39, 0xc0, 0x28, 0x9d, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xc3, 0x18, 0xbe, 0xf7, 0x87, 0xff, 0xff, 0x05, 0x3c, 0xe7, 0x2c,
|
||||
0x63, 0xa2, 0x10, 0x20, 0x00, 0x20, 0x00, 0x00, 0x00, 0x8f, 0x00, 0x00,
|
||||
0x02, 0x60, 0x10, 0xc1, 0xd3, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01,
|
||||
0xe4, 0x21, 0xec, 0x80, 0x51, 0xd8, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00,
|
||||
0x39, 0xa0, 0x20, 0x9e, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff,
|
||||
0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0x04, 0x21, 0xbe, 0xf7, 0x86,
|
||||
0xff, 0xff, 0x01, 0xff, 0xff, 0x28, 0x42, 0x94, 0x00, 0x00, 0x02, 0x80,
|
||||
0x20, 0xe1, 0xdb, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x01,
|
||||
0xe4, 0x40, 0x41, 0xd7, 0x00, 0x00, 0x02, 0x20, 0x08, 0x00, 0x39, 0x80,
|
||||
0x18, 0x9f, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x01, 0x79, 0xce, 0x00, 0x00, 0x94, 0x00, 0x00, 0x02, 0xc0, 0x28, 0xe1,
|
||||
0xdb, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xe1, 0xdb, 0xe0,
|
||||
0x30, 0xd6, 0x00, 0x00, 0x02, 0x40, 0x08, 0x20, 0x39, 0x60, 0x10, 0xa0,
|
||||
0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84,
|
||||
0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xb6,
|
||||
0xb5, 0x95, 0x00, 0x00, 0x02, 0x00, 0x39, 0x01, 0xe4, 0x01, 0xe4, 0x83,
|
||||
0x01, 0xe4, 0x02, 0x01, 0xe4, 0xc1, 0xdb, 0x80, 0x18, 0xd5, 0x00, 0x00,
|
||||
0x02, 0x20, 0x08, 0x00, 0x39, 0x40, 0x08, 0xa1, 0x00, 0x00, 0x00, 0x4d,
|
||||
0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x95, 0x00, 0x00,
|
||||
0x02, 0x60, 0x51, 0x21, 0xe4, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01,
|
||||
0xe4, 0x81, 0xc3, 0x20, 0x08, 0xd5, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
|
||||
0x00, 0xa2, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x95, 0x00, 0x00, 0x01, 0xe0, 0x69, 0x41, 0xec, 0x84,
|
||||
0x01, 0xe4, 0x02, 0x21, 0xec, 0xe1, 0xa2, 0x00, 0x00, 0xfa, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x95,
|
||||
0x00, 0x00, 0x01, 0x81, 0x8a, 0x41, 0xec, 0x84, 0x01, 0xe4, 0x01, 0x41,
|
||||
0xec, 0x41, 0x82, 0xfb, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff,
|
||||
0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86,
|
||||
0xff, 0xff, 0x00, 0xb6, 0xb5, 0x94, 0x00, 0x00, 0x02, 0x00, 0x00, 0x21,
|
||||
0xb3, 0x21, 0xec, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x21, 0xec, 0xa0,
|
||||
0x61, 0xdb, 0x00, 0x00, 0x07, 0x20, 0x00, 0x86, 0x31, 0xcb, 0x5a, 0x4d,
|
||||
0x6b, 0x4d, 0x6b, 0xaa, 0x52, 0x86, 0x31, 0x61, 0x08, 0x8f, 0x00, 0x00,
|
||||
0x05, 0x04, 0x21, 0x69, 0x4a, 0x2c, 0x63, 0x0c, 0x63, 0xe7, 0x39, 0x61,
|
||||
0x08, 0x81, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x81, 0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0x04, 0x21, 0xbe, 0xf7,
|
||||
0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x84, 0x00, 0x00, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x87, 0x00, 0x00, 0x85, 0x00, 0x00, 0x02, 0x60, 0x10, 0xc1,
|
||||
0xd3, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x01, 0xe4, 0x00,
|
||||
0x39, 0xd9, 0x00, 0x00, 0x03, 0x20, 0x00, 0x0c, 0x63, 0x59, 0xce, 0xdf,
|
||||
0xff, 0x83, 0xff, 0xff, 0x03, 0xdf, 0xff, 0xfb, 0xde, 0x30, 0x84, 0x24,
|
||||
0x21, 0x8b, 0x00, 0x00, 0x02, 0x24, 0x21, 0x14, 0xa5, 0x9e, 0xf7, 0x82,
|
||||
0xff, 0xff, 0x04, 0xff, 0xff, 0xdb, 0xde, 0x6d, 0x6b, 0x00, 0x00, 0x2c,
|
||||
0x63, 0x87, 0xff, 0xff, 0x02, 0x4d, 0x6b, 0x00, 0x00, 0x0c, 0x63, 0x81,
|
||||
0xf7, 0xbd, 0x02, 0xf7, 0xbd, 0x38, 0xc6, 0xff, 0xff, 0x86, 0xff, 0xff,
|
||||
0x00, 0x7d, 0xef, 0x81, 0xf7, 0xbd, 0x81, 0xf7, 0xbd, 0x03, 0x14, 0xa5,
|
||||
0x00, 0x00, 0xe7, 0x39, 0x18, 0xc6, 0x86, 0xf7, 0xbd, 0x00, 0xcf, 0x7b,
|
||||
0x84, 0x00, 0x00, 0x02, 0x00, 0x39, 0x01, 0xe4, 0x01, 0xe4, 0x83, 0x01,
|
||||
0xe4, 0x02, 0x01, 0xe4, 0xc1, 0xd3, 0x60, 0x10, 0xd8, 0x00, 0x00, 0x01,
|
||||
0xc3, 0x18, 0xb6, 0xb5, 0x89, 0xff, 0xff, 0x01, 0x5d, 0xef, 0xeb, 0x5a,
|
||||
0x89, 0x00, 0x00, 0x01, 0x86, 0x31, 0x1c, 0xe7, 0x87, 0xff, 0xff, 0x01,
|
||||
0xb2, 0x94, 0x6d, 0x6b, 0x87, 0xff, 0xff, 0x02, 0x4d, 0x6b, 0x00, 0x00,
|
||||
0x30, 0x84, 0x90, 0xff, 0xff, 0x03, 0x1c, 0xe7, 0x20, 0x00, 0xa2, 0x10,
|
||||
0xbe, 0xf7, 0x86, 0xff, 0xff, 0x01, 0x5d, 0xef, 0x61, 0x08, 0x83, 0x00,
|
||||
0x00, 0x02, 0xc0, 0x61, 0x21, 0xec, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02,
|
||||
0x21, 0xec, 0x21, 0xab, 0x00, 0x00, 0xd7, 0x00, 0x00, 0x01, 0xe3, 0x18,
|
||||
0x9a, 0xd6, 0x8c, 0xff, 0xff, 0x00, 0xcf, 0x7b, 0x87, 0x00, 0x00, 0x01,
|
||||
0xc3, 0x18, 0xfb, 0xde, 0x89, 0xff, 0xff, 0x00, 0x3c, 0xe7, 0x87, 0xff,
|
||||
0xff, 0x02, 0x4d, 0x6b, 0x00, 0x00, 0x10, 0x84, 0x90, 0xff, 0xff, 0x03,
|
||||
0xdb, 0xde, 0x41, 0x08, 0x00, 0x00, 0xd3, 0x9c, 0x87, 0xff, 0xff, 0x00,
|
||||
0xeb, 0x5a, 0x83, 0x00, 0x00, 0x01, 0xa1, 0x92, 0x21, 0xec, 0x84, 0x01,
|
||||
0xe4, 0x01, 0x41, 0xec, 0x21, 0x7a, 0xd7, 0x00, 0x00, 0x01, 0x20, 0x00,
|
||||
0xf7, 0xbd, 0x8e, 0xff, 0xff, 0x00, 0xcb, 0x5a, 0x85, 0x00, 0x00, 0x01,
|
||||
0x00, 0x00, 0x75, 0xad, 0x93, 0xff, 0xff, 0x02, 0x4d, 0x6b, 0x00, 0x00,
|
||||
0x10, 0x84, 0x90, 0xff, 0xff, 0x03, 0xdb, 0xde, 0x41, 0x08, 0x00, 0x00,
|
||||
0x08, 0x42, 0x87, 0xff, 0xff, 0x00, 0xb6, 0xb5, 0x82, 0x00, 0x00, 0x02,
|
||||
0x40, 0x10, 0xa1, 0xcb, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4,
|
||||
0x01, 0xe4, 0x40, 0x49, 0xd7, 0x00, 0x00, 0x00, 0x8e, 0x73, 0x8f, 0xff,
|
||||
0xff, 0x01, 0x3c, 0xe7, 0xa2, 0x10, 0x84, 0x00, 0x00, 0x00, 0x28, 0x42,
|
||||
0x94, 0xff, 0xff, 0x02, 0x4d, 0x6b, 0x00, 0x00, 0x10, 0x84, 0x90, 0xff,
|
||||
0xff, 0x04, 0xdb, 0xde, 0x41, 0x08, 0x00, 0x00, 0x20, 0x00, 0x9a, 0xd6,
|
||||
0x86, 0xff, 0xff, 0x01, 0xbe, 0xf7, 0x24, 0x21, 0x81, 0x00, 0x00, 0x02,
|
||||
0x40, 0x49, 0x21, 0xe4, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4,
|
||||
0xc1, 0xd3, 0x60, 0x18, 0xd6, 0x00, 0x00, 0x01, 0x61, 0x08, 0xfb, 0xde,
|
||||
0x86, 0xff, 0xff, 0x01, 0xba, 0xd6, 0x7d, 0xef, 0x87, 0xff, 0xff, 0x00,
|
||||
0x6d, 0x6b, 0x84, 0x00, 0x00, 0x00, 0x75, 0xad, 0x87, 0xff, 0xff, 0x03,
|
||||
0x3c, 0xe7, 0x92, 0x94, 0x51, 0x8c, 0x59, 0xce, 0x88, 0xff, 0xff, 0x02,
|
||||
0x4d, 0x6b, 0x00, 0x00, 0x10, 0x84, 0x90, 0xff, 0xff, 0x01, 0xfb, 0xde,
|
||||
0x41, 0x08, 0x81, 0x00, 0x00, 0x00, 0x8e, 0x73, 0x87, 0xff, 0xff, 0x00,
|
||||
0x10, 0x84, 0x81, 0x00, 0x00, 0x01, 0x61, 0x82, 0x41, 0xec, 0x84, 0x01,
|
||||
0xe4, 0x01, 0x21, 0xec, 0xc1, 0xa2, 0xd7, 0x00, 0x00, 0x00, 0xaa, 0x52,
|
||||
0x85, 0xff, 0xff, 0x04, 0x7d, 0xef, 0xaa, 0x52, 0x41, 0x08, 0x45, 0x29,
|
||||
0xdb, 0xde, 0x86, 0xff, 0xff, 0x01, 0xf7, 0xbd, 0x00, 0x00, 0x82, 0x00,
|
||||
0x00, 0x01, 0xe3, 0x18, 0x9e, 0xf7, 0x86, 0xff, 0xff, 0x01, 0x7d, 0xef,
|
||||
0x86, 0x31, 0x81, 0x00, 0x00, 0x01, 0x41, 0x08, 0x55, 0xad, 0x87, 0xff,
|
||||
0xff, 0x02, 0x4d, 0x6b, 0x00, 0x00, 0xef, 0x7b, 0x82, 0xdf, 0xff, 0x00,
|
||||
0xdf, 0xff, 0x87, 0xff, 0xff, 0x00, 0xff, 0xff, 0x83, 0xdf, 0xff, 0x01,
|
||||
0xba, 0xd6, 0x41, 0x08, 0x81, 0x00, 0x00, 0x01, 0xe3, 0x18, 0x7d, 0xef,
|
||||
0x86, 0xff, 0xff, 0x04, 0xfb, 0xde, 0x41, 0x08, 0x00, 0x00, 0x41, 0xbb,
|
||||
0x21, 0xe4, 0x84, 0x01, 0xe4, 0x01, 0x21, 0xec, 0xc0, 0x61, 0xd7, 0x00,
|
||||
0x00, 0x00, 0xb2, 0x94, 0x85, 0xff, 0xff, 0x00, 0x6d, 0x6b, 0x82, 0x00,
|
||||
0x00, 0x00, 0x2c, 0x63, 0x86, 0xff, 0xff, 0x01, 0x9e, 0xf7, 0xa2, 0x10,
|
||||
0x82, 0x00, 0x00, 0x00, 0xcb, 0x5a, 0x87, 0xff, 0xff, 0x00, 0xf3, 0x9c,
|
||||
0x83, 0x00, 0x00, 0x00, 0x2c, 0x63, 0x87, 0xff, 0xff, 0x02, 0x4d, 0x6b,
|
||||
0x00, 0x00, 0xa2, 0x10, 0x81, 0x65, 0x29, 0x02, 0x65, 0x29, 0x28, 0x42,
|
||||
0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0x38, 0xc6, 0x83, 0x65, 0x29, 0x01,
|
||||
0x24, 0x21, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x55, 0xad, 0x87, 0xff,
|
||||
0xff, 0x01, 0x29, 0x42, 0x80, 0x28, 0x81, 0x01, 0xe4, 0x83, 0x01, 0xe4,
|
||||
0x02, 0x01, 0xe4, 0xe1, 0xdb, 0xa0, 0x28, 0xd7, 0x00, 0x00, 0x00, 0x18,
|
||||
0xc6, 0x84, 0xff, 0xff, 0x01, 0x3c, 0xe7, 0x41, 0x08, 0x82, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x85, 0xff, 0xff, 0x01, 0xdf, 0xff, 0x86,
|
||||
0x31, 0x82, 0x00, 0x00, 0x00, 0x92, 0x94, 0x87, 0xff, 0xff, 0x00, 0x0c,
|
||||
0x63, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xc3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xb6, 0xb5, 0x88, 0x00, 0x00, 0x00, 0x8a, 0x52, 0x87, 0xff, 0xff,
|
||||
0x02, 0x15, 0x9d, 0x20, 0x7a, 0x21, 0xec, 0x84, 0x01, 0xe4, 0x02, 0x21,
|
||||
0xec, 0x01, 0xab, 0x00, 0x00, 0xd6, 0x00, 0x00, 0x07, 0x00, 0x00, 0x0c,
|
||||
0x63, 0x92, 0x94, 0x34, 0xa5, 0xf7, 0xbd, 0x9a, 0xd6, 0x7d, 0xef, 0x96,
|
||||
0xb5, 0x83, 0x00, 0x00, 0x01, 0x41, 0x08, 0xfb, 0xde, 0x85, 0xff, 0xff,
|
||||
0x01, 0xff, 0xff, 0xe7, 0x39, 0x81, 0x00, 0x00, 0x01, 0x20, 0x00, 0x59,
|
||||
0xce, 0x86, 0xff, 0xff, 0x01, 0xff, 0xff, 0xc7, 0x39, 0x83, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x88,
|
||||
0x00, 0x00, 0x01, 0x41, 0x08, 0xdb, 0xde, 0x86, 0xff, 0xff, 0x02, 0x9d,
|
||||
0xf7, 0xe3, 0xd3, 0xe1, 0xe3, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0x21,
|
||||
0xec, 0xa0, 0x61, 0xdb, 0x00, 0x00, 0x04, 0x00, 0x00, 0x20, 0x00, 0x82,
|
||||
0x10, 0xa2, 0x10, 0x00, 0x00, 0x82, 0x00, 0x00, 0x01, 0x20, 0x00, 0x9a,
|
||||
0xd6, 0x85, 0xff, 0xff, 0x01, 0xff, 0xff, 0xc7, 0x39, 0x81, 0x00, 0x00,
|
||||
0x01, 0xa2, 0x10, 0x9e, 0xf7, 0x86, 0xff, 0xff, 0x01, 0xbe, 0xf7, 0xe3,
|
||||
0x18, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x89, 0x00, 0x00, 0x00, 0x71, 0x8c, 0x86, 0xff, 0xff,
|
||||
0x02, 0xb5, 0xf6, 0xe1, 0xe3, 0xe1, 0xe3, 0x83, 0x01, 0xe4, 0x02, 0x01,
|
||||
0xe4, 0xe1, 0xdb, 0x80, 0x20, 0xe3, 0x00, 0x00, 0x01, 0x20, 0x00, 0x79,
|
||||
0xce, 0x85, 0xff, 0xff, 0x01, 0xdf, 0xff, 0x65, 0x29, 0x81, 0x00, 0x00,
|
||||
0x01, 0x86, 0x31, 0xdf, 0xff, 0x86, 0xff, 0xff, 0x01, 0x7d, 0xef, 0x61,
|
||||
0x08, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x89, 0x00, 0x00, 0x01, 0xa6, 0x31, 0xdf, 0xff, 0x85,
|
||||
0xff, 0xff, 0x01, 0x4b, 0xed, 0xc0, 0xdb, 0x84, 0x01, 0xe4, 0x02, 0x21,
|
||||
0xec, 0xc1, 0x9a, 0x00, 0x00, 0xe3, 0x00, 0x00, 0x01, 0x20, 0x00, 0xfb,
|
||||
0xde, 0x85, 0xff, 0xff, 0x01, 0x9e, 0xf7, 0xc3, 0x18, 0x81, 0x00, 0x00,
|
||||
0x00, 0x69, 0x4a, 0x87, 0xff, 0xff, 0x01, 0x1c, 0xe7, 0x41, 0x08, 0x83,
|
||||
0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84,
|
||||
0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7,
|
||||
0xbd, 0x89, 0x00, 0x00, 0x01, 0x00, 0x00, 0x18, 0xc6, 0x84, 0xff, 0xff,
|
||||
0x02, 0x7b, 0xff, 0x23, 0xe4, 0xe1, 0xe3, 0x83, 0x01, 0xe4, 0x02, 0x01,
|
||||
0xe4, 0x01, 0xe4, 0x20, 0x41, 0xe4, 0x00, 0x00, 0x01, 0x86, 0x31, 0xdf,
|
||||
0xff, 0x85, 0xff, 0xff, 0x01, 0x79, 0xce, 0x20, 0x00, 0x81, 0x00, 0x00,
|
||||
0x00, 0x0c, 0x63, 0x87, 0xff, 0xff, 0x01, 0xdb, 0xde, 0x41, 0x08, 0x83,
|
||||
0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84,
|
||||
0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7,
|
||||
0xbd, 0x8a, 0x00, 0x00, 0x00, 0x6d, 0x6b, 0x84, 0xff, 0xff, 0x01, 0xcf,
|
||||
0xed, 0xc0, 0xdb, 0x84, 0x01, 0xe4, 0x02, 0x21, 0xec, 0x41, 0xbb, 0x00,
|
||||
0x00, 0xe3, 0x00, 0x00, 0x01, 0x00, 0x00, 0x96, 0xb5, 0x86, 0xff, 0xff,
|
||||
0x00, 0x30, 0x84, 0x82, 0x00, 0x00, 0x00, 0x8e, 0x73, 0x87, 0xff, 0xff,
|
||||
0x01, 0x9a, 0xd6, 0x20, 0x00, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87,
|
||||
0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe,
|
||||
0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8a, 0x00, 0x00, 0x01, 0xc3,
|
||||
0x18, 0x7d, 0xef, 0x82, 0xff, 0xff, 0x02, 0x9d, 0xff, 0x44, 0xe4, 0xe0,
|
||||
0xdb, 0x84, 0x01, 0xe4, 0x01, 0x21, 0xec, 0xe0, 0x69, 0xdf, 0x00, 0x00,
|
||||
0x05, 0x00, 0x00, 0x41, 0x08, 0x61, 0x08, 0xc3, 0x18, 0x49, 0x4a, 0x96,
|
||||
0xb5, 0x86, 0xff, 0xff, 0x01, 0xdf, 0xff, 0x65, 0x29, 0x82, 0x00, 0x00,
|
||||
0x00, 0xef, 0x7b, 0x87, 0xff, 0xff, 0x01, 0x79, 0xce, 0x20, 0x00, 0x83,
|
||||
0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84,
|
||||
0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7,
|
||||
0xbd, 0x8b, 0x00, 0x00, 0x00, 0x55, 0xad, 0x82, 0xff, 0xff, 0x01, 0x53,
|
||||
0xf6, 0xc0, 0xdb, 0x84, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xc1, 0xd3, 0x60,
|
||||
0x18, 0xdf, 0x00, 0x00, 0x03, 0x04, 0x21, 0x9a, 0xd6, 0x1c, 0xe7, 0x9e,
|
||||
0xf7, 0x88, 0xff, 0xff, 0x00, 0xcf, 0x7b, 0x83, 0x00, 0x00, 0x00, 0x30,
|
||||
0x84, 0x87, 0xff, 0xff, 0x01, 0x59, 0xce, 0x20, 0x00, 0x83, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8b,
|
||||
0x00, 0x00, 0x00, 0x8a, 0x52, 0x81, 0xff, 0xff, 0x02, 0xde, 0xff, 0xa6,
|
||||
0xe4, 0xe0, 0xdb, 0x84, 0x01, 0xe4, 0x01, 0x41, 0xec, 0x81, 0x8a, 0xe0,
|
||||
0x00, 0x00, 0x01, 0x24, 0x21, 0xff, 0xff, 0x87, 0xff, 0xff, 0x03, 0xff,
|
||||
0xff, 0x3c, 0xe7, 0xae, 0x73, 0x00, 0x00, 0x83, 0x00, 0x00, 0x00, 0x92,
|
||||
0x94, 0x87, 0xff, 0xff, 0x01, 0x59, 0xce, 0x20, 0x00, 0x83, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8b,
|
||||
0x00, 0x00, 0x05, 0x20, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0x95, 0xf6, 0xc0,
|
||||
0xdb, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xe1, 0xdb, 0xc0,
|
||||
0x28, 0xe0, 0x00, 0x00, 0x01, 0x24, 0x21, 0xbe, 0xf7, 0x87, 0xff, 0xff,
|
||||
0x01, 0x9e, 0xf7, 0x8e, 0x73, 0x85, 0x00, 0x00, 0x00, 0xd3, 0x9c, 0x87,
|
||||
0xff, 0xff, 0x01, 0x59, 0xce, 0x20, 0x00, 0x83, 0x00, 0x00, 0x00, 0x4d,
|
||||
0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8c, 0x00, 0x00,
|
||||
0x03, 0xcf, 0x73, 0xff, 0xff, 0xc7, 0xe4, 0xc0, 0xdb, 0x84, 0x01, 0xe4,
|
||||
0x01, 0x21, 0xec, 0xa1, 0x9a, 0xe1, 0x00, 0x00, 0x01, 0x24, 0x21, 0xbe,
|
||||
0xf7, 0x87, 0xff, 0xff, 0x03, 0xff, 0xff, 0xdf, 0xff, 0x38, 0xc6, 0x86,
|
||||
0x31, 0x83, 0x00, 0x00, 0x00, 0xf3, 0x9c, 0x87, 0xff, 0xff, 0x01, 0x59,
|
||||
0xce, 0x20, 0x00, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff,
|
||||
0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86,
|
||||
0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8c, 0x00, 0x00, 0x03, 0x66, 0x29, 0x54,
|
||||
0xee, 0xe0, 0xe3, 0x01, 0xe4, 0x83, 0x01, 0xe4, 0x02, 0x01, 0xe4, 0xe1,
|
||||
0xe3, 0xe0, 0x38, 0xe1, 0x00, 0x00, 0x01, 0x24, 0x21, 0xbe, 0xf7, 0x8a,
|
||||
0xff, 0xff, 0x01, 0x5d, 0xef, 0x86, 0x31, 0x82, 0x00, 0x00, 0x00, 0xd3,
|
||||
0x9c, 0x87, 0xff, 0xff, 0x01, 0x59, 0xce, 0x20, 0x00, 0x83, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8c,
|
||||
0x00, 0x00, 0x02, 0x20, 0x00, 0xc3, 0xc3, 0x01, 0xe4, 0x84, 0x01, 0xe4,
|
||||
0x02, 0xe0, 0xe3, 0x09, 0xed, 0x28, 0x42, 0xe1, 0x00, 0x00, 0x01, 0x24,
|
||||
0x21, 0xff, 0xff, 0x8b, 0xff, 0xff, 0x01, 0x79, 0xce, 0x41, 0x08, 0x81,
|
||||
0x00, 0x00, 0x00, 0x71, 0x8c, 0x87, 0xff, 0xff, 0x01, 0x59, 0xce, 0x20,
|
||||
0x00, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x8c, 0x00, 0x00, 0x02, 0x40, 0x49, 0x01, 0xe4, 0x01,
|
||||
0xe4, 0x83, 0x01, 0xe4, 0x03, 0xe1, 0xe3, 0xe1, 0xe3, 0x58, 0xff, 0x55,
|
||||
0xa5, 0xe1, 0x00, 0x00, 0x05, 0x61, 0x08, 0xeb, 0x5a, 0x2c, 0x63, 0x8e,
|
||||
0x73, 0xf3, 0x9c, 0x7d, 0xef, 0x88, 0xff, 0xff, 0x00, 0xaa, 0x52, 0x81,
|
||||
0x00, 0x00, 0x00, 0x51, 0x8c, 0x87, 0xff, 0xff, 0x01, 0x59, 0xce, 0x20,
|
||||
0x00, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x8b, 0x00, 0x00, 0x02, 0x20, 0x08, 0x41, 0xbb, 0x21,
|
||||
0xec, 0x84, 0x01, 0xe4, 0x04, 0xc0, 0xdb, 0x09, 0xed, 0xff, 0xff, 0x7d,
|
||||
0xef, 0xa2, 0x10, 0xe5, 0x00, 0x00, 0x01, 0x45, 0x29, 0x79, 0xce, 0x87,
|
||||
0xff, 0xff, 0x00, 0x34, 0xa5, 0x81, 0x00, 0x00, 0x00, 0x10, 0x84, 0x87,
|
||||
0xff, 0xff, 0x01, 0x79, 0xce, 0x20, 0x00, 0x83, 0x00, 0x00, 0x00, 0x4d,
|
||||
0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8b, 0x00, 0x00,
|
||||
0x01, 0xe0, 0x69, 0x41, 0xec, 0x84, 0x01, 0xe4, 0x02, 0xe1, 0xe3, 0xe1,
|
||||
0xdb, 0xf8, 0xf6, 0x81, 0xff, 0xff, 0x00, 0x6d, 0x6b, 0xe6, 0x00, 0x00,
|
||||
0x01, 0x08, 0x42, 0xff, 0xff, 0x86, 0xff, 0xff, 0x03, 0xfb, 0xde, 0x41,
|
||||
0x08, 0x00, 0x00, 0xae, 0x73, 0x87, 0xff, 0xff, 0x01, 0x9a, 0xd6, 0x20,
|
||||
0x00, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x8a, 0x00, 0x00, 0x02, 0x60, 0x18, 0xa1, 0xcb, 0x01,
|
||||
0xe4, 0x84, 0x01, 0xe4, 0x01, 0xc0, 0xdb, 0x6c, 0xed, 0x82, 0xff, 0xff,
|
||||
0x00, 0xf7, 0xbd, 0xe6, 0x00, 0x00, 0x01, 0x20, 0x00, 0xba, 0xd6, 0x86,
|
||||
0xff, 0xff, 0x03, 0xbe, 0xf7, 0x04, 0x21, 0x00, 0x00, 0x2c, 0x63, 0x87,
|
||||
0xff, 0xff, 0x01, 0xdb, 0xde, 0x41, 0x08, 0x83, 0x00, 0x00, 0x00, 0x4d,
|
||||
0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x8a, 0x00, 0x00,
|
||||
0x01, 0x61, 0x82, 0x41, 0xec, 0x84, 0x01, 0xe4, 0x02, 0xe1, 0xdb, 0x02,
|
||||
0xe4, 0x5a, 0xff, 0x82, 0xff, 0xff, 0x01, 0xdf, 0xff, 0x65, 0x29, 0xe6,
|
||||
0x00, 0x00, 0x00, 0xd7, 0xbd, 0x86, 0xff, 0xff, 0x03, 0xdf, 0xff, 0xa6,
|
||||
0x31, 0x00, 0x00, 0x8a, 0x52, 0x87, 0xff, 0xff, 0x01, 0xfb, 0xde, 0x41,
|
||||
0x08, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d,
|
||||
0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0xd7, 0xbd, 0x89, 0x00, 0x00, 0x02, 0xe0, 0x30, 0x01, 0xdc, 0x01,
|
||||
0xe4, 0x84, 0x01, 0xe4, 0x01, 0xc0, 0xdb, 0xcf, 0xed, 0x84, 0xff, 0xff,
|
||||
0x00, 0x51, 0x8c, 0xde, 0x00, 0x00, 0x02, 0x00, 0x00, 0x41, 0x08, 0x20,
|
||||
0x00, 0x84, 0x00, 0x00, 0x00, 0x96, 0xb5, 0x86, 0xff, 0xff, 0x04, 0xff,
|
||||
0xff, 0xe7, 0x39, 0x00, 0x00, 0xe7, 0x39, 0xff, 0xff, 0x86, 0xff, 0xff,
|
||||
0x01, 0x7d, 0xef, 0x61, 0x08, 0x83, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87,
|
||||
0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe,
|
||||
0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x88, 0x00, 0x00, 0x02, 0x00,
|
||||
0x00, 0x01, 0xab, 0x21, 0xec, 0x84, 0x01, 0xe4, 0x02, 0xe0, 0xdb, 0x64,
|
||||
0xe4, 0xbd, 0xff, 0x84, 0xff, 0xff, 0x01, 0xdb, 0xde, 0x41, 0x08, 0xd8,
|
||||
0x00, 0x00, 0x07, 0x45, 0x29, 0xef, 0x7b, 0x71, 0x8c, 0xf3, 0x9c, 0x96,
|
||||
0xb5, 0x18, 0xc6, 0xba, 0xd6, 0x30, 0x84, 0x84, 0x00, 0x00, 0x00, 0xb6,
|
||||
0xb5, 0x86, 0xff, 0xff, 0x04, 0xff, 0xff, 0xc7, 0x39, 0x00, 0x00, 0x04,
|
||||
0x21, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x01, 0xbe, 0xf7, 0xe3, 0x18, 0x83,
|
||||
0x00, 0x00, 0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84,
|
||||
0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7,
|
||||
0xbd, 0x88, 0x00, 0x00, 0x02, 0xa0, 0x59, 0x21, 0xec, 0x01, 0xe4, 0x83,
|
||||
0x01, 0xe4, 0x02, 0xe1, 0xe3, 0xe0, 0xe3, 0x73, 0xf6, 0x86, 0xff, 0xff,
|
||||
0x00, 0x69, 0x4a, 0xd8, 0x00, 0x00, 0x00, 0x0c, 0x63, 0x85, 0xff, 0xff,
|
||||
0x00, 0x34, 0xa5, 0x83, 0x00, 0x00, 0x01, 0x00, 0x00, 0x38, 0xc6, 0x86,
|
||||
0xff, 0xff, 0x04, 0xbe, 0xf7, 0x04, 0x21, 0x00, 0x00, 0x41, 0x08, 0x1c,
|
||||
0xe7, 0x86, 0xff, 0xff, 0x01, 0xff, 0xff, 0xe7, 0x39, 0x83, 0x00, 0x00,
|
||||
0x00, 0x4d, 0x6b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x87,
|
||||
0x00, 0x00, 0x02, 0x60, 0x18, 0xa1, 0xcb, 0x21, 0xe4, 0x84, 0x01, 0xe4,
|
||||
0x02, 0xe0, 0xe3, 0x46, 0xd4, 0xdf, 0xff, 0x86, 0xff, 0xff, 0x00, 0x96,
|
||||
0xb5, 0xd8, 0x00, 0x00, 0x01, 0xc7, 0x39, 0xff, 0xff, 0x84, 0xff, 0xff,
|
||||
0x00, 0x38, 0xc6, 0x83, 0x00, 0x00, 0x01, 0x61, 0x08, 0x5d, 0xef, 0x86,
|
||||
0xff, 0xff, 0x01, 0xba, 0xd6, 0x20, 0x00, 0x81, 0x00, 0x00, 0x00, 0x75,
|
||||
0xad, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x83, 0x00, 0x00, 0x00, 0x2c,
|
||||
0x63, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x86, 0x00, 0x00,
|
||||
0x02, 0x00, 0x00, 0xc1, 0x9a, 0x21, 0xec, 0x84, 0x01, 0xe4, 0x03, 0x01,
|
||||
0xe4, 0xa1, 0xd3, 0x22, 0x31, 0xbb, 0xd6, 0x86, 0xff, 0xff, 0x01, 0xdf,
|
||||
0xff, 0x45, 0x29, 0xd7, 0x00, 0x00, 0x01, 0x82, 0x10, 0x5d, 0xef, 0x84,
|
||||
0xff, 0xff, 0x01, 0xbe, 0xf7, 0x86, 0x31, 0x82, 0x00, 0x00, 0x00, 0xaa,
|
||||
0x52, 0x87, 0xff, 0xff, 0x00, 0x92, 0x94, 0x82, 0x00, 0x00, 0x00, 0xae,
|
||||
0x73, 0x87, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x83, 0x00, 0x00, 0x00, 0xef,
|
||||
0x7b, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x86, 0x00, 0x00,
|
||||
0x02, 0x80, 0x51, 0x21, 0xec, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x03, 0x21,
|
||||
0xec, 0x00, 0x72, 0x00, 0x00, 0x51, 0x8c, 0x87, 0xff, 0xff, 0x00, 0xcf,
|
||||
0x7b, 0xd8, 0x00, 0x00, 0x00, 0x96, 0xb5, 0x85, 0xff, 0xff, 0x04, 0x79,
|
||||
0xce, 0xe7, 0x39, 0x61, 0x08, 0xc7, 0x39, 0xdb, 0xde, 0x87, 0xff, 0xff,
|
||||
0x00, 0x08, 0x42, 0x82, 0x00, 0x00, 0x00, 0xe7, 0x39, 0x87, 0xff, 0xff,
|
||||
0x05, 0xff, 0xff, 0xb2, 0x94, 0x28, 0x42, 0x49, 0x4a, 0x71, 0x8c, 0x9e,
|
||||
0xf7, 0x87, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3,
|
||||
0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x85, 0x00, 0x00,
|
||||
0x02, 0x80, 0x20, 0xc1, 0xd3, 0x21, 0xe4, 0x84, 0x01, 0xe4, 0x05, 0x21,
|
||||
0xec, 0x41, 0xb3, 0x20, 0x08, 0x00, 0x00, 0x65, 0x29, 0xdf, 0xff, 0x86,
|
||||
0xff, 0xff, 0x01, 0xba, 0xd6, 0x20, 0x00, 0xd7, 0x00, 0x00, 0x00, 0xcb,
|
||||
0x5a, 0x86, 0xff, 0xff, 0x02, 0xff, 0xff, 0x7d, 0xef, 0xdf, 0xff, 0x87,
|
||||
0xff, 0xff, 0x01, 0x59, 0xce, 0x20, 0x00, 0x82, 0x00, 0x00, 0x01, 0x41,
|
||||
0x08, 0xdb, 0xde, 0x94, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x84,
|
||||
0x00, 0x00, 0x02, 0x00, 0x00, 0xc1, 0x9a, 0x21, 0xec, 0x84, 0x01, 0xe4,
|
||||
0x02, 0x01, 0xe4, 0x01, 0xe4, 0x20, 0x39, 0x82, 0x00, 0x00, 0x00, 0x18,
|
||||
0xc6, 0x87, 0xff, 0xff, 0x00, 0x08, 0x42, 0xd7, 0x00, 0x00, 0x01, 0x20,
|
||||
0x00, 0x59, 0xce, 0x90, 0xff, 0xff, 0x00, 0x28, 0x42, 0x84, 0x00, 0x00,
|
||||
0x00, 0xcf, 0x7b, 0x94, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00,
|
||||
0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7, 0xbd, 0x84,
|
||||
0x00, 0x00, 0x02, 0xa0, 0x59, 0x21, 0xec, 0x01, 0xe4, 0x84, 0x01, 0xe4,
|
||||
0x01, 0x41, 0xec, 0x40, 0x82, 0x83, 0x00, 0x00, 0x00, 0x6d, 0x6b, 0x87,
|
||||
0xff, 0xff, 0x00, 0xb2, 0x94, 0x81, 0x00, 0x00, 0x02, 0x00, 0x00, 0x20,
|
||||
0x00, 0x00, 0x00, 0xd3, 0x00, 0x00, 0x01, 0xe7, 0x39, 0xbe, 0xf7, 0x8e,
|
||||
0xff, 0xff, 0x00, 0x71, 0x8c, 0x85, 0x00, 0x00, 0x01, 0xc3, 0x18, 0x3c,
|
||||
0xe7, 0x8a, 0xff, 0xff, 0x01, 0xba, 0xd6, 0x9e, 0xf7, 0x86, 0xff, 0xff,
|
||||
0x00, 0x4d, 0x6b, 0x84, 0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86,
|
||||
0xff, 0xff, 0x00, 0xd7, 0xbd, 0x83, 0x00, 0x00, 0x02, 0xc0, 0x28, 0xe1,
|
||||
0xdb, 0x01, 0xe4, 0x84, 0x01, 0xe4, 0x02, 0x21, 0xec, 0x61, 0xbb, 0x40,
|
||||
0x08, 0x83, 0x00, 0x00, 0x01, 0xa2, 0x10, 0x7d, 0xef, 0x86, 0xff, 0xff,
|
||||
0x08, 0x7d, 0xef, 0xa2, 0x10, 0x00, 0x00, 0xc7, 0x39, 0x92, 0x94, 0x4d,
|
||||
0x6b, 0x10, 0x84, 0xae, 0x73, 0x00, 0x00, 0xd1, 0x00, 0x00, 0x01, 0x0c,
|
||||
0x63, 0xdf, 0xff, 0x8c, 0xff, 0xff, 0x01, 0xf3, 0x9c, 0x20, 0x00, 0x86,
|
||||
0x00, 0x00, 0x01, 0x8a, 0x52, 0xdf, 0xff, 0x88, 0xff, 0xff, 0x02, 0x9a,
|
||||
0xd6, 0x65, 0x29, 0x5d, 0xef, 0x86, 0xff, 0xff, 0x00, 0x4d, 0x6b, 0x84,
|
||||
0x00, 0x00, 0x01, 0xe3, 0x18, 0xbe, 0xf7, 0x86, 0xff, 0xff, 0x00, 0xd7,
|
||||
0xbd, 0x82, 0x00, 0x00, 0x02, 0x40, 0x10, 0x21, 0xb3, 0x21, 0xec, 0x84,
|
||||
0x01, 0xe4, 0x02, 0x01, 0xe4, 0xe1, 0xdb, 0x00, 0x39, 0x85, 0x00, 0x00,
|
||||
0x00, 0x34, 0xa5, 0x87, 0xff, 0xff, 0x07, 0x0c, 0x63, 0x00, 0x00, 0xe3,
|
||||
0x18, 0x71, 0x8c, 0x8e, 0x73, 0x7d, 0xef, 0x55, 0xad, 0x00, 0x00, 0xd2,
|
||||
0x00, 0x00, 0x01, 0xcb, 0x5a, 0x5d, 0xef, 0x89, 0xff, 0xff, 0x01, 0xdf,
|
||||
0xff, 0xef, 0x7b, 0x89, 0x00, 0x00, 0x01, 0x6d, 0x6b, 0xff, 0xff, 0x86,
|
||||
0xff, 0xff, 0x02, 0x79, 0xce, 0x04, 0x21, 0x20, 0x00, 0x87, 0xff, 0xff,
|
||||
0x00, 0x8e, 0x73, 0x84, 0x00, 0x00, 0x00, 0x04, 0x21, 0x87, 0xff, 0xff,
|
||||
0x00, 0x38, 0xc6, 0x81, 0x00, 0x00, 0x02, 0x20, 0x00, 0xc1, 0x9a, 0x81,
|
||||
0xfc, 0x84, 0x41, 0xec, 0x02, 0x41, 0xf4, 0x61, 0xf4, 0xe0, 0x69, 0x86,
|
||||
0x00, 0x00, 0x00, 0x69, 0x4a, 0x87, 0xff, 0xff, 0x07, 0x59, 0xce, 0x00,
|
||||
0x00, 0xa2, 0x10, 0x51, 0x8c, 0xeb, 0x5a, 0x79, 0xce, 0x34, 0xa5, 0x00,
|
||||
0x00, 0xd3, 0x00, 0x00, 0x02, 0x24, 0x21, 0x92, 0x94, 0x5d, 0xef, 0x85,
|
||||
0xff, 0xff, 0x02, 0x7d, 0xef, 0x14, 0xa5, 0xc7, 0x39, 0x8b, 0x00, 0x00,
|
||||
0x0c, 0x49, 0x4a, 0xd7, 0xbd, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xdf,
|
||||
0xff, 0xdb, 0xde, 0xef, 0x7b, 0x82, 0x10, 0x00, 0x00, 0x41, 0x08, 0x30,
|
||||
0x84, 0x92, 0x94, 0x84, 0x71, 0x8c, 0x01, 0x92, 0x94, 0xe7, 0x39, 0x84,
|
||||
0x00, 0x00, 0x01, 0x82, 0x10, 0x51, 0x8c, 0x85, 0x71, 0x8c, 0x01, 0x92,
|
||||
0x94, 0x2c, 0x63, 0x81, 0x00, 0x00, 0x02, 0x80, 0x18, 0x40, 0x7a, 0x40,
|
||||
0x82, 0x84, 0x40, 0x7a, 0x02, 0x40, 0x82, 0x00, 0x72, 0x20, 0x08, 0x86,
|
||||
0x00, 0x00, 0x03, 0x20, 0x00, 0x10, 0x84, 0x71, 0x8c, 0xb2, 0x94, 0x84,
|
||||
0xf3, 0x9c, 0x07, 0xb2, 0x94, 0x82, 0x10, 0x41, 0x08, 0x8a, 0x52, 0xa6,
|
||||
0x31, 0x8a, 0x52, 0xeb, 0x5a, 0x00, 0x00, 0xd5, 0x00, 0x00, 0x07, 0xc3,
|
||||
0x18, 0x69, 0x4a, 0x6d, 0x6b, 0xef, 0x7b, 0xef, 0x7b, 0x4d, 0x6b, 0x49,
|
||||
0x4a, 0xe3, 0x18, 0x8f, 0x00, 0x00, 0x04, 0x04, 0x21, 0xe7, 0x39, 0x08,
|
||||
0x42, 0x65, 0x29, 0x41, 0x08, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff,
|
||||
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xff,
|
||||
0x00, 0x00, 0xff, 0x00, 0x00, 0xff, 0x00, 0x00, 0xa3, 0x00, 0x00
|
||||
};
|
||||
@@ -104,28 +104,43 @@
|
||||
#include "fxglide.h"
|
||||
#include "fxcmd.h"
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
static const void *
|
||||
getPlugdata (FxU32* w, FxU32* h, FxI32* strideInBytes,
|
||||
GrLfbWriteMode_t* format)
|
||||
{
|
||||
GR_DCL_GC;
|
||||
if (gc->pluginInfo.plugProc != NULL)
|
||||
return (*gc->pluginInfo.plugProc)(w,h,strideInBytes,format);
|
||||
return NULL;
|
||||
}
|
||||
#else
|
||||
static __inline const void *
|
||||
getPlugdata (FxU32* w, FxU32* h, FxI32* strideInBytes,
|
||||
GrLfbWriteMode_t* format)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void
|
||||
_grShamelessPlug(void)
|
||||
{
|
||||
GR_BEGIN_NOFIFOCHECK("_grShamelessPlug", 80);
|
||||
GDBG_INFO_MORE(gc->myLevel, "()\n");
|
||||
|
||||
if (gc->pluginInfo.plugProc != NULL) {
|
||||
FxU32
|
||||
plugWidth, plugHeight;
|
||||
FxI32
|
||||
plugStride;
|
||||
GrLfbWriteMode_t
|
||||
plugFormat;
|
||||
const void*
|
||||
plugData = (*gc->pluginInfo.plugProc)(&plugWidth, &plugHeight,
|
||||
&plugStride,
|
||||
&plugFormat);
|
||||
GrState state;
|
||||
FxU32 plugWidth, plugHeight;
|
||||
FxI32 plugStride;
|
||||
GrLfbWriteMode_t plugFormat;
|
||||
const void* plugData =
|
||||
getPlugdata(&plugWidth, &plugHeight, &plugStride, &plugFormat);
|
||||
|
||||
if (!plugData) return;
|
||||
|
||||
if (plugData != NULL) {
|
||||
#ifdef GLIDE_PLUG
|
||||
GrState state;
|
||||
|
||||
grGlideGetState(&state);
|
||||
grDisableAllEffects();
|
||||
|
||||
@@ -163,259 +178,8 @@ _grShamelessPlug(void)
|
||||
plugData);
|
||||
|
||||
grGlideSetState(&state);
|
||||
#endif /* GLIDE_PLUG */
|
||||
}
|
||||
}
|
||||
|
||||
GR_END();
|
||||
} /* _grShamelessPlug */
|
||||
|
||||
|
||||
|
||||
#if !(GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
|
||||
#if GLIDE_PLUG
|
||||
#if GLIDE_PLUG_EXT
|
||||
static FxU32 fxPlugWidth;
|
||||
static FxU32 fxPlugHeight;
|
||||
static FxU32 fxPlugStride;
|
||||
#else
|
||||
#include "banner.inc"
|
||||
#endif
|
||||
static GrLfbWriteMode_t fxPlugFormat = GR_LFBWRITEMODE_565;
|
||||
static FxU16 *fxPlugData;
|
||||
#endif /* GLIDE_PLUG */
|
||||
|
||||
|
||||
|
||||
void FX_CALL fxSplashShutdown (void)
|
||||
{
|
||||
#if GLIDE_PLUG
|
||||
if (fxPlugData != NULL) {
|
||||
free(fxPlugData);
|
||||
fxPlugData = NULL;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
FxBool FX_CALL fxSplashInit (FxU32 hWnd,
|
||||
FxU32 screenWidth, FxU32 screenHeight,
|
||||
FxU32 numColBuf, FxU32 numAuxBuf,
|
||||
GrColorFormat_t colorFormat)
|
||||
{
|
||||
#if GLIDE_PLUG
|
||||
if (fxPlugData == NULL) {
|
||||
#if GLIDE_PLUG_EXT
|
||||
/* [dBorca]
|
||||
* we should try to extract TGA resource from 3dfxspl3.dll
|
||||
*/
|
||||
FILE *f;
|
||||
if ((f = fopen("3dfxplug.tga", "rb")) != NULL) {
|
||||
int bpp, skip;
|
||||
unsigned int i, j, decoded;
|
||||
unsigned char header[18], b1[4], b0;
|
||||
|
||||
/* read TGA header */
|
||||
if (!fread(header, 18, 1, f)) {
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
|
||||
/* fill in values */
|
||||
fxPlugWidth = ((unsigned short *)header)[6];
|
||||
fxPlugHeight = ((unsigned short *)header)[7];
|
||||
fxPlugStride = fxPlugWidth * 2;
|
||||
|
||||
/* compute bits/pixel, then bytes/pixel; also check TGA type */
|
||||
bpp = header[16];
|
||||
if (((bpp != 16) && (bpp != 24) && (bpp != 32)) || ((header[2] & ~0x8) != 2)) {
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
bpp >>= 3;
|
||||
|
||||
/* skip colormap + junk */
|
||||
skip = header[0];
|
||||
if (header[1]) {
|
||||
skip += *(unsigned short *)&header[5] * header[7] >> 3;
|
||||
}
|
||||
fseek(f, skip, SEEK_CUR);
|
||||
|
||||
/* allocate datablock */
|
||||
if ((fxPlugData = malloc(fxPlugStride * fxPlugHeight)) == NULL) {
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
|
||||
if (header[2] == 10) {
|
||||
/* RLE */
|
||||
j = 0;
|
||||
while (j < (fxPlugWidth * fxPlugHeight)) {
|
||||
/* packet header */
|
||||
if (!fread(&b0, 1, 1, f)) {
|
||||
fxSplashShutdown();
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
if (b0 & 0x80) {
|
||||
/* replicate pixels */
|
||||
b0 &= 0x7f;
|
||||
if (!fread(b1, bpp, 1, f)) {
|
||||
fxSplashShutdown();
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
switch (bpp) {
|
||||
case 2:
|
||||
decoded = *(unsigned short *)&b1[0];
|
||||
decoded = ((decoded & 0x7fe0) << 1)
|
||||
| ((decoded & 0x0200) >> 4)
|
||||
| (decoded & 0x001f);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
decoded = (b1[0]>>3) + ((b1[1]>>2)<<5) + ((b1[2]>>3)<<11);
|
||||
break;
|
||||
}
|
||||
for (i = 0; i <= b0; i++) {
|
||||
fxPlugData[j++] = decoded;
|
||||
}
|
||||
} else {
|
||||
/* read pixels */
|
||||
for (i = 0; i <= b0; i++) {
|
||||
if (!fread(b1, bpp, 1, f)) {
|
||||
fxSplashShutdown();
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
switch (bpp) {
|
||||
case 2:
|
||||
decoded = *(unsigned short *)&b1[0];
|
||||
decoded = ((decoded & 0x7fe0) << 1)
|
||||
| ((decoded & 0x0200) >> 4)
|
||||
| (decoded & 0x001f);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
decoded = (b1[0]>>3) + ((b1[1]>>2)<<5) + ((b1[2]>>3)<<11);
|
||||
break;
|
||||
}
|
||||
fxPlugData[j++] = decoded;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* flip (RLE can cross scanlines, thus we can't use tricks) */
|
||||
if (!(header[17] & 0x20)) {
|
||||
for (i = 0; i < fxPlugHeight / 2; i++) {
|
||||
unsigned short *src = &fxPlugData[fxPlugWidth * i];
|
||||
unsigned short *dst = &fxPlugData[fxPlugWidth * (fxPlugHeight - i - 1)];
|
||||
for (j = 0; j < fxPlugWidth; j++) {
|
||||
decoded = dst[j];
|
||||
dst[j] = src[j];
|
||||
src[j] = decoded;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (header[2] == 2) {
|
||||
/* normal (flip on-the-fly) */
|
||||
for (i = 0; i < fxPlugHeight; i++) {
|
||||
int l = (header[17] & 0x20) ? i : (fxPlugHeight-i-1);
|
||||
unsigned short *line = &fxPlugData[fxPlugWidth * l];
|
||||
for (j = 0; j < fxPlugWidth; j++) {
|
||||
if (!fread(b1, bpp, 1, f)) {
|
||||
fxSplashShutdown();
|
||||
fclose(f);
|
||||
return FXFALSE;
|
||||
}
|
||||
switch (bpp) {
|
||||
case 2:
|
||||
decoded = *(unsigned short *)&b1[0];
|
||||
decoded = ((decoded & 0x7fe0) << 1)
|
||||
| ((decoded & 0x0200) >> 4)
|
||||
| (decoded & 0x001f);
|
||||
break;
|
||||
case 3:
|
||||
case 4:
|
||||
decoded = (b1[0]>>3) + ((b1[1]>>2)<<5) + ((b1[2]>>3)<<11);
|
||||
break;
|
||||
}
|
||||
line[j] = decoded;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fclose(f);
|
||||
}
|
||||
|
||||
#else /* GLIDE_PLUG_EXT */
|
||||
|
||||
/* [dBorca]
|
||||
* embedded image is always 16bit RLE and does not need to be flipped
|
||||
*/
|
||||
int k = 0;
|
||||
unsigned int i, j, decoded;
|
||||
unsigned char b0;
|
||||
|
||||
/* allocate datablock */
|
||||
if ((fxPlugData = malloc(fxPlugStride * fxPlugHeight)) == NULL) {
|
||||
return FXFALSE;
|
||||
}
|
||||
|
||||
/* RLE */
|
||||
j = 0;
|
||||
while (j < (fxPlugWidth * fxPlugHeight)) {
|
||||
/* packet header */
|
||||
b0 = tga_16rle[k++];
|
||||
if (b0 & 0x80) {
|
||||
/* replicate pixels */
|
||||
b0 &= 0x7f;
|
||||
decoded = *(unsigned short *)&tga_16rle[k];
|
||||
k += 2;
|
||||
for (i = 0; i <= b0; i++) {
|
||||
fxPlugData[j++] = decoded;
|
||||
}
|
||||
} else {
|
||||
/* read pixels */
|
||||
for (i = 0; i <= b0; i++) {
|
||||
decoded = *(unsigned short *)&tga_16rle[k];
|
||||
k += 2;
|
||||
fxPlugData[j++] = decoded;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* GLIDE_PLUG_EXT */
|
||||
}
|
||||
return FXTRUE;
|
||||
|
||||
#else /* GLIDE_PLUG */
|
||||
|
||||
return FXFALSE;
|
||||
#endif /* GLIDE_PLUG */
|
||||
}
|
||||
|
||||
|
||||
|
||||
const void * FX_CALL fxSplashPlug (FxU32* w, FxU32* h,
|
||||
FxI32* strideInBytes,
|
||||
GrLfbWriteMode_t* format)
|
||||
{
|
||||
#if GLIDE_PLUG
|
||||
*w = fxPlugWidth;
|
||||
*h = fxPlugHeight;
|
||||
*strideInBytes = fxPlugStride;
|
||||
*format = fxPlugFormat;
|
||||
return fxPlugData;
|
||||
#else
|
||||
return NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
void FX_CALL fxSplash (float x, float y, float w, float h, FxU32 frameNumber)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
#endif /* GLIDE_PLUG */
|
||||
|
||||
@@ -2676,8 +2676,10 @@ GR_ENTRY(grBufferSwap, void, (FxU32 swapInterval))
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug) _grShamelessPlug();
|
||||
#endif
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
if (_GlideRoot.environment.aaToggleKey) {
|
||||
@@ -2796,7 +2798,6 @@ GR_ENTRY(grBufferSwap, void, (FxU32 swapInterval))
|
||||
GR_ASSERT(j != -1);
|
||||
|
||||
gc->swapsPending++;
|
||||
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -2954,8 +2955,10 @@ GR_ENTRY(grDRIBufferSwap, void, (FxU32 swapInterval))
|
||||
_grChipMask( SST_CHIP_MASK_ALL_CHIPS );
|
||||
}
|
||||
#endif
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug) _grShamelessPlug();
|
||||
#endif
|
||||
|
||||
/* check for environmental override */
|
||||
if (_GlideRoot.environment.swapInterval >= 0) {
|
||||
|
||||
@@ -1426,7 +1426,11 @@ _GlideInitEnvironment(void)
|
||||
#endif
|
||||
|
||||
GDBG_INFO(80," noSplash: %d\n",_GlideRoot.environment.noSplash);
|
||||
#ifdef GLIDE_PLUG
|
||||
_GlideRoot.environment.shamelessPlug = GETENV("FX_GLIDE_SHAMELESS_PLUG") != NULL;
|
||||
#else
|
||||
_GlideRoot.environment.shamelessPlug = 0;
|
||||
#endif
|
||||
GDBG_INFO(80," shamelessPlug: %d\n",_GlideRoot.environment.shamelessPlug);
|
||||
_GlideRoot.environment.ignoreReopen = GETENV("FX_GLIDE_IGNORE_REOPEN") != NULL;
|
||||
GDBG_INFO(80," ignoreReopen: %d\n",_GlideRoot.environment.ignoreReopen);
|
||||
|
||||
@@ -159,6 +159,19 @@
|
||||
* Updated grSplash code to set all of the necessary state itself rather
|
||||
* than expecting the caller to do so.
|
||||
*/
|
||||
#ifndef GLIDE_SPLASH
|
||||
#include <3dfx.h>
|
||||
#define FX_DLL_DEFINITION
|
||||
#include <fxdll.h>
|
||||
#include <glide.h>
|
||||
#include "fxglide.h"
|
||||
GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
float w, float h,
|
||||
FxU32 frameNumber)) {
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
#elif defined(_WIN32)
|
||||
#include <math.h>
|
||||
|
||||
#include <3dfx.h>
|
||||
@@ -196,7 +209,6 @@ GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
GDBG_INFO_MORE(gc->myLevel,"(%f,%f,%f,%f,%d)\n",
|
||||
x, y, w, h, frameNumber);
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
#if (GLIDE_PLATFORM & GLIDE_HW_SST2)
|
||||
#else
|
||||
{
|
||||
@@ -212,8 +224,20 @@ GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
grGlideSetState((const void*)&glideState);
|
||||
}
|
||||
#endif
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
|
||||
GR_END();
|
||||
#undef FN_NAME
|
||||
}
|
||||
|
||||
#else /* others */
|
||||
#include <3dfx.h>
|
||||
#define FX_DLL_DEFINITION
|
||||
#include <fxdll.h>
|
||||
#include <glide.h>
|
||||
#include "fxglide.h"
|
||||
GR_DIENTRY(grSplash,void,(float x, float y,
|
||||
float w, float h,
|
||||
FxU32 frameNumber)) {
|
||||
/* nothing */
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -1083,97 +1083,68 @@ clearBuffers( GrGC *gc )
|
||||
static void
|
||||
doSplash( void )
|
||||
{
|
||||
#if defined(GLIDE_SPLASH) || ((GLIDE_PLATFORM & GLIDE_OS_WIN32) && defined(GLIDE_PLUG))
|
||||
GR_DCL_GC;
|
||||
|
||||
FxBool didLoad;
|
||||
#endif
|
||||
|
||||
/* The splash screen wants a swapped Y origin, which doesn't
|
||||
* work in all SLI configs. */
|
||||
if(_GlideRoot.environment.sliBandHeightForce)
|
||||
return;
|
||||
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
if (gc->pluginInfo.moduleHandle == NULL)
|
||||
gc->pluginInfo.moduleHandle = LoadLibrary("3dfxspl3.dll");
|
||||
|
||||
didLoad = (gc->pluginInfo.moduleHandle != NULL);
|
||||
if (didLoad) {
|
||||
gc->pluginInfo.initProc = (GrSplashInitProc) GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplashInit@24");
|
||||
gc->pluginInfo.shutdownProc = (GrSplashShutdownProc)GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplashShutdown@0");
|
||||
gc->pluginInfo.splashProc = (GrSplashProc) GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplash@20");
|
||||
gc->pluginInfo.plugProc = (GrSplashPlugProc) GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplashPlug@16");
|
||||
|
||||
didLoad = (!_GlideRoot.environment.noSplash &&
|
||||
(gc->pluginInfo.initProc != NULL) &&
|
||||
(gc->pluginInfo.splashProc != NULL) &&
|
||||
(gc->pluginInfo.plugProc != NULL) &&
|
||||
(gc->pluginInfo.shutdownProc != NULL));
|
||||
if (didLoad) {
|
||||
GrState glideState;
|
||||
|
||||
/* Protect ourselves from the splash screen */
|
||||
grGlideGetState(&glideState);
|
||||
didLoad = (*gc->pluginInfo.initProc)(gc->grHwnd,
|
||||
gc->state.screen_width, gc->state.screen_height,
|
||||
gc->grColBuf, gc->grAuxBuf,
|
||||
gc->state.color_format);
|
||||
if (didLoad) {
|
||||
(*gc->pluginInfo.splashProc)(0.0f, 0.0f,
|
||||
(float)gc->state.screen_width,
|
||||
(float)gc->state.screen_height,
|
||||
0);
|
||||
(*gc->pluginInfo.shutdownProc)();
|
||||
}
|
||||
grGlideSetState((const void*)&glideState);
|
||||
}
|
||||
}
|
||||
|
||||
/* Clear all the info if we could not load for some reason */
|
||||
if (!didLoad) {
|
||||
if (gc->pluginInfo.moduleHandle)
|
||||
FreeLibrary(gc->pluginInfo.moduleHandle);
|
||||
memset(&gc->pluginInfo, 0, sizeof(gc->pluginInfo));
|
||||
}
|
||||
#else
|
||||
gc->pluginInfo.initProc = fxSplashInit;
|
||||
gc->pluginInfo.shutdownProc = fxSplashShutdown;
|
||||
gc->pluginInfo.splashProc = fxSplash;
|
||||
gc->pluginInfo.plugProc = fxSplashPlug;
|
||||
|
||||
didLoad = (!_GlideRoot.environment.noSplash &&
|
||||
(gc->pluginInfo.initProc != NULL) &&
|
||||
(gc->pluginInfo.splashProc != NULL) &&
|
||||
(gc->pluginInfo.plugProc != NULL) &&
|
||||
(gc->pluginInfo.shutdownProc != NULL));
|
||||
if (didLoad) {
|
||||
GrState glideState;
|
||||
|
||||
/* Protect ourselves from the splash screen */
|
||||
grGlideGetState(&glideState);
|
||||
didLoad = (*gc->pluginInfo.initProc)(gc->grHwnd,
|
||||
gc->state.screen_width, gc->state.screen_height,
|
||||
gc->grColBuf, gc->grAuxBuf,
|
||||
gc->state.color_format);
|
||||
if (didLoad) {
|
||||
(*gc->pluginInfo.splashProc)(0.0f, 0.0f,
|
||||
(float)gc->state.screen_width,
|
||||
(float)gc->state.screen_height,
|
||||
0);
|
||||
(*gc->pluginInfo.shutdownProc)();
|
||||
}
|
||||
grGlideSetState((const void*)&glideState);
|
||||
}
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32) && (defined(GLIDE_SPLASH)||defined(GLIDE_PLUG))
|
||||
{
|
||||
FxBool
|
||||
didLoad;
|
||||
|
||||
/* Clear all the info if we could not load for some reason */
|
||||
if (!didLoad) memset(&gc->pluginInfo, 0, sizeof(gc->pluginInfo));
|
||||
if (gc->pluginInfo.moduleHandle == NULL) gc->pluginInfo.moduleHandle = LoadLibrary("3dfxspl3.dll");
|
||||
didLoad = (gc->pluginInfo.moduleHandle != NULL);
|
||||
if (didLoad) {
|
||||
gc->pluginInfo.initProc = (GrSplashInitProc)GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplashInit@24");
|
||||
gc->pluginInfo.shutdownProc = (GrSplashShutdownProc)GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplashShutdown@0");
|
||||
gc->pluginInfo.splashProc = (GrSplashProc)GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplash@20");
|
||||
gc->pluginInfo.plugProc = (GrSplashPlugProc)GetProcAddress(gc->pluginInfo.moduleHandle,
|
||||
"_fxSplashPlug@16");
|
||||
|
||||
didLoad = ((gc->pluginInfo.initProc != NULL) &&
|
||||
(gc->pluginInfo.splashProc != NULL) &&
|
||||
(gc->pluginInfo.plugProc != NULL) &&
|
||||
(gc->pluginInfo.shutdownProc != NULL));
|
||||
if (didLoad) {
|
||||
GrState glideState;
|
||||
|
||||
/* Protect ourselves from the splash screen */
|
||||
grGlideGetState(&glideState);
|
||||
{
|
||||
didLoad = (*gc->pluginInfo.initProc)(gc->grHwnd,
|
||||
gc->state.screen_width, gc->state.screen_height,
|
||||
gc->grColBuf, gc->grAuxBuf,
|
||||
gc->state.color_format);
|
||||
if (!didLoad) (*gc->pluginInfo.shutdownProc)();
|
||||
}
|
||||
grGlideSetState((const void*)&glideState);
|
||||
}
|
||||
|
||||
if (!didLoad) FreeLibrary(gc->pluginInfo.moduleHandle);
|
||||
}
|
||||
|
||||
/* Clear all the info if we could not load for some reason */
|
||||
if (!didLoad) memset(&gc->pluginInfo, 0, sizeof(gc->pluginInfo));
|
||||
}
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
|
||||
#ifdef GLIDE_SPLASH
|
||||
if (_GlideRoot.environment.noSplash == 0) {
|
||||
grSplash(0.0f, 0.0f,
|
||||
(float)gc->state.screen_width,
|
||||
(float)gc->state.screen_height,
|
||||
0);
|
||||
}
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
|
||||
#endif
|
||||
} /* doSplash */
|
||||
|
||||
|
||||
@@ -3141,6 +3112,8 @@ GR_ENTRY(grSstWinClose, FxBool, (GrContext_t context))
|
||||
#if (GLIDE_PLATFORM & GLIDE_OS_WIN32)
|
||||
/* free splashscreen DLL */
|
||||
if (gc->pluginInfo.moduleHandle) {
|
||||
if (gc->pluginInfo.shutdownProc)
|
||||
(*gc->pluginInfo.shutdownProc)();
|
||||
FreeLibrary(gc->pluginInfo.moduleHandle);
|
||||
memset(&gc->pluginInfo, 0, sizeof(gc->pluginInfo));
|
||||
}
|
||||
|
||||
@@ -58,13 +58,11 @@
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
#include "banner.inc"
|
||||
#endif
|
||||
|
||||
/* display the translucent 3Dfx powerfield logo */
|
||||
void
|
||||
_grShamelessPlug( void )
|
||||
{
|
||||
#ifdef GLIDE_PLUG
|
||||
GrState state;
|
||||
GrLfbInfo_t info;
|
||||
|
||||
@@ -193,5 +191,5 @@ _grShamelessPlug( void )
|
||||
|
||||
|
||||
GR_END();
|
||||
#endif
|
||||
} /* _grShamelessPlug */
|
||||
#endif
|
||||
|
||||
@@ -584,9 +584,11 @@ GR_ENTRY(grBufferSwap, void, ( FxU32 swapInterval ))
|
||||
pending = _grBufferNumPending();
|
||||
}
|
||||
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug)
|
||||
_grShamelessPlug();
|
||||
#endif
|
||||
|
||||
initSwapBuffers( swapInterval );
|
||||
|
||||
@@ -603,9 +605,11 @@ GR_ENTRY(grBufferSwap, void, ( FxU32 swapInterval ))
|
||||
P6_NUDGE_OF_LOVE;
|
||||
|
||||
#elif ( GLIDE_PLATFORM & GLIDE_HW_SST1 )
|
||||
#ifdef GLIDE_PLUG
|
||||
/* optionally display the 3Dfx powerfield logo overlay */
|
||||
if (_GlideRoot.environment.shamelessPlug)
|
||||
_grShamelessPlug();
|
||||
#endif
|
||||
|
||||
/* check for environmental override */
|
||||
if (_GlideRoot.environment.swapInterval >= 0) {
|
||||
|
||||
@@ -436,8 +436,16 @@ _GlideInitEnvironment( void )
|
||||
_GlideRoot.environment.swFifoLWM = -1;
|
||||
|
||||
_GlideRoot.environment.triBoundsCheck = (getenv("FX_GLIDE_BOUNDS_CHECK") != NULL);
|
||||
#ifdef GLIDE_SPLASH
|
||||
_GlideRoot.environment.noSplash = (getenv("FX_GLIDE_NO_SPLASH") != NULL);
|
||||
#else
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
#endif
|
||||
#ifdef GLIDE_PLUG
|
||||
_GlideRoot.environment.shamelessPlug = (getenv("FX_GLIDE_SHAMELESS_PLUG") != NULL);
|
||||
#else
|
||||
_GlideRoot.environment.shamelessPlug = 0;
|
||||
#endif
|
||||
_GlideRoot.environment.ignoreReopen = (getenv("FX_GLIDE_IGNORE_REOPEN") != NULL);
|
||||
_GlideRoot.environment.disableDitherSub = (getenv("FX_GLIDE_NO_DITHER_SUB") != NULL);
|
||||
|
||||
|
||||
@@ -132,6 +132,13 @@
|
||||
#include "fxglide.h"
|
||||
#include "fxinline.h"
|
||||
|
||||
#ifndef GLIDE_SPLASH
|
||||
GR_DIENTRY(grSplash,void,(float x,float y,float w,float h,FxU32 _frame)) {
|
||||
/* nothing */
|
||||
}
|
||||
|
||||
#else /* GLIDE_SPLASH */
|
||||
|
||||
/*-----------------------------
|
||||
Constants
|
||||
-----------------------------*/
|
||||
@@ -1074,3 +1081,4 @@ GR_DIENTRY(grSplash,void,(float x,float y,float w,float h,FxU32 _frame))
|
||||
grVertexLayout(GR_PARAM_Q1, gc->state.vData.q1Info.offset ,
|
||||
gc->state.vData.q1Info.mode);
|
||||
}
|
||||
#endif /* GLIDE_SPLASH */
|
||||
|
||||
@@ -1002,21 +1002,25 @@ GR_ENTRY(grSstWinOpen, GrContext_t, (FxU32 hWnd,
|
||||
|
||||
grSstOrigin( GR_ORIGIN_LOWER_LEFT );
|
||||
|
||||
#ifdef GLIDE_SPLASH
|
||||
if (!_GlideRoot.environment.noSplash) {
|
||||
HMODULE newSplash;
|
||||
HMODULE newSplash = LoadLibrary("3dfxspl3.dll");
|
||||
|
||||
if (newSplash = LoadLibrary("3dfxspl3.dll")) {
|
||||
FARPROC fxSplash;
|
||||
if (newSplash) {
|
||||
FARPROC fxSplash = GetProcAddress(newSplash, "_fxSplash@16");
|
||||
|
||||
if (fxSplash = GetProcAddress(newSplash, "_fxSplash@16")) {
|
||||
if (fxSplash) {
|
||||
fxSplash(hWnd, gc->state.screen_width,
|
||||
gc->state.screen_height, nAuxBuffers);
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
}
|
||||
gc->state.screen_height, nAuxBuffers);
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
}
|
||||
FreeLibrary(newSplash);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif /* (GLIDE_PLATFORM & GLIDE_OS_WIN32) */
|
||||
|
||||
#ifdef GLIDE_SPLASH
|
||||
/* If it's still 0, then do the old one */
|
||||
if (!_GlideRoot.environment.noSplash) {
|
||||
grSplash(0.0f, 0.0f,
|
||||
@@ -1025,6 +1029,8 @@ GR_ENTRY(grSstWinOpen, GrContext_t, (FxU32 hWnd,
|
||||
0);
|
||||
_GlideRoot.environment.noSplash = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
grGlideSetState(&state);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user