Banks to hold entities memory locations

Blitz3D Forums/Blitz3D Programming/Banks to hold entities memory locations

Type bank
	Field pointer%,bank%
End Type

Function bankCreate.bank(size%)
	this.bank= New bank
	this\bank%=CreateBank(size%*4)
	Return this
End Function

Function bankResize(this.bank,size%)
	ResizeBank this\bank%,size%
End Function

Function bankPush%(this.bank,value%)
	PokeInt(this\bank%,this\pointer%,value%)
	this\pointer%=this\pointer%+4
End Function

Function bankPop%(this.bank)
	this\pointer%=this\pointer%-4
	Return PeekInt(this\bank%,this\pointer%)
End Function

;Uses
mybank.bank=bankCreate(NumberOfEntities)
entity%=CreateCube()
bankPush(mybank,entity%) ;<-- put entity on bank stack
entity%=bankPop(mybank)  ;<-- get entity off bank stack
bankResize(mybank,LargerNumberOfEntities)