	format	MS COFF
	extrn	_AdjustWindowRect@12
	extrn	_ClientToScreen@8
	extrn	_CreateWindowExA@48
	extrn	_CreateWindowExW@48
	extrn	_DefWindowProcA@16
	extrn	_DefWindowProcW@16
	extrn	_DestroyWindow@4
	extrn	_GetClientRect@8
	extrn	_GetDesktopWindow@0
	extrn	_GetModuleHandleA@4
	extrn	_GetWindowRect@8
	extrn	_LoadCursorA@8
	extrn	_RegisterClassA@4
	extrn	_RegisterClassW@4
	extrn	___bb_blitz_blitz
	extrn	___bb_directx_directx
	extrn	___bb_graphics_graphics
	extrn	___bb_linkedlist_linkedlist
	extrn	__bbusew
	extrn	__brl_graphics_TGraphicsDriver_Delete
	extrn	__brl_graphics_TGraphicsDriver_New
	extrn	__brl_graphics_TGraphics_Delete
	extrn	__brl_graphics_TGraphics_New
	extrn	__brl_graphics_TGraphics__pad
	extrn	_bbAppTitle
	extrn	_bbArrayNew1D
	extrn	_bbEmptyArray
	extrn	_bbEnd
	extrn	_bbGCFree
	extrn	_bbIntAbs
	extrn	_bbMemFree
	extrn	_bbNullObject
	extrn	_bbObjectClass
	extrn	_bbObjectCompare
	extrn	_bbObjectCtor
	extrn	_bbObjectDowncast
	extrn	_bbObjectFree
	extrn	_bbObjectNew
	extrn	_bbObjectRegisterType
	extrn	_bbObjectReserved
	extrn	_bbObjectSendMessage
	extrn	_bbObjectToString
	extrn	_bbStringClass
	extrn	_bbStringConcat
	extrn	_bbStringFromCString
	extrn	_bbStringFromInt
	extrn	_bbStringToCString
	extrn	_bbStringToWString
	extrn	_bbSystemEmitOSEvent
	extrn	_bbWriteStdout
	extrn	_brl_blitz_NullFunctionError
	extrn	_brl_graphics_BumpGraphicsSeq
	extrn	_brl_graphics_TGraphics
	extrn	_brl_graphics_TGraphicsDriver
	extrn	_brl_graphics_TGraphicsMode
	extrn	_brl_linkedlist_TList
	extrn	_pub_directx_DDCAPS_DX7
	extrn	_pub_directx_DDSCAPS2
	extrn	_pub_directx_DDSURFACEDESC2
	extrn	_pub_directx_DirectDrawCreateEx
	extrn	_pub_directx_IID_IDirect3D7
	extrn	_pub_directx_IID_IDirect3DHALDevice
	extrn	_pub_directx_IID_IDirect3DTnLDevice
	extrn	_pub_directx_IID_IDirectDraw7
	extrn	_pub_win32_WNDCLASS
	extrn	_pub_win32_WNDCLASSW
	public	___bb_dxgraphics_d3d7graphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver_AttachGraphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver_BeginScene
	public	__brl_dxgraphics_TD3D7GraphicsDriver_CloseGraphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver_Create
	public	__brl_dxgraphics_TD3D7GraphicsDriver_CreateGraphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver_CreateSurface
	public	__brl_dxgraphics_TD3D7GraphicsDriver_Delete
	public	__brl_dxgraphics_TD3D7GraphicsDriver_DestroySurface
	public	__brl_dxgraphics_TD3D7GraphicsDriver_Direct3D7
	public	__brl_dxgraphics_TD3D7GraphicsDriver_Direct3DDevice7
	public	__brl_dxgraphics_TD3D7GraphicsDriver_DirectDraw7
	public	__brl_dxgraphics_TD3D7GraphicsDriver_EndScene
	public	__brl_dxgraphics_TD3D7GraphicsDriver_Flip
	public	__brl_dxgraphics_TD3D7GraphicsDriver_Graphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver_GraphicsModes
	public	__brl_dxgraphics_TD3D7GraphicsDriver_IsValid
	public	__brl_dxgraphics_TD3D7GraphicsDriver_New
	public	__brl_dxgraphics_TD3D7GraphicsDriver_SetGraphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver_ValidateGraphics
	public	__brl_dxgraphics_TD3D7GraphicsDriver__Create
	public	__brl_dxgraphics_TD3D7GraphicsDriver__Destroy
	public	__brl_dxgraphics_TD3D7GraphicsDriver__ValidateGraphics
	public	__brl_dxgraphics_TD3D7Graphics_Attach
	public	__brl_dxgraphics_TD3D7Graphics_Close
	public	__brl_dxgraphics_TD3D7Graphics_Create
	public	__brl_dxgraphics_TD3D7Graphics_CreateRenderSurface
	public	__brl_dxgraphics_TD3D7Graphics_Delete
	public	__brl_dxgraphics_TD3D7Graphics_DestroyRenderSurface
	public	__brl_dxgraphics_TD3D7Graphics_Driver
	public	__brl_dxgraphics_TD3D7Graphics_Flip
	public	__brl_dxgraphics_TD3D7Graphics_GetSettings
	public	__brl_dxgraphics_TD3D7Graphics_New
	public	__brl_dxgraphics_TD3D7Graphics_RenderSurface
	public	__brl_dxgraphics_TD3D7Graphics_ValidateSize
	public	__brl_dxgraphics_TD3D7Graphics__primRefs
	public	__brl_dxgraphics_TD3D7Graphics__primSurf
	public	__brl_dxgraphics_TD3D7Surface_Delete
	public	__brl_dxgraphics_TD3D7Surface_New
	public	_brl_dxgraphics_D3D7GraphicsDriver
	public	_brl_dxgraphics_TD3D7Graphics
	public	_brl_dxgraphics_TD3D7GraphicsDriver
	section	"code" code
___bb_dxgraphics_d3d7graphics:
	push	ebp
	mov	ebp,esp
	cmp	dword [_323],0
	je	_324
	mov	eax,0
	mov	esp,ebp
	pop	ebp
	ret
_324:
	mov	dword [_323],1
	call	___bb_blitz_blitz
	call	___bb_graphics_graphics
	call	___bb_linkedlist_linkedlist
	call	___bb_directx_directx
	push	_18
	call	_bbObjectRegisterType
	add	esp,4
	push	_brl_dxgraphics_TD3D7Graphics
	call	_bbObjectRegisterType
	add	esp,4
	push	_brl_dxgraphics_TD3D7GraphicsDriver
	call	_bbObjectRegisterType
	add	esp,4
	mov	eax,dword [_319]
	and	eax,1
	cmp	eax,0
	jne	_320
	push	_19
	call	_bbStringToCString
	add	esp,4
	mov	dword [_318],eax
	or	dword [_319],1
_320:
	mov	eax,dword [_319]
	and	eax,2
	cmp	eax,0
	jne	_322
	push	_19
	call	_bbStringToWString
	add	esp,4
	mov	dword [_321],eax
	or	dword [_319],2
_322:
	mov	eax,0
	jmp	_151
_151:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Surface_New:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	push	ebx
	call	_bbObjectCtor
	add	esp,4
	mov	dword [ebx],_18
	mov	dword [ebx+8],0
	mov	eax,0
	jmp	_154
_154:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Surface_Delete:
	push	ebp
	mov	ebp,esp
_157:
	mov	eax,0
	jmp	_325
_325:
	mov	esp,ebp
	pop	ebp
	ret
_20:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	cmp	ebx,0
	je	_328
	cmp	ebx,-2005532108
	je	_329
	cmp	ebx,-2005532085
	je	_330
	cmp	ebx,-2005532447
	je	_331
	cmp	ebx,-2005532091
	je	_332
	cmp	ebx,-2005532082
	je	_333
	cmp	ebx,-2005532222
	je	_334
	jmp	_327
_328:
	mov	eax,_21
	jmp	_160
_329:
	mov	eax,_22
	jmp	_160
_330:
	mov	eax,_23
	jmp	_160
_331:
	mov	eax,_24
	jmp	_160
_332:
	mov	eax,_25
	jmp	_160
_333:
	mov	eax,_26
	jmp	_160
_334:
	mov	eax,_27
	jmp	_160
_327:
	mov	eax,ebx
	and	eax,65535
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_29
	push	ebx
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_28
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbStringConcat
	add	esp,8
	jmp	_160
_160:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
_30:
	push	ebp
	mov	ebp,esp
	mov	edx,dword [ebp+8]
	mov	eax,1
	cmp	eax,0
	je	_335
	mov	eax,0
	jmp	_163
_335:
	push	_31
	push	edx
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbWriteStdout
	add	esp,4
	mov	eax,0
	jmp	_163
