mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			320 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			320 lines
		
	
	
	
		
			10 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
VERSION 5.00
 | 
						|
Begin VB.Form frmCharacterEdit 
 | 
						|
   Caption         =   "Character Edit"
 | 
						|
   ClientHeight    =   3345
 | 
						|
   ClientLeft      =   60
 | 
						|
   ClientTop       =   345
 | 
						|
   ClientWidth     =   4680
 | 
						|
   Icon            =   "frmCharacterEdit.frx":0000
 | 
						|
   LinkTopic       =   "Form1"
 | 
						|
   MaxButton       =   0   'False
 | 
						|
   ScaleHeight     =   3345
 | 
						|
   ScaleWidth      =   4680
 | 
						|
   Begin VB.CommandButton cmdExample 
 | 
						|
      Caption         =   "Show Me An &Example"
 | 
						|
      Height          =   495
 | 
						|
      Left            =   1320
 | 
						|
      Style           =   1  'Graphical
 | 
						|
      TabIndex        =   14
 | 
						|
      Top             =   2400
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.CheckBox chkEnabled 
 | 
						|
      Caption         =   "Enable this player selection."
 | 
						|
      Height          =   495
 | 
						|
      Left            =   1080
 | 
						|
      TabIndex        =   13
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   1455
 | 
						|
   End
 | 
						|
   Begin VB.CommandButton cmdDelete 
 | 
						|
      Caption         =   "&Delete from SOC"
 | 
						|
      Height          =   495
 | 
						|
      Left            =   120
 | 
						|
      Style           =   1  'Graphical
 | 
						|
      TabIndex        =   12
 | 
						|
      Top             =   2760
 | 
						|
      Width           =   855
 | 
						|
   End
 | 
						|
   Begin VB.CommandButton cmdSave 
 | 
						|
      Caption         =   "&Save"
 | 
						|
      Height          =   495
 | 
						|
      Left            =   120
 | 
						|
      TabIndex        =   11
 | 
						|
      Top             =   2160
 | 
						|
      Width           =   855
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtSkinname 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   9
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   1335
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtPicname 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   3240
 | 
						|
      MaxLength       =   8
 | 
						|
      TabIndex        =   7
 | 
						|
      Top             =   840
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtMenuposition 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   3240
 | 
						|
      MaxLength       =   3
 | 
						|
      TabIndex        =   5
 | 
						|
      Top             =   480
 | 
						|
      Width           =   495
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtPlayername 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   3240
 | 
						|
      MaxLength       =   64
 | 
						|
      TabIndex        =   3
 | 
						|
      Top             =   120
 | 
						|
      Width           =   1335
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtPlayertext 
 | 
						|
      Height          =   1455
 | 
						|
      Left            =   2640
 | 
						|
      MultiLine       =   -1  'True
 | 
						|
      TabIndex        =   1
 | 
						|
      Top             =   1800
 | 
						|
      Width           =   1935
 | 
						|
   End
 | 
						|
   Begin VB.ListBox lstPlayers 
 | 
						|
      Height          =   1815
 | 
						|
      ItemData        =   "frmCharacterEdit.frx":0442
 | 
						|
      Left            =   120
 | 
						|
      List            =   "frmCharacterEdit.frx":0461
 | 
						|
      TabIndex        =   0
 | 
						|
      Top             =   240
 | 
						|
      Width           =   855
 | 
						|
   End
 | 
						|
   Begin VB.Label lblSkinname 
 | 
						|
      Caption         =   "Name of player (skin) to use:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   1080
 | 
						|
      TabIndex        =   10
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   2055
 | 
						|
   End
 | 
						|
   Begin VB.Label lblPicname 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Picture to display:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   1560
 | 
						|
      TabIndex        =   8
 | 
						|
      Top             =   840
 | 
						|
      Width           =   1575
 | 
						|
   End
 | 
						|
   Begin VB.Label lblMenuposition 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Vertical menu position:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   1320
 | 
						|
      TabIndex        =   6
 | 
						|
      Top             =   480
 | 
						|
      Width           =   1815
 | 
						|
   End
 | 
						|
   Begin VB.Label lblPlayername 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Displayed name of player:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   1320
 | 
						|
      TabIndex        =   4
 | 
						|
      Top             =   120
 | 
						|
      Width           =   1815
 | 
						|
   End
 | 
						|
   Begin VB.Label lblPlayertext 
 | 
						|
      Caption         =   "Short Description:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   2640
 | 
						|
      TabIndex        =   2
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   1455
 | 
						|
   End
 | 
						|
End
 | 
						|
Attribute VB_Name = "frmCharacterEdit"
 | 
						|
