/*

Here I can write whatever ...

HELLGONE 3 --- added getframetime() for superior movement


[v] I need diagonals ???
[ ] Menu
[ ] Center player
[v] screenshot tool
[ ] Toggleable text HUD in fixed width
[ ] Enemies
[ ] Level spawn design
[ ] Fixed obstacles
[v] Digital effects
[ ] Screen edges
[ ] Test: create info display
[ ] Monster eating the player if too close to the edge
[ ] player deth sequence
[ ] farvetema
[ ] musik
[ ] lyd


And so I wake in the morning
And I step outside
And I take a deep breath and I get real high
And I scream from the top of my lungs
What's going on?

=====================
   IDEAS
=====================

Man kan skyde powerups. Fjender udødelige.


Let the player unlock stuff for next playthrough
Monster with a certain number of life points
Giant monster which cant fit the screen at all
Passive monsters which floats by
Enemies which multiplies when shot

=====================
   THE BIG IDEA 
=====================

Robotron 2084	--- 
Devil Daggers	--- survive for 2 minutes --- almost no menu -- intro level when you begin the game, but not on respawn


=====================
   CODE I DONT GET
=====================

SetSpriteShapeChain
spriteraycast


=====================
   ROBOTRON 1984
=====================

Pretty downer setting

Let's you slide along the wall. Colored border


Sparks: slide along the wall

shots aim at where the player is heading


feature different enemies at different waves


seeking projectile with randomness



Freedom vs Confinement
player starts in center
sensory overload

Each character and projectile must be unique
 - personality
 - dispatch
 - movement
 - offense
 - defence
Few enemies, infinite variaty

Electrodes
Grunts		Seeks player, min intelligence, gets faster
Hulks		Indestructable moving walls. Threats to humans, player . random walk motion . fend off with gun
Spheroids / Enforcers / Sparks
Brains / Progs / Cruise Missiles
Quarks / Tanks / Bank Shots

randomness can fake AI


=====================
   UPDATE
=====================

SetVSync(1)

// calculate the time passed between frames
// use this value as a multiplier that gets applied to any movement.
Global lastFrame as float		// used to calculate fDif
Global thisFrame as float		// used to calculate fDif
Global fDif as float			// The time difference between this frame and the last


lastFrame = Timer ( )

do 
	thisFrame = Timer ()
	fDif = thisFrame - lastFrame
	lastFrame  = thisFrame


	// Now multiply any movement stuff with fDif




=====================
   TEXT
=====================


	pixelfont as integer
	pixelfont = LoadImage("text4_dark.png")

	SetTextDefaultFontImage(pixelfont)

	testText as integer
	testText = CreateText("LEVEL #001")
	setTextPosition (testText, 40, 40)
	setTextSize (testText, 17)
	SetTextFontImage (testText, pixelfont)




fixed width

16 characters across
6 characters down

image width must be divisible by 16
image height must be divisible by 6.


starting with the ascii character 32 (space) in the top left and proceeding left to right, top to bottom, ending with ascii character 127 (DEL) in the bottom right. The 


height 17	= 17*6=	102
width 9	 	= 9*16=	144











=====================
   NEW ENEMIES
=====================






COS of an angle: the new x-cordinate of the rotated bit
SIN of an angle: the new y-cordinate of the rotated bit

cos( angle)
sin( angle)



ACos()	takes the x-coordinate of a 1 unit line. Return the angle of rotation.
ASin()	takes the y-coordinate of a 1 unit line. Returns the angle of rotation.


640 x 360

10x10 pixels
20x20 pixels





=====================
   SOME OLD CODE
=====================




type wallType
	sprID as integer
	isActive as integer
endtype

tWalls as wallType[500]

global wallImg as integer
wallImg = LoadImage ("fire2.jpg")

for i = 1 to tWalls.length
	tWalls[i].sprID = createSprite(wallImg)
	tWalls[i].isActive = FALSE
	SetSpriteVisible ( tWalls[i].sprID, FALSE ) 
next

SetSpriteVisible ( tWalls[3].sprID, TRUE )
tWalls[3].isActive = TRUE
SetSpritePosition( tWalls[3].sprID, 130, 200 ) 











*/
