home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 4_2005-2006.ISO / data / Zips / First_pers2061124192007.psc / FPS2 / modDeclarations.bas < prev   
BASIC Source File  |  2005-12-15  |  7KB  |  221 lines

  1. Attribute VB_Name = "modDeclarations"
  2. '#########################################################
  3. '#                                                       #
  4. '#      A First Person Shooting game (Incomplete)        #
  5. '#                                                       #
  6. '#      By: Aayush Kaistha                               #
  7. '#      Place: UIET, Panjab University Chandigarh, India #
  8. '#      Contact: aayushkaistha@gmail.com                 #
  9. '#                                                       #
  10. '#########################################################
  11.  
  12.  
  13. Option Explicit
  14.  
  15. Public DX As DirectX8
  16. Public D3D As Direct3D8
  17. Public D3DX As D3DX8
  18. Public D3DDevice As Direct3DDevice8
  19. Public DI As DirectInput8, DIDevice As DirectInputDevice8
  20. Public hEvent As Long 'a handle for an event...
  21. Public DS As DirectSound8
  22. Public DSEnum As DirectSoundEnum8
  23. Public sndShoot As DirectSoundSecondaryBuffer8
  24. Public sndReload As DirectSoundSecondaryBuffer8
  25.  
  26. Public ModelPath As String, TexturePath As String
  27. Public SoundPath As String
  28. Public BulHit As Long, HitDist As Single, HitPos As D3DVECTOR
  29. Public bRunning As Boolean, GameOver As Boolean
  30. Public UpKey As Boolean, DownKey As Boolean
  31. Public Restart As Boolean, EndState As Integer
  32. Public LeftKey As Boolean, RightKey As Boolean
  33. Public WKey As Boolean, SKey As Boolean
  34. Public Day As Boolean, Zoom As Boolean
  35. Public EnemySaw As Long, CanHit As Boolean
  36. Public EneDir As D3DVECTOR
  37. Public WarningMsg As String
  38. Public Fire As Boolean, FireTimer As Long
  39. Public UseFog As Boolean, FogCol As Long
  40. Public FogRange As Single
  41.  
  42. Public Const FVF_VERTEX = (D3DFVF_XYZ Or D3DFVF_NORMAL Or D3DFVF_TEX1)
  43. Public Const FVF_LVERTEX = (D3DFVF_XYZ Or D3DFVF_DIFFUSE Or D3DFVF_SPECULAR Or D3DFVF_TEX1)
  44. Public Const FVF_TLVERTEX = (D3DFVF_XYZRHW Or D3DFVF_TEX1 Or D3DFVF_DIFFUSE Or D3DFVF_SPECULAR)
  45.  
  46. Public Type LVERTEX
  47.     X As Single
  48.     Y As Single
  49.     z As Single
  50.     Color As Long
  51.     Specular As Long
  52.     tu As Single
  53.     tv As Single
  54. End Type
  55. Public Flash(3) As LVERTEX
  56. Public FlashTex As Direct3DTexture8
  57.  
  58. Public Type VERTEX
  59.     X As Single
  60.     Y As Single
  61.     z As Single
  62.     nx As Single
  63.     ny As Single
  64.     nz As Single
  65.     tu As Single
  66.     tv As Single
  67. End Type
  68. Public Tree(5) As VERTEX
  69. Public Sky(23) As VERTEX
  70. Public SkyTex(5) As Direct3DTexture8
  71. Public SkyTexFile(5) As String
  72.  
  73. Public Type TLVERTEX
  74.     X As Single
  75.     Y As Single
  76.     z As Single
  77.     rhw As Single
  78.     Color As Long
  79.     Specular As Long
  80.     tu As Single
  81.     tv As Single
  82. End Type
  83. Public CH(7) As TLVERTEX
  84.  
  85. 'all these variables r required to load 3d objects in directX
  86. Public Type Object3D
  87.     nMaterials As Long
  88.     Materials() As D3DMATERIAL8
  89.     Textures() As Direct3DTexture8
  90.     TextureFile As String
  91.     Mesh As D3DXMesh
  92.     Radius As D3DVECTOR
  93. End Type
  94. Public Floor As Object3D
  95. Public Lawn As Object3D
  96. Public HardFloor As Object3D
  97. Public Pole As Object3D
  98. Public Wall As Object3D
  99. Public SWall As Object3D
  100. Public MDoor(1) As Object3D
  101. Public Gun As Object3D
  102. Public Gun1 As Object3D
  103. Public Gun2 As Object3D
  104.  
  105. Public Const no_build = 6
  106. Public Build(no_build) As Object3D
  107.  
  108. Public Type Plyr_Data
  109.     Pos As D3DVECTOR
  110.     Rotation As Single
  111.     MoveSpeed As Single
  112.     Health As Integer
  113.     Hit As Boolean
  114.     Dead As Boolean
  115.     DieTime As Long
  116.     Score As Integer
  117.     Ammo As Integer
  118. End Type
  119.  
  120. Public EyeLookDir As D3DVECTOR, EyeLookAt As D3DVECTOR
  121. Public matCam As D3DMATRIX
  122.  
  123. 'this only holds data req to calculate frames per second
  124. Public Type FPS_data
  125.     Count As Long
  126.     Value As Long
  127.     Last As Long
  128. End Type
  129. Public Fps As FPS_data
  130.  
  131. Public MainFont As D3DXFont
  132. Public MainFontDesc As IFont
  133. Public fnt As New StdFont
  134.  
  135. Public Type Mesh_Dimen
  136.     Center As D3DVECTOR
  137.     Radius As D3DVECTOR
  138. End Type
  139.  
  140. Public CamPitch As Single
  141. Public Player As Plyr_Data
  142. Public TreeTex As Direct3DTexture8
  143.  
  144. Public Const floor_seg = 39
  145. Public Const no_poles = 3
  146. Public Const no_trees = 6
  147. Public Const no_walls = 24
  148. Public Const no_swalls = 3
  149.  
  150. Public matFloor(floor_seg) As D3DMATRIX
  151. Public matBuild(no_build) As D3DMATRIX
  152. Public matLawn(floor_seg) As D3DMATRIX
  153. Public matHFloor(floor_seg) As D3DMATRIX
  154. Public matPole(no_poles) As D3DMATRIX
  155. Public matTree(no_trees) As D3DMATRIX
  156. Public TreePos(no_trees) As D3DVECTOR
  157. Public matWall(no_walls) As D3DMATRIX
  158. Public matSWall(no_swalls) As D3DMATRIX
  159. Public matMDoor1(1) As D3DMATRIX
  160. Public matMDoor2(1) As D3DMATRIX
  161. Public matGun As D3DMATRIX
  162. Public matFlash As D3DMATRIX
  163.  
  164. Public matProj As D3DMATRIX 'this holds the camera settings
  165. Public matView As D3DMATRIX 'this tells where the camera is n where it is looking at
  166. Public matWorld As D3DMATRIX 'this holds the reference coordinates of entire 3d world
  167.  
  168. Public Const PI = 3.14159
  169. Public Const Rad = PI / 180
  170. Public Const DEG = 180 / PI
  171.  
  172. Public Declare Function ShowCursor Lib "user32" (ByVal bShow As Long) As Long
  173. Public Declare Function GetTickCount Lib "kernel32" () As Long
  174. Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
  175.  
  176. Public Function CreateLitVertex(X As Single, Y As Single, z As Single, Colour As Long, Specular As Long, tu As Single, tv As Single) As LVERTEX
  177.     CreateLitVertex.X = X
  178.     CreateLitVertex.Y = Y
  179.     CreateLitVertex.z = z
  180.     CreateLitVertex.Color = Colour
  181.     CreateLitVertex.Specular = Specular
  182.     CreateLitVertex.tu = tu
  183.     CreateLitVertex.tv = tv
  184. End Function
  185.  
  186. Public Function CreateVertex(X As Single, Y As Single, z As Single, nx As Single, ny As Single, nz As Single, tu As Single, tv As Single) As VERTEX
  187.     CreateVertex.X = X
  188.     CreateVertex.Y = Y
  189.     CreateVertex.z = z
  190.     CreateVertex.nx = nx
  191.     CreateVertex.ny = ny
  192.     CreateVertex.nz = nz
  193.     CreateVertex.tu = tu
  194.     CreateVertex.tv = tv
  195. End Function
  196.  
  197. Public Function CreateTLVertex(X As Single, Y As Single, z As Single, rhw As Single, _
  198.                                                 Color As Long, Specular As Long, tu As Single, _
  199.                                                 tv As Single) As TLVERTEX
  200.     CreateTLVertex.X = X
  201.     CreateTLVertex.Y = Y
  202.     CreateTLVertex.z = z
  203.     CreateTLVertex.rhw = rhw
  204.     CreateTLVertex.Color = Color
  205.     CreateTLVertex.Specular = Specular
  206.     CreateTLVertex.tu = tu
  207.     CreateTLVertex.tv = tv
  208. End Function
  209.  
  210. Public Function MakeVector(X As Single, Y As Single, z As Single) As D3DVECTOR
  211.     MakeVector.X = X: MakeVector.Y = Y: MakeVector.z = z
  212. End Function
  213.  
  214. Public Function MakeRect(Left As Single, Right As Single, Top As Single, Bottom As Single) As RECT
  215.     MakeRect.Left = Left
  216.     MakeRect.Right = Right
  217.     MakeRect.Top = Top
  218.     MakeRect.Bottom = Bottom
  219. End Function
  220.  
  221.