Attribute VB_GlobalNameSpace = False
 | 
						|
Attribute VB_Creatable = False
 | 
						|
Attribute VB_PredeclaredId = True
 | 
						|
Attribute VB_Exposed = False
 | 
						|
Option Explicit
 | 
						|
 | 
						|
Private Sub cmdDelete_Click()
 | 
						|
    Call WriteCharacter(True)
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub cmdExample_Click()
 | 
						|
    txtPlayername.Text = "SONIC"
 | 
						|
    txtMenuposition.Text = "20"
 | 
						|
    txtPicname.Text = "SONCCHAR"
 | 
						|
    txtSkinname.Text = "SONIC"
 | 
						|
    chkEnabled.Value = 1
 | 
						|
    txtPlayertext.Text = "             Fastest" & vbCrLf & "                 Speed Thok" & vbCrLf & "             Not a good pick" & vbCrLf & "for starters, but when" & vbCrLf & "controlled properly," & vbCrLf & "Sonic is the most" & vbCrLf & "powerful of the three."
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub cmdSave_Click()
 | 
						|
    Call WriteCharacter(False)
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub ClearForm()
 | 
						|
    txtPlayername.Text = ""
 | 
						|
    txtMenuposition.Text = ""
 | 
						|
    txtPicname.Text = ""
 | 
						|
    txtSkinname.Text = ""
 | 
						|
    chkEnabled.Value = 0
 | 
						|
    txtPlayertext.Text = ""
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub ReadSOCPlayer(num As Integer)
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim word As String
 | 
						|
    Dim word2 As String
 | 
						|
    
 | 
						|
    Set ts = myFSO.OpenTextFile(SOCFile, ForReading, False)
 | 
						|
    
 | 
						|