_163:
	mov	esp,ebp
	pop	ebp
	ret
_32:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	edi,dword [ebp+8]
	mov	esi,dword [ebp+12]
	mov	ebx,dword [ebp+16]
	push	_bbNullObject
	push	dword [ebp+20]
	push	ebx
	push	esi
	push	edi
	call	_bbSystemEmitOSEvent
	add	esp,20
	mov	eax,esi
	cmp	eax,16
	je	_338
	cmp	eax,260
	je	_339
	cmp	eax,7
	je	_340
	cmp	eax,8
	je	_341
	jmp	_337
_338:
	mov	eax,0
	jmp	_169
_339:
	cmp	ebx,115
	je	_342
	mov	eax,0
	jmp	_169
_342:
	jmp	_337
_340:
	push	_33
	call	_30
	add	esp,4
	mov	eax,dword [_317]
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+108]
	add	esp,8
	jmp	_337
_341:
	push	_34
	call	_30
	add	esp,4
	mov	eax,dword [_317]
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+108]
	add	esp,8
	jmp	_337
_337:
	cmp	dword [__bbusew],0
	je	_345
	push	dword [ebp+20]
	push	ebx
	push	esi
	push	edi
	call	_DefWindowProcW@16
	jmp	_169
_345:
	push	dword [ebp+20]
	push	ebx
	push	esi
	push	edi
	call	_DefWindowProcA@16
	jmp	_169
_169:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret	16
_35:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	eax,dword [ebp+8]
	mov	edi,dword [ebp+12]
	mov	esi,eax
	push	_brl_graphics_TGraphicsMode
	call	_bbObjectNew
	add	esp,4
	mov	ebx,eax
	mov	eax,dword [esi+12]
	mov	dword [ebx+8],eax
	mov	eax,dword [esi+8]
	mov	dword [ebx+12],eax
	mov	eax,dword [esi+84]
	mov	dword [ebx+16],eax
	mov	eax,dword [esi+24]
	mov	dword [ebx+20],eax
	cmp	dword [ebx+16],16
	jl	_348
	push	_brl_linkedlist_TList
	push	edi
	call	_bbObjectDowncast
	add	esp,8
	push	ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+68]
	add	esp,8
_348:
	mov	eax,1
	jmp	_173
_173:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret	8
_37:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	eax,dword [ebp+8]
	mov	ebx,dword [ebp+12]
	cmp	eax,0
	jl	_350
	mov	eax,0
	jmp	_177
_350:
	push	_31
	push	eax
	call	_20
	add	esp,4
	push	eax
	push	_38
	push	ebx
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbWriteStdout
	add	esp,4
	call	_bbEnd
	mov	eax,0
	jmp	_177
_177:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
_39:
	push	ebp
	mov	ebp,esp
	sub	esp,12
	push	ebx
	push	esi
	push	edi
	mov	eax,dword [ebp+24]
	mov	dword [ebp-8],_bbNullObject
	mov	dword [ebp-4],32767
	mov	edi,eax
	mov	eax,edi
	add	eax,24
	mov	ebx,eax
	mov	eax,ebx
	add	eax,dword [edi+16]
	mov	dword [ebp-12],eax
	jmp	_40
_42:
	mov	esi,dword [ebx]
	add	ebx,4
	cmp	esi,_bbNullObject
	je	_40
	mov	eax,dword [ebp+8]
	cmp	eax,dword [esi+8]
	sete	al
	movzx	eax,al
	cmp	eax,0
	je	_358
	mov	eax,dword [ebp+12]
	cmp	eax,dword [esi+12]
	sete	al
	movzx	eax,al
_358:
	cmp	eax,0
	je	_360
	mov	eax,dword [ebp+16]
	cmp	eax,dword [esi+16]
	sete	al
	movzx	eax,al
_360:
	cmp	eax,0
	je	_362
	mov	eax,dword [ebp+20]
	sub	eax,dword [esi+20]
	push	eax
	call	_bbIntAbs
	add	esp,4
	cmp	eax,dword [ebp-4]
	jge	_364
	mov	dword [ebp-4],eax
	mov	dword [ebp-8],esi
_364:
_362:
_40:
	cmp	ebx,dword [ebp-12]
	jne	_42
_41:
	mov	eax,dword [ebp-8]
	jmp	_184
_184:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
_43:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	ebx,dword [ebp+12]
	mov	eax,dword [ebp+16]
	mov	edi,dword [ebp+20]
	push	dword [ebp+24]
	push	edi
	push	eax
	push	ebx
	push	esi
	call	_39
	add	esp,20
	cmp	eax,_bbNullObject
	je	_366
	jmp	_191
_366:
	push	dword [ebp+24]
	push	edi
	push	32
	push	ebx
	push	esi
	call	_39
	add	esp,20
	cmp	eax,_bbNullObject
	je	_367
	jmp	_191
_367:
	push	dword [ebp+24]
	push	edi
	push	24
	push	ebx
	push	esi
	call	_39
	add	esp,20
	cmp	eax,_bbNullObject
	je	_368
	jmp	_191
_368:
	push	dword [ebp+24]
	push	edi
	push	16
	push	ebx
	push	esi
	call	_39
	add	esp,20
	cmp	eax,_bbNullObject
	je	_369
	jmp	_191
_369:
	mov	eax,_bbNullObject
	jmp	_191
_191:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_New:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	push	ebx
	call	__brl_graphics_TGraphics_New
	add	esp,4
	mov	dword [ebx],_brl_dxgraphics_TD3D7Graphics
	mov	dword [ebx+8],0
	mov	dword [ebx+12],0
	mov	dword [ebx+16],0
	mov	dword [ebx+20],0
	mov	dword [ebx+24],0
	mov	dword [ebx+28],0
	mov	dword [ebx+32],0
	mov	dword [ebx+36],0
	mov	eax,0
	jmp	_194
_194:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_Delete:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
_197:
	mov	dword [eax],_brl_graphics_TGraphics
	push	eax
	call	__brl_graphics_TGraphics_Delete
	add	esp,4
	mov	eax,0
	jmp	_370
_370:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_Driver:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [_317]
	jmp	_200
_200:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_GetSettings:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	ecx,dword [ebp+8]
	mov	esi,dword [ebp+12]
	mov	edi,dword [ebp+20]
	mov	edx,dword [ebp+24]
	mov	eax,dword [ebp+28]
	mov	ebx,dword [ecx+8]
	mov	dword [esi],ebx
	mov	esi,dword [ecx+12]
	mov	ebx,dword [ebp+16]
	mov	dword [ebx],esi
	mov	ebx,dword [ecx+16]
	mov	dword [edi],ebx
	mov	ebx,dword [ecx+20]
	mov	dword [edx],ebx
	mov	edx,dword [ecx+24]
	mov	dword [eax],edx
	mov	eax,0
	jmp	_208
_208:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_Close:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	cmp	dword [ebx+28],0
	jne	_371
	mov	eax,0
	jmp	_211
_371:
	mov	eax,dword [_317]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+76]
	add	esp,4
	cmp	dword [ebx+16],0
	je	_374
	push	4104
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+80]
_374:
	mov	eax,dword [_317]
	push	ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+68]
	add	esp,8
	push	dword [ebx+28]
	call	_DestroyWindow@4
	mov	dword [ebx+28],0
	mov	eax,0
	jmp	_211
_211:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_Flip:
	push	ebp
	mov	ebp,esp
	sub	esp,12
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	ebx,dword [ebp+12]
	mov	eax,dword [_317]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+76]
	add	esp,4
	mov	edi,eax
	push	_pub_directx_DDSURFACEDESC2
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp-4]
	mov	dword [eax+8],124
	mov	eax,dword [esi+36]
	push	0
	push	17
	mov	edx,dword [ebp-4]
	lea	edx,dword [edx+8]
	push	edx
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+100]
	cmp	eax,0
	jl	_381
	mov	eax,dword [esi+36]
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+128]
_381:
	cmp	dword [esi+16],0
	je	_383
	mov	edx,0
	cmp	ebx,0
	jne	_385
	mov	edx,8
_385:
	mov	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	edx
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+44]
	jmp	_387
