mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			1895 lines
		
	
	
	
		
			60 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			1895 lines
		
	
	
	
		
			60 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
VERSION 5.00
 | 
						|
Begin VB.Form frmThingEdit 
 | 
						|
   Caption         =   "Thing Edit"
 | 
						|
   ClientHeight    =   5745
 | 
						|
   ClientLeft      =   60
 | 
						|
   ClientTop       =   345
 | 
						|
   ClientWidth     =   11880
 | 
						|
   Icon            =   "Things.frx":0000
 | 
						|
   LinkTopic       =   "Form1"
 | 
						|
   MaxButton       =   0   'False
 | 
						|
   ScaleHeight     =   5745
 | 
						|
   ScaleWidth      =   11880
 | 
						|
   StartUpPosition =   3  'Windows Default
 | 
						|
   Begin VB.CommandButton cmdCopy 
 | 
						|
      Caption         =   "&Copy Thing"
 | 
						|
      Height          =   615
 | 
						|
      Left            =   6600
 | 
						|
      TabIndex        =   77
 | 
						|
      Top             =   4920
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.CommandButton cmdLoadDefault 
 | 
						|
      Caption         =   "&Load Code Default"
 | 
						|
      Height          =   615
 | 
						|
      Left            =   4440
 | 
						|
      Style           =   1  'Graphical
 | 
						|
      TabIndex        =   76
 | 
						|
      Top             =   4920
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.CommandButton cmdDelete 
 | 
						|
      Caption         =   "&Delete Thing from SOC"
 | 
						|
      Height          =   615
 | 
						|
      Left            =   3240
 | 
						|
      Style           =   1  'Graphical
 | 
						|
      TabIndex        =   74
 | 
						|
      Top             =   4920
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.CommandButton cmdSave 
 | 
						|
      Caption         =   "&Save"
 | 
						|
      Height          =   615
 | 
						|
      Left            =   5520
 | 
						|
      TabIndex        =   73
 | 
						|
      Top             =   4920
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Frame frmFlags 
 | 
						|
      Caption         =   "Flags"
 | 
						|
      Height          =   3735
 | 
						|
      Left            =   7680
 | 
						|
      TabIndex        =   45
 | 
						|
      Top             =   1920
 | 
						|
      Width           =   4095
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_FIRE"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   26
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   72
 | 
						|
         Tag             =   "4194304"
 | 
						|
         ToolTipText     =   "Fire object. Doesn't harm if you have red shield."
 | 
						|
         Top             =   2160
 | 
						|
         Width           =   1695
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_NOCLIPTHING"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   25
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   71
 | 
						|
         Tag             =   "1073741824"
 | 
						|
         ToolTipText     =   "Don't be blocked by things (partial clipping)"
 | 
						|
         Top             =   3120
 | 
						|
         Width           =   1815
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SCENERY"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   24
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   70
 | 
						|
         Tag             =   "33554432"
 | 
						|
         ToolTipText     =   "Scenery (uses scenery thinker). Uses less CPU than a standard object, but generally can't move, etc."
 | 
						|
         Top             =   2880
 | 
						|
         Width           =   1455
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_ENEMY"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   23
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   69
 | 
						|
         Tag             =   "16777216"
 | 
						|
         ToolTipText     =   "This mobj is an enemy!"
 | 
						|
         Top             =   2640
 | 
						|
         Width           =   1335
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_COUNTITEM"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   22
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   68
 | 
						|
         Tag             =   "8388608"
 | 
						|
         ToolTipText     =   "On picking up, count this item object towards intermission item total."
 | 
						|
         Top             =   2400
 | 
						|
         Width           =   1695
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_NOTHINK"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   21
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   67
 | 
						|
         Tag             =   "2097152"
 | 
						|
         ToolTipText     =   "Don't run this thing's thinker."
 | 
						|
         Top             =   1920
 | 
						|
         Width           =   1695
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_MONITOR"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   20
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   66
 | 
						|
         Tag             =   "1048576"
 | 
						|
         ToolTipText     =   "Item box"
 | 
						|
         Top             =   1680
 | 
						|
         Width           =   1575
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_HIRES"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   19
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   65
 | 
						|
         Tag             =   "524288"
 | 
						|
         ToolTipText     =   "Object uses a high-resolution sprite"
 | 
						|
         Top             =   1440
 | 
						|
         Width           =   1215
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_BOUNCE"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   18
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   64
 | 
						|
         Tag             =   "262144"
 | 
						|
         ToolTipText     =   "Bounce off walls and things."
 | 
						|
         Top             =   1200
 | 
						|
         Width           =   1335
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SPRING"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   17
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   63
 | 
						|
         Tag             =   "131072"
 | 
						|
         ToolTipText     =   "Item is a spring."
 | 
						|
         Top             =   960
 | 
						|
         Width           =   1575
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_MISSILE"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   16
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   62
 | 
						|
         Tag             =   "65536"
 | 
						|
         ToolTipText     =   "Any kind of projectile currently flying through the air, waiting to hit something"
 | 
						|
         Top             =   720
 | 
						|
         Width           =   1335
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_BOXICON"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   15
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   61
 | 
						|
         Tag             =   "32768"
 | 
						|
         ToolTipText     =   "Monitor powerup icon. These rise a bit."
 | 
						|
         Top             =   480
 | 
						|
         Width           =   1815
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_FLOAT"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   14
 | 
						|
         Left            =   2040
 | 
						|
         TabIndex        =   60
 | 
						|
         Tag             =   "16384"
 | 
						|
         ToolTipText     =   "Allow moves to any height, no gravity. For active floaters."
 | 
						|
         Top             =   240
 | 
						|
         Width           =   1215
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SPECIALFLAGS"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   13
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   59
 | 
						|
         Tag             =   "8192"
 | 
						|
         ToolTipText     =   "This object does not adhere to regular flag/z properties for object placing."
 | 
						|
         Top             =   3360
 | 
						|
         Width           =   1815
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_NOCLIP"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   12
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   58
 | 
						|
         Tag             =   "4096"
 | 
						|
         ToolTipText     =   "Don't clip against objects, walls, etc."
 | 
						|
         Top             =   3120
 | 
						|
         Width           =   1335
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SLIDEME"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   11
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   57
 | 
						|
         Tag             =   "2048"
 | 
						|
         ToolTipText     =   "Slide this object when it hits a wall."
 | 
						|
         Top             =   2880
 | 
						|
         Width           =   1335
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_AMBIENT"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   10
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   56
 | 
						|
         Tag             =   "1024"
 | 
						|
         ToolTipText     =   "This object is an ambient sound."
 | 
						|
         Top             =   2640
 | 
						|
         Width           =   1695
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_NOGRAVITY"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   9
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   55
 | 
						|
         Tag             =   "512"
 | 
						|
         ToolTipText     =   "Don't apply gravity"
 | 
						|
         Top             =   2400
 | 
						|
         Width           =   1695
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SPAWNCEILING"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   8
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   54
 | 
						|
         Tag             =   "256"
 | 
						|
         ToolTipText     =   "On level spawning (initial position), hang from ceiling instead of stand on floor."
 | 
						|
         Top             =   2160
 | 
						|
         Width           =   1935
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_BOSS"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   7
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   53
 | 
						|
         Tag             =   "128"
 | 
						|
         ToolTipText     =   "Object is a boss."
 | 
						|
         Top             =   1920
 | 
						|
         Width           =   1575
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_PUSHABLE"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   6
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   52
 | 
						|
         Tag             =   "64"
 | 
						|
         ToolTipText     =   "You can push this object. It can activate switches and things by pushing it on top."
 | 
						|
         Top             =   1680
 | 
						|
         Width           =   1575
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_AMBUSH"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   5
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   51
 | 
						|
         Tag             =   "32"
 | 
						|
         ToolTipText     =   "Special attributes"
 | 
						|
         Top             =   1440
 | 
						|
         Width           =   1455
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_NOBLOCKMAP"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   4
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   50
 | 
						|
         Tag             =   "16"
 | 
						|
         ToolTipText     =   "Don't use the blocklinks (inert but displayable)"
 | 
						|
         Top             =   1200
 | 
						|
         Width           =   1815
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_NOSECTOR"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   3
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   49
 | 
						|
         Tag             =   "8"
 | 
						|
         ToolTipText     =   "Don't use the sector links (invisible but touchable)."
 | 
						|
         Top             =   960
 | 
						|
         Width           =   1575
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SHOOTABLE"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   2
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   48
 | 
						|
         Tag             =   "4"
 | 
						|
         ToolTipText     =   "Can be hit."
 | 
						|
         Top             =   720
 | 
						|
         Width           =   1695
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SOLID"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   1
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   47
 | 
						|
         Tag             =   "2"
 | 
						|
         ToolTipText     =   "Blocks."
 | 
						|
         Top             =   480
 | 
						|
         Width           =   1335
 | 
						|
      End
 | 
						|
      Begin VB.CheckBox chkFlags 
 | 
						|
         Caption         =   "MF_SPECIAL"
 | 
						|
         Height          =   255
 | 
						|
         Index           =   0
 | 
						|
         Left            =   120
 | 
						|
         TabIndex        =   46
 | 
						|
         Tag             =   "1"
 | 
						|
         ToolTipText     =   "Call P_TouchSpecialThing when touched."
 | 
						|
         Top             =   240
 | 
						|
         Width           =   1455
 | 
						|
      End
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbRaisestate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   43
 | 
						|
      Text            =   "cmbRaisestate"
 | 
						|
      Top             =   4440
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbActivesound 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   41
 | 
						|
      Text            =   "cmbActivesound"
 | 
						|
      Top             =   4080
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtDamage 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   10680
 | 
						|
      TabIndex        =   39
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtMass 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   10680
 | 
						|
      TabIndex        =   37
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   840
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtHeight 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   10680
 | 
						|
      TabIndex        =   35
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   480
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtRadius 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   10680
 | 
						|
      TabIndex        =   33
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   120
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtSpeed 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   8760
 | 
						|
      TabIndex        =   31
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbDeathsound 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   29
 | 
						|
      Text            =   "cmbDeathsound"
 | 
						|
      Top             =   3720
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbXdeathstate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   27
 | 
						|
      Text            =   "cmbXdeathstate"
 | 
						|
      Top             =   3360
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbDeathstate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   25
 | 
						|
      Text            =   "cmbDeathstate"
 | 
						|
      Top             =   3000
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbMissilestate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   23
 | 
						|
      Text            =   "cmbMissilestate"
 | 
						|
      Top             =   2640
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbMeleestate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   21
 | 
						|
      Text            =   "cmbMeleestate"
 | 
						|
      Top             =   2280
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbPainsound 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   19
 | 
						|
      Text            =   "cmbPainsound"
 | 
						|
      Top             =   1920
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtPainchance 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   8760
 | 
						|
      TabIndex        =   17
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbPainstate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   15
 | 
						|
      Text            =   "cmbPainstate"
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbAttacksound 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   13
 | 
						|
      Text            =   "cmbAttacksound"
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtReactiontime 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   8760
 | 
						|
      TabIndex        =   11
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   840
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbSeesound 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   9
 | 
						|
      Text            =   "cmbSeesound"
 | 
						|
      Top             =   840
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbSeestate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   7
 | 
						|
      Text            =   "cmbSeestate"
 | 
						|
      Top             =   480
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtSpawnhealth 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   8760
 | 
						|
      TabIndex        =   6
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   480
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.ComboBox cmbSpawnstate 
 | 
						|
      Height          =   315
 | 
						|
      Left            =   4320
 | 
						|
      TabIndex        =   3
 | 
						|
      Text            =   "cmbSpawnstate"
 | 
						|
      Top             =   120
 | 
						|
      Width           =   3300
 | 
						|
   End
 | 
						|
   Begin VB.TextBox txtDoomednum 
 | 
						|
      Height          =   285
 | 
						|
      Left            =   8760
 | 
						|
      TabIndex        =   1
 | 
						|
      Text            =   "0"
 | 
						|
      Top             =   120
 | 
						|
      Width           =   1095
 | 
						|
   End
 | 
						|
   Begin VB.ListBox lstThings 
 | 
						|
      Height          =   5520
 | 
						|
      ItemData        =   "Things.frx":0442
 | 
						|
      Left            =   120
 | 
						|
      List            =   "Things.frx":0444
 | 
						|
      TabIndex        =   0
 | 
						|
      Top             =   120
 | 
						|
      Width           =   3015
 | 
						|
   End
 | 
						|
   Begin VB.Label lblStatusInfo 
 | 
						|
      Alignment       =   2  'Center
 | 
						|
      Caption         =   "Idle"
 | 
						|
      BeginProperty Font 
 | 
						|
         Name            =   "MS Sans Serif"
 | 
						|
         Size            =   8.25
 | 
						|
         Charset         =   0
 | 
						|
         Weight          =   700
 | 
						|
         Underline       =   0   'False
 | 
						|
         Italic          =   0   'False
 | 
						|
         Strikethrough   =   0   'False
 | 
						|
      EndProperty
 | 
						|
      Height          =   375
 | 
						|
      Left            =   9960
 | 
						|
      TabIndex        =   75
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   1815
 | 
						|
   End
 | 
						|
   Begin VB.Label lblRaisestate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Raisestate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3360
 | 
						|
      TabIndex        =   44
 | 
						|
      Top             =   4440
 | 
						|
      Width           =   855
 | 
						|
   End
 | 
						|
   Begin VB.Label lblActivesound 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Activesound:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   42
 | 
						|
      Top             =   4080
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblDamage 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Damage:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   9840
 | 
						|
      TabIndex        =   40
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   735
 | 
						|
   End
 | 
						|
   Begin VB.Label lblMass 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Mass:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   9960
 | 
						|
      TabIndex        =   38
 | 
						|
      Top             =   840
 | 
						|
      Width           =   615
 | 
						|
   End
 | 
						|
   Begin VB.Label lblHeight 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Height:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   9960
 | 
						|
      TabIndex        =   36
 | 
						|
      Top             =   480
 | 
						|
      Width           =   615
 | 
						|
   End
 | 
						|
   Begin VB.Label lblRadius 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Radius:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   9960
 | 
						|
      TabIndex        =   34
 | 
						|
      Top             =   120
 | 
						|
      Width           =   615
 | 
						|
   End
 | 
						|
   Begin VB.Label lblSpeed 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Speed:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   7680
 | 
						|
      TabIndex        =   32
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblDeathsound 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Deathsound:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   30
 | 
						|
      Top             =   3720
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblXdeathstate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Xdeathstate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   28
 | 
						|
      Top             =   3360
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblDeathstate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Deathstate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   26
 | 
						|
      Top             =   3000
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblMissilestate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Missilestate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   24
 | 
						|
      Top             =   2640
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblMeleestate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Meleestate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   22
 | 
						|
      Top             =   2280
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblPainsound 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Painsound:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   20
 | 
						|
      Top             =   1920
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblPainchance 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Painchance:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   7680
 | 
						|
      TabIndex        =   18
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblPainstate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Painstate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   16
 | 
						|
      Top             =   1560
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblAttacksound 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Attacksound:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   14
 | 
						|
      Top             =   1200
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblReactiontime 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Reactiontime:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   7680
 | 
						|
      TabIndex        =   12
 | 
						|
      Top             =   840
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblSeesound 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Seesound:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   10
 | 
						|
      Top             =   840
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblSeestate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Seestate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   8
 | 
						|
      Top             =   480
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblSpawnhealth 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Spawnhealth:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   7680
 | 
						|
      TabIndex        =   5
 | 
						|
      Top             =   480
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblSpawnstate 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Spawnstate:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   3240
 | 
						|
      TabIndex        =   4
 | 
						|
      Top             =   120
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
   Begin VB.Label lblDoomednum 
 | 
						|
      Alignment       =   1  'Right Justify
 | 
						|
      Caption         =   "Thing Map #:"
 | 
						|
      Height          =   255
 | 
						|
      Left            =   7680
 | 
						|
      TabIndex        =   2
 | 
						|
      Top             =   120
 | 
						|
      Width           =   975
 | 
						|
   End
 | 
						|