SOCLoad:
 | 
						|
    Do While Not ts.AtEndOfStream
 | 
						|
        line = ts.ReadLine
 | 
						|
        
 | 
						|
        If Left(line, 1) = "#" Then GoTo SOCLoad
 | 
						|
        
 | 
						|
        If Left(line, 1) = vbCrLf Then GoTo SOCLoad
 | 
						|
        
 | 
						|
        If Len(line) < 1 Then GoTo SOCLoad
 | 
						|
        
 | 
						|
        word = FirstToken(line)
 | 
						|
        word2 = SecondToken(line)
 | 
						|
        
 | 
						|
        If UCase(word) = "CHARACTER" And Val(word2) = num Then
 | 
						|
            Do While Len(line) > 0 And Not ts.AtEndOfStream
 | 
						|
                line = ts.ReadLine
 | 
						|
                word = UCase(FirstToken(line))
 | 
						|
                word2 = UCase(SecondTokenEqual(line))
 | 
						|
                    
 | 
						|
                If word = "PLAYERTEXT" Then
 | 
						|
                    Dim startclip As Integer, endclip As Integer
 | 
						|
                    startclip = InStr(line, "=")
 | 
						|
    
 | 
						|
                    startclip = startclip + 2
 | 
						|
    
 | 
						|
                    line = Mid(line, startclip, Len(line))
 | 
						|
                    
 | 
						|
                    txtPlayertext.Text = line & vbCrLf
 | 
						|
                    
 | 
						|
                    Do While InStr(line, "#") = 0 And Not ts.AtEndOfStream
 | 
						|
                        line = ts.ReadLine & vbCrLf
 | 
						|
                        txtPlayertext.Text = txtPlayertext.Text & line
 | 
						|
                    Loop
 | 
						|
                    
 | 
						|
                    txtPlayertext.Text = RTrimComplete(txtPlayertext.Text)
 | 
						|
                    If Right(txtPlayertext.Text, 1) = "#" Then
 | 
						|
                        txtPlayertext.Text = Left(txtPlayertext.Text, Len(txtPlayertext.Text) - 1)
 | 
						|
                    End If
 | 
						|
                ElseIf word = "PLAYERNAME" Then
 | 
						|
                    txtPlayername.Text = word2
 | 
						|
                ElseIf word = "MENUPOSITION" Then
 | 
						|
                    txtMenuposition.Text = Val(word2)
 | 
						|
                ElseIf word = "PICNAME" Then
 | 
						|
                    txtPicname.Text = word2
 | 
						|
                ElseIf word = "STATUS" Then
 | 
						|
                    If Val(word2) = 32 Then
 | 
						|
                        chkEnabled.Value = 1
 | 
						|
                    Else
 | 
						|
                        chkEnabled.Value = 0
 | 
						|
                    End If
 | 
						|
                ElseIf word = "SKINNAME" Then
 | 
						|
                    txtSkinname.Text = word2
 | 
						|
                ElseIf Len(line) > 0 And Left(line, 1) <> "#" Then
 | 
						|
                    MsgBox "Error in SOC!" & vbCrLf & "Unknown line: " & line
 | 
						|
                End If
 | 
						|
            Loop
 | 
						|
            Exit Do
 | 
						|
        End If
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.Close
 | 
						|
    Set myFSO = Nothing
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub lstPlayers_Click()
 | 
						|
    Call ClearForm
 | 
						|
    Call ReadSOCPlayer(lstPlayers.ListIndex)
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub WriteCharacter(Remove As Boolean)
 | 
						|
    Dim myFSOSource As New Scripting.FileSystemObject
 | 
						|
    Dim tsSource As TextStream
 | 
						|
    Dim myFSOTarget As New Scripting.FileSystemObject
 | 
						|
    Dim tsTarget As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim word As String
 | 
						|
    Dim word2 As String
 | 
						|
    Dim charfound As Boolean
 | 
						|
    
 | 
						|
    charfound = False
 | 
						|
    
 | 
						|
    Set tsSource = myFSOSource.OpenTextFile(SOCFile, ForReading, False)
 | 
						|
    Set tsTarget = myFSOTarget.OpenTextFile(SOCTemp, ForWriting, True)
 | 
						|
    
 | 
						|
    Do While Not tsSource.AtEndOfStream
 | 
						|
        line = tsSource.ReadLine
 | 
						|
        word = UCase(FirstToken(line))
 | 
						|
        word2 = UCase(SecondToken(line))
 | 
						|
        
 | 
						|
        'If the current character exists in the SOC, delete it.
 | 
						|
        If word = "CHARACTER" And Val(word2) = lstPlayers.ListIndex Then
 | 
						|
            charfound = True
 | 
						|
            Do While Len(TrimComplete(tsSource.ReadLine)) > 0 And Not (tsSource.AtEndOfStream)
 | 
						|
            Loop
 | 
						|
        Else
 | 
						|
            tsTarget.WriteLine line
 | 
						|
        End If
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    tsSource.Close
 | 
						|
    Set myFSOSource = Nothing
 | 
						|
    
 | 
						|
    If Remove = False Then
 | 
						|
        If line <> "" Then tsTarget.WriteLine ""
 | 
						|
    
 | 
						|
        tsTarget.WriteLine "CHARACTER " & lstPlayers.ListIndex
 | 
						|
        txtPlayername.Text = TrimComplete(txtPlayername.Text)
 | 
						|
        txtMenuposition.Text = TrimComplete(txtMenuposition.Text)
 | 
						|
        txtPicname.Text = TrimComplete(txtPicname.Text)
 | 
						|
        txtSkinname.Text = TrimComplete(txtSkinname.Text)
 | 
						|
        If txtPlayername.Text <> "" Then tsTarget.WriteLine "PLAYERNAME = " & txtPlayername.Text
 | 
						|
        If txtMenuposition.Text <> "" Then tsTarget.WriteLine "MENUPOSITION = " & Val(txtMenuposition.Text)
 | 
						|
        If txtPicname.Text <> "" Then tsTarget.WriteLine "PICNAME = " & txtPicname.Text
 | 
						|
        If txtSkinname.Text <> "" Then tsTarget.WriteLine "SKINNAME = " & txtSkinname.Text
 | 
						|
        If chkEnabled.Value = 1 Then
 | 
						|
            tsTarget.WriteLine "STATUS = 32"
 | 
						|
        Else
 | 
						|
            tsTarget.WriteLine "STATUS = 0"
 | 
						|
        End If
 | 
						|
        If txtPlayertext.Text <> "" Then tsTarget.WriteLine "PLAYERTEXT = " & txtPlayertext.Text & "#"
 | 
						|
    End If
 | 
						|
    
 | 
						|
    tsTarget.Close
 | 
						|
    Set myFSOTarget = Nothing
 | 
						|
    
 | 
						|
    FileCopy SOCTemp, SOCFile
 | 
						|
    
 | 
						|
    Kill SOCTemp
 | 
						|
    
 | 
						|
    If Remove = True Then
 | 
						|
        If charfound = True Then
 | 
						|
            MsgBox "Player choice removed from SOC."
 | 
						|
        Else
 | 
						|
            MsgBox "Player choice not found in SOC."
 | 
						|
        End If
 | 
						|
    Else
 | 
						|
        MsgBox "Character Saved."
 | 
						|
    End If
 | 
						|
End Sub
 | 
						|
 |