Initial commit: ROW Client source code
Game client codebase including: - CharacterActionControl: Character and creature management - GlobalScript: Network, items, skills, quests, utilities - RYLClient: Main client application with GUI and event handlers - Engine: 3D rendering engine (RYLGL) - MemoryManager: Custom memory allocation - Library: Third-party dependencies (DirectX, boost, etc.) - Tools: Development utilities 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/bangbang.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/bangbang.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/bounce.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/bounce.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/c_bang.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/c_bang.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/d_bang.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/d_bang.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.bmp
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 768 KiB |
2927
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.cpp
Normal file
2927
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.cpp
Normal file
File diff suppressed because it is too large
Load Diff
544
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.h
Normal file
544
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.h
Normal file
@@ -0,0 +1,544 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: Donuts.h
|
||||
//
|
||||
// Desc: Header for Donuts3D game
|
||||
//
|
||||
// Copyright (C) 1995-2001 Microsoft Corporation. All Rights Reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef DONUTS_H
|
||||
#define DONUTS_H
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Defines, and constants
|
||||
//-----------------------------------------------------------------------------
|
||||
// This GUID must be unique for every game, and the same for
|
||||
// every instance of this app. // {2014BAAC-F1FD-458e-9091-0F85C8CF6AFE}
|
||||
// The GUID allows DirectInput to remember input settings
|
||||
GUID g_guidApp = { 0x2014baac, 0xf1fd, 0x458e, { 0x90, 0x91, 0xf, 0x85, 0xc8, 0xcf, 0x6a, 0xfe } };
|
||||
|
||||
// Error codes
|
||||
#define DONUTS3DERR_NODIRECT3D 0x00000001
|
||||
#define DONUTS3DERR_NOD3DDEVICE 0x00000002
|
||||
#define DONUTS3DERR_NOTEXTURES 0x00000003
|
||||
#define DONUTS3DERR_NOGEOMETRY 0x00000004
|
||||
#define DONUTS3DERR_NO3DRESOURCES 0x00000005
|
||||
#define DONUTS3DERR_NOINPUT 0x00000006
|
||||
|
||||
// States the app can be in
|
||||
enum{ APPSTATE_LOADSPLASH, APPSTATE_DISPLAYSPLASH, APPSTATE_ACTIVE,
|
||||
APPSTATE_BEGINLEVELSCREEN, APPSTATE_DISPLAYLEVELSCREEN };
|
||||
|
||||
// Game object types
|
||||
enum{ OBJ_DONUT=0, OBJ_PYRAMID, OBJ_CUBE, OBJ_SPHERE, OBJ_CLOUD, OBJ_SHIP,
|
||||
OBJ_BULLET };
|
||||
|
||||
// Object dimensions and fixed properties
|
||||
#define DONUT_WIDTH 32
|
||||
#define DONUT_HEIGHT 32
|
||||
#define PYRAMID_WIDTH 32
|
||||
#define PYRAMID_HEIGHT 32
|
||||
#define SPHERE_WIDTH 16
|
||||
#define SPHERE_HEIGHT 16
|
||||
#define CUBE_WIDTH 16
|
||||
#define CUBE_HEIGHT 16
|
||||
#define CLOUD_WIDTH 32
|
||||
#define CLOUD_HEIGHT 32
|
||||
#define BULLET_WIDTH 3
|
||||
#define BULLET_HEIGHT 3
|
||||
|
||||
#define NUM_DONUT_FRAMES 30
|
||||
#define NUM_PYRAMID_FRAMES 40
|
||||
#define NUM_SPHERE_FRAMES 40
|
||||
#define NUM_CUBE_FRAMES 40
|
||||
#define NUM_BULLET_FRAMES 400
|
||||
|
||||
#define BULLET_XOFFSET 304
|
||||
#define BULLET_YOFFSET 0
|
||||
|
||||
// Defines for the in-game menu
|
||||
#define MENU_MAIN 1
|
||||
#define MENU_SOUND 2
|
||||
#define MENU_VIDEO 3
|
||||
#define MENU_INPUT 4
|
||||
#define MENU_VIEWDEVICES 5
|
||||
#define MENU_CONFIGDEVICES 6
|
||||
#define MENU_WINDOWED 7
|
||||
#define MENU_640x480 8
|
||||
#define MENU_800x600 9
|
||||
#define MENU_1024x768 10
|
||||
#define MENU_BACK 11
|
||||
#define MENU_SOUNDON 12
|
||||
#define MENU_SOUNDOFF 13
|
||||
#define MENU_QUIT 14
|
||||
|
||||
|
||||
TCHAR* g_strShipFiles[] = { _T("Concept Plane 3.x"), _T("Spaceship 2.x"), _T("Shusui.x"),
|
||||
_T("Space Station 7.x"), _T("Spaceship 8.x"), _T("Orbiter.x"),
|
||||
_T("Spaceship 13.x"), _T("Spaceship 5.x"), _T("Star Sail.x"),
|
||||
_T("Heli.x"), };
|
||||
TCHAR* g_strShipNames[] = { _T("Concept Plane"), _T("Green Machine"), _T("Purple Prowler"),
|
||||
_T("Drone Clone"), _T("Canyon Fighter"), _T("Roundabout"),
|
||||
_T("Tie-X7"), _T("Gunner"), _T("Star Sail"),
|
||||
_T("Helicopter"), };
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: struct DisplayObject
|
||||
// Desc: A game object that goes in the display list
|
||||
//-----------------------------------------------------------------------------
|
||||
struct DisplayObject
|
||||
{
|
||||
DisplayObject* pNext; // Link to next object
|
||||
DisplayObject* pPrev; // Link to previous object
|
||||
|
||||
DWORD dwType; // Type of object
|
||||
BOOL bVisible; // Whether the object is visible
|
||||
D3DXVECTOR3 vPos; // Position
|
||||
D3DXVECTOR3 vVel; // Velocity
|
||||
FLOAT fSize;
|
||||
|
||||
// Constructor
|
||||
DisplayObject( DWORD type, D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Derived classes for displayable game objects
|
||||
//-----------------------------------------------------------------------------
|
||||
struct C3DSprite : public DisplayObject
|
||||
{
|
||||
DWORD dwFramesPerLine; // How anim frames are packed in bitmap
|
||||
FLOAT frame; // Current animation frame
|
||||
FLOAT fMaxFrame; // Max animation frame value
|
||||
FLOAT delay; // Frame/second
|
||||
|
||||
DWORD dwColor;
|
||||
|
||||
DWORD dwTextureOffsetX; // Pixel offsets into the game texture
|
||||
DWORD dwTextureOffsetY;
|
||||
DWORD dwTextureWidth; // Width and height in pixels
|
||||
DWORD dwTextureHeight;
|
||||
|
||||
C3DSprite( DWORD type, D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
class CDonut : public C3DSprite
|
||||
{
|
||||
public:
|
||||
CDonut( D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
class CPyramid : public C3DSprite
|
||||
{
|
||||
public:
|
||||
CPyramid( D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
class CSphere : public C3DSprite
|
||||
{
|
||||
public:
|
||||
CSphere( D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
class CCube : public C3DSprite
|
||||
{
|
||||
public:
|
||||
CCube( D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
class CCloud : public C3DSprite
|
||||
{
|
||||
public:
|
||||
CCloud( D3DVECTOR p, D3DVECTOR v );
|
||||
};
|
||||
|
||||
|
||||
class CBullet : public C3DSprite
|
||||
{
|
||||
public:
|
||||
CBullet( D3DVECTOR p, D3DVECTOR v, DWORD dwType );
|
||||
};
|
||||
|
||||
|
||||
class CShip : public DisplayObject
|
||||
{
|
||||
public:
|
||||
FLOAT fRoll;
|
||||
|
||||
FLOAT fAngle;
|
||||
|
||||
BOOL bExploded;
|
||||
FLOAT fShowDelay;
|
||||
|
||||
public:
|
||||
CShip( D3DVECTOR p );
|
||||
};
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Custom Direct3D vertex types
|
||||
//-----------------------------------------------------------------------------
|
||||
struct SCREENVERTEX
|
||||
{
|
||||
D3DXVECTOR4 p;
|
||||
DWORD color;
|
||||
};
|
||||
|
||||
struct SPRITEVERTEX
|
||||
{
|
||||
D3DXVECTOR3 p;
|
||||
DWORD color;
|
||||
FLOAT tu, tv;
|
||||
};
|
||||
|
||||
struct MODELVERTEX
|
||||
{
|
||||
D3DXVECTOR3 p;
|
||||
D3DXVECTOR3 n;
|
||||
FLOAT tu, tv;
|
||||
};
|
||||
|
||||
#define D3DFVF_SCREENVERTEX (D3DFVF_XYZRHW|D3DFVF_DIFFUSE)
|
||||
#define D3DFVF_SPRITEVERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX1)
|
||||
#define D3DFVF_MODELVERTEX (D3DFVF_XYZ|D3DFVF_NORMAL|D3DFVF_TEX1)
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// App defined structures
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// DirectInput action mapper reports events only when buttons/axis change
|
||||
// so we need to remember the present state of relevant axis/buttons for
|
||||
// each DirectInput device. The CInputDeviceManager will store a
|
||||
// pointer for each device that points to this struct
|
||||
struct InputDeviceState
|
||||
{
|
||||
FLOAT fAxisMoveUD;
|
||||
BOOL bButtonForwardThrust;
|
||||
BOOL bButtonReverseThrust;
|
||||
|
||||
FLOAT fAxisRotateLR;
|
||||
BOOL bButtonRotateLeft;
|
||||
BOOL bButtonRotateRight;
|
||||
|
||||
BOOL bButtonFireWeapons;
|
||||
|
||||
// Menu input variables
|
||||
FLOAT fAxisMenuUD;
|
||||
};
|
||||
|
||||
// Struct to store the current input state
|
||||
struct UserInput
|
||||
{
|
||||
FLOAT fAxisMoveUD;
|
||||
FLOAT fAxisRotateLR;
|
||||
BOOL bButtonFireWeapons;
|
||||
BOOL bButtonEnableShield;
|
||||
|
||||
// One-shot variables
|
||||
BOOL bDoChangeView;
|
||||
|
||||
// Menu input variables
|
||||
BOOL bDoMenuUp;
|
||||
BOOL bDoMenuDown;
|
||||
BOOL bDoMenuSelect;
|
||||
BOOL bDoMenuQuit;
|
||||
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Game actions (using DInput semantic mapper). The definitions here are kind
|
||||
// of the whole point of this sample. The game uses these actions to map
|
||||
// physical input like, "the user pressed the 'W' key", to a more useable
|
||||
// constant for the game, like "if( dwInput == INPUT_CHANGEWEAPONS )...".
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Input semantics used by this game
|
||||
enum INPUT_SEMANTICS
|
||||
{
|
||||
// Gameplay semantics
|
||||
INPUT_AXIS_LR=1, INPUT_AXIS_UD,
|
||||
INPUT_MOUSE_LR, INPUT_MOUSE_UD, INPUT_MOUSE_SHIPTYPE,
|
||||
INPUT_TURNLEFT, INPUT_TURNRIGHT, INPUT_FORWARDTHRUST,
|
||||
INPUT_REVERSETHRUST, INPUT_FIREWEAPONS, INPUT_CHANGESHIPTYPE,
|
||||
INPUT_CHANGEVIEW, INPUT_CHANGEWEAPONS, INPUT_DISPLAYGAMEMENU,
|
||||
INPUT_QUITGAME, INPUT_START,
|
||||
|
||||
// Menu semantics
|
||||
INPUT_MENU_UD, INPUT_MENU_WHEEL,
|
||||
INPUT_MENU_UP, INPUT_MENU_DOWN,
|
||||
INPUT_MENU_SELECT, INPUT_MENU_QUIT,
|
||||
};
|
||||
|
||||
// Game actions used by this game.
|
||||
DIACTION g_rgGameAction[] =
|
||||
{
|
||||
// (C:\Program Files\DirectX\DirectInput\User Maps\*.ini)
|
||||
// after changing this, otherwise settings won't reset and will be read
|
||||
// from the out of date ini files
|
||||
|
||||
// Device input (joystick, etc.) that is pre-defined by DInput, according
|
||||
// to genre type. The genre for this app is space simulators.
|
||||
{ INPUT_AXIS_LR, DIAXIS_SPACESIM_LATERAL, 0, TEXT("Turn"), },
|
||||
{ INPUT_AXIS_UD, DIAXIS_SPACESIM_MOVE, 0, TEXT("Move"), },
|
||||
{ INPUT_FIREWEAPONS, DIBUTTON_SPACESIM_FIRE, 0, TEXT("Fire weapons"), },
|
||||
{ INPUT_CHANGEVIEW, DIBUTTON_SPACESIM_VIEW, 0, TEXT("Change view"), },
|
||||
{ INPUT_CHANGEWEAPONS, DIBUTTON_SPACESIM_WEAPONS, 0, TEXT("Change weapons"), },
|
||||
{ INPUT_CHANGESHIPTYPE, DIBUTTON_SPACESIM_LOWER, 0, TEXT("Change ship type"), },
|
||||
{ INPUT_DISPLAYGAMEMENU, DIBUTTON_SPACESIM_DEVICE, 0, TEXT("Display game menu"), },
|
||||
{ INPUT_START, DIBUTTON_SPACESIM_MENU, 0, TEXT("Start/pause"), },
|
||||
|
||||
// Keyboard input mappings
|
||||
{ INPUT_TURNLEFT, DIKEYBOARD_LEFT, 0, TEXT("Turn left"), },
|
||||
{ INPUT_TURNRIGHT, DIKEYBOARD_RIGHT, 0, TEXT("Turn right"), },
|
||||
{ INPUT_FORWARDTHRUST, DIKEYBOARD_UP, 0, TEXT("Forward thrust"), },
|
||||
{ INPUT_REVERSETHRUST, DIKEYBOARD_DOWN, 0, TEXT("Reverse thrust"), },
|
||||
{ INPUT_FIREWEAPONS, DIKEYBOARD_SPACE, 0, TEXT("Fire weapons"), },
|
||||
{ INPUT_CHANGESHIPTYPE, DIKEYBOARD_A, 0, TEXT("Change ship type"), },
|
||||
{ INPUT_CHANGEVIEW, DIKEYBOARD_V, 0, TEXT("Change view"), },
|
||||
{ INPUT_CHANGEWEAPONS, DIKEYBOARD_W, 0, TEXT("Change weapons"), },
|
||||
{ INPUT_DISPLAYGAMEMENU, DIKEYBOARD_F1, DIA_APPFIXED, TEXT("Display game menu"), },
|
||||
{ INPUT_START, DIKEYBOARD_PAUSE, 0, TEXT("Start/pause"), },
|
||||
{ INPUT_QUITGAME, DIKEYBOARD_ESCAPE, DIA_APPFIXED, TEXT("Quit game"), },
|
||||
|
||||
// Mouse input mappings
|
||||
{ INPUT_MOUSE_LR, DIMOUSE_XAXIS, 0, TEXT("Turn"), },
|
||||
{ INPUT_MOUSE_UD, DIMOUSE_YAXIS, 0, TEXT("Move"), },
|
||||
{ INPUT_MOUSE_SHIPTYPE, DIMOUSE_WHEEL, 0, TEXT("Change ship type"), },
|
||||
{ INPUT_FIREWEAPONS, DIMOUSE_BUTTON0, 0, TEXT("Fire weapons"), },
|
||||
{ INPUT_CHANGEWEAPONS, DIMOUSE_BUTTON1, 0, TEXT("Change weapons"), },
|
||||
};
|
||||
|
||||
// Game actions used by this game.
|
||||
DIACTION g_rgBrowserAction[] =
|
||||
{
|
||||
// (C:\Program Files\DirectX\DirectInput\User Maps\*.ini)
|
||||
// after changing this, otherwise settings won't reset and will be read
|
||||
// from the out of date ini files
|
||||
|
||||
// Device input (joystick, etc.) that is pre-defined by DInput, according
|
||||
// to genre type. The genre for this app is space simulators.
|
||||
{ INPUT_MENU_UD, DIAXIS_BROWSER_MOVE, 0, TEXT("Up/down"), },
|
||||
{ INPUT_MENU_UP, DIBUTTON_BROWSER_PREVIOUS, 0, TEXT("Up"), },
|
||||
{ INPUT_MENU_DOWN, DIBUTTON_BROWSER_NEXT, 0, TEXT("Down"), },
|
||||
{ INPUT_MENU_SELECT, DIBUTTON_BROWSER_SELECT, 0, TEXT("Select"), },
|
||||
{ INPUT_MENU_QUIT, DIBUTTON_BROWSER_DEVICE, 0, TEXT("Quit menu"), },
|
||||
|
||||
// Keyboard input mappings
|
||||
{ INPUT_MENU_UP, DIKEYBOARD_UP, 0, TEXT("Up"), },
|
||||
{ INPUT_MENU_DOWN, DIKEYBOARD_DOWN, 0, TEXT("Down"), },
|
||||
{ INPUT_MENU_SELECT, DIKEYBOARD_SPACE, 0, TEXT("Select"), },
|
||||
{ INPUT_MENU_SELECT, DIKEYBOARD_RETURN, 0, TEXT("Select"), },
|
||||
{ INPUT_MENU_SELECT, DIKEYBOARD_NUMPADENTER, 0, TEXT("Select"), },
|
||||
{ INPUT_MENU_QUIT, DIKEYBOARD_ESCAPE, 0, TEXT("Quit menu"), },
|
||||
|
||||
// Mouse input mappings
|
||||
{ INPUT_MENU_WHEEL, DIMOUSE_WHEEL, 0, TEXT("Up/down"), },
|
||||
{ INPUT_MENU_SELECT, DIMOUSE_BUTTON0, 0, TEXT("Select"), },
|
||||
};
|
||||
|
||||
// Number of actions
|
||||
#define NUMBER_OF_GAMEACTIONS (sizeof(g_rgGameAction)/sizeof(DIACTION))
|
||||
#define NUMBER_OF_BROWSERACTIONS (sizeof(g_rgBrowserAction)/sizeof(DIACTION))
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Inline helper functions
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
// Simple function to define "hilliness" for terrain
|
||||
inline FLOAT HeightField( FLOAT x, FLOAT z )
|
||||
{
|
||||
return (cosf(x/2.0f+0.2f)*cosf(z/1.5f-0.2f)+1.0f) - 2.0f;
|
||||
}
|
||||
|
||||
// Simple function for generating random numbers
|
||||
inline FLOAT rnd( FLOAT low, FLOAT high )
|
||||
{
|
||||
return low + ( high - low ) * ( (FLOAT)rand() ) / RAND_MAX;
|
||||
}
|
||||
|
||||
FLOAT rnd( FLOAT low=-1.0f, FLOAT high=1.0f );
|
||||
|
||||
// Convenient macros for playing sounds
|
||||
inline VOID PlaySound( CMusicSegment* pSound )
|
||||
{
|
||||
if( pSound ) pSound->Play( DMUS_SEGF_SECONDARY );
|
||||
}
|
||||
|
||||
inline VOID StopSound( CMusicSegment* pSound )
|
||||
{
|
||||
if( pSound ) pSound->Stop();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Function prototypes
|
||||
//-----------------------------------------------------------------------------
|
||||
LRESULT CALLBACK StaticMsgProc( HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: class CMyApplication
|
||||
// Desc: Application class.
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMyApplication
|
||||
{
|
||||
public:
|
||||
HRESULT Create( HINSTANCE hInstance );
|
||||
INT Run();
|
||||
LRESULT MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
CMyApplication();
|
||||
|
||||
HRESULT InputAddDeviceCB( CInputDeviceManager::DeviceInfo* pDeviceInfo, const DIDEVICEINSTANCE* pdidi );
|
||||
static HRESULT CALLBACK StaticInputAddDeviceCB( CInputDeviceManager::DeviceInfo* pDeviceInfo, const DIDEVICEINSTANCE* pdidi, LPVOID pParam );
|
||||
BOOL ConfigureInputDevicesCB( IUnknown* pUnknown );
|
||||
static BOOL CALLBACK StaticConfigureInputDevicesCB( IUnknown* pUnknown, VOID* pUserData );
|
||||
|
||||
protected:
|
||||
HRESULT OneTimeSceneInit( HWND hWnd );
|
||||
HRESULT FrameMove();
|
||||
HRESULT RenderFrame();
|
||||
VOID FinalCleanup();
|
||||
|
||||
// Sound functions
|
||||
HRESULT CreateSoundObjects( HWND hWnd );
|
||||
VOID DestroySoundObjects();
|
||||
|
||||
// Input functions
|
||||
HRESULT CreateInputObjects( HWND hWnd );
|
||||
VOID DestroyInputObjects();
|
||||
void UpdateInput( UserInput* pUserInput );
|
||||
|
||||
// Display functions
|
||||
HRESULT CreateDisplayObjects( HWND hWnd );
|
||||
HRESULT RestoreDisplayObjects();
|
||||
HRESULT InvalidateDisplayObjects();
|
||||
HRESULT DestroyDisplayObjects();
|
||||
HRESULT SwitchDisplayModes( BOOL bFullScreen, DWORD dwWidth, DWORD dwHeight );
|
||||
|
||||
// Menu functions
|
||||
VOID ConstructMenus();
|
||||
VOID DestroyMenus();
|
||||
VOID UpdateMenus();
|
||||
|
||||
// Rendering functions
|
||||
VOID UpdateDisplayList();
|
||||
VOID DrawDisplayList();
|
||||
VOID ShowFrame();
|
||||
VOID DarkenScene( FLOAT fAmount );
|
||||
VOID RenderFieryText( CD3DFont* pFont, TCHAR* strText );
|
||||
|
||||
// Misc game functions
|
||||
VOID DisplayLevelIntroScreen( DWORD dwLevel );
|
||||
VOID AdvanceLevel();
|
||||
BOOL IsDisplayListEmpty();
|
||||
VOID AddToList( DisplayObject* pObject );
|
||||
VOID DeleteFromList( DisplayObject* pObject );
|
||||
VOID CheckForHits();
|
||||
|
||||
HRESULT LoadTerrainModel();
|
||||
HRESULT LoadShipModel();
|
||||
HRESULT SwitchModel();
|
||||
|
||||
// Error handling
|
||||
VOID CleanupAndDisplayError( DWORD dwError );
|
||||
|
||||
protected:
|
||||
TCHAR* m_strAppName;
|
||||
HWND m_hWndMain; // Main window
|
||||
DWORD m_dwScreenWidth; // Dimensions for fullscreen modes
|
||||
DWORD m_dwScreenHeight;
|
||||
D3DDISPLAYMODE m_DesktopMode;
|
||||
D3DFORMAT m_d3dfmtFullscreen; // Pixel format for fullscreen modes
|
||||
D3DFORMAT m_d3dfmtTexture; // Pixel format for textures
|
||||
BOOL m_bFullScreen; // Whether app is fullscreen (or windowed)
|
||||
BOOL m_bIsActive; // Whether app is active
|
||||
BOOL m_bDisplayReady; // Whether display class is initialized
|
||||
BOOL m_bMouseVisible; // Whether mouse is visible
|
||||
HBITMAP m_hSplashBitmap; // Bitmap for splash screen
|
||||
|
||||
DWORD m_dwAppState; // Current state the app is in
|
||||
DWORD m_dwLevel; // Current game level
|
||||
DWORD m_dwScore; // Current game score
|
||||
|
||||
// Player view mode
|
||||
#define NUMVIEWMODES 3
|
||||
CD3DCamera m_Camera; // Camera used for 3D scene
|
||||
DWORD m_dwViewMode; // Which view mode is being used
|
||||
FLOAT m_fViewTransition; // Amount used to transittion views
|
||||
BOOL m_bAnimatingViewChange; // Whether view is transitioning
|
||||
BOOL m_bFirstPersonView; // Whether view is first-person
|
||||
|
||||
// Bullet mode
|
||||
FLOAT m_fBulletRechargeTime; // Recharge time for firing bullets
|
||||
DWORD m_dwBulletType; // Current bullet type
|
||||
|
||||
// Display list and player ship
|
||||
DisplayObject* m_pDisplayList; // Global display list
|
||||
CShip* m_pShip; // Player's display object
|
||||
|
||||
// DirectDraw/Direct3D objects
|
||||
LPDIRECT3DDEVICE8 m_pd3dDevice; // Class to handle D3D device
|
||||
D3DPRESENT_PARAMETERS m_d3dpp;
|
||||
LPDIRECT3DSURFACE8 m_pConfigSurface; // Surface for config'ing DInput devices
|
||||
LPDIRECT3DVERTEXBUFFER8 m_pViewportVB;
|
||||
LPDIRECT3DVERTEXBUFFER8 m_pSpriteVB;
|
||||
|
||||
// Support for the ship model
|
||||
CD3DMesh* m_pShipFileObject; // Geometry model of player's ship
|
||||
DWORD m_dwNumShipTypes;
|
||||
DWORD m_dwCurrentShipType;
|
||||
|
||||
// DirectMusic objects
|
||||
CMusicManager* m_pMusicManager; // Class to manage DMusic objects
|
||||
CMusicSegment* m_pBeginLevelSound; // Sounds for the app
|
||||
CMusicSegment* m_pEngineIdleSound;
|
||||
CMusicSegment* m_pEngineRevSound;
|
||||
CMusicSegment* m_pShieldBuzzSound;
|
||||
CMusicSegment* m_pShipExplodeSound;
|
||||
CMusicSegment* m_pFireBulletSound;
|
||||
CMusicSegment* m_pShipBounceSound;
|
||||
CMusicSegment* m_pDonutExplodeSound;
|
||||
CMusicSegment* m_pPyramidExplodeSound;
|
||||
CMusicSegment* m_pCubeExplodeSound;
|
||||
CMusicSegment* m_pSphereExplodeSound;
|
||||
|
||||
// Game objects
|
||||
LPDIRECT3DTEXTURE8 m_pGameTexture1; // Texture with game object animations
|
||||
LPDIRECT3DTEXTURE8 m_pGameTexture2; // Texture with game object animations
|
||||
CD3DMesh* m_pTerrain; // Geometry model of terrain
|
||||
CD3DFont* m_pGameFont; // Font for displaying score, etc.
|
||||
CD3DFont* m_pMenuFont; // Font for displaying in-game menus
|
||||
|
||||
|
||||
// Menu objects
|
||||
CMenuItem* m_pMainMenu; // Menu class for in-game menus
|
||||
CMenuItem* m_pQuitMenu;
|
||||
CMenuItem* m_pCurrentMenu;
|
||||
|
||||
// DirectInput objects
|
||||
CInputDeviceManager* m_pInputDeviceManager; // Class for managing DInput devices
|
||||
UserInput m_UserInput; // Struct for storing user input
|
||||
DIACTIONFORMAT m_diafGame; // Action format for game play
|
||||
DIACTIONFORMAT m_diafBrowser; // Action format for menu navigation
|
||||
|
||||
BOOL m_bPaused;
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.ico
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 766 B |
113
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.rc
Normal file
113
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts.rc
Normal file
@@ -0,0 +1,113 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "windows.h"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
DONUTS_ICON ICON DISCARDABLE "donuts.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
SPLASH BITMAP MOVEABLE PURE "SPLASH.BMP"
|
||||
DONUTS8 BITMAP MOVEABLE PURE "donuts.bmp"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// WAV
|
||||
//
|
||||
|
||||
BEGINLEVEL WAV MOVEABLE PURE "level.wav"
|
||||
ENGINEIDLE WAV MOVEABLE PURE "hum.wav"
|
||||
ENGINEREV WAV MOVEABLE PURE "rev.wav"
|
||||
SKIDTOSTOP WAV MOVEABLE PURE "skid.wav"
|
||||
SHIELDBUZZ WAV MOVEABLE PURE "shield.wav"
|
||||
GUNFIRE WAV MOVEABLE PURE "gunfire.wav"
|
||||
SHIPBOUNCE WAV MOVEABLE PURE "bounce.wav"
|
||||
SHIPEXPLODE WAV MOVEABLE PURE "bangbang.wav"
|
||||
DONUTEXPLODE WAV MOVEABLE PURE "d_bang.wav"
|
||||
PYRAMIDEXPLODE WAV MOVEABLE PURE "p_bang.wav"
|
||||
CUBEEXPLODE WAV MOVEABLE PURE "c_bang.wav"
|
||||
SPHEREEXPLODE WAV MOVEABLE PURE "s_bang.wav"
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Accelerator
|
||||
//
|
||||
|
||||
IDR_MAIN_ACCEL ACCELERATORS DISCARDABLE
|
||||
BEGIN
|
||||
VK_RETURN, IDM_TOGGLEFULLSCREEN, VIRTKEY, ALT, NOINVERT
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
228
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts3d.dsp
Normal file
228
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts3d.dsp
Normal file
@@ -0,0 +1,228 @@
|
||||
# Microsoft Developer Studio Project File - Name="Donuts3D" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Application" 0x0101
|
||||
|
||||
CFG=Donuts3D - Win32 Debug
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "donuts3d.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "donuts3d.mak" CFG="Donuts3D - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Donuts3D - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "Donuts3D - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP AllowPerConfigDependencies 0
|
||||
# PROP Scc_ProjName ""
|
||||
# PROP Scc_LocalPath ""
|
||||
CPP=cl.exe
|
||||
MTL=midl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "Donuts3D - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "Release"
|
||||
# PROP Intermediate_Dir "Release"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /GX /O2 /I "..\..\common\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386
|
||||
# ADD LINK32 d3dx8.lib d3d8.lib d3dxof.lib dxguid.lib dinput8.lib dsound.lib winspool.lib dxerr8.lib ole32.lib winmm.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /machine:I386 /stack:0x1f4000,0x1f4000
|
||||
|
||||
!ELSEIF "$(CFG)" == "Donuts3D - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "Debug"
|
||||
# PROP Intermediate_Dir "Debug"
|
||||
# PROP Ignore_Export_Lib 0
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c
|
||||
# ADD CPP /nologo /W3 /Gm /GX /Zi /Od /I "..\..\common\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FD /c
|
||||
# SUBTRACT CPP /YX
|
||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LINK32=link.exe
|
||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept
|
||||
# ADD LINK32 d3dx8dt.lib d3d8.lib d3dxof.lib dxguid.lib dinput8.lib dsound.lib winspool.lib dxerr8.lib ole32.lib winmm.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept /stack:0x1f4000,0x1f4000
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "Donuts3D - Win32 Release"
|
||||
# Name "Donuts3D - Win32 Debug"
|
||||
# Begin Group "Resource Files"
|
||||
|
||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\bangbang.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\bounce.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\c_bang.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\d_bang.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\donuts.bmp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\donuts.ico
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\donuts.rc
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\gunfire.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\hum.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\level.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\p_bang.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\resource.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\rev.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\s_bang.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\shield.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\skid.wav
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\splash.bmp
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Group "Common"
|
||||
|
||||
# PROP Default_Filter ""
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\src\d3dfile.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\include\d3dfile.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\src\d3dfont.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\include\d3dfont.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\src\d3dutil.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\src\diutil.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\include\diutil.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\src\dmutil.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\include\dmutil.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\src\dxutil.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\common\include\dxutil.h
|
||||
# End Source File
|
||||
# End Group
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\donuts.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\donuts.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\gamemenu.cpp
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\gamemenu.h
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
||||
29
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts3d.dsw
Normal file
29
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts3d.dsw
Normal file
@@ -0,0 +1,29 @@
|
||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||
|
||||
###############################################################################
|
||||
|
||||
Project: "Donuts3D"=.\donuts3d.dsp - Package Owner=<4>
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<4>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
Global:
|
||||
|
||||
Package=<5>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
Package=<3>
|
||||
{{{
|
||||
}}}
|
||||
|
||||
###############################################################################
|
||||
|
||||
270
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts3d.mak
Normal file
270
Library/dxx8/samples/Multimedia/Demos/Donuts3D/donuts3d.mak
Normal file
@@ -0,0 +1,270 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on donuts3d.dsp
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=Donuts3D - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to Donuts3D - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "Donuts3D - Win32 Release" && "$(CFG)" != "Donuts3D - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "donuts3d.mak" CFG="Donuts3D - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "Donuts3D - Win32 Release" (based on "Win32 (x86) Application")
|
||||
!MESSAGE "Donuts3D - Win32 Debug" (based on "Win32 (x86) Application")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" == "Donuts3D - Win32 Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Release
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "$(OUTDIR)\donuts3d.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\d3dfile.obj"
|
||||
-@erase "$(INTDIR)\d3dfont.obj"
|
||||
-@erase "$(INTDIR)\d3dutil.obj"
|
||||
-@erase "$(INTDIR)\diutil.obj"
|
||||
-@erase "$(INTDIR)\dmutil.obj"
|
||||
-@erase "$(INTDIR)\donuts.obj"
|
||||
-@erase "$(INTDIR)\donuts.res"
|
||||
-@erase "$(INTDIR)\dxutil.obj"
|
||||
-@erase "$(INTDIR)\gamemenu.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(OUTDIR)\donuts3d.exe"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /ML /W3 /GX /O2 /I "..\..\common\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /Fp"$(INTDIR)\donuts3d.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
MTL=midl.exe
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\donuts.res" /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\donuts3d.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=d3dx8.lib d3d8.lib d3dxof.lib dxguid.lib dinput8.lib dsound.lib winspool.lib dxerr8.lib ole32.lib winmm.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /incremental:no /pdb:"$(OUTDIR)\donuts3d.pdb" /machine:I386 /out:"$(OUTDIR)\donuts3d.exe"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\d3dfile.obj" \
|
||||
"$(INTDIR)\d3dfont.obj" \
|
||||
"$(INTDIR)\d3dutil.obj" \
|
||||
"$(INTDIR)\diutil.obj" \
|
||||
"$(INTDIR)\dmutil.obj" \
|
||||
"$(INTDIR)\dxutil.obj" \
|
||||
"$(INTDIR)\donuts.obj" \
|
||||
"$(INTDIR)\gamemenu.obj" \
|
||||
"$(INTDIR)\donuts.res"
|
||||
|
||||
"$(OUTDIR)\donuts3d.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "Donuts3D - Win32 Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "$(OUTDIR)\donuts3d.exe"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\d3dfile.obj"
|
||||
-@erase "$(INTDIR)\d3dfont.obj"
|
||||
-@erase "$(INTDIR)\d3dutil.obj"
|
||||
-@erase "$(INTDIR)\diutil.obj"
|
||||
-@erase "$(INTDIR)\dmutil.obj"
|
||||
-@erase "$(INTDIR)\donuts.obj"
|
||||
-@erase "$(INTDIR)\donuts.res"
|
||||
-@erase "$(INTDIR)\dxutil.obj"
|
||||
-@erase "$(INTDIR)\gamemenu.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.pdb"
|
||||
-@erase "$(OUTDIR)\donuts3d.exe"
|
||||
-@erase "$(OUTDIR)\donuts3d.ilk"
|
||||
-@erase "$(OUTDIR)\donuts3d.pdb"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MLd /W3 /Gm /GX /Zi /Od /I "..\..\common\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
MTL=midl.exe
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\donuts.res" /d "_DEBUG"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\donuts3d.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=d3dx8dt.lib d3d8.lib d3dxof.lib dxguid.lib dinput8.lib dsound.lib winspool.lib dxerr8.lib ole32.lib winmm.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib advapi32.lib shell32.lib /nologo /subsystem:windows /incremental:yes /pdb:"$(OUTDIR)\donuts3d.pdb" /debug /machine:I386 /out:"$(OUTDIR)\donuts3d.exe" /pdbtype:sept
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\d3dfile.obj" \
|
||||
"$(INTDIR)\d3dfont.obj" \
|
||||
"$(INTDIR)\d3dutil.obj" \
|
||||
"$(INTDIR)\diutil.obj" \
|
||||
"$(INTDIR)\dmutil.obj" \
|
||||
"$(INTDIR)\dxutil.obj" \
|
||||
"$(INTDIR)\donuts.obj" \
|
||||
"$(INTDIR)\gamemenu.obj" \
|
||||
"$(INTDIR)\donuts.res"
|
||||
|
||||
"$(OUTDIR)\donuts3d.exe" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("donuts3d.dep")
|
||||
!INCLUDE "donuts3d.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "donuts3d.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
!IF "$(CFG)" == "Donuts3D - Win32 Release" || "$(CFG)" == "Donuts3D - Win32 Debug"
|
||||
SOURCE=.\donuts.rc
|
||||
|
||||
"$(INTDIR)\donuts.res" : $(SOURCE) "$(INTDIR)"
|
||||
$(RSC) $(RSC_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=..\..\common\src\d3dfile.cpp
|
||||
|
||||
"$(INTDIR)\d3dfile.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=..\..\common\src\d3dfont.cpp
|
||||
|
||||
"$(INTDIR)\d3dfont.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=..\..\common\src\d3dutil.cpp
|
||||
|
||||
"$(INTDIR)\d3dutil.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=..\..\common\src\diutil.cpp
|
||||
|
||||
"$(INTDIR)\diutil.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=..\..\common\src\dmutil.cpp
|
||||
|
||||
"$(INTDIR)\dmutil.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=..\..\common\src\dxutil.cpp
|
||||
|
||||
"$(INTDIR)\dxutil.obj" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) $(CPP_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=.\donuts.cpp
|
||||
|
||||
"$(INTDIR)\donuts.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\gamemenu.cpp
|
||||
|
||||
"$(INTDIR)\gamemenu.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
||||
141
Library/dxx8/samples/Multimedia/Demos/Donuts3D/gamemenu.cpp
Normal file
141
Library/dxx8/samples/Multimedia/Demos/Donuts3D/gamemenu.cpp
Normal file
@@ -0,0 +1,141 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: GameMenu.cpp
|
||||
//
|
||||
// Desc: Code for in-game menus
|
||||
//
|
||||
// Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
#define STRICT
|
||||
#define D3D_OVERLOADS
|
||||
#include <D3D8.h>
|
||||
#include <D3DX8Math.h>
|
||||
#include <mmsystem.h>
|
||||
#include "D3DFont.h"
|
||||
#include "D3DUtil.h"
|
||||
#include "GameMenu.h"
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name:
|
||||
// Desc:
|
||||
//-----------------------------------------------------------------------------
|
||||
CMenuItem::CMenuItem( TCHAR* strNewLabel, DWORD dwNewID )
|
||||
{
|
||||
_tcscpy( strLabel, strNewLabel );
|
||||
dwID = dwNewID;
|
||||
pParent = NULL;
|
||||
dwNumChildren = 0L;
|
||||
dwSelectedMenu = 0L;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name:
|
||||
// Desc:
|
||||
//-----------------------------------------------------------------------------
|
||||
CMenuItem::~CMenuItem()
|
||||
{
|
||||
while( dwNumChildren )
|
||||
delete pChild[--dwNumChildren];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name:
|
||||
// Desc:
|
||||
//-----------------------------------------------------------------------------
|
||||
CMenuItem* CMenuItem::Add( CMenuItem* pNewChild )
|
||||
{
|
||||
pChild[dwNumChildren++] = pNewChild;
|
||||
pNewChild->pParent = this;
|
||||
|
||||
return pNewChild;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: Render()
|
||||
// Desc:
|
||||
//-----------------------------------------------------------------------------
|
||||
HRESULT CMenuItem::Render( LPDIRECT3DDEVICE8 pd3dDevice, CD3DFont* pFont )
|
||||
{
|
||||
// Check parameters
|
||||
if( NULL==pd3dDevice || NULL==pFont )
|
||||
return E_INVALIDARG;
|
||||
|
||||
// Save current matrices
|
||||
D3DXMATRIX matViewSaved, matProjSaved;
|
||||
pd3dDevice->GetTransform( D3DTS_VIEW, &matViewSaved );
|
||||
pd3dDevice->GetTransform( D3DTS_PROJECTION, &matProjSaved );
|
||||
|
||||
// Setup new view and proj matrices for head-on viewing
|
||||
D3DXMATRIX matView, matProj;
|
||||
D3DXMatrixLookAtLH( &matView, &D3DXVECTOR3(0.0f,0.0f,-30.0f),
|
||||
&D3DXVECTOR3(0.0f,0.0f,0.0f),
|
||||
&D3DXVECTOR3(0.0f,1.0f,0.0f) );
|
||||
D3DXMatrixPerspectiveFovLH( &matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f );
|
||||
pd3dDevice->SetTransform( D3DTS_VIEW, &matView );
|
||||
pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProj );
|
||||
|
||||
// Establish colors for selected vs. normal menu items
|
||||
D3DMATERIAL8 mtrlNormal, mtrlSelected, mtrlTitle;
|
||||
D3DUtil_InitMaterial( mtrlTitle, 1.0f, 0.0f, 0.0f, 1.0f );
|
||||
D3DUtil_InitMaterial( mtrlNormal, 1.0f, 1.0f, 1.0f, 0.5f );
|
||||
D3DUtil_InitMaterial( mtrlSelected, 1.0f, 1.0f, 0.0f, 1.0f );
|
||||
|
||||
pd3dDevice->SetRenderState( D3DRS_LIGHTING, TRUE );
|
||||
pd3dDevice->SetRenderState( D3DRS_AMBIENT, 0xffffffff );
|
||||
|
||||
// Translate the menuitem into place
|
||||
D3DXMATRIX matWorld;
|
||||
D3DXMatrixScaling( &matWorld, 0.4f, 0.4f, 0.4f );
|
||||
matWorld._42 = (dwNumChildren*1.0f) + 2.0f;
|
||||
pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
|
||||
|
||||
pd3dDevice->SetMaterial( &mtrlTitle );
|
||||
|
||||
// Render the menuitem's label
|
||||
pFont->Render3DText( strLabel, D3DFONT_CENTERED|D3DFONT_TWOSIDED );
|
||||
|
||||
// Loop through and render all menuitem lables
|
||||
for( DWORD i=0; i<dwNumChildren; i++ )
|
||||
{
|
||||
D3DXMATRIX matWorld;
|
||||
D3DXMatrixScaling( &matWorld, 0.3f, 0.3f, 0.3f );
|
||||
pd3dDevice->SetMaterial( &mtrlNormal );
|
||||
|
||||
// Give a different effect for selected items
|
||||
if( dwSelectedMenu == i )
|
||||
{
|
||||
D3DXMATRIX matRotate;
|
||||
D3DXMatrixRotationY( &matRotate, (D3DX_PI/3)*sinf(timeGetTime()/200.0f) );
|
||||
D3DXMatrixMultiply( &matWorld, &matWorld, &matRotate );
|
||||
pd3dDevice->SetMaterial( &mtrlSelected );
|
||||
}
|
||||
|
||||
// Translate the menuitem into place
|
||||
matWorld._42 = (dwNumChildren*1.0f) - (i*2.0f);
|
||||
pd3dDevice->SetTransform( D3DTS_WORLD, &matWorld );
|
||||
|
||||
// Render the menuitem's label
|
||||
pFont->Render3DText( pChild[i]->strLabel,
|
||||
D3DFONT_CENTERED|D3DFONT_TWOSIDED );
|
||||
}
|
||||
|
||||
// Restore matrices
|
||||
pd3dDevice->SetTransform( D3DTS_VIEW, &matViewSaved );
|
||||
pd3dDevice->SetTransform( D3DTS_PROJECTION, &matProjSaved );
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
47
Library/dxx8/samples/Multimedia/Demos/Donuts3D/gamemenu.h
Normal file
47
Library/dxx8/samples/Multimedia/Demos/Donuts3D/gamemenu.h
Normal file
@@ -0,0 +1,47 @@
|
||||
//-----------------------------------------------------------------------------
|
||||
// File: GameMenu.h
|
||||
//
|
||||
// Desc: Code for in-game menus
|
||||
//
|
||||
// Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
|
||||
//-----------------------------------------------------------------------------
|
||||
#ifndef GAMEMENU_H
|
||||
#define GAMEMENU_H
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Name: class CMenuItem
|
||||
// Desc:
|
||||
//-----------------------------------------------------------------------------
|
||||
class CMenuItem
|
||||
{
|
||||
public:
|
||||
TCHAR strLabel[80];
|
||||
DWORD dwID;
|
||||
CMenuItem* pParent;
|
||||
|
||||
CMenuItem* pChild[10];
|
||||
DWORD dwNumChildren;
|
||||
|
||||
DWORD dwSelectedMenu;
|
||||
|
||||
public:
|
||||
HRESULT Render( LPDIRECT3DDEVICE8 pd3dDevice, CD3DFont* pFont );
|
||||
|
||||
CMenuItem* Add( CMenuItem* );
|
||||
|
||||
CMenuItem( TCHAR* strLabel, DWORD dwID );
|
||||
~CMenuItem();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/gunfire.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/gunfire.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/hum.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/hum.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/level.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/level.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/p_bang.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/p_bang.wav
Normal file
Binary file not shown.
18
Library/dxx8/samples/Multimedia/Demos/Donuts3D/resource.h
Normal file
18
Library/dxx8/samples/Multimedia/Demos/Donuts3D/resource.h
Normal file
@@ -0,0 +1,18 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by donuts.rc
|
||||
//
|
||||
#define DONUTS_ICON 101
|
||||
#define IDR_MAIN_ACCEL 103
|
||||
#define IDM_TOGGLEFULLSCREEN 40002
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 105
|
||||
#define _APS_NEXT_COMMAND_VALUE 40015
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
17
Library/dxx8/samples/Multimedia/Demos/Donuts3D/resrc1.h
Normal file
17
Library/dxx8/samples/Multimedia/Demos/Donuts3D/resrc1.h
Normal file
@@ -0,0 +1,17 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by donuts.rc
|
||||
//
|
||||
#define IDR_MAIN_ACCEL 103
|
||||
#define IDM_TOGGLEFULLSCREEN 40002
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NEXT_RESOURCE_VALUE 104
|
||||
#define _APS_NEXT_COMMAND_VALUE 40003
|
||||
#define _APS_NEXT_CONTROL_VALUE 1000
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
||||
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/rev.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/rev.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/s_bang.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/s_bang.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/shield.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/shield.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/skid.wav
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/skid.wav
Normal file
Binary file not shown.
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/splash.bmp
Normal file
BIN
Library/dxx8/samples/Multimedia/Demos/Donuts3D/splash.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 750 KiB |
Reference in New Issue
Block a user