_383:
	push	4
	push	_81
	call	_bbArrayNew1D
	add	esp,8
	mov	dword [eax+24],0
	mov	dword [eax+28],0
	mov	edx,dword [esi+8]
	mov	dword [eax+32],edx
	mov	edx,dword [esi+12]
	mov	dword [eax+36],edx
	mov	dword [ebp-12],eax
	push	4
	push	_81
	call	_bbArrayNew1D
	add	esp,8
	mov	dword [eax+24],0
	mov	dword [eax+28],0
	mov	edx,dword [esi+8]
	mov	dword [eax+32],edx
	mov	edx,dword [esi+12]
	mov	dword [eax+36],edx
	mov	dword [ebp-8],eax
	mov	eax,dword [ebp-8]
	lea	eax,byte [eax+24]
	push	eax
	push	dword [esi+28]
	call	_ClientToScreen@8
	mov	ecx,dword [ebp-8]
	mov	eax,dword [ebp-8]
	mov	edx,dword [eax+8+24]
	mov	eax,dword [ebp-8]
	add	edx,dword [eax+24]
	mov	dword [ecx+8+24],edx
	mov	ecx,dword [ebp-8]
	mov	eax,dword [ebp-8]
	mov	edx,dword [eax+12+24]
	mov	eax,dword [ebp-8]
	add	edx,dword [eax+4+24]
	mov	dword [ecx+12+24],edx
	cmp	ebx,0
	je	_392
	mov	eax,edi
	push	0
	push	1
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+88]
_392:
	mov	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	dword [esi+32]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+112]
	mov	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	0
	push	0
	mov	edx,dword [ebp-12]
	lea	edx,byte [edx+24]
	push	edx
	push	dword [esi+36]
	mov	edx,dword [ebp-8]
	lea	edx,byte [edx+24]
	push	edx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+20]
	mov	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+112]
_387:
	mov	eax,0
	jmp	_215
_215:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_RenderSurface:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+88]
	add	esp,4
	mov	eax,dword [ebx+36]
	jmp	_218
_218:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_CreateRenderSurface:
	push	ebp
	mov	ebp,esp
	sub	esp,16
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	eax,dword [_317]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+76]
	add	esp,4
	mov	ebx,eax
	cmp	dword [esi+16],0
	je	_400
	push	_36
	push	4115
	push	dword [esi+28]
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+80]
	push	eax
	call	_37
	add	esp,8
	push	_36
	push	0
	push	dword [esi+20]
	push	dword [esi+16]
	push	dword [esi+12]
	push	dword [esi+8]
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+84]
	push	eax
	call	_37
	add	esp,8
	push	_pub_directx_DDSURFACEDESC2
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp-4]
	mov	dword [eax+8],124
	mov	eax,dword [ebp-4]
	mov	dword [eax+12],33
	mov	eax,dword [ebp-4]
	mov	dword [eax+112],8728
	mov	eax,dword [ebp-4]
	mov	dword [eax+28],1
	push	_36
	push	0
	lea	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	eax
	mov	eax,dword [ebp-4]
	lea	eax,dword [eax+8]
	push	eax
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+24]
	push	eax
	call	_37
	add	esp,8
	push	_pub_directx_DDSCAPS2
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-8],eax
	mov	eax,dword [ebp-8]
	mov	dword [eax+8],4
	mov	edx,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	_36
	lea	eax,dword [esi+36]
	push	eax
	mov	eax,dword [ebp-8]
	lea	eax,dword [eax+8]
	push	eax
	push	edx
	mov	eax,dword [edx]
	call	dword [eax+48]
	push	eax
	call	_37
	add	esp,8
	jmp	_407
_400:
	cmp	dword [__brl_dxgraphics_TD3D7Graphics__primSurf],0
	je	_408
	mov	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+4]
	jmp	_410
_408:
	push	_pub_directx_DDSURFACEDESC2
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-12],eax
	mov	eax,dword [ebp-12]
	mov	dword [eax+8],124
	mov	eax,dword [ebp-12]
	mov	dword [eax+12],1
	mov	eax,dword [ebp-12]
	mov	dword [eax+112],512
	push	_36
	push	0
	lea	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	eax
	mov	eax,dword [ebp-12]
	lea	eax,dword [eax+8]
	push	eax
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+24]
	push	eax
	call	_37
	add	esp,8
_410:
	push	_pub_directx_DDSURFACEDESC2
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-16],eax
	mov	eax,dword [ebp-16]
	mov	dword [eax+8],124
	mov	eax,dword [ebp-16]
	mov	dword [eax+12],7
	mov	edx,dword [ebp-16]
	mov	eax,dword [esi+8]
	mov	dword [edx+20],eax
	mov	edx,dword [ebp-16]
	mov	eax,dword [esi+12]
	mov	dword [edx+16],eax
	mov	eax,dword [ebp-16]
	mov	dword [eax+112],8256
	push	dword [esi+12]
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_45
	push	dword [esi+8]
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_44
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	push	_36
	push	0
	lea	eax,dword [esi+36]
	push	eax
	mov	eax,dword [ebp-16]
	lea	eax,dword [eax+8]
	push	eax
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+24]
	push	eax
	call	_37
	add	esp,8
	push	_36
	push	0
	lea	eax,dword [esi+32]
	push	eax
	push	0
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+16]
	push	eax
	call	_37
	add	esp,8
	mov	eax,dword [esi+32]
	push	_36
	push	dword [esi+28]
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+32]
	push	eax
	call	_37
	add	esp,8
_407:
	add	dword [__brl_dxgraphics_TD3D7Graphics__primRefs],1
	mov	eax,dword [esi+36]
	jmp	_221
_221:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_DestroyRenderSurface:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	cmp	dword [ebx+32],0
	je	_417
	mov	eax,dword [ebx+32]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_46
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	mov	dword [ebx+32],0
_417:
	cmp	dword [ebx+36],0
	je	_419
	mov	eax,dword [ebx+36]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_47
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	mov	dword [ebx+36],0
_419:
	cmp	dword [__brl_dxgraphics_TD3D7Graphics__primSurf],0
	je	_421
	mov	eax,dword [__brl_dxgraphics_TD3D7Graphics__primSurf]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_48
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	sub	dword [__brl_dxgraphics_TD3D7Graphics__primRefs],1
	cmp	dword [__brl_dxgraphics_TD3D7Graphics__primRefs],0
	jne	_423
	mov	dword [__brl_dxgraphics_TD3D7Graphics__primSurf],0
_423:
_421:
	mov	eax,0
	jmp	_224
_224:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_Attach:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	ebx,dword [ebp+12]
	push	4
	push	_424
	call	_bbArrayNew1D
	add	esp,8
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp-4]
	lea	eax,dword [eax+24]
	push	eax
	push	esi
	call	_GetClientRect@8
	push	_brl_dxgraphics_TD3D7Graphics
	call	_bbObjectNew
	add	esp,4
	mov	dword [eax+28],esi
	mov	edx,dword [ebp-4]
	mov	edx,dword [edx+8+24]
	mov	dword [eax+8],edx
	mov	edx,dword [ebp-4]
	mov	edx,dword [edx+12+24]
	mov	dword [eax+12],edx
	mov	dword [eax+24],ebx
	jmp	_228
_228:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_Create:
	push	ebp
	mov	ebp,esp
	sub	esp,28
	push	ebx
	push	esi
	push	edi
	cmp	dword [_427],0
	jne	_428
	cmp	dword [__bbusew],0
	je	_429
	push	_pub_win32_WNDCLASSW
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-4],eax
	mov	ebx,dword [ebp-4]
	push	0
	call	_GetModuleHandleA@4
	mov	dword [ebx+24],eax
	mov	eax,dword [ebp-4]
	mov	dword [eax+12],_32
	mov	ebx,dword [ebp-4]
	mov	eax,32512
	push	eax
	push	0
	call	_LoadCursorA@8
	mov	dword [ebx+32],eax
	mov	edx,dword [ebp-4]
	mov	eax,dword [_321]
	mov	dword [edx+44],eax
	mov	eax,dword [ebp-4]
	lea	eax,dword [eax+8]
	push	eax
	call	_RegisterClassW@4
	mov	dword [_427],1
	jmp	_431
_429:
	push	_pub_win32_WNDCLASS
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-8],eax
	mov	ebx,dword [ebp-8]
	push	0
	call	_GetModuleHandleA@4
	mov	dword [ebx+24],eax
	mov	eax,dword [ebp-8]
	mov	dword [eax+12],_32
	mov	ebx,dword [ebp-8]
	mov	eax,32512
	push	eax
	push	0
	call	_LoadCursorA@8
	mov	dword [ebx+32],eax
	mov	edx,dword [ebp-8]
	mov	eax,dword [_318]
	mov	dword [edx+44],eax
	mov	eax,dword [ebp-8]
	lea	eax,dword [eax+8]
	push	eax
	call	_RegisterClassA@4
	mov	dword [_427],1