End
 | 
						|
Attribute VB_Name = "frmThingEdit"
 | 
						|
Attribute VB_GlobalNameSpace = False
 | 
						|
Attribute VB_Creatable = False
 | 
						|
Attribute VB_PredeclaredId = True
 | 
						|
Attribute VB_Exposed = False
 | 
						|
Option Explicit
 | 
						|
 | 
						|
Private Sub cmdCopy_Click()
 | 
						|
    Dim Response As String
 | 
						|
    
 | 
						|
    Response$ = InputBox("Copy state to #:", "Copy State")
 | 
						|
    
 | 
						|
    If Response = "" Then Exit Sub
 | 
						|
    
 | 
						|
    Response = TrimComplete(Response)
 | 
						|
    
 | 
						|
    Call WriteThing(False, Val(Response))
 | 
						|
    
 | 
						|
    MsgBox "Thing copied to #" & Val(Response)
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub cmdDelete_Click()
 | 
						|
    Call WriteThing(True, lstThings.ListIndex)
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub cmdLoadDefault_Click()
 | 
						|
    Call ClearForm
 | 
						|
    If InStr(lstThings.List(lstThings.ListIndex), "MT_FREESLOT") = 0 Then
 | 
						|
        LoadObjectInfo (lstThings.ListIndex)
 | 
						|
    Else
 | 
						|
        MsgBox "Free slots do not have a code default."
 | 
						|
    End If
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub cmdSave_Click()
 | 
						|
    Call WriteThing(False, lstThings.ListIndex)
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub Form_Load()
 | 
						|
    Call Reload
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub ClearForm()
 | 
						|
    Dim i As Integer
 | 
						|
    cmbSpawnstate.Text = ""
 | 
						|
    cmbSeestate.Text = ""
 | 
						|
    cmbSeesound.Text = ""
 | 
						|
    cmbAttacksound.Text = ""
 | 
						|
    cmbPainstate.Text = ""
 | 
						|
    cmbPainsound.Text = ""
 | 
						|
    cmbMeleestate.Text = ""
 | 
						|
    cmbMissilestate.Text = ""
 | 
						|
    cmbDeathstate.Text = ""
 | 
						|
    cmbXdeathstate.Text = ""
 | 
						|
    cmbDeathsound.Text = ""
 | 
						|
    cmbActivesound.Text = ""
 | 
						|
    cmbRaisestate.Text = ""
 | 
						|
    txtDoomednum.Text = ""
 | 
						|
    txtSpawnhealth.Text = ""
 | 
						|
    txtReactiontime.Text = ""
 | 
						|
    txtPainchance.Text = ""
 | 
						|
    txtSpeed.Text = ""
 | 
						|
    txtRadius.Text = ""
 | 
						|
    txtHeight.Text = ""
 | 
						|
    txtMass.Text = ""
 | 
						|
    txtDamage.Text = ""
 | 
						|
    
 | 
						|
    For i = 0 To 26
 | 
						|
        chkFlags(i).Value = 0
 | 
						|
    Next
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub Reload()
 | 
						|
    lblStatusInfo.Caption = "Loading Sounds Info..."
 | 
						|
    DoEvents
 | 
						|
    LoadSounds
 | 
						|
    lblStatusInfo.Caption = "Loading Things Info..."
 | 
						|
    DoEvents
 | 
						|
    LoadThings
 | 
						|
    lblStatusInfo.Caption = "Loading States Info..."
 | 
						|
    DoEvents
 | 
						|
    LoadStates
 | 
						|
    lblStatusInfo.Caption = "Idle"
 | 
						|
    lstThings.ListIndex = 0
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub LoadSounds()
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim number As Integer
 | 
						|
    Dim startclip As Integer, endclip As Integer
 | 
						|
    Dim addstring As String
 | 
						|
    Dim i As Integer, numfreeslots As Integer
 | 
						|
    
 | 
						|
    ChDir SourcePath
 | 
						|
    Set ts = myFSO.OpenTextFile("sounds.h", ForReading, False)
 | 
						|
    
 | 
						|
    Do While InStr(ts.ReadLine, "List of sounds (don't modify this comment!)") = 0
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.SkipLine ' typedef enum
 | 
						|
    ts.SkipLine ' {
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    number = 0
 | 
						|
    
 | 
						|
    cmbSeesound.Clear
 | 
						|
    cmbAttacksound.Clear
 | 
						|
    cmbPainsound.Clear
 | 
						|
    cmbDeathsound.Clear
 | 
						|
    cmbActivesound.Clear
 | 
						|
    
 | 
						|
    Do While InStr(line, "sfx_freeslot0") = 0
 | 
						|
        startclip = InStr(line, "sfx_")
 | 
						|
        If InStr(line, "sfx_") <> 0 Then
 | 
						|
            endclip = InStr(line, ",")
 | 
						|
            line = Mid(line, startclip, endclip - startclip)
 | 
						|
            addstring = number & " - " & line
 | 
						|
            cmbSeesound.AddItem addstring
 | 
						|
            cmbAttacksound.AddItem addstring
 | 
						|
            cmbPainsound.AddItem addstring
 | 
						|
            cmbDeathsound.AddItem addstring
 | 
						|
            cmbActivesound.AddItem addstring
 | 
						|
            number = number + 1
 | 
						|
        End If
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.Close
 | 
						|
    Set myFSO = Nothing
 | 
						|
    
 | 
						|
    'Populate the free slots!
 | 
						|
    numfreeslots = 800
 | 
						|
 | 
						|
    For i = 1 To numfreeslots
 | 
						|
        If i < 10 Then
 | 
						|
            addstring = number & " - " & "sfx_fre00" & i & " (free slot)"
 | 
						|
        ElseIf i < 100 Then
 | 
						|
            addstring = number & " - " & "sfx_fre0" & i & " (free slot)"
 | 
						|
        Else
 | 
						|
            addstring = number & " - " & "sfx_fre" & i & " (free slot)"
 | 
						|
        End If
 | 
						|
        cmbSeesound.AddItem addstring
 | 
						|
        cmbAttacksound.AddItem addstring
 | 
						|
        cmbPainsound.AddItem addstring
 | 
						|
        cmbDeathsound.AddItem addstring
 | 
						|
        cmbActivesound.AddItem addstring
 | 
						|
        number = number + 1
 | 
						|
    Next
 | 
						|
