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,378 @@
|
||||
VERSION 5.00
|
||||
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCTL.OCX"
|
||||
Begin VB.Form frmSimple
|
||||
BorderStyle = 3 'Fixed Dialog
|
||||
Caption = "Simple Audio Path"
|
||||
ClientHeight = 4380
|
||||
ClientLeft = 45
|
||||
ClientTop = 330
|
||||
ClientWidth = 7245
|
||||
Icon = "frmSimple.frx":0000
|
||||
LinkTopic = "Form1"
|
||||
MaxButton = 0 'False
|
||||
MinButton = 0 'False
|
||||
ScaleHeight = 4380
|
||||
ScaleWidth = 7245
|
||||
StartUpPosition = 3 'Windows Default
|
||||
Begin VB.Frame Frame3
|
||||
Caption = "Description"
|
||||
Height = 1695
|
||||
Left = 3660
|
||||
TabIndex = 17
|
||||
Top = 2220
|
||||
Width = 3495
|
||||
Begin VB.Label lbl
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = $"frmSimple.frx":0442
|
||||
Height = 1335
|
||||
Index = 4
|
||||
Left = 60
|
||||
TabIndex = 18
|
||||
Top = 240
|
||||
Width = 3375
|
||||
End
|
||||
End
|
||||
Begin VB.Frame Frame2
|
||||
Caption = "3D Positioning of AudioPath"
|
||||
Height = 1695
|
||||
Left = 60
|
||||
TabIndex = 6
|
||||
Top = 2220
|
||||
Width = 3555
|
||||
Begin MSComctlLib.Slider sldX
|
||||
Height = 195
|
||||
Left = 300
|
||||
TabIndex = 10
|
||||
Top = 420
|
||||
Width = 2595
|
||||
_ExtentX = 4577
|
||||
_ExtentY = 344
|
||||
_Version = 393216
|
||||
LargeChange = 2
|
||||
Min = -20
|
||||
Max = 20
|
||||
TickFrequency = 4
|
||||
End
|
||||
Begin MSComctlLib.Slider sldY
|
||||
Height = 195
|
||||
Left = 300
|
||||
TabIndex = 11
|
||||
Top = 840
|
||||
Width = 2595
|
||||
_ExtentX = 4577
|
||||
_ExtentY = 344
|
||||
_Version = 393216
|
||||
LargeChange = 2
|
||||
Min = -20
|
||||
Max = 20
|
||||
TickFrequency = 4
|
||||
End
|
||||
Begin MSComctlLib.Slider SldZ
|
||||
Height = 195
|
||||
Left = 300
|
||||
TabIndex = 12
|
||||
Top = 1260
|
||||
Width = 2535
|
||||
_ExtentX = 4471
|
||||
_ExtentY = 344
|
||||
_Version = 393216
|
||||
LargeChange = 2
|
||||
Min = -20
|
||||
Max = 20
|
||||
TickFrequency = 4
|
||||
End
|
||||
Begin VB.Label lblZ
|
||||
Alignment = 2 'Center
|
||||
BackStyle = 0 'Transparent
|
||||
Height = 255
|
||||
Left = 2940
|
||||
TabIndex = 21
|
||||
Top = 1260
|
||||
Width = 555
|
||||
End
|
||||
Begin VB.Label lblY
|
||||
Alignment = 2 'Center
|
||||
BackStyle = 0 'Transparent
|
||||
Height = 255
|
||||
Left = 2940
|
||||
TabIndex = 20
|
||||
Top = 840
|
||||
Width = 555
|
||||
End
|
||||
Begin VB.Label lblX
|
||||
Alignment = 2 'Center
|
||||
BackStyle = 0 'Transparent
|
||||
Height = 255
|
||||
Left = 2940
|
||||
TabIndex = 19
|
||||
Top = 420
|
||||
Width = 555
|
||||
End
|
||||
Begin VB.Label Label1
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "Z"
|
||||
Height = 255
|
||||
Index = 2
|
||||
Left = 120
|
||||
TabIndex = 9
|
||||
Top = 1260
|
||||
Width = 135
|
||||
End
|
||||
Begin VB.Label Label1
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "Y"
|
||||
Height = 255
|
||||
Index = 1
|
||||
Left = 120
|
||||
TabIndex = 8
|
||||
Top = 840
|
||||
Width = 135
|
||||
End
|
||||
Begin VB.Label Label1
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "X"
|
||||
Height = 255
|
||||
Index = 0
|
||||
Left = 120
|
||||
TabIndex = 7
|
||||
Top = 420
|
||||
Width = 135
|
||||
End
|
||||
End
|
||||
Begin VB.CommandButton cmdExit
|
||||
Cancel = -1 'True
|
||||
Caption = "E&xit"
|
||||
Height = 375
|
||||
Left = 5760
|
||||
TabIndex = 5
|
||||
Top = 3960
|
||||
Width = 1395
|
||||
End
|
||||
Begin VB.Frame Frame1
|
||||
Caption = "DirectMusic Segments"
|
||||
Height = 1995
|
||||
Left = 60
|
||||
TabIndex = 0
|
||||
Top = 180
|
||||
Width = 7095
|
||||
Begin VB.CommandButton cmdSeg
|
||||
Caption = "Rude Awakening"
|
||||
Height = 315
|
||||
Index = 3
|
||||
Left = 120
|
||||
TabIndex = 4
|
||||
Top = 1500
|
||||
Width = 1395
|
||||
End
|
||||
Begin VB.CommandButton cmdSeg
|
||||
Caption = "Mumble"
|
||||
Height = 315
|
||||
Index = 2
|
||||
Left = 120
|
||||
TabIndex = 3
|
||||
Top = 1080
|
||||
Width = 1395
|
||||
End
|
||||
Begin VB.CommandButton cmdSeg
|
||||
Caption = "Snore"
|
||||
Height = 315
|
||||
Index = 1
|
||||
Left = 120
|
||||
TabIndex = 2
|
||||
Top = 660
|
||||
Width = 1395
|
||||
End
|
||||
Begin VB.CommandButton cmdSeg
|
||||
Caption = "Lullaby"
|
||||
Height = 315
|
||||
Index = 0
|
||||
Left = 120
|
||||
TabIndex = 1
|
||||
Top = 240
|
||||
Width = 1395
|
||||
End
|
||||
Begin VB.Label lbl
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "Segment file. Stops all sound on audio path. Plays as primary segment."
|
||||
Height = 255
|
||||
Index = 3
|
||||
Left = 1620
|
||||
TabIndex = 16
|
||||
Top = 1560
|
||||
Width = 5295
|
||||
End
|
||||
Begin VB.Label lbl
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "Wave file. Overlaps if pressed twice. Plays as secondary segment."
|
||||
Height = 255
|
||||
Index = 2
|
||||
Left = 1620
|
||||
TabIndex = 15
|
||||
Top = 1140
|
||||
Width = 5295
|
||||
End
|
||||
Begin VB.Label lbl
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "Segment file. Overlaps if pressed twice. Plays as secondary segment."
|
||||
Height = 255
|
||||
Index = 1
|
||||
Left = 1620
|
||||
TabIndex = 14
|
||||
Top = 720
|
||||
Width = 5295
|
||||
End
|
||||
Begin VB.Label lbl
|
||||
BackStyle = 0 'Transparent
|
||||
Caption = "Segment file. Starts over if pressed twice. Plays as primary segment."
|
||||
Height = 255
|
||||
Index = 0
|
||||
Left = 1620
|
||||
TabIndex = 13
|
||||
Top = 300
|
||||
Width = 5295
|
||||
End
|
||||
End
|
||||
End
|
||||
Attribute VB_Name = "frmSimple"
|
||||
Attribute VB_GlobalNameSpace = False
|
||||
Attribute VB_Creatable = False
|
||||
Attribute VB_PredeclaredId = True
|
||||
Attribute VB_Exposed = False
|
||||
Option Explicit
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
'
|
||||
' Copyright (C) 1999-2001 Microsoft Corporation. All Rights Reserved.
|
||||
'
|
||||
' File: frmSimple.frm
|
||||
'
|
||||
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
Private dx As New DirectX8
|
||||
Private dmPerf As DirectMusicPerformance8
|
||||
Private dmLoad As DirectMusicLoader8
|
||||
Private dmPath As DirectMusicAudioPath8
|
||||
Private dmSeg(0 To 3) As DirectMusicSegment8
|
||||
|
||||
Private sMediaFolder As String
|
||||
|
||||
Private Sub cmdExit_Click()
|
||||
Unload Me
|
||||
End Sub
|
||||
|
||||
Private Sub cmdSeg_Click(Index As Integer)
|
||||
If Not (dmSeg(Index) Is Nothing) Then
|
||||
If Index = 0 Then
|
||||
'Lullaby theme. This should play as a primary segment.
|
||||
dmPerf.PlaySegmentEx dmSeg(Index), DMUS_SEGF_DEFAULT, 0, Nothing, dmPath
|
||||
ElseIf Index = 3 Then
|
||||
'Rude awakening. Notice that this also passes the audio path in pFrom, indicating that
|
||||
'all segments currently playing on the audio path should be stopped at the exact time
|
||||
'this starts.
|
||||
dmPerf.PlaySegmentEx dmSeg(Index), 0, 0, dmPath, dmPath
|
||||
ElseIf Index < 3 Then
|
||||
'Sound effects. These play as secondary segments so they can be triggered multiple
|
||||
'times and will layer on top.
|
||||
dmPerf.PlaySegmentEx dmSeg(Index), DMUS_SEGF_SECONDARY Or DMUS_SEGF_DEFAULT, 0, , dmPath
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Load()
|
||||
SetPosition
|
||||
InitAudio
|
||||
End Sub
|
||||
|
||||
Private Sub InitAudio()
|
||||
On Error GoTo FailedInit
|
||||
Dim dma As DMUS_AUDIOPARAMS
|
||||
'Create our objects
|
||||
Set dmPerf = dx.DirectMusicPerformanceCreate
|
||||
Set dmLoad = dx.DirectMusicLoaderCreate
|
||||
'Initialize our audio
|
||||
dmPerf.InitAudio Me.hWnd, DMUS_AUDIOF_ALL, dma
|
||||
|
||||
Set dmPath = dmPerf.CreateStandardAudioPath(DMUS_APATH_DYNAMIC_3D, 64, True)
|
||||
sMediaFolder = FindMediaDir("audiopath1.sgt")
|
||||
If sMediaFolder = vbNullString Then sMediaFolder = AddDirSep(CurDir)
|
||||
dmLoad.SetSearchDirectory sMediaFolder
|
||||
'Now load the segments
|
||||
Set dmSeg(0) = dmLoad.LoadSegment(sMediaFolder & "audiopath1.sgt")
|
||||
Set dmSeg(1) = dmLoad.LoadSegment(sMediaFolder & "audiopath2.sgt")
|
||||
Set dmSeg(2) = dmLoad.LoadSegment(sMediaFolder & "audiopath3.wav")
|
||||
Set dmSeg(3) = dmLoad.LoadSegment(sMediaFolder & "audiopath4.sgt")
|
||||
|
||||
'Download our segments onto the audio path
|
||||
Dim lCount As Long
|
||||
For lCount = 0 To 3
|
||||
dmSeg(lCount).Download dmPath
|
||||
Next
|
||||
Exit Sub
|
||||
|
||||
FailedInit:
|
||||
MsgBox "Could not initialize DirectMusic." & vbCrLf & "This sample will exit.", vbOKOnly Or vbInformation, "Exiting..."
|
||||
Unload Me
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub Cleanup()
|
||||
Dim lCount As Long
|
||||
|
||||
'Unload all of our segments
|
||||
For lCount = 0 To 3
|
||||
If Not (dmSeg(lCount) Is Nothing) Then
|
||||
dmSeg(lCount).Unload dmPath
|
||||
End If
|
||||
Set dmSeg(lCount) = Nothing
|
||||
Next
|
||||
'Destroy everything
|
||||
Set dmPath = Nothing
|
||||
dmPerf.CloseDown
|
||||
Set dmPerf = Nothing
|
||||
Set dmLoad = Nothing
|
||||
End Sub
|
||||
|
||||
Private Sub SetPosition()
|
||||
Dim dsb As DirectSound3DBuffer8
|
||||
|
||||
If Not (dmPath Is Nothing) Then
|
||||
'First, get the 3D interface from the buffer by using GetObjectInPath.
|
||||
Set dsb = dmPath.GetObjectinPath(DMUS_PCHANNEL_ALL, DMUS_PATH_BUFFER, 0, GUID_ALL, 0, IID_DirectSound3DBuffer)
|
||||
If Not (dsb Is Nothing) Then
|
||||
'Then, set the coordinates
|
||||
dsb.SetPosition sldX.Value, sldY.Value, SldZ.Value, DS3D_IMMEDIATE
|
||||
End If
|
||||
End If
|
||||
'Update the text boxes as well
|
||||
lblX.Caption = CStr(sldX.Value)
|
||||
lblY.Caption = CStr(sldY.Value)
|
||||
lblZ.Caption = CStr(SldZ.Value)
|
||||
End Sub
|
||||
|
||||
Private Sub Form_Unload(Cancel As Integer)
|
||||
Cleanup
|
||||
End Sub
|
||||
|
||||
'Update the 3D Positions when any of the scroll bars move
|
||||
Private Sub sldX_Click()
|
||||
SetPosition
|
||||
End Sub
|
||||
|
||||
Private Sub sldX_Scroll()
|
||||
SetPosition
|
||||
End Sub
|
||||
|
||||
Private Sub sldY_Click()
|
||||
SetPosition
|
||||
End Sub
|
||||
|
||||
Private Sub sldY_Scroll()
|
||||
SetPosition
|
||||
End Sub
|
||||
|
||||
Private Sub SldZ_Click()
|
||||
SetPosition
|
||||
End Sub
|
||||
|
||||
Private Sub SldZ_Scroll()
|
||||
SetPosition
|
||||
End Sub
|
||||
Reference in New Issue
Block a user