_431:
_428:
	push	0
	call	_GetModuleHandleA@4
	mov	dword [ebp-20],eax
	push	dword [_bbAppTitle]
	call	_bbStringToCString
	add	esp,4
	mov	dword [ebp-28],eax
	mov	eax,dword [_bbAppTitle]
	mov	dword [ebp-24],eax
	push	dword [_318]
	call	_bbStringFromCString
	add	esp,4
	mov	edi,eax
	cmp	dword [ebp+16],0
	je	_438
	cmp	dword [__bbusew],0
	je	_439
	push	edi
	call	_bbStringToWString
	add	esp,4
	mov	esi,eax
	push	dword [ebp-24]
	call	_bbStringToWString
	add	esp,4
	mov	ebx,eax
	push	0
	push	dword [ebp-20]
	push	0
	push	0
	push	dword [ebp+12]
	push	dword [ebp+8]
	push	0
	push	0
	push	-1879048192
	push	ebx
	push	esi
	push	0
	call	_CreateWindowExW@48
	mov	edi,eax
	push	esi
	call	_bbMemFree
	add	esp,4
	push	ebx
	call	_bbMemFree
	add	esp,4
	mov	ebx,edi
	jmp	_443
_439:
	push	0
	push	dword [ebp-20]
	push	0
	push	0
	push	dword [ebp+12]
	push	dword [ebp+8]
	push	0
	push	0
	push	-1879048192
	push	dword [ebp-28]
	push	dword [_318]
	push	0
	call	_CreateWindowExA@48
	mov	ebx,eax
_443:
	jmp	_444
_438:
	mov	esi,281673728
	push	4
	push	_81
	call	_bbArrayNew1D
	add	esp,8
	mov	dword [eax+24],32
	mov	dword [eax+28],32
	mov	edx,dword [ebp+8]
	add	edx,32
	mov	dword [eax+32],edx
	mov	edx,dword [ebp+12]
	add	edx,32
	mov	dword [eax+36],edx
	mov	dword [ebp-16],eax
	call	_GetDesktopWindow@0
	mov	ebx,eax
	push	4
	push	_449
	call	_bbArrayNew1D
	add	esp,8
	mov	dword [ebp-12],eax
	mov	eax,dword [ebp-12]
	lea	eax,dword [eax+24]
	push	eax
	push	ebx
	call	_GetWindowRect@8
	mov	ebx,dword [ebp-16]
	mov	eax,dword [ebp-12]
	mov	eax,dword [eax+8+24]
	cdq
	and	edx,1
	add	eax,edx
	sar	eax,1
	mov	ecx,eax
	mov	eax,dword [ebp+8]
	cdq
	and	edx,1
	add	eax,edx
	sar	eax,1
	sub	ecx,eax
	mov	dword [ebx+24],ecx
	mov	ebx,dword [ebp-16]
	mov	eax,dword [ebp-12]
	mov	eax,dword [eax+12+24]
	cdq
	and	edx,1
	add	eax,edx
	sar	eax,1
	mov	ecx,eax
	mov	eax,dword [ebp+12]
	cdq
	and	edx,1
	add	eax,edx
	sar	eax,1
	sub	ecx,eax
	mov	dword [ebx+4+24],ecx
	mov	edx,dword [ebp-16]
	mov	eax,dword [ebp-16]
	mov	eax,dword [eax+24]
	add	eax,dword [ebp+8]
	mov	dword [edx+8+24],eax
	mov	edx,dword [ebp-16]
	mov	eax,dword [ebp-16]
	mov	eax,dword [eax+4+24]
	add	eax,dword [ebp+12]
	mov	dword [edx+12+24],eax
	push	0
	push	esi
	mov	eax,dword [ebp-16]
	lea	eax,dword [eax+24]
	push	eax
	call	_AdjustWindowRect@12
	cmp	dword [__bbusew],0
	je	_451
	push	edi
	call	_bbStringToWString
	add	esp,4
	mov	edi,eax
	push	dword [ebp-24]
	call	_bbStringToWString
	add	esp,4
	mov	ebx,eax
	push	0
	push	dword [ebp-20]
	push	0
	push	0
	mov	eax,dword [ebp-16]
	mov	edx,dword [eax+12+24]
	mov	eax,dword [ebp-16]
	sub	edx,dword [eax+4+24]
	push	edx
	mov	eax,dword [ebp-16]
	mov	edx,dword [eax+8+24]
	mov	eax,dword [ebp-16]
	sub	edx,dword [eax+24]
	push	edx
	mov	eax,dword [ebp-16]
	push	dword [eax+4+24]
	mov	eax,dword [ebp-16]
	push	dword [eax+24]
	push	esi
	push	ebx
	push	edi
	push	0
	call	_CreateWindowExW@48
	mov	esi,eax
	push	edi
	call	_bbMemFree
	add	esp,4
	push	ebx
	call	_bbMemFree
	add	esp,4
	mov	ebx,esi
	jmp	_455
_451:
	push	0
	push	dword [ebp-20]
	push	0
	push	0
	mov	eax,dword [ebp-16]
	mov	edx,dword [eax+12+24]
	mov	eax,dword [ebp-16]
	sub	edx,dword [eax+4+24]
	push	edx
	mov	eax,dword [ebp-16]
	mov	edx,dword [eax+8+24]
	mov	eax,dword [ebp-16]
	sub	edx,dword [eax+24]
	push	edx
	mov	eax,dword [ebp-16]
	push	dword [eax+4+24]
	mov	eax,dword [ebp-16]
	push	dword [eax+24]
	push	esi
	push	dword [ebp-28]
	push	dword [_318]
	push	0
	call	_CreateWindowExA@48
	mov	ebx,eax
_455:
	mov	eax,dword [ebp-16]
	lea	eax,dword [eax+24]
	push	eax
	push	ebx
	call	_GetClientRect@8
	mov	eax,dword [ebp-16]
	mov	edx,dword [eax+8+24]
	mov	eax,dword [ebp-16]
	sub	edx,dword [eax+24]
	mov	dword [ebp+8],edx
	mov	eax,dword [ebp-16]
	mov	edx,dword [eax+12+24]
	mov	eax,dword [ebp-16]
	sub	edx,dword [eax+4+24]
	mov	dword [ebp+12],edx
_444:
	push	dword [ebp-28]
	call	_bbMemFree
	add	esp,4
	cmp	ebx,0
	jne	_456
	mov	eax,_bbNullObject
	jmp	_235
_456:
	push	_brl_dxgraphics_TD3D7Graphics
	call	_bbObjectNew
	add	esp,4
	mov	dword [eax+28],ebx
	mov	edx,dword [ebp+8]
	mov	dword [eax+8],edx
	mov	edx,dword [ebp+12]
	mov	dword [eax+12],edx
	mov	edx,dword [ebp+16]
	mov	dword [eax+16],edx
	mov	edx,dword [ebp+20]
	mov	dword [eax+20],edx
	mov	edx,dword [ebp+24]
	mov	dword [eax+24],edx
	jmp	_235
_235:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7Graphics_ValidateSize:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	cmp	dword [esi+16],0
	je	_458
	mov	eax,0
	jmp	_238
_458:
	push	4
	push	_459
	call	_bbArrayNew1D
	add	esp,8
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp-4]
	lea	eax,dword [eax+24]
	push	eax
	push	dword [esi+28]
	call	_GetClientRect@8
	mov	eax,dword [ebp-4]
	mov	ebx,dword [eax+8+24]
	mov	eax,dword [ebp-4]
	mov	edi,dword [eax+12+24]
	cmp	ebx,0
	setle	al
	movzx	eax,al
	cmp	eax,0
	jne	_463
	cmp	edi,0
	setle	al
	movzx	eax,al
_463:
	cmp	eax,0
	je	_465
	mov	eax,0
	jmp	_238
_465:
	cmp	ebx,dword [esi+8]
	sete	al
	movzx	eax,al
	cmp	eax,0
	je	_466
	cmp	edi,dword [esi+12]
	sete	al
	movzx	eax,al
_466:
	cmp	eax,0
	je	_468
	mov	eax,0
	jmp	_238
_468:
	push	_49
	call	_30
	add	esp,4
	mov	eax,esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+76]
	add	esp,4
	mov	dword [esi+8],ebx
	mov	dword [esi+12],edi
	mov	eax,0
	jmp	_238
_238:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_New:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
	push	ebx
	call	__brl_graphics_TGraphicsDriver_New
	add	esp,4
	mov	dword [ebx],_brl_dxgraphics_TD3D7GraphicsDriver
	mov	eax,_bbEmptyArray
	inc	dword [eax+4]
	mov	dword [ebx+8],eax
	mov	dword [ebx+12],0
	mov	dword [ebx+16],0
	mov	dword [ebx+20],0
	mov	eax,_bbNullObject
	inc	dword [eax+4]
	mov	dword [ebx+24],eax
	mov	dword [ebx+28],0
	mov	dword [ebx+32],0
	mov	dword [ebx+36],0
	push	_brl_linkedlist_TList
	call	_bbObjectNew
	add	esp,4
	inc	dword [eax+4]
	mov	dword [ebx+40],eax
	push	_brl_linkedlist_TList
	call	_bbObjectNew
	add	esp,4
	inc	dword [eax+4]
	mov	dword [ebx+44],eax
	mov	eax,0
	jmp	_241