End Sub
 | 
						|
Private Sub LoadStates()
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim number As Integer
 | 
						|
    Dim startclip As Integer, endclip As Integer
 | 
						|
    Dim addstring As String
 | 
						|
    Dim i As Integer
 | 
						|
    Dim numfreeslots As Integer
 | 
						|
    
 | 
						|
    ChDir SourcePath
 | 
						|
    Set ts = myFSO.OpenTextFile("info.h", ForReading, False)
 | 
						|
    
 | 
						|
    Do While InStr(ts.ReadLine, "Object states (don't modify this comment!)") = 0
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.SkipLine ' typedef enum
 | 
						|
    ts.SkipLine ' {
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    number = 0
 | 
						|
    
 | 
						|
    cmbSpawnstate.Clear
 | 
						|
    cmbSeestate.Clear
 | 
						|
    cmbPainstate.Clear
 | 
						|
    cmbMeleestate.Clear
 | 
						|
    cmbMissilestate.Clear
 | 
						|
    cmbDeathstate.Clear
 | 
						|
    cmbXdeathstate.Clear
 | 
						|
    cmbRaisestate.Clear
 | 
						|
    
 | 
						|
    Do While InStr(line, "S_FIRSTFREESLOT") = 0
 | 
						|
        startclip = InStr(line, "S_")
 | 
						|
        If InStr(line, "S_") <> 0 Then
 | 
						|
            endclip = InStr(line, ",")
 | 
						|
            line = Mid(line, startclip, endclip - startclip)
 | 
						|
            addstring = number & " - " & line
 | 
						|
            cmbSpawnstate.AddItem addstring
 | 
						|
            cmbSeestate.AddItem addstring
 | 
						|
            cmbPainstate.AddItem addstring
 | 
						|
            cmbMeleestate.AddItem addstring
 | 
						|
            cmbMissilestate.AddItem addstring
 | 
						|
            cmbDeathstate.AddItem addstring
 | 
						|
            cmbXdeathstate.AddItem addstring
 | 
						|
            cmbRaisestate.AddItem addstring
 | 
						|
            number = number + 1
 | 
						|
        End If
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.Close
 | 
						|
    
 | 
						|
    'Populate the free slots!
 | 
						|
    Set ts = myFSO.OpenTextFile("info.h", ForReading, False)
 | 
						|
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "#define NUMMOBJFREESLOTS") = 0
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    startclip = InStr(line, "SLOTS ") + 6
 | 
						|
    numfreeslots = Val(Mid(line, startclip, Len(line) - startclip + 1)) * 6
 | 
						|
 | 
						|
    For i = 1 To numfreeslots
 | 
						|
        addstring = number & " - " & "S_FREESLOT" & i
 | 
						|
        cmbSpawnstate.AddItem addstring
 | 
						|
        cmbSeestate.AddItem addstring
 | 
						|
        cmbPainstate.AddItem addstring
 | 
						|
        cmbMeleestate.AddItem addstring
 | 
						|
        cmbMissilestate.AddItem addstring
 | 
						|
        cmbDeathstate.AddItem addstring
 | 
						|
        cmbXdeathstate.AddItem addstring
 | 
						|
        cmbRaisestate.AddItem addstring
 | 
						|
        number = number + 1
 | 
						|
    Next
 | 
						|
 | 
						|
    ts.Close
 | 
						|
    Set myFSO = Nothing
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub LoadThings()
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim number As Integer
 | 
						|
    Dim startclip As Integer, endclip As Integer
 | 
						|
    Dim numfreeslots As Integer, i As Integer
 | 
						|
    
 | 
						|
    ChDir SourcePath
 | 
						|
    Set ts = myFSO.OpenTextFile("info.h", ForReading, False)
 | 
						|
    
 | 
						|
    Do While InStr(ts.ReadLine, "Little flag for SOC editor (don't change this comment!)") = 0
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.SkipLine ' typedef enum
 | 
						|
    ts.SkipLine ' {
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    number = 0
 | 
						|
    
 | 
						|
    lstThings.Clear
 | 
						|
    
 | 
						|
    Do While InStr(line, "MT_FIRSTFREESLOT") = 0
 | 
						|
        startclip = InStr(line, "MT_")
 | 
						|
        If InStr(line, "MT_") <> 0 Then
 | 
						|
            endclip = InStr(line, ",")
 | 
						|
            line = Mid(line, startclip, endclip - startclip)
 | 
						|
            lstThings.AddItem number & " - " & line
 | 
						|
            number = number + 1
 | 
						|
        End If
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.Close
 | 
						|
    
 | 
						|
    'Populate the free slots!
 | 
						|
    Set ts = myFSO.OpenTextFile("info.h", ForReading, False)
 | 
						|
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "#define NUMMOBJFREESLOTS") = 0
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    startclip = InStr(line, "SLOTS ") + 6
 | 
						|
    numfreeslots = Val(Mid(line, startclip, Len(line) - startclip + 1))
 | 
						|
 | 
						|
    For i = 1 To numfreeslots
 | 
						|
        lstThings.AddItem number & " - " & "MT_FREESLOT" & i
 | 
						|
        number = number + 1
 | 
						|
    Next
 | 
						|
 | 
						|
    ts.Close
 | 
						|
    Set myFSO = Nothing
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub LoadObjectInfo(ThingNum As Integer)
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim number As Integer
 | 
						|
    Dim startclip As Integer, endclip As Integer
 | 
						|
    
 | 
						|
    ChDir SourcePath
 | 
						|
    Set ts = myFSO.OpenTextFile("info.c", ForReading, False)
 | 
						|
    
 | 
						|
    Do While InStr(ts.ReadLine, "mobjinfo[NUMMOBJTYPES] =") = 0
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    number = 0
 | 
						|
    
 | 
						|
    Do While number <> ThingNum
 | 
						|
        Do While InStr(ts.ReadLine, "}") = 0
 | 
						|
        Loop
 | 
						|
        number = number + 1
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    Do While InStr(line, "doomednum") = 0
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtDoomednum.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "spawnstate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbSpawnstate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbSpawnstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbSpawnstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "spawnhealth") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtSpawnhealth.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "seestate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbSeestate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbSeestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbSeestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "seesound") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbSeesound, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbSeesound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbSeesound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "reactiontime") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtReactiontime.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "attacksound") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbAttacksound, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbAttacksound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbAttacksound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "painstate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbPainstate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbPainstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbPainstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "painchance") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtPainchance.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "painsound") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbPainsound, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbPainsound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbPainsound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "meleestate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbMeleestate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbMeleestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbMeleestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "missilestate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbMissilestate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbMissilestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbMissilestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "deathstate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbDeathstate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbDeathstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbDeathstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "xdeathstate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbXdeathstate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbXdeathstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbXdeathstate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "deathsound") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbDeathsound, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbDeathsound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbDeathsound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "speed") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtSpeed.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "radius") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtRadius.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "height") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtHeight.Text = line
 | 
						|
 | 
						|
    line = ts.ReadLine 'Display order offset (add support, please!)
 | 
						|
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "mass") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtMass.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "damage") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    'Check for *FRACUNIT values
 | 
						|
    endclip = InStr(line, "*FRACUNIT")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = Left(line, endclip - 1)
 | 
						|
        line = Val(line) * 65536
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindThingNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        line = FindPowerNum(line) & " - " & line
 | 
						|
    End If
 | 
						|
    txtDamage.Text = line
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "activesound") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbActivesound, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbActivesound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbActivesound.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "flags") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, ",")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    ProcessFlags (line)
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    Do While InStr(line, "raisestate") = 0
 | 
						|
    Loop
 | 
						|
    endclip = InStr(line, "//")
 | 
						|
    line = Left(line, endclip - 1)
 | 
						|
    line = TrimComplete(line)
 | 
						|
    Call FindComboIndex(cmbRaisestate, line)
 | 
						|
    'Check for crazy-odd MT_ usage
 | 
						|
    endclip = InStr(line, "MT_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindThingNum(line)
 | 
						|
        cmbRaisestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
    'Check for crazy-odd pw_ usage
 | 
						|
    endclip = InStr(line, "pw_")
 | 
						|
    If endclip <> 0 Then
 | 
						|
        number = FindPowerNum(line)
 | 
						|
        cmbRaisestate.Text = number & " - " & line
 | 
						|
    End If
 | 
						|
        
 | 
						|
    ts.Close
 | 
						|
    Set myFSO = Nothing
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub ProcessFlags(flags As String)
 | 
						|
    Dim FlagList(32) As String
 | 
						|
    Dim endpoint As Integer
 | 
						|
    Dim ListCount As Integer
 | 
						|
    Dim FlagString As String
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim j As Integer, i As Integer
 | 
						|
    Dim number As Long
 | 
						|
    Dim startclip As Integer, endclip As Integer
 | 
						|
    
 | 
						|
    For j = 0 To 26
 | 
						|
        chkFlags(j).Value = 0
 | 
						|
    Next j
 | 
						|
    
 | 
						|
    FlagString = flags
 | 
						|
    
 | 
						|
    flags = flags & "||"
 | 
						|
    
 | 
						|
    ListCount = 0
 | 
						|
    
 | 
						|
    Do While Len(flags) > 3
 | 
						|
        endpoint = InStr(flags, "|")
 | 
						|
        FlagString = Left(flags, endpoint - 1)
 | 
						|
        flags = Right(flags, Len(flags) - endpoint)
 | 
						|
        FlagList(ListCount) = FlagString
 | 
						|
        ListCount = ListCount + 1
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ChDir SourcePath
 | 
						|
    
 | 
						|
    For i = 0 To ListCount - 1
 | 
						|
        Set ts = myFSO.OpenTextFile("p_mobj.h", ForReading, False)
 | 
						|
        
 | 
						|
        line = ts.ReadLine
 | 
						|
        
 | 
						|
        Do While Not ts.AtEndOfStream
 | 
						|
            line = ts.ReadLine
 | 
						|
            If InStr(line, FlagList(i)) Then
 | 
						|
                If InStr(line, "//") = 0 Or (InStr(line, "//") > InStr(line, FlagList(i))) Then
 | 
						|
                    Exit Do
 | 
						|
                End If
 | 
						|
            End If
 | 
						|
        Loop
 | 
						|
        
 | 
						|
        If InStr(line, FlagList(i)) Then
 | 
						|
            startclip = InStr(line, "0x")
 | 
						|
            endclip = InStr(line, ",")
 | 
						|
            line = Mid(line, startclip + 2, endclip - 1)
 | 
						|
            line = "&H" & line
 | 
						|
            TrimComplete (line)
 | 
						|
            line = Left(line, Len(line) - 1)
 | 
						|
            number = CLng(line)
 | 
						|
 | 
						|
            For j = 0 To 26
 | 
						|
                If chkFlags(j).Tag = number Then
 | 
						|
                    chkFlags(j).Value = 1
 | 
						|
                End If
 | 
						|
            Next j
 | 
						|
        End If
 | 
						|
        ts.Close
 | 
						|
    Next i
 | 
						|
    
 | 
						|
    Set myFSO = Nothing
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub FindComboIndex(ByRef Box As ComboBox, line As String)
 | 
						|
    Dim i As Integer
 | 
						|
    
 | 
						|
    For i = 0 To Box.ListCount
 | 
						|
        If InStr(Box.List(i), line) Then
 | 
						|
            Box.ListIndex = i
 | 
						|
            Exit For
 | 
						|
        End If
 | 
						|
    Next
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub lstThings_Click()
 | 
						|
    lblStatusInfo.Caption = "Loading thing info..."
 | 
						|
    DoEvents
 | 
						|
    Call ClearForm
 | 
						|
    If InStr(lstThings.List(lstThings.ListIndex), "MT_FREESLOT") = 0 Then
 | 
						|
        LoadObjectInfo (lstThings.ListIndex)
 | 
						|
    End If
 | 
						|
    LoadSOCObjectInfo (lstThings.ListIndex)
 | 
						|
    lblStatusInfo.Caption = "Idle"
 | 
						|
End Sub
 | 
						|
 | 
						|
Private Sub LoadSOCObjectInfo(ThingNum As Integer)
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim word As String
 | 
						|
    Dim word2 As String
 | 
						|
    Dim j As Integer
 | 
						|
    Dim temp As Long
 | 
						|
    
 | 
						|
    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) = "THING" And Val(word2) = ThingNum Then
 | 
						|
            Do While Len(line) > 0 And Not ts.AtEndOfStream
 | 
						|
                line = ts.ReadLine
 | 
						|
                word = UCase(FirstToken(line))
 | 
						|
                word2 = UCase(SecondTokenEqual(line))
 | 
						|
                    
 | 
						|
                If word = "MAPTHINGNUM" Then
 | 
						|
                    txtDoomednum.Text = Val(word2)
 | 
						|
                ElseIf word = "SPAWNSTATE" Then
 | 
						|
                    cmbSpawnstate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "SPAWNHEALTH" Then
 | 
						|
                    txtSpawnhealth.Text = Val(word2)
 | 
						|
                ElseIf word = "SEESTATE" Then
 | 
						|
                    cmbSeestate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "SEESOUND" Then
 | 
						|
                    cmbSeesound.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "REACTIONTIME" Then
 | 
						|
                    txtReactiontime.Text = Val(word2)
 | 
						|
                ElseIf word = "ATTACKSOUND" Then
 | 
						|
                    cmbAttacksound.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "PAINSTATE" Then
 | 
						|
                    cmbPainstate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "PAINCHANCE" Then
 | 
						|
                    txtPainchance.Text = Val(word2)
 | 
						|
                ElseIf word = "PAINSOUND" Then
 | 
						|
                    cmbPainsound.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "MELEESTATE" Then
 | 
						|
                    cmbMeleestate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "MISSILESTATE" Then
 | 
						|
                    cmbMissilestate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "DEATHSTATE" Then
 | 
						|
                    cmbDeathstate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "DEATHSOUND" Then
 | 
						|
                    cmbDeathsound.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "XDEATHSTATE" Then
 | 
						|
                    cmbXdeathstate.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "SPEED" Then
 | 
						|
                    txtSpeed.Text = Val(word2)
 | 
						|
                ElseIf word = "RADIUS" Then
 | 
						|
                    txtRadius.Text = Val(word2)
 | 
						|
                ElseIf word = "HEIGHT" Then
 | 
						|
                    txtHeight.Text = Val(word2)
 | 
						|
                ElseIf word = "MASS" Then
 | 
						|
                    txtMass.Text = Val(word2)
 | 
						|
                ElseIf word = "DAMAGE" Then
 | 
						|
                    txtDamage.Text = Val(word2)
 | 
						|
                ElseIf word = "ACTIVESOUND" Then
 | 
						|
                    cmbActivesound.ListIndex = Val(word2)
 | 
						|
                ElseIf word = "FLAGS" Then
 | 
						|
                    For j = 0 To 26
 | 
						|
                        temp = Val(word2)
 | 
						|
                        If temp And chkFlags(j).Tag Then
 | 
						|
                            chkFlags(j).Value = 1
 | 
						|
                        Else
 | 
						|
                            chkFlags(j).Value = 0
 | 
						|
                        End If
 | 
						|
                    Next j
 | 
						|
                ElseIf word = "RAISESTATE" Then
 | 
						|
                    cmbRaisestate.ListIndex = Val(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 Function FindThingNum(ThingName As String) As Integer
 | 
						|
    Dim i As Integer
 | 
						|
    Dim temp As String
 | 
						|
    Dim startpoint As Integer
 | 
						|
    Dim endpoint As Integer
 | 
						|
    
 | 
						|
    For i = 0 To lstThings.ListCount - 1
 | 
						|
        temp = lstThings.List(i)
 | 
						|
        startpoint = InStr(temp, "-") + 2
 | 
						|
        endpoint = Len(temp) - startpoint + 1
 | 
						|
        temp = Mid(temp, startpoint, endpoint)
 | 
						|
        If temp = ThingName Then
 | 
						|
            FindThingNum = Val(lstThings.List(i))
 | 
						|
            Exit For
 | 
						|
        End If
 | 
						|
    Next
 | 
						|
End Function
 | 
						|
 | 
						|
Private Function FindPowerNum(PowerName As String) As Integer
 | 
						|
    Dim myFSO As New Scripting.FileSystemObject
 | 
						|
    Dim ts As TextStream
 | 
						|
    Dim line As String
 | 
						|
    Dim number As Integer
 | 
						|
    Dim startclip As Integer
 | 
						|
    
 | 
						|
    ChDir SourcePath
 | 
						|
    Set ts = myFSO.OpenTextFile("d_player.h", ForReading, False)
 | 
						|
    
 | 
						|
    Do While InStr(ts.ReadLine, "Player powers. (don't edit this comment)") = 0
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.SkipLine ' typedef enum
 | 
						|
    ts.SkipLine ' {
 | 
						|
    
 | 
						|
    line = ts.ReadLine
 | 
						|
    number = 0
 | 
						|
    
 | 
						|
    Do While InStr(line, "NUMPOWERS") = 0
 | 
						|
        startclip = InStr(line, PowerName)
 | 
						|
        If startclip <> 0 Then
 | 
						|
            FindPowerNum = number
 | 
						|
            Exit Do
 | 
						|
        End If
 | 
						|
        number = number + 1
 | 
						|
        line = ts.ReadLine
 | 
						|
    Loop
 | 
						|
    
 | 
						|
    ts.Close
 | 
						|
    Set myFSO = Nothing
 | 
						|
End Function
 | 
						|
 | 
						|
Private Sub WriteThing(Remove As Boolean, num As Integer)
 | 
						|
    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 flags As Long
 | 
						|
    Dim thingfound As Boolean
 | 
						|
    Dim i As Integer
 | 
						|
    
 | 
						|
    thingfound = 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 thing exists in the SOC, delete it.
 | 
						|
        If word = "THING" And Val(word2) = num Then
 | 
						|
            thingfound = 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 "Thing " & num
 | 
						|
        txtDoomednum.Text = TrimComplete(txtDoomednum.Text)
 | 
						|
        cmbSpawnstate.Text = TrimComplete(cmbSpawnstate.Text)
 | 
						|
        txtSpawnhealth.Text = TrimComplete(txtSpawnhealth.Text)
 | 
						|
        cmbSeestate.Text = TrimComplete(cmbSeestate.Text)
 | 
						|
        cmbSeesound.Text = TrimComplete(cmbSeesound.Text)
 | 
						|
        txtReactiontime.Text = TrimComplete(txtReactiontime.Text)
 | 
						|
        cmbAttacksound.Text = TrimComplete(cmbAttacksound.Text)
 | 
						|
        cmbPainstate.Text = TrimComplete(cmbPainstate.Text)
 | 
						|
        txtPainchance.Text = TrimComplete(txtPainchance.Text)
 | 
						|
        cmbPainsound.Text = TrimComplete(cmbPainsound.Text)
 | 
						|
        cmbMeleestate.Text = TrimComplete(cmbMeleestate.Text)
 | 
						|
        cmbMissilestate.Text = TrimComplete(cmbMissilestate.Text)
 | 
						|
        cmbDeathstate.Text = TrimComplete(cmbDeathstate.Text)
 | 
						|
        cmbDeathsound.Text = TrimComplete(cmbDeathsound.Text)
 | 
						|
        cmbXdeathstate.Text = TrimComplete(cmbXdeathstate.Text)
 | 
						|
        txtSpeed.Text = TrimComplete(txtSpeed.Text)
 | 
						|
        txtRadius.Text = TrimComplete(txtRadius.Text)
 | 
						|
        txtHeight.Text = TrimComplete(txtHeight.Text)
 | 
						|
        txtMass.Text = TrimComplete(txtMass.Text)
 | 
						|
        txtDamage.Text = TrimComplete(txtDamage.Text)
 | 
						|
        cmbActivesound.Text = TrimComplete(cmbActivesound.Text)
 | 
						|
        cmbRaisestate.Text = TrimComplete(cmbRaisestate.Text)
 | 
						|
        flags = 0
 | 
						|
        ' Only 31 bits can be used, because VB is stupid.
 | 
						|
        For i = 0 To 26
 | 
						|
            If chkFlags(i).Value = 1 Then flags = flags + Val(chkFlags(i).Tag)
 | 
						|
        Next
 | 
						|
        If txtDoomednum.Text <> "" Then tsTarget.WriteLine "MAPTHINGNUM = " & Val(txtDoomednum.Text)
 | 
						|
        If cmbSpawnstate.Text <> "" Then tsTarget.WriteLine "SPAWNSTATE = " & Val(cmbSpawnstate.Text)
 | 
						|
        If txtSpawnhealth.Text <> "" Then tsTarget.WriteLine "SPAWNHEALTH = " & Val(txtSpawnhealth.Text)
 | 
						|
        If cmbSeestate.Text <> "" Then tsTarget.WriteLine "SEESTATE = " & Val(cmbSeestate.Text)
 | 
						|
        If cmbSeesound.Text <> "" Then tsTarget.WriteLine "SEESOUND = " & Val(cmbSeesound.Text)
 | 
						|
        If txtReactiontime.Text <> "" Then tsTarget.WriteLine "REACTIONTIME = " & Val(txtReactiontime.Text)
 | 
						|
        If cmbAttacksound.Text <> "" Then tsTarget.WriteLine "ATTACKSOUND = " & Val(cmbAttacksound.Text)
 | 
						|
        If cmbPainstate.Text <> "" Then tsTarget.WriteLine "PAINSTATE = " & Val(cmbPainstate.Text)
 | 
						|
        If txtPainchance.Text <> "" Then tsTarget.WriteLine "PAINCHANCE = " & Val(txtPainchance.Text)
 | 
						|
        If cmbPainsound.Text <> "" Then tsTarget.WriteLine "PAINSOUND = " & Val(cmbPainsound.Text)
 | 
						|
        If cmbMeleestate.Text <> "" Then tsTarget.WriteLine "MELEESTATE = " & Val(cmbMeleestate.Text)
 | 
						|
        If cmbMissilestate.Text <> "" Then tsTarget.WriteLine "MISSILESTATE = " & Val(cmbMissilestate.Text)
 | 
						|
        If cmbDeathstate.Text <> "" Then tsTarget.WriteLine "DEATHSTATE = " & Val(cmbDeathstate.Text)
 | 
						|
        If cmbDeathsound.Text <> "" Then tsTarget.WriteLine "DEATHSOUND = " & Val(cmbDeathsound.Text)
 | 
						|
        If cmbXdeathstate.Text <> "" Then tsTarget.WriteLine "XDEATHSTATE = " & Val(cmbXdeathstate.Text)
 | 
						|
        If txtSpeed.Text <> "" Then tsTarget.WriteLine "SPEED = " & Val(txtSpeed.Text)
 | 
						|
        If txtRadius.Text <> "" Then tsTarget.WriteLine "RADIUS = " & Val(txtRadius.Text)
 | 
						|
        If txtHeight.Text <> "" Then tsTarget.WriteLine "HEIGHT = " & Val(txtHeight.Text)
 | 
						|
        If txtMass.Text <> "" Then tsTarget.WriteLine "MASS = " & Val(txtMass.Text)
 | 
						|
        If txtDamage.Text <> "" Then tsTarget.WriteLine "DAMAGE = " & Val(txtDamage.Text)
 | 
						|
        If cmbActivesound.Text <> "" Then tsTarget.WriteLine "ACTIVESOUND = " & Val(cmbActivesound.Text)
 | 
						|
        If cmbRaisestate.Text <> "" Then tsTarget.WriteLine "RAISESTATE = " & Val(cmbRaisestate.Text)
 | 
						|
        tsTarget.WriteLine "FLAGS = " & flags
 | 
						|
    End If
 | 
						|
    
 | 
						|
    tsTarget.Close
 | 
						|
    Set myFSOTarget = Nothing
 | 
						|
    
 | 
						|
    FileCopy SOCTemp, SOCFile
 | 
						|
    
 | 
						|
    Kill SOCTemp
 | 
						|
    
 | 
						|
    If Remove = True Then
 | 
						|
        If thingfound = True Then
 | 
						|
            MsgBox "Thing removed from SOC."
 | 
						|
        Else
 | 
						|
            MsgBox "Thing not found in SOC."
 | 
						|
        End If
 | 
						|
    Else
 | 
						|
        MsgBox "Thing Saved."
 | 
						|
    End If
 | 
						|
End Sub
 |