TGC Codebase Backup



DarkBasic Pro Limit Rush by Reverse Reenigne

17th Sep 2004 1:01
Summary

Lesson 1 - Loading The Terrain



Description

The first lesson of the tutorial, details the loading of the game terrain (i.e. the floor). What created the problem with this lesson was the include file. Some of the Mat Edit array variables in the include file did not match the array variables in the game file.

After making the changes to the include file, the lesson worked fine. Note: For grins and giggles, you can to start from scratch (using the original Limit Rush files), you can use the "Browse" button on the "Files" panel to add the include file and debug the errors in the Include file (yeah right).



Code
                                    ` This code was downloaded from The Game Creators
                                    ` It is reproduced here with full permission
                                    ` http://www.thegamecreators.com
                                    
                                    `---------------------------
`Limit Rush
`Lesson 01
`---------------------------
`http://www.binarymoon.co.uk
`Ben aka Mop
`---------------------------

`--------
`INCLUDES
`--------
`include the MatEdit LoadMatrix files
#include "LoadMatrix.dba"

`------
`ARRAYS
`------
`declare the MatEdit variables
Dim BigMatrix(600,600,1)
Dim StartLoc_X(1): Dim StartLoc_Z(1):Dim Info(2)
Dim TArrayX(1): Dim TArrayZ(1): Dim FKey(10,1)
Dim ColData(100): Dim ZoneData(100): Dim Tiles(500,500)
Dim OverTexture$(100): Dim OverName$(20): Dim ReplaceTex(100)
Dim MOffsetX(25): Dim MOffsetY(25)
Dim MWire(20): Dim MGhost(20): Dim Lock(20)
Dim MatX#(20): Dim MatY#(20): Dim MatZ#(20)
Dim MatWidth#(20): Dim MatHeight#(20)
Dim TilesX(20): Dim TilesZ(20)
Dim MatHi#(20): Dim MatLo#(20)

`set up the program
sync on
sync rate 40
hide mouse

`load the matrix
LoadMatrix("map",1)

`---------
`MAIN LOOP
`---------
main:
do
   `the following is temporary. There will be more but it will made later
   `get keyboard input for movement
   if upkey()=1 then move camera 4
   if downkey()=1 then move camera -4
   if leftkey()=1 then yrotate camera wrapvalue(camera angle y()-4)
   if rightkey()=1 then yrotate camera wrapvalue(camera angle y()+4)

   `sort out the camera height
   x#=camera position x()
   z#=camera position z()
   y#=get ground height(1,x#,z#)+10

   `position the camera
   position camera x#,y#,z#

   `update the screen
   sync
loop