_241:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_Delete:
	push	ebp
	mov	ebp,esp
	push	ebx
	mov	ebx,dword [ebp+8]
_244:
	mov	eax,dword [ebx+44]
	dec	dword [eax+4]
	jnz	_476
	push	eax
	call	_bbGCFree
	add	esp,4
_476:
	mov	eax,dword [ebx+40]
	dec	dword [eax+4]
	jnz	_478
	push	eax
	call	_bbGCFree
	add	esp,4
_478:
	mov	eax,dword [ebx+24]
	dec	dword [eax+4]
	jnz	_480
	push	eax
	call	_bbGCFree
	add	esp,4
_480:
	mov	eax,dword [ebx+8]
	dec	dword [eax+4]
	jnz	_482
	push	eax
	call	_bbGCFree
	add	esp,4
_482:
	mov	dword [ebx],_brl_graphics_TGraphicsDriver
	push	ebx
	call	__brl_graphics_TGraphicsDriver_Delete
	add	esp,4
	mov	eax,0
	jmp	_474
_474:
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_GraphicsModes:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
	mov	eax,dword [eax+8]
	jmp	_247
_247:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_AttachGraphics:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	mov	ebx,dword [ebp+8]
	mov	edx,dword [ebp+12]
	mov	eax,dword [ebp+16]
	cmp	dword [ebx+32],0
	je	_483
	mov	eax,_bbNullObject
	jmp	_252
_483:
	push	eax
	push	edx
	call	dword [_brl_dxgraphics_TD3D7Graphics+80]
	add	esp,8
	mov	esi,eax
	cmp	esi,_bbNullObject
	je	_485
	add	dword [ebx+28],1
_485:
	mov	eax,dword [ebx+44]
	push	esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+68]
	add	esp,8
	mov	eax,esi
	jmp	_252
_252:
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_CreateGraphics:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	edi,dword [ebp+8]
	mov	ebx,dword [ebp+12]
	mov	esi,dword [ebp+20]
	mov	eax,dword [ebp+24]
	cmp	dword [edi+32],0
	je	_487
	mov	eax,_bbNullObject
	jmp	_260
_487:
	cmp	esi,0
	je	_488
	cmp	dword [edi+28],0
	je	_489
	mov	eax,_bbNullObject
	jmp	_260
_489:
	push	dword [edi+8]
	push	eax
	push	esi
	push	dword [ebp+16]
	push	ebx
	call	_43
	add	esp,20
	mov	edx,eax
	cmp	edx,_bbNullObject
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_491
	mov	eax,_bbNullObject
	jmp	_260
_491:
	mov	esi,dword [edx+16]
	mov	eax,dword [edx+20]
_488:
	push	dword [ebp+28]
	push	eax
	push	esi
	push	dword [ebp+16]
	push	ebx
	call	dword [_brl_dxgraphics_TD3D7Graphics+84]
	add	esp,20
	mov	ebx,eax
	cmp	ebx,_bbNullObject
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_493
	mov	eax,_bbNullObject
	jmp	_260
_493:
	mov	eax,dword [edi+44]
	push	ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+68]
	add	esp,8
	cmp	esi,0
	je	_495
	add	dword [edi+32],1
_495:
	add	dword [edi+28],1
	mov	eax,ebx
	jmp	_260
_260:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_CloseGraphics:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	mov	esi,dword [ebp+8]
	mov	ebx,dword [ebp+12]
	cmp	dword [esi+28],1
	jne	_496
	push	esi
	mov	eax,dword [esi]
	call	dword [eax+120]
	add	esp,4
	jmp	_498
_496:
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+76]
	add	esp,4
_498:
	mov	eax,dword [esi+44]
	push	ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+116]
	add	esp,8
	cmp	ebx,dword [esi+24]
	jne	_501
	mov	ebx,_bbNullObject
	inc	dword [ebx+4]
	mov	eax,dword [esi+24]
	dec	dword [eax+4]
	jnz	_505
	push	eax
	call	_bbGCFree
	add	esp,4
_505:
	mov	dword [esi+24],ebx
	mov	dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid],0
_501:
	sub	dword [esi+28],1
	mov	dword [esi+32],0
	mov	eax,0
	jmp	_264
_264:
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_SetGraphics:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	mov	ebx,dword [ebp+8]
	mov	eax,dword [ebp+12]
	push	_brl_dxgraphics_TD3D7Graphics
	push	eax
	call	_bbObjectDowncast
	add	esp,8
	inc	dword [eax+4]
	mov	esi,eax
	mov	eax,dword [ebx+24]
	dec	dword [eax+4]
	jnz	_509
	push	eax
	call	_bbGCFree
	add	esp,4
_509:
	mov	dword [ebx+24],esi
	push	1
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+108]
	add	esp,8
	mov	eax,0
	jmp	_268
_268:
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_Graphics:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
	mov	eax,dword [eax+24]
	jmp	_271
_271:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_Flip:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	mov	esi,dword [ebp+12]
	cmp	dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid],0
	je	_511
	cmp	dword [ebx+36],0
	je	_512
	mov	eax,dword [ebx+20]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+24]
_512:
	mov	eax,dword [ebx+24]
	push	esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+64]
	add	esp,8
_511:
	push	1
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+108]
	add	esp,8
	mov	eax,0
	jmp	_275
_275:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_DirectDraw7:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
	mov	eax,dword [eax+12]
	jmp	_278
_278:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_Direct3D7:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
	mov	eax,dword [eax+16]
	jmp	_281
_281:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_Direct3DDevice7:
	push	ebp
	mov	ebp,esp
	mov	eax,dword [ebp+8]
	mov	eax,dword [eax+20]
	jmp	_284
_284:
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_BeginScene:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	eax,dword [ebp+8]
	mov	dword [eax+36],1
	cmp	dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid],0
	je	_516
	mov	eax,dword [eax+20]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+20]
_516:
	mov	eax,0
	jmp	_287
_287:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_EndScene:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	cmp	dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid],0
	je	_518
	mov	eax,dword [ebx+20]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+24]
_518:
	mov	dword [ebx+36],0
	mov	eax,0
	jmp	_290
_290:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_CreateSurface:
	push	ebp
	mov	ebp,esp
	sub	esp,8
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	mov	eax,dword [ebp+12]
	mov	dword [ebp-4],eax
	mov	dword [ebp-8],0
	mov	edx,dword [ebx+12]
	push	0
	lea	eax,dword [ebp-8]
	push	eax
	mov	eax,dword [ebp-4]
	lea	eax,dword [eax+8]
	push	eax
	push	edx
	mov	eax,dword [edx]
	call	dword [eax+24]
	cmp	eax,0
	jge	_523
	push	eax
	call	_20
	add	esp,4
	push	eax
	push	_50
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	mov	eax,0
	jmp	_294
_523:
	push	_18
	call	_bbObjectNew
	add	esp,4
	mov	edx,dword [ebp-8]
	mov	dword [eax+8],edx
	mov	edx,dword [ebx+40]
	push	eax
	push	edx
	mov	eax,dword [edx]
	call	dword [eax+68]
	add	esp,8
	push	_51
	call	_30
	add	esp,4
	mov	eax,dword [ebp-8]
	jmp	_294
_294:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_DestroySurface:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	eax,dword [ebp+8]
	mov	ebx,dword [eax+40]
	mov	eax,ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+140]
	add	esp,4
	mov	edi,eax
	jmp	_52
_54:
	mov	eax,edi
	push	_18
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+52]
	add	esp,4
	push	eax
	call	_bbObjectDowncast
	add	esp,8
	mov	esi,eax
	cmp	esi,_bbNullObject
	je	_52
	mov	eax,dword [ebp+12]
	cmp	dword [esi+8],eax
	je	_532
	jmp	_52
_532:
	mov	eax,dword [ebp+12]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_55
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	mov	eax,dword [ebp+8]
	mov	eax,dword [eax+40]
	push	esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+116]
	add	esp,8
	mov	eax,0
	jmp	_298
_52:
	mov	eax,edi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+48]
	add	esp,4
	cmp	eax,0
	jne	_54
_53:
	mov	eax,0
	jmp	_298
_298:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver__ValidateGraphics:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	esi,dword [ebp+8]
	mov	eax,dword [esi+24]
	cmp	eax,_bbNullObject
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_535
	mov	eax,0
	jmp	_301
_535:
	mov	ebx,0
	cmp	dword [esi+12],0
	je	_537
	mov	eax,dword [esi+12]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+104]
	mov	ebx,eax
	cmp	ebx,-2005532085
	jne	_539
	push	_56
	call	_30
	add	esp,4
	mov	eax,esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+120]
	add	esp,4
