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:
@@ -0,0 +1,274 @@
|
||||
VERSION 5.00
|
||||
Begin VB.Form DDDisplayCardInfo
|
||||
Caption = "DD Display Card Information"
|
||||
ClientHeight = 6570
|
||||
ClientLeft = 60
|
||||
ClientTop = 345
|
||||
ClientWidth = 4785
|
||||
Icon = "ddtut5.frx":0000
|
||||
LinkTopic = "Form1"
|
||||
ScaleHeight = 6570
|
||||
ScaleWidth = 4785
|
||||
StartUpPosition = 3 'Windows Default
|
||||
Begin VB.ListBox OutList
|
||||
Height = 6495
|
||||
Left = 0
|
||||
TabIndex = 0
|
||||
Top = 0
|
||||
Width = 4815
|
||||
End
|
||||
End
|
||||
Attribute VB_Name = "DDDisplayCardInfo"
|
||||
Attribute VB_GlobalNameSpace = False
|
||||
Attribute VB_Creatable = False
|
||||
Attribute VB_PredeclaredId = True
|
||||
Attribute VB_Exposed = False
|
||||
Dim m_dx As New DirectX7
|
||||
|
||||
Private Sub Form_Load()
|
||||
Me.Show
|
||||
GetDisplayCards
|
||||
End Sub
|
||||
|
||||
Sub GetDisplayModes(sGuid As String)
|
||||
'If you want to switch display modes
|
||||
'to a certain resolution
|
||||
'this is how you figure out what resoultions
|
||||
'are supported.
|
||||
'note some cards will report zero for
|
||||
'the refresh rate.
|
||||
|
||||
Dim DisplayModesEnum As DirectDrawEnumModes
|
||||
Dim ddsd2 As DDSURFACEDESC2
|
||||
Dim dd As DirectDraw7
|
||||
Set dd = m_dx.DirectDrawCreate(sGuid)
|
||||
dd.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL
|
||||
Set DisplayModesEnum = dd.GetDisplayModesEnum(0, ddsd2)
|
||||
OutList.AddItem " Display Modes"
|
||||
For i = 1 To DisplayModesEnum.GetCount()
|
||||
DisplayModesEnum.GetItem i, ddsd2
|
||||
OutList.AddItem " Index " + Str(i)
|
||||
OutList.AddItem " Width " + Str(ddsd2.lWidth)
|
||||
OutList.AddItem " Height " + Str(ddsd2.lHeight)
|
||||
OutList.AddItem " Bits Per Pixel" + Str(ddsd2.ddpfPixelFormat.lRGBBitCount)
|
||||
OutList.AddItem " Refresh Rate " + Str(ddsd2.lRefreshRate)
|
||||
OutList.AddItem ""
|
||||
Next
|
||||
|
||||
Set dd = Nothing
|
||||
|
||||
End Sub
|
||||
|
||||
Sub GetDisplayCards()
|
||||
'Some systems will have multiple display cards
|
||||
'or have daughter cards for 3d support.
|
||||
'if you want to draw to more than just the
|
||||
'primary display or search for 3d hardware not
|
||||
'on the primary display card you can
|
||||
'use this code to search for such devices
|
||||
'Note that windows 98 supports multiple monitors.
|
||||
'Note the GUID is what identifies the device
|
||||
'and that on the primary display this will return
|
||||
'an empty string
|
||||
|
||||
Dim ddEnum As DirectDrawEnum
|
||||
Dim strGuid As String
|
||||
|
||||
Set ddEnum = m_dx.GetDDEnum()
|
||||
OutList.AddItem "Display Cards"
|
||||
For i = 1 To ddEnum.GetCount()
|
||||
|
||||
|
||||
OutList.AddItem " Index " + Str(i)
|
||||
OutList.AddItem " Description " + ddEnum.GetDescription(i)
|
||||
OutList.AddItem " Name " + ddEnum.GetName(i)
|
||||
OutList.AddItem " GUID " + ddEnum.GetGuid(i)
|
||||
OutList.AddItem ""
|
||||
|
||||
strGuid = ddEnum.GetGuid(i)
|
||||
GetDDCaps strGuid
|
||||
GetD3DDevices strGuid
|
||||
GetDisplayModes strGuid
|
||||
|
||||
Next
|
||||
End Sub
|
||||
|
||||
|
||||
Sub GetDDCaps(sGuid As String)
|
||||
Dim dd As DirectDraw7
|
||||
Dim hwCaps As DDCAPS 'HARDWARE
|
||||
Dim helCaps As DDCAPS 'SOFTWARE EMULATION
|
||||
|
||||
Set dd = m_dx.DirectDrawCreate(sGuid)
|
||||
dd.SetCooperativeLevel Me.hWnd, DDSCL_NORMAL
|
||||
|
||||
'Its always a good idea to figure out if the HW
|
||||
'supports a feature
|
||||
'may un supported features however are emulated via
|
||||
'software but are much slower
|
||||
'This code provide an example of querying the hw.
|
||||
'Note there is a seperate caps call for determining
|
||||
'3d capabilities
|
||||
|
||||
dd.GetCaps hwCaps, helCaps
|
||||
|
||||
'how much video memory is available
|
||||
OutList.AddItem " HW CAPS"
|
||||
OutList.AddItem " total video memory " + Str(hwCaps.lVidMemTotal)
|
||||
OutList.AddItem " free video memory " + Str(hwCaps.lVidMemFree)
|
||||
|
||||
|
||||
'Palette Support
|
||||
'Most apps dont use palettes since
|
||||
'all cards support 16bpp
|
||||
'Some apps use 8bpp for speed
|
||||
|
||||
lVal = hwCaps.lPalCaps
|
||||
If (lVal = 0) Then
|
||||
OutList.AddItem " no hw palette support"
|
||||
End If
|
||||
If (lVal And DDPCAPS_1BIT) Then
|
||||
OutList.AddItem " palette support 1bpp "
|
||||
End If
|
||||
If (lVal And DDPCAPS_2BIT) Then
|
||||
OutList.AddItem " palette support 2bit "
|
||||
End If
|
||||
If (lVal And DDPCAPS_8BIT) Then
|
||||
OutList.AddItem " palette support 8bit "
|
||||
End If
|
||||
If (lVal And DDPCAPS_8BITENTRIES) Then
|
||||
OutList.AddItem " palette support 8bit entries "
|
||||
End If
|
||||
If (lVal And DDPCAPS_ALLOW256) Then
|
||||
OutList.AddItem " palette support setting all 256 colors"
|
||||
End If
|
||||
|
||||
'do we support the gamma ramp interface?
|
||||
lVal = hwCaps.ddsCaps.lCaps2
|
||||
If lVal And DDCAPS2_CANCALIBRATEGAMMA Then
|
||||
OutList.AddItem " supports gamma correction"
|
||||
Else
|
||||
OutList.AddItem " no support for gamma correction"
|
||||
End If
|
||||
|
||||
Set dd = Nothing
|
||||
End Sub
|
||||
|
||||
Sub GetD3DDevices(sGuid As String)
|
||||
Dim d3denum As Direct3DEnumDevices
|
||||
|
||||
Dim helDesc As D3DDEVICEDESC7
|
||||
Dim hwDesc As D3DDEVICEDESC7
|
||||
Dim dd As DirectDraw7
|
||||
Dim ddSurf As DirectDrawSurface7
|
||||
Dim d3d As Direct3D7
|
||||
Set dd = m_dx.DirectDrawCreate(sGuid)
|
||||
Set d3d = dd.GetDirect3D()
|
||||
|
||||
OutList.AddItem " D3D devices"
|
||||
|
||||
'NOTE its important not to get to bogged down
|
||||
'in understand the caps bits. particularly
|
||||
'if using the retained mode api.
|
||||
|
||||
'things become more important if you want to run
|
||||
'use specialized features such as blending and
|
||||
'multiple texture stages
|
||||
|
||||
'there are cards that dont have a zbuffer
|
||||
'that may need there triangles sorted..
|
||||
'most cards however have zbuffers
|
||||
|
||||
'The color model is the most important aspect in
|
||||
'determining speed. software rasterizers provide
|
||||
'MONOchormatic lighting for more speed.
|
||||
'The sort flags are only important of IM applications
|
||||
'that need to work on HW that doesnt support z buffers
|
||||
|
||||
Set d3denum = d3d.GetDevicesEnum()
|
||||
|
||||
OutList.AddItem ""
|
||||
|
||||
For i = 1 To d3denum.GetCount()
|
||||
|
||||
d3denum.GetDesc i, hwDesc
|
||||
|
||||
|
||||
|
||||
OutList.AddItem " Guid " + d3denum.GetGuid(i)
|
||||
OutList.AddItem " Description " + d3denum.GetDescription(i)
|
||||
OutList.AddItem " Name " + d3denum.GetName(i)
|
||||
|
||||
' you can make
|
||||
|
||||
OutList.AddItem " Device "
|
||||
With hwDesc
|
||||
OutList.AddItem " Max Texture Height " + Str(.lMaxTextureHeight)
|
||||
OutList.AddItem " Max Texture Width " + Str(.lMaxTextureWidth)
|
||||
|
||||
|
||||
If (.lDeviceRenderBitDepth And DDBD_8) Then
|
||||
OutList.AddItem " Supports rendering to 8 bit"
|
||||
End If
|
||||
If (.lDeviceRenderBitDepth And DDBD_16) Then
|
||||
OutList.AddItem " Supports rendering to 16 bit"
|
||||
End If
|
||||
If (.lDeviceRenderBitDepth And DDBD_24) Then
|
||||
OutList.AddItem " Supports rendering to 24 bit"
|
||||
End If
|
||||
If (.lDeviceRenderBitDepth And DDBD_32) Then
|
||||
OutList.AddItem " Supports rendering to 32 bit"
|
||||
End If
|
||||
|
||||
|
||||
If (.lDeviceZBufferBitDepth And DDBD_8) Then
|
||||
OutList.AddItem " Supports 8 bit z buffer"
|
||||
End If
|
||||
If (.lDeviceZBufferBitDepth And DDBD_16) Then
|
||||
OutList.AddItem " Supports 16 bit z buffer"
|
||||
End If
|
||||
If (.lDeviceZBufferBitDepth And DDBD_24) Then
|
||||
OutList.AddItem " Supports 24 bit z buffer"
|
||||
End If
|
||||
If (.lDeviceZBufferBitDepth And DDBD_32) Then
|
||||
OutList.AddItem " Supports 32 bit z buffer"
|
||||
End If
|
||||
If (.lDeviceZBufferBitDepth = 0) Then
|
||||
OutList.AddItem " no z buffer support"
|
||||
End If
|
||||
|
||||
|
||||
If (.lDevCaps And D3DDEVCAPS_TEXTURENONLOCALVIDMEM) Then
|
||||
OutList.AddItem " Supports AGP textures"
|
||||
End If
|
||||
If (.lDevCaps And D3DDEVCAPS_SORTDECREASINGZ) Then
|
||||
OutList.AddItem " IM triangles must be sorted by decreasing depth"
|
||||
End If
|
||||
If (.lDevCaps And D3DDEVCAPS_SORTDECREASINGZ) Then
|
||||
OutList.AddItem " IM triangles must be sorted exactly"
|
||||
End If
|
||||
If (.lDevCaps And D3DDEVCAPS_SORTINCREASINGZ) Then
|
||||
OutList.AddItem " IM triangles must be sorted by increasing depth"
|
||||
End If
|
||||
|
||||
If (.lDevCaps And D3DDEVCAPS_TEXTUREVIDEOMEMORY) Then
|
||||
OutList.AddItem " IM can uses video memory to store textures"
|
||||
End If
|
||||
|
||||
End With
|
||||
|
||||
|
||||
OutList.AddItem ""
|
||||
Next
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Resize()
|
||||
If Me.Width > 100 Then
|
||||
OutList.Width = Me.Width - 100
|
||||
End If
|
||||
If Me.Height > 400 Then
|
||||
OutList.Height = Me.Height - 400
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,30 @@
|
||||
Type=Exe
|
||||
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#stdole2.tlb#OLE Automation
|
||||
Reference=*\G{E1211242-8E94-11D1-8808-00C04FC2C602}#1.0#0#dx7vb.dll#DirectX 7 for Visual Basic Type Library
|
||||
Form=ddtut5.frm
|
||||
Startup="DDDisplayCardInfo"
|
||||
Command32=""
|
||||
Name="Project1"
|
||||
HelpContextID="0"
|
||||
CompatibleMode="0"
|
||||
MajorVer=1
|
||||
MinorVer=0
|
||||
RevisionVer=0
|
||||
AutoIncrementVer=0
|
||||
ServerSupportFiles=0
|
||||
VersionCompanyName="Microsoft Corp"
|
||||
CompilationType=0
|
||||
OptimizationType=0
|
||||
FavorPentiumPro(tm)=0
|
||||
CodeViewDebugInfo=0
|
||||
NoAliasing=0
|
||||
BoundsCheck=0
|
||||
OverflowCheck=0
|
||||
FlPointCheck=0
|
||||
FDIVCheck=0
|
||||
UnroundedFP=0
|
||||
StartMode=0
|
||||
Unattended=0
|
||||
Retained=0
|
||||
ThreadPerObject=0
|
||||
MaxNumberOfThreads=1
|
||||
Reference in New Issue
Block a user