home *** CD-ROM | disk | FTP | other *** search
- Attribute VB_Name = "Module1"
- Global Const FILE_TAGFILE = "ObjectFormat.Dat"
- Global Const IonFile$ = "Original.Ion"
- Global Const TAGOPMAX = 200
- Global Const TAGDEFMAX = 200
- Global Const CURRVERSION$ = "ION FORMAT VERSION: 1.0"
- Type TagDf
- active As Boolean
- TagName As String
- NonOption As Boolean
- TagOptions(1 To TAGOPMAX) As String
- TagOptionMax As Integer
- End Type
- Global TagDefs(TAGDEFMAX) As TagDf
- Global MaxTags As Integer
-
- Type Objz
- active As Boolean
- Tags(TAGDEFMAX) As String
- End Type
- Global Const MAXOBJZ = 100
- Global Objects(MAXOBJZ) As Objz
- Global CObj As Integer
- Sub LoadObjectTags()
- On Error GoTo ErrRR
- For i = 0 To TAGDEFMAX
- TagDefs(i).active = False
- Next i
- MaxTags = 0
-
- Open FILE_TAGFILE For Input As #1
- Do
- Line Input #1, a$
- If a$ = "[ENDOFFILE]" Then Exit Do
- If a$ = "[OBJTAGDEF]" Then
- MaxTags = MaxTags + 1
- TagDefs(MaxTags).active = True
- Line Input #1, a$
- TagDefs(MaxTags).TagName = a$
- OpMax = 0
- Do
- Line Input #1, a$
- If a$ = "[ENDOBJDEF]" Then Exit Do
- If a$ = "NULL" Then
- TagDefs(MaxTags).NonOption = True
- Exit Do
- Else
- TagDefs(MaxTags).NonOption = False
- End If
- OpMax = OpMax + 1
- TagDefs(MaxTags).TagOptions(OpMax) = a$
- Loop
- TagDefs(MaxTags).TagOptionMax = OpMax
- End If
- Loop
- Close #1
- Form1.HScroll1.Max = MaxTags
- Call UpdatePage
- Exit Sub
- ErrRR:
- Close
- Call UpdatePage
- End Sub
- Sub UpdatePage()
- On Error Resume Next
- tval = Form1.HScroll1.Value
- PVal = Form1.List1.ListIndex
- Form1.List1.Clear
- Form1.List1.AddItem "[New Object]"
- For i = 1 To MAXOBJZ
- If Objects(i).active = True Then
- Form1.List1.AddItem Objects(i).Tags(1)
- End If
- Next i
- DoEvents
- Form1.List1.ListIndex = PVal
- Form1.Text1.Text = TagDefs(tval).TagName
- If TagDefs(tval).TagName = "ATTRIBUTE_SPRITE" Then
- Form1.Combo1.Clear
- Open "Sprites.Dat" For Input As #1
- Form1.Combo1.AddItem "-Nothing-"
- Do
- Line Input #1, a$
- If a$ = "[ENDOFFILE]" Then Exit Do
- If a$ = "[SPRITEDEF]" Then
- Line Input #1, a$
- a$ = Right$(a$, Len(a$) - 12)
- Form1.Combo1.AddItem a$
- End If
- Loop
- Close #1
- Form1.Combo1.Visible = True
- Form1.Text2.Visible = False
- If Objects(CObj).Tags(tval) <> "" Then Form1.Combo1.Text = Objects(CObj).Tags(tval)
- ElseIf TagDefs(tval).TagName = "ATTRIBUTE_EXPLOSIONSPRITE" Then
- Form1.Combo1.Clear
- Form1.Combo1.AddItem "-Nothing-"
- Open "Sprites.Dat" For Input As #1
- Do
- Line Input #1, a$
- If a$ = "[ENDOFFILE]" Then Exit Do
- If a$ = "[SPRITEDEF]" Then
- Line Input #1, a$
- a$ = Right$(a$, Len(a$) - 12)
- Form1.Combo1.AddItem a$
- End If
- Loop
- Close #1
- Form1.Combo1.Visible = True
- Form1.Text2.Visible = False
- If Objects(CObj).Tags(tval) <> "" Then Form1.Combo1.Text = Objects(CObj).Tags(tval)
- Else
-
- If TagDefs(tval).NonOption = True Then
- Form1.Combo1.Visible = False
- Form1.Text2.Visible = True
- If Objects(CObj).Tags(tval) = "" Then
- Form1.Text2.Text = "-Enter a value-"
- Else
- Form1.Text2.Text = Objects(CObj).Tags(tval)
- End If
- Else
- Form1.Combo1.Visible = True
- Form1.Text2.Visible = False
- Form1.Combo1.Clear
- For i = 1 To TagDefs(tval).TagOptionMax
- Form1.Combo1.AddItem TagDefs(tval).TagOptions(i)
- Next i
- If Objects(CObj).Tags(tval) <> "" Then
- Form1.Combo1.Text = Objects(CObj).Tags(tval)
- End If
- End If
- End If
- End Sub
- Sub LoadObjz()
- On Error GoTo ER
- Open "Units.Dat" For Input As #1
- Line Input #1, a$
- Mo = 0
- Select Case a$
- Case "ION FORMAT VERSION: 1.0"
- Do
- Line Input #1, a$
- If a$ = "[ENDOFFILE]" Then Exit Do
- If a$ = "[OBJECTDEFSTART]" Then
- Mo = Mo + 1
- Objects(Mo).active = True
- For i = 1 To MaxTags
- Line Input #1, a$
- Objects(Mo).Tags(i) = GetPropertyValue(a$)
- Next i
- End If
- Loop
- End Select
- Close #1
- Call UpdatePage
- Exit Sub
- ER:
- Close #1
- End Sub
- Sub SaveObjz()
- Open "Units.Dat" For Output As #1
- Print #1, CURRVERSION$
- For i = 1 To MAXOBJZ
- If Objects(i).active = True Then
- Print #1, "[OBJECTDEFSTART]"
- For i2 = 1 To MaxTags
- If Objects(i).Tags(i2) <> "" Then
- Print #1, TagDefs(i2).TagName & " " & Objects(i).Tags(i2)
- Else
- Print #1, TagDefs(i2).TagName
- End If
- Next i2
- Print #1, "[OBJECTDEFEND]"
- End If
- Next i
- Print #1, "[ENDOFFILE]"
- Close #1
- End Sub
- Public Function GetPropertyValue(TextString) As String
- GetPropertyValue = Right$(TextString, Len(TextString) - InStr(1, TextString, " "))
- If InStr(1, TextString, " ") = 0 Then GetPropertyValue = ""
- End Function
-