_539:
_537:
	mov	eax,dword [esi+12]
	cmp	eax,0
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_541
	mov	eax,esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+116]
	add	esp,4
	cmp	eax,_bbNullObject
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_543
	mov	eax,0
	jmp	_301
_543:
	mov	eax,dword [esi+12]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+104]
	mov	ebx,eax
_541:
	cmp	ebx,0
	jge	_545
	mov	eax,0
	jmp	_301
_545:
	mov	eax,dword [esi+24]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+68]
	add	esp,4
	mov	ebx,eax
	cmp	ebx,0
	je	_548
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+96]
	cmp	eax,0
	jge	_550
	mov	eax,dword [esi+12]
	push	_36
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+100]
	push	eax
	call	_37
	add	esp,8
_550:
	mov	eax,dword [esi+20]
	push	_36
	push	0
	push	ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+32]
	push	eax
	call	_37
	add	esp,8
	jmp	_553
_548:
	mov	eax,dword [esi+24]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+72]
	add	esp,4
	mov	ebx,eax
	cmp	dword [esi+20],0
	je	_555
	mov	eax,dword [esi+20]
	push	_36
	push	0
	push	ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+32]
	push	eax
	call	_37
	add	esp,8
	jmp	_557
_555:
	mov	eax,dword [esi+16]
	lea	edx,dword [esi+20]
	push	edx
	push	ebx
	mov	edx,dword [_pub_directx_IID_IDirect3DTnLDevice]
	lea	edx,byte [edx+24]
	push	edx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+16]
	cmp	eax,0
	jge	_559
	mov	eax,dword [esi+16]
	push	_36
	lea	edx,dword [esi+20]
	push	edx
	push	ebx
	mov	edx,dword [_pub_directx_IID_IDirect3DHALDevice]
	lea	edx,byte [edx+24]
	push	edx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+16]
	push	eax
	call	_37
	add	esp,8
_559:
_557:
_553:
	mov	eax,1
	jmp	_301
_301:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_ValidateGraphics:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	mov	edx,dword [ebp+12]
	cmp	dword [_561],0
	je	_562
	push	dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid]
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_57
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	mov	eax,dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid]
	jmp	_305
_562:
	mov	dword [_561],1
	mov	esi,dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid]
	mov	eax,esi
	cmp	eax,0
	jne	_564
	mov	eax,edx
_564:
	cmp	eax,0
	je	_566
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+104]
	add	esp,4
	mov	esi,eax
_566:
	cmp	esi,dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid]
	je	_568
	push	esi
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_58
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
	mov	eax,esi
	cmp	eax,0
	je	_569
	mov	eax,dword [ebx+36]
_569:
	cmp	eax,0
	je	_571
	mov	eax,dword [ebx+20]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+20]
_571:
_568:
	mov	dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid],esi
	mov	dword [_561],0
	mov	eax,dword [__brl_dxgraphics_TD3D7GraphicsDriver_IsValid]
	jmp	_305
_305:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver_Create:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	push	edi
	cmp	dword [_317],_bbNullObject
	je	_573
	mov	eax,dword [_317]
	jmp	_307
_573:
	push	_brl_dxgraphics_TD3D7GraphicsDriver
	call	_bbObjectNew
	add	esp,4
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+116]
	add	esp,4
	mov	ebx,eax
	inc	dword [ebx+4]
	mov	eax,dword [_317]
	dec	dword [eax+4]
	jnz	_578
	push	eax
	call	_bbGCFree
	add	esp,4
_578:
	mov	dword [_317],ebx
	mov	eax,dword [_317]
	cmp	eax,_bbNullObject
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_579
	mov	eax,_bbNullObject
	jmp	_307
_579:
	push	_brl_linkedlist_TList
	call	_bbObjectNew
	add	esp,4
	mov	ebx,eax
	mov	eax,dword [_317]
	mov	eax,dword [eax+12]
	push	_35
	push	ebx
	push	0
	push	1
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+32]
	mov	esi,0
	mov	eax,ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+112]
	add	esp,4
	push	eax
	push	_583
	call	_bbArrayNew1D
	add	esp,8
	inc	dword [eax+4]
	mov	edi,eax
	mov	eax,dword [_317]
	mov	eax,dword [eax+8]
	dec	dword [eax+4]
	jnz	_588
	push	eax
	call	_bbGCFree
	add	esp,4
_588:
	mov	eax,dword [_317]
	mov	dword [eax+8],edi
	mov	edi,ebx
	mov	eax,edi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+140]
	add	esp,4
	mov	dword [ebp-4],eax
	jmp	_59
_61:
	mov	eax,dword [ebp-4]
	push	_brl_graphics_TGraphicsMode
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+52]
	add	esp,4
	push	eax
	call	_bbObjectDowncast
	add	esp,8
	cmp	eax,_bbNullObject
	je	_59
	inc	dword [eax+4]
	mov	ebx,eax
	mov	eax,dword [_317]
	mov	eax,dword [eax+8]
	mov	eax,dword [eax+esi*4+24]
	dec	dword [eax+4]
	jnz	_598
	push	eax
	call	_bbGCFree
	add	esp,4
_598:
	mov	eax,dword [_317]
	mov	eax,dword [eax+8]
	mov	dword [eax+esi*4+24],ebx
	add	esi,1
_59:
	mov	eax,dword [ebp-4]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+48]
	add	esp,4
	cmp	eax,0
	jne	_61
_60:
	mov	eax,dword [_317]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+120]
	add	esp,4
	mov	eax,dword [_317]
	jmp	_307
_307:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver__Create:
	push	ebp
	mov	ebp,esp
	sub	esp,4
	push	ebx
	push	esi
	push	edi
	mov	ebx,dword [ebp+8]
	mov	eax,dword [_pub_directx_DirectDrawCreateEx]
	cmp	eax,_brl_blitz_NullFunctionError
	setne	al
	movzx	eax,al
	cmp	eax,0
	jne	_600
	mov	eax,_bbNullObject
	jmp	_310
_600:
	push	0
	mov	eax,dword [_pub_directx_IID_IDirectDraw7]
	lea	eax,dword [eax+24]
	push	eax
	lea	eax,dword [ebx+12]
	push	eax
	push	0
	call	dword [_pub_directx_DirectDrawCreateEx]
	cmp	eax,0
	jge	_601
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+120]
	add	esp,4
	jmp	_310
_601:
	mov	eax,dword [ebx+12]
	push	4104
	push	0
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+80]
	cmp	eax,0
	jge	_604
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+120]
	add	esp,4
	jmp	_310
_604:
	push	_pub_directx_DDCAPS_DX7
	call	_bbObjectNew
	add	esp,4
	mov	dword [ebp-4],eax
	mov	eax,dword [ebp-4]
	mov	dword [eax+8],380
	mov	edx,dword [ebx+12]
	push	0
	mov	eax,dword [ebp-4]
	lea	eax,dword [eax+8]
	push	eax
	push	edx
	mov	eax,dword [edx]
	call	dword [eax+44]
	cmp	eax,0
	jge	_608
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+120]
	add	esp,4
	jmp	_310
_608:
	mov	eax,dword [ebp-4]
	mov	eax,dword [eax+12]
	and	eax,1
	cmp	eax,0
	jne	_610
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+120]
	add	esp,4
	jmp	_310
_610:
	mov	edx,dword [ebx+12]
	lea	eax,dword [ebx+16]
	push	eax
	mov	eax,dword [_pub_directx_IID_IDirect3D7]
	lea	eax,byte [eax+24]
	push	eax
	push	edx
	mov	eax,dword [edx]
	call	dword [eax]
	cmp	eax,0
	jge	_613
	push	ebx
	mov	eax,dword [ebx]
	call	dword [eax+120]
	add	esp,4
	jmp	_310
_613:
	call	_brl_graphics_BumpGraphicsSeq
	push	_62
	call	_30
	add	esp,4
	mov	eax,ebx
	jmp	_310
_310:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
__brl_dxgraphics_TD3D7GraphicsDriver__Destroy:
	push	ebp
	mov	ebp,esp
	push	ebx
	push	esi
	push	edi
	mov	edi,dword [ebp+8]
	push	_63
	call	_30
	add	esp,4
	call	_brl_graphics_BumpGraphicsSeq
	cmp	dword [edi+20],0
	je	_615
	mov	eax,dword [edi+20]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
_615:
	mov	esi,dword [edi+40]
	mov	eax,esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+140]
	add	esp,4
	mov	ebx,eax
	jmp	_64
