📄 form1.frm
字号:
Left = 2400
Top = 2400
End
Begin VB.CommandButton Command3
Caption = "播放"
Height = 300
Left = 1200
TabIndex = 14
Top = 2880
Width = 615
End
Begin VB.CheckBox Check2
Caption = "循环播放"
Height = 255
Left = 120
TabIndex = 17
Top = 2880
Width = 1095
End
Begin VB.Frame Frame7
Caption = "帧数据"
Height = 2535
Left = 2640
TabIndex = 12
Top = 240
Width = 1815
Begin VB.TextBox Text4
Height = 270
Left = 120
TabIndex = 100
Top = 2160
Width = 1575
End
Begin VB.ListBox List1
Height = 1230
Left = 120
TabIndex = 13
Top = 480
Width = 1575
End
Begin VB.Label Label64
AutoSize = -1 'True
Caption = "未知数据:"
Height = 180
Left = 120
TabIndex = 101
Top = 1920
Width = 810
End
Begin VB.Label Label25
AutoSize = -1 'True
Caption = "图片ID:"
Height = 180
Left = 120
TabIndex = 99
Top = 240
Width = 630
End
End
Begin VB.Frame Frame5
Caption = "Spr文件结构信息:"
Height = 1215
Left = 120
TabIndex = 3
Top = 1560
Width = 2415
Begin VB.Label Label24
AutoSize = -1 'True
Caption = "0"
Height = 180
Left = 960
TabIndex = 11
Top = 960
Width = 90
End
Begin VB.Label Label23
AutoSize = -1 'True
Caption = "帧 数:"
Height = 180
Left = 120
TabIndex = 10
Top = 960
Width = 810
End
Begin VB.Label Label22
AutoSize = -1 'True
Caption = "0"
Height = 180
Left = 960
TabIndex = 9
Top = 720
Width = 90
End
Begin VB.Label Label21
AutoSize = -1 'True
Caption = "完成时间:"
Height = 180
Left = 120
TabIndex = 8
Top = 720
Width = 810
End
Begin VB.Label Label20
AutoSize = -1 'True
Caption = "0"
Height = 180
Left = 960
TabIndex = 7
Top = 480
Width = 90
End
Begin VB.Label Label19
AutoSize = -1 'True
Caption = "0"
Height = 180
Left = 960
TabIndex = 6
Top = 240
Width = 90
End
Begin VB.Label Label18
AutoSize = -1 'True
Caption = "动 作 号:"
Height = 180
Left = 120
TabIndex = 5
Top = 480
Width = 810
End
Begin VB.Label Label17
AutoSize = -1 'True
Caption = "方 向 号:"
Height = 180
Left = 120
TabIndex = 4
Top = 240
Width = 810
End
End
End
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Command1_Click()
Dim lpIDList As Long
Dim sBuffer As String
Dim tBrowseInfo As BrowseInfo
lpIDList = SHBrowseForFolder(tBrowseInfo)
If (lpIDList) Then
sBuffer = Space(MAX_PATH)
SHGetPathFromIDList lpIDList, sBuffer
sBuffer = Left(sBuffer, InStr(sBuffer, vbNullChar) - 1)
Text1.Text = sBuffer
End If
End Sub
Private Sub Command10_Click()
End Sub
Private Sub Command12_Click()
End Sub
Private Sub Command2_Click()
Command2.Enabled = False
Dim FileName As String
Dim TempStr As String
Dim Buffer() As Byte
Dim NewAddr As Long
Dim TempAdrn As Long
Dim AdrnIndexNum As Long
Dim SpradrnIndexNum As Long
Dim AdrnNumMax As Long
Dim SpradrnNumMax As Long
Dim MapIndexMax As Long
ReDim AdrnIndex(0) As adrn
ReDim AdrnIndex(Val(Text2.Text)) As adrn
ReDim SpradrnIndex(0) As Spradrn
ReDim MapIndex(0) As Long
'=======================读Adrn数据头文件=========================================
FileName = Text1.Text & "\adrn_*.bin"
TempStr = ManhuntFile(FileName)
If TempStr = "0" Then
TempStr = "adrn.bin"
End If
'打开文件
Open Text1.Text & "\" & TempStr For Binary Access Read As #1
AdrnIndexNum = 0
' List3.Clear
ReDim Buffer(1 To 80) As Byte
'读文件
Label3.Caption = "读adrn"
DoEvents
Do While Not EOF(1)
Get #1, , Buffer
If Not EOF(1) Then
'取得图片编号
CopyMemory AdrnIndexNum, Buffer(1), 4
'申请空间
If AdrnIndexNum > UBound(AdrnIndex) Then
ReDim Preserve AdrnIndex(AdrnIndexNum) As adrn
End If
'保存Adrn数据结构
CopyMemory AdrnIndex(AdrnIndexNum), Buffer(1), 80
' If AdrnIndex(AdrnIndexNum).height = 480 And AdrnIndex(AdrnIndexNum).width = 640 Then
' List3.AddItem AdrnIndex(AdrnIndexNum).Num
' End If
If MapIndexMax < AdrnIndex(AdrnIndexNum).MapNum Then MapIndexMax = AdrnIndex(AdrnIndexNum).MapNum
If AdrnIndex(AdrnIndexNum).MapNum > UBound(MapIndex) Then ReDim Preserve MapIndex(AdrnIndex(AdrnIndexNum).MapNum) As Long
MapIndex(AdrnIndex(AdrnIndexNum).MapNum) = AdrnIndexNum
If AdrnNumMax < AdrnIndexNum Then AdrnNumMax = AdrnIndexNum
Label3.Caption = "读adrn"
End If
Loop
Close #1
DoEvents
Label6.Caption = str(AdrnNumMax)
'===============================================================================
'读Spradrn数据头文件
FileName = Text1.Text & "\spradrn_*.bin"
TempStr = ManhuntFile(FileName)
If TempStr = "0" Then
TempStr = "spradrn.bin"
End If
Open Text1.Text & "\" & TempStr For Binary Access Read As #2
SpradrnIndexNum = 0
ReDim Buffer(1 To 12) As Byte
'读文件
Label3.Caption = "读Spradrn"
DoEvents
Do While Not EOF(2)
Get #2, , Buffer
If Not EOF(2) Then
'申请内存
ReDim Preserve SpradrnIndex(SpradrnIndexNum) As Spradrn
CopyMemory SpradrnIndex(SpradrnIndexNum), Buffer(1), 12
If SpradrnNumMax < SpradrnIndex(SpradrnIndexNum).AnimationNum Then SpradrnNumMax = SpradrnIndex(SpradrnIndexNum).AnimationNum
Label3.Caption = "读Spradrn"
SpradrnIndexNum = SpradrnIndexNum + 1
DoEvents
End If
Loop
Close #2
Label8.Caption = str(SpradrnNumMax)
Label63.Caption = str(MapIndexMax)
DoEvents
List2.Clear
For A = 0 To UBound(SpradrnIndex)
List2.AddItem SpradrnIndex(A).AnimationNum
DoEvents
Next
Label3.Caption = "加载完毕"
Command2.Enabled = True
Command6.Enabled = True
Command7.Enabled = True
End Sub
Private Sub Command24_Click()
End Sub
Private Sub Command27_Click()
Text23.Text = 0
Dim CheckVv As Long
Dim A As Long
CheckVv = Check1.Value
Check1.Value = 1
Dim FilePath As String
FilePath = App.Path & "\pic\" & Trim(Label9.Caption) & "\"
CdFile FilePath
DoEvents
For m = 0 To Val(Label14.Caption) - 1
CdPath = FilePath & "方向" & Trim(Label19.Caption)
CdFile CdPath
For n = 0 To List1.ListCount - 1
CdPath = FilePath & "方向" & Trim(Label19.Caption) & "\动作" & Trim(Label20.Caption)
CdFile CdPath
List1.ListIndex = n
DoEvents
List1_DblClick
Next
Text23.Text = Trim(str(Val(Text23.Text) + 1))
For A = 0 To List2.ListCount
If List2.List(A) = Trim(Label9.Caption) Then
ShowSpr A
Exit For
End If
Next
DoEvents
Next
Check1.Value = CheckVv
End Sub
Private Sub Command3_Click()
If List1.ListIndex = List1.ListCount - 1 Then List1.ListIndex = 0
Timer1.Enabled = True
End Sub
Private Sub Command4_Click()
Timer1.Enabled = False
List1.ListIndex = 0
ShowAdrn Val(List1.List(List1.ListIndex))
End Sub
Private Sub Command5_Click()
Timer1.Enabled = False
End Sub
Private Sub Command6_Click()
ShowAdrn Val(Text3.Text)
If Check3.Value <> 0 Then
SaveData Val(Text3.Text)
End If
End Sub
Private Sub Command7_Click()
If Val(Text6.Text) > UBound(MapIndex) Then Exit Sub
ShowAdrn MapIndex(Val(Text6.Text))
If Check3.Value <> 0 Then
SaveData MapIndex(Val(Text6.Text))
End If
End Sub
Private Sub Form_Load()
SetBkMode Picture1.hdc, TRANSPARENT
'默认调色板
MyPals_Num = "1"
End Sub
Private Sub Label76_Click()
End Sub
Private Sub List1_DblClick()
ShowAdrn Val(List1.List(List1.ListIndex))
If Check3.Value <> 0 Then
SaveData Val(List1.List(List1.ListIndex))
End If
End Sub
Private Sub List2_DblClick()
ShowSpr List2.ListIndex
List1.ListIndex = 0
List1_DblClick
If Check4.Value <> 0 Then
SaveSprData List2.ListIndex
End If
End Sub
Private Sub ShowAdrn(Index As Long)
MyBmp_Info.bmiHeader.biSizeImage = 0
Picture1.Cls
If UBound(AdrnIndex) < Index Then Exit Sub
'图片编号
Label27.Caption = str(AdrnIndex(Index).Num)
'Real文件中的地址
Label29.Caption = str(AdrnIndex(Index).addr)
'块长度
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -