Dear All I am getting a memory access violation in a game I am working on Called Xeno Blaster, I have posted the two moduals of code and can't sea any errors can some one look it over for me and check to sea if they can sea any thing please.
;Xeno Blaster By Darren Hunter 2003(c)
;-------------------------------------
;
SeedRnd (MilliSecs())
Include "XenoMusic.bb"
Include "XenoFont.bb"
Include "Xenokey.bb"
Include "XenoFX1.bb"
Include "XenoIntro.bb"
Include "paralax.bb"
Include "xenogame.bb"
Include "therocks.bb"
Global gamename
Global gamerezx
Global gamerezy
Global gfxstartup
Global gfxshutdown
gfxstartup=LoadSound("sfx\startup.wav")
PlaySound gfxstartup
gamerezx=800
gamerezy=600
;Set game name!!
AppTitle ("Xeno Blaster By Darren Hunter 2003(c)")
;Setup the graphics mode
Graphics gamerezx, gamerezy
SetBuffer BackBuffer()
;Music Verables
Global MainMusic
;Font Verables
Global bmpFont = LoadAnimImage("Font\Font.bmp",32,32,0,255)
Global bmpsmall = LoadAnimImage("Font\Font1.bmp",32,32,0,255)
Global arrow = LoadImage("gfx\arrow1.bmp")
Global arrowb = LoadImage("gfx\arrow2.bmp")
Global theship = LoadImage("gfx\ship.bmp")
Global theshot
Global sfxshot = LoadSound("sfx\shot1.wav")
Global rocka = LoadImage("gfx\rock1.bmp")
Global rockb = LoadImage("gfx\rock2.bmp")
Global rockc = LoadImage("gfx\rock3.bmp")
Global rockd = LoadImage("gfx\rock4.bmp")
Global rocke = LoadImage("gfx\rock5.bmp")
;Now put a mask on all the images that have been loaded
MaskImage bmpFont,0,0,0
MaskImage bmpsmall,0,0,0
MaskImage arrow,0,0,0
MaskImage arrowb,0,0,0
MaskImage theship,0,0,0
MaskImage rocka,0,0,0
MaskImage rockb,0,0,0
MaskImage rockc,0,0,0
MaskImage rockd,0,0,0
MaskImage rocke,0,0,0
;Game Verables
Global exitmenow
Global gamesmode
;Misc Verables
Global Headertitle$
Global sclen
Global starty
Global scrollerstart
;Fontmap verables!!!
Global fontchr
Global fontasc
Global mappos
Global asciival
Global sfontchr
Global sfontasc
Global smappos
Global sasciival
;Rock verables
;load in a backdrop image
Global backdrop=LoadImage("gfx\stars.bmp")
;initialize scroll variable to 0
Global scroll_y=0
Global arrowflip
;Menu verables
Global px
Global py
Global menuop
;Ship verables
Global theshipx
Global theshipy
;Setup the rock verables
Global rockx
Global rocky
Global rocktype
Global delrock
Global rockg
Global rgt
Global gfxtherock
;Set arrow position!
Global arrowpos
Type fmap
Field fontasc
Field fontchr
Field mappos
End Type
Type sfmap
Field sfontasc
Field sfontchr
Field smappos
End Type
Type thetheshot
Field theshotx
Field theshoty
Field theshot
Field killtheshot
End Type
Type rocks
Field rockx
Field rocky
Field rocktype
Field delrock
;Field rockg
Field gfxtherock
End Type
;Build the font map!
buildmap()
;Play the Music!!
PlayMusicNow()
gamesmode=0
exitmenow=0
;Now put the maingame loop in
While exitmenow=0
Cls
doparalax()
checkmusic()
checkkeypress()
If gamesmode=0 Then
setdefaults()
End If
;Ok here we will have to check the games mode to sea
;what mode wew are in to render / draw the write screen......
If gamesmode=1 Then
renderintro()
ElseIf gamesmode=2 Then
;Player Routeens
drawtheship()
;Astroid Routeens
darock()
End If
Flip
Wend
;Ok well if we are here that mean the ESC key has been presssed or
;quit has been selected on the menu!!!, which ever way we are going to have to close the program down!!!
gfxshutdown = LoadSound("sfx\shutdown.wav")
PlaySound gfxshutdown
dothefade()
End
Function setdefaults()
gamesmode=1
arrowpos =1
arrowflip =1
px = 215
py = 100
menuop=1
theshipx=400
theshipy=500
End Function
Above is the main code body
next is the rocks modual
;Containes all the code that is used to draw the rocks!!!
Function darock()
;This containes all the code to control the astroids!!
makedrock()
;Next move the rocks!!
movedrocks()
;Now draw the rocks!!
drawtherocks()
End Function
Function makedrock()
;this makes the astoroids!!
newrock.rocks = New rocks
If newrocks.rocks <> Null Then
rgt=1
newrocks.rocks\rockx=Rand(2,780)
newrocks.rocks\rocky=1
newrocks.rocks\rocktype=rgt
newrocks.rocks\delrock=0
If rgt=1 Then
;newrocks.rocks\rockg = LoadImage("gfx\rock1.bmp")
newrocks.rocks\gfxtherock = LoadImage("gfx\rock1.bmp")
End If
MaskImage newrocks.rocks\gfxtherock,0,0,0
End If
End Function
Function movedrocks()
;this moves the rock!!
For newrocks.rocks =Each rocks
newrocks.rocks\rocky=newrocks.rocks\rocky+20
Next
;this checks and deletes the rocks we dont need any more!!
For newrocks.rocks =Each rocks
If newrocks.rocks\rocky=newrocks.rocks\rocky >790 Then
newrocks.rocks\delrock=1
End If
Next
;Now delete therocks we dont need!!
For newrocks.rocks =Each rocks
If newrocks.rocks\delrock=1 Then
Delete newrocks.rocks
End If
Next
End Function
Function drawtherocks()
;this draws the rocks
For newrocks.rocks = Each rocks
DrawImage newrocks.rocks\gfxtherock,newrocks.rocks\rockx,newrocks.rocks\rocky
;drawimage rocka ,newrocks.rocks\rockx,newrocks.rocks\rocky
Next
End Function
For some reason I am getting an Error message every time i try to draw the dammed rocks.. I been looking over the code for the past 30 mins and cant sea what up with it..
if any one can help!!! please.
Remeber if your a lemming you will throw our self off a clif!!! (lol)
;Xeno Blaster By Darren Hunter 2003(c)
;-------------------------------------
;
SeedRnd (MilliSecs())
Include "XenoMusic.bb"
Include "XenoFont.bb"
Include "Xenokey.bb"
Include "XenoFX1.bb"
Include "XenoIntro.bb"
Include "paralax.bb"
Include "xenogame.bb"
Include "therocks.bb"
Global gamename
Global gamerezx
Global gamerezy
Global gfxstartup
Global gfxshutdown
gfxstartup=LoadSound("sfx\startup.wav")
PlaySound gfxstartup
gamerezx=800
gamerezy=600
;Set game name!!
AppTitle ("Xeno Blaster By Darren Hunter 2003(c)")
;Setup the graphics mode
Graphics gamerezx, gamerezy
SetBuffer BackBuffer()
;Music Verables
Global MainMusic
;Font Verables
Global bmpFont = LoadAnimImage("Font\Font.bmp",32,32,0,255)
Global bmpsmall = LoadAnimImage("Font\Font1.bmp",32,32,0,255)
Global arrow = LoadImage("gfx\arrow1.bmp")
Global arrowb = LoadImage("gfx\arrow2.bmp")
Global theship = LoadImage("gfx\ship.bmp")
Global theshot
Global sfxshot = LoadSound("sfx\shot1.wav")
Global rocka = LoadImage("gfx\rock1.bmp")
Global rockb = LoadImage("gfx\rock2.bmp")
Global rockc = LoadImage("gfx\rock3.bmp")
Global rockd = LoadImage("gfx\rock4.bmp")
Global rocke = LoadImage("gfx\rock5.bmp")
;Now put a mask on all the images that have been loaded
MaskImage bmpFont,0,0,0
MaskImage bmpsmall,0,0,0
MaskImage arrow,0,0,0
MaskImage arrowb,0,0,0
MaskImage theship,0,0,0
MaskImage rocka,0,0,0
MaskImage rockb,0,0,0
MaskImage rockc,0,0,0
MaskImage rockd,0,0,0
MaskImage rocke,0,0,0
;Game Verables
Global exitmenow
Global gamesmode
;Misc Verables
Global Headertitle$
Global sclen
Global starty
Global scrollerstart
;Fontmap verables!!!
Global fontchr
Global fontasc
Global mappos
Global asciival
Global sfontchr
Global sfontasc
Global smappos
Global sasciival
;Rock verables
;load in a backdrop image
Global backdrop=LoadImage("gfx\stars.bmp")
;initialize scroll variable to 0
Global scroll_y=0
Global arrowflip
;Menu verables
Global px
Global py
Global menuop
;Ship verables
Global theshipx
Global theshipy
;Setup the rock verables
Global rockx
Global rocky
Global rocktype
Global delrock
Global rockg
Global rgt
Global gfxtherock
;Set arrow position!
Global arrowpos
Type fmap
Field fontasc
Field fontchr
Field mappos
End Type
Type sfmap
Field sfontasc
Field sfontchr
Field smappos
End Type
Type thetheshot
Field theshotx
Field theshoty
Field theshot
Field killtheshot
End Type
Type rocks
Field rockx
Field rocky
Field rocktype
Field delrock
;Field rockg
Field gfxtherock
End Type
;Build the font map!
buildmap()
;Play the Music!!
PlayMusicNow()
gamesmode=0
exitmenow=0
;Now put the maingame loop in
While exitmenow=0
Cls
doparalax()
checkmusic()
checkkeypress()
If gamesmode=0 Then
setdefaults()
End If
;Ok here we will have to check the games mode to sea
;what mode wew are in to render / draw the write screen......
If gamesmode=1 Then
renderintro()
ElseIf gamesmode=2 Then
;Player Routeens
drawtheship()
;Astroid Routeens
darock()
End If
Flip
Wend
;Ok well if we are here that mean the ESC key has been presssed or
;quit has been selected on the menu!!!, which ever way we are going to have to close the program down!!!
gfxshutdown = LoadSound("sfx\shutdown.wav")
PlaySound gfxshutdown
dothefade()
End
Function setdefaults()
gamesmode=1
arrowpos =1
arrowflip =1
px = 215
py = 100
menuop=1
theshipx=400
theshipy=500
End Function
Above is the main code body
next is the rocks modual
;Containes all the code that is used to draw the rocks!!!
Function darock()
;This containes all the code to control the astroids!!
makedrock()
;Next move the rocks!!
movedrocks()
;Now draw the rocks!!
drawtherocks()
End Function
Function makedrock()
;this makes the astoroids!!
newrock.rocks = New rocks
If newrocks.rocks <> Null Then
rgt=1
newrocks.rocks\rockx=Rand(2,780)
newrocks.rocks\rocky=1
newrocks.rocks\rocktype=rgt
newrocks.rocks\delrock=0
If rgt=1 Then
;newrocks.rocks\rockg = LoadImage("gfx\rock1.bmp")
newrocks.rocks\gfxtherock = LoadImage("gfx\rock1.bmp")
End If
MaskImage newrocks.rocks\gfxtherock,0,0,0
End If
End Function
Function movedrocks()
;this moves the rock!!
For newrocks.rocks =Each rocks
newrocks.rocks\rocky=newrocks.rocks\rocky+20
Next
;this checks and deletes the rocks we dont need any more!!
For newrocks.rocks =Each rocks
If newrocks.rocks\rocky=newrocks.rocks\rocky >790 Then
newrocks.rocks\delrock=1
End If
Next
;Now delete therocks we dont need!!
For newrocks.rocks =Each rocks
If newrocks.rocks\delrock=1 Then
Delete newrocks.rocks
End If
Next
End Function
Function drawtherocks()
;this draws the rocks
For newrocks.rocks = Each rocks
DrawImage newrocks.rocks\gfxtherock,newrocks.rocks\rockx,newrocks.rocks\rocky
;drawimage rocka ,newrocks.rocks\rockx,newrocks.rocks\rocky
Next
End Function
For some reason I am getting an Error message every time i try to draw the dammed rocks.. I been looking over the code for the past 30 mins and cant sea what up with it..
if any one can help!!! please.
Remeber if your a lemming you will throw our self off a clif!!! (lol)