_66:
	mov	eax,ebx
	push	_18
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+52]
	add	esp,4
	push	eax
	call	_bbObjectDowncast
	add	esp,8
	cmp	eax,_bbNullObject
	je	_64
	mov	eax,dword [eax+8]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_55
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
_64:
	mov	eax,ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+48]
	add	esp,4
	cmp	eax,0
	jne	_66
_65:
	mov	esi,dword [edi+44]
	mov	eax,esi
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+140]
	add	esp,4
	mov	ebx,eax
	jmp	_67
_69:
	mov	eax,ebx
	push	_brl_dxgraphics_TD3D7Graphics
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+52]
	add	esp,4
	push	eax
	call	_bbObjectDowncast
	add	esp,8
	cmp	eax,_bbNullObject
	je	_67
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+76]
	add	esp,4
_67:
	mov	eax,ebx
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+48]
	add	esp,4
	cmp	eax,0
	jne	_69
_68:
	cmp	dword [edi+16],0
	je	_631
	mov	eax,dword [edi+16]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
_631:
	cmp	dword [edi+12],0
	je	_633
	mov	eax,dword [edi+12]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+8]
	push	eax
	call	_bbStringFromInt
	add	esp,4
	push	eax
	push	_70
	call	_bbStringConcat
	add	esp,8
	push	eax
	call	_30
	add	esp,4
_633:
	mov	dword [edi+12],0
	mov	dword [edi+16],0
	mov	dword [edi+20],0
	mov	eax,dword [edi+40]
	push	eax
	mov	eax,dword [eax]
	call	dword [eax+52]
	add	esp,4
	mov	eax,_bbNullObject
	jmp	_313
_313:
	pop	edi
	pop	esi
	pop	ebx
	mov	esp,ebp
	pop	ebp
	ret
_brl_dxgraphics_D3D7GraphicsDriver:
	push	ebp
	mov	ebp,esp
	call	dword [_brl_dxgraphics_TD3D7GraphicsDriver+112]
	jmp	_315
_315:
	mov	esp,ebp
	pop	ebp
	ret
	section	"data" data writeable align 8
	align	4
_323:
	dd	0
_72:
	db	"TD3D7Surface",0
_73:
	db	"surf",0
_74:
	db	"?IDirectDrawSurface7",0
_75:
	db	"New",0
_76:
	db	"()i",0
_77:
	db	"Delete",0
	align	4
_71:
	dd	2
	dd	_72
	dd	3
	dd	_73
	dd	_74
	dd	8
	dd	6
	dd	_75
	dd	_76
	dd	16
	dd	6
	dd	_77
	dd	_76
	dd	20
	dd	0
	align	4
_18:
	dd	_bbObjectClass
	dd	_bbObjectFree
	dd	_71
	dd	12
	dd	__brl_dxgraphics_TD3D7Surface_New
	dd	__brl_dxgraphics_TD3D7Surface_Delete
	dd	_bbObjectToString
	dd	_bbObjectCompare
	dd	_bbObjectSendMessage
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	align	4
__brl_dxgraphics_TD3D7Graphics__primSurf:
	dd	0
	align	4
__brl_dxgraphics_TD3D7Graphics__primRefs:
	dd	0
_79:
	db	"TD3D7Graphics",0
_80:
	db	"_width",0
_81:
	db	"i",0
_82:
	db	"_height",0
_83:
	db	"_depth",0
_84:
	db	"_hertz",0
_85:
	db	"_flags",0
_86:
	db	"_hwnd",0
_87:
	db	"_clipper",0
_88:
	db	"?IDirectDrawClipper",0
_89:
	db	"_renderSurf",0
_90:
	db	"Driver",0
_91:
	db	"():TGraphicsDriver",0
_92:
	db	"GetSettings",0
_93:
	db	"(*i,*i,*i,*i,*i)i",0
_94:
	db	"Close",0
_95:
	db	"Flip",0
_96:
	db	"(i)i",0
_97:
	db	"RenderSurface",0
_98:
	db	"():IDirectDrawSurface7",0
_99:
	db	"CreateRenderSurface",0
_100:
	db	"DestroyRenderSurface",0
_101:
	db	"Attach",0
_102:
	db	"(i,i):TD3D7Graphics",0
_103:
	db	"Create",0
_104:
	db	"(i,i,i,i,i):TD3D7Graphics",0
_105:
	db	"ValidateSize",0
	align	4
_78:
	dd	2
	dd	_79
	dd	3
	dd	_80
	dd	_81
	dd	8
	dd	3
	dd	_82
	dd	_81
	dd	12
	dd	3
	dd	_83
	dd	_81
	dd	16
	dd	3
	dd	_84
	dd	_81
	dd	20
	dd	3
	dd	_85
	dd	_81
	dd	24
	dd	3
	dd	_86
	dd	_81
	dd	28
	dd	3
	dd	_87
	dd	_88
	dd	32
	dd	3
	dd	_89
	dd	_74
	dd	36
	dd	6
	dd	_75
	dd	_76
	dd	16
	dd	6
	dd	_77
	dd	_76
	dd	20
	dd	6
	dd	_90
	dd	_91
	dd	52
	dd	6
	dd	_92
	dd	_93
	dd	56
	dd	6
	dd	_94
	dd	_76
	dd	60
	dd	6
	dd	_95
	dd	_96
	dd	64
	dd	6
	dd	_97
	dd	_98
	dd	68
	dd	6
	dd	_99
	dd	_98
	dd	72
	dd	6
	dd	_100
	dd	_76
	dd	76
	dd	7
	dd	_101
	dd	_102
	dd	80
	dd	7
	dd	_103
	dd	_104
	dd	84
	dd	6
	dd	_105
	dd	_76
	dd	88
	dd	0
	align	4
_brl_dxgraphics_TD3D7Graphics:
	dd	_brl_graphics_TGraphics
	dd	_bbObjectFree
	dd	_78
	dd	40
	dd	__brl_dxgraphics_TD3D7Graphics_New
	dd	__brl_dxgraphics_TD3D7Graphics_Delete
	dd	_bbObjectToString
	dd	_bbObjectCompare
	dd	_bbObjectSendMessage
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	__brl_graphics_TGraphics__pad
	dd	__brl_dxgraphics_TD3D7Graphics_Driver
	dd	__brl_dxgraphics_TD3D7Graphics_GetSettings
	dd	__brl_dxgraphics_TD3D7Graphics_Close
	dd	__brl_dxgraphics_TD3D7Graphics_Flip
	dd	__brl_dxgraphics_TD3D7Graphics_RenderSurface
	dd	__brl_dxgraphics_TD3D7Graphics_CreateRenderSurface
	dd	__brl_dxgraphics_TD3D7Graphics_DestroyRenderSurface
	dd	__brl_dxgraphics_TD3D7Graphics_Attach
	dd	__brl_dxgraphics_TD3D7Graphics_Create
	dd	__brl_dxgraphics_TD3D7Graphics_ValidateSize
	align	4
__brl_dxgraphics_TD3D7GraphicsDriver_IsValid:
	dd	0
_107:
	db	"TD3D7GraphicsDriver",0
_108:
	db	"_modes",0
_109:
	db	"[]:TGraphicsMode",0
_110:
	db	"_dd7",0
_111:
	db	"?IDirectDraw7",0
_112:
	db	"_d3d7",0
_113:
	db	"?IDirect3D7",0
_114:
	db	"_d3ddev7",0
_115:
	db	"?IDirect3DDevice7",0
_116:
	db	"_graphics",0
_117:
	db	":TD3D7Graphics",0
_118:
	db	"_n_graphics",0
_119:
	db	"_n_fullscreen",0
_120:
	db	"_inScene",0
_121:
	db	"_surfaces",0
_122:
	db	":TList",0
_123:
	db	"_graphicss",0
_124:
	db	"GraphicsModes",0
_125:
	db	"()[]:TGraphicsMode",0
_126:
	db	"AttachGraphics",0
_127:
	db	"CreateGraphics",0
_128:
	db	"CloseGraphics",0
_129:
	db	"(:TD3D7Graphics)i",0
_130:
	db	"SetGraphics",0
_131:
	db	"(:TGraphics)i",0
_132:
	db	"Graphics",0
_133:
	db	"():TD3D7Graphics",0
_134:
	db	"DirectDraw7",0
_135:
	db	"():IDirectDraw7",0
_136:
	db	"Direct3D7",0
_137:
	db	"():IDirect3D7",0
_138:
	db	"Direct3DDevice7",0
_139:
	db	"():IDirect3DDevice7",0
_140:
	db	"BeginScene",0
_141:
	db	"EndScene",0
_142:
	db	"CreateSurface",0
_143:
	db	"(:DDSURFACEDESC2):IDirectDrawSurface7",0
_144:
	db	"DestroySurface",0
_145:
	db	"(:IDirectDrawSurface7)i",0
_146:
	db	"_ValidateGraphics",0
_147:
	db	"ValidateGraphics",0
_148:
	db	"():TD3D7GraphicsDriver",0
_149:
	db	"_Create",0
_150:
	db	"_Destroy",0
	align	4
_106:
	dd	2
	dd	_107
	dd	3
	dd	_108
	dd	_109
	dd	8
	dd	3
	dd	_110
	dd	_111
	dd	12
	dd	3
	dd	_112
	dd	_113
	dd	16
	dd	3
	dd	_114
	dd	_115
	dd	20
	dd	3
	dd	_116
	dd	_117
	dd	24
	dd	3
	dd	_118
	dd	_81
	dd	28
	dd	3
	dd	_119
	dd	_81
	dd	32
	dd	3
	dd	_120
	dd	_81
	dd	36
	dd	3
	dd	_121
	dd	_122
	dd	40
	dd	3
	dd	_123
	dd	_122
	dd	44
	dd	6
	dd	_75
	dd	_76
	dd	16
	dd	6
	dd	_77
	dd	_76
	dd	20
	dd	6
	dd	_124
	dd	_125
	dd	48
	dd	6
	dd	_126
	dd	_102
	dd	52
	dd	6
	dd	_127
	dd	_104
	dd	56
	dd	6
	dd	_128
	dd	_129
	dd	68
	dd	6
	dd	_130
	dd	_131
	dd	60
	dd	6
	dd	_132
	dd	_133
	dd	72
	dd	6
	dd	_95
	dd	_96
	dd	64
	dd	6
	dd	_134
	dd	_135
	dd	76
	dd	6
	dd	_136
	dd	_137
	dd	80
	dd	6
	dd	_138
	dd	_139
	dd	84
	dd	6
	dd	_140
	dd	_76
	dd	88
	dd	6
	dd	_141
	dd	_76
	dd	92
	dd	6
	dd	_142
	dd	_143
	dd	96
	dd	6
	dd	_144
	dd	_145
	dd	100
	dd	6
	dd	_146
	dd	_76
	dd	104
	dd	6
	dd	_147
	dd	_96
	dd	108
	dd	7
	dd	_103
	dd	_148
	dd	112
	dd	6
	dd	_149
	dd	_148
	dd	116
	dd	6
	dd	_150
	dd	_148
	dd	120
	dd	0
	align	4
_brl_dxgraphics_TD3D7GraphicsDriver:
	dd	_brl_graphics_TGraphicsDriver
	dd	_bbObjectFree
	dd	_106
	dd	48
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_New
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_Delete
	dd	_bbObjectToString
	dd	_bbObjectCompare
	dd	_bbObjectSendMessage
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	_bbObjectReserved
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_GraphicsModes
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_AttachGraphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_CreateGraphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_SetGraphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_Flip
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_CloseGraphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_Graphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_DirectDraw7
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_Direct3D7
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_Direct3DDevice7
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_BeginScene
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_EndScene
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_CreateSurface
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_DestroySurface
	dd	__brl_dxgraphics_TD3D7GraphicsDriver__ValidateGraphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_ValidateGraphics
	dd	__brl_dxgraphics_TD3D7GraphicsDriver_Create
	dd	__brl_dxgraphics_TD3D7GraphicsDriver__Create
	dd	__brl_dxgraphics_TD3D7GraphicsDriver__Destroy
	align	4
_317:
	dd	_bbNullObject
	align	4
_319:
	dd	0
	align	4
_19:
	dd	_bbStringClass
	dd	2147483647
	dd	24
	dw	66,66,68,88,55,68,101,118,105,99,101,32,87,105,110,100
	dw	111,119,32,67,108,97,115,115
	align	4
_318:
	dd	0
	align	4
_321:
	dd	0
	align	4
_21:
	dd	_bbStringClass
	dd	2147483647
	dd	2
	dw	79,75
	align	4
_22:
	dd	_bbStringClass
	dd	2147483647
	dd	27
	dw	80,82,73,77,65,82,89,83,85,82,70,65,67,69,65,76
	dw	82,69,65,68,89,69,88,73,83,84,83
	align	4
_23:
	dd	_bbStringClass
	dd	2147483647
	dd	9
	dw	87,82,79,78,71,77,79,68,69
	align	4
_24:
	dd	_bbStringClass
	dd	2147483647
	dd	15
	dw	78,79,69,88,67,76,85,83,73,86,69,77,79,68,69
	align	4
_25:
	dd	_bbStringClass
	dd	2147483647
	dd	23
	dw	69,88,67,76,85,83,73,86,69,77,79,68,69,65,76,82
	dw	69,65,68,89,83,69,84
	align	4
_26:
	dd	_bbStringClass
	dd	2147483647
	dd	15
	dw	85,78,83,85,80,80,79,82,84,69,68,77,79,68,69
	align	4
_27:
	dd	_bbStringClass
	dd	2147483647
	dd	11
	dw	83,85,82,70,65,67,69,76,79,83,84
	align	4
_29:
	dd	_bbStringClass
	dd	2147483647
	dd	1
	dw	32
	align	4
_28:
	dd	_bbStringClass
	dd	2147483647
	dd	8
	dw	85,78,75,78,79,87,78,58
	align	4
_31:
	dd	_bbStringClass
	dd	2147483647
	dd	1
	dw	10
	align	4
_33:
	dd	_bbStringClass
	dd	2147483647
	dd	11
	dw	87,77,95,83,69,84,70,79,67,85,83
	align	4
_34:
	dd	_bbStringClass
	dd	2147483647
	dd	12
	dw	87,77,95,75,73,76,76,70,79,67,85,83
	align	4
_38:
	dd	_bbStringClass
	dd	2147483647
	dd	5
	dw	32,101,114,114,61
	align	4
_36:
	dd	_bbStringClass
	dd	2147483647
	dd	7
	dw	68,88,69,82,82,79,82
	align	4
_45:
	dd	_bbStringClass
	dd	2147483647
	dd	9
	dw	32,95,104,101,105,103,104,116,61
	align	4
_44:
	dd	_bbStringClass
	dd	2147483647
	dd	27
	dw	67,114,101,97,116,101,82,101,110,100,101,114,83,117,114,102
	dw	97,99,101,32,95,119,105,100,116,104,61
	align	4
_46:
	dd	_bbStringClass
	dd	2147483647
	dd	18
	dw	95,99,108,105,112,112,101,114,46,82,101,108,101,97,115,101
	dw	95,61
	align	4
_47:
	dd	_bbStringClass
	dd	2147483647
	dd	21
	dw	95,114,101,110,100,101,114,83,117,114,102,46,82,101,108,101
	dw	97,115,101,95,61
	align	4
_48:
	dd	_bbStringClass
	dd	2147483647
	dd	19
	dw	95,112,114,105,109,83,117,114,102,46,82,101,108,101,97,115
	dw	101,95,61
_424:
	db	"i",0
	align	4
_427:
	dd	0
_449:
	db	"i",0
_459:
	db	"i",0
	align	4
_49:
	dd	_bbStringClass
	dd	2147483647
	dd	16
	dw	83,105,122,101,32,105,110,118,97,108,105,100,97,116,101,100
	align	4
_50:
	dd	_bbStringClass
	dd	2147483647
	dd	21
	dw	67,114,101,97,116,101,83,117,114,102,97,99,101,32,102,97
	dw	105,108,101,100,58
	align	4
_51:
	dd	_bbStringClass
	dd	2147483647
	dd	16
	dw	67,114,101,97,116,101,83,117,114,102,97,99,101,32,79,75
	align	4
_55:
	dd	_bbStringClass
	dd	2147483647
	dd	16
	dw	68,101,115,116,114,111,121,32,115,117,114,102,97,99,101,61
	align	4
_56:
	dd	_bbStringClass
	dd	2147483647
	dd	15
	dw	68,68,69,82,82,95,87,82,79,78,71,77,79,68,69
	align	4
_561:
	dd	0
	align	4
_57:
	dd	_bbStringClass
	dd	2147483647
	dd	12
	dw	98,117,115,121,58,32,86,97,108,105,100,61
	align	4
_58:
	dd	_bbStringClass
	dd	2147483647
	dd	6
	dw	86,97,108,105,100,61
_583:
	db	":TGraphicsMode",0
	align	4
_62:
	dd	_bbStringClass
	dd	2147483647
	dd	8
	dw	95,67,114,101,97,116,101,100
	align	4
_63:
	dd	_bbStringClass
	dd	2147483647
	dd	11
	dw	95,68,101,115,116,114,111,121,105,110,103
	align	4
_70:
	dd	_bbStringClass
	dd	2147483647
	dd	12
	dw	82,101,108,101,97,115,101,32,100,100,55,61
