----Alien Level Based Attacks---- The attack wave system is described using several "blocks". All these blocks are defined in a source file "attackwave.s" within the main code. The first, and easiest to explain is the Level relevent data, this is a block of data referenced by the name "alienLevel" Each level has a block of 128 words that describe what happens when in relation to the scrollers position, as such .word scrollPos, alienWave, scrollPos, alienWave, scrollPos, alienWave, etc.... The scroll pos must be in descending order, ie. starts from the scrollers original position and works back until the lowest value, 160. So, for example, 3650,1,3450,2,3060,4.... At "yposSub" 3650, initialise attack wave 1, then at 3450, wave 2, then wave 4... etc! But, it is not that simple :) We also have a modifier on the attack wave, and 2 special waves... attack wave 8192 = Initialise "Mines" attack wave 16384 = Initialise "Hunters" These 2 attack waves are handled by the main code and do not need to be defined further. Also, the attack wave word is split into 2 16bit values, [ high ][ low ] The [ low ] denotes the actual attack wave, and the [ high ] denotes the modifier The modifier can have a value of :- 0 = The attack wave is a single attack and each alien can be classed "independent" - this is what we would class a normal attack (so just attack wave, no modifier) The following values affect the way the sprites are placed on the screen. There are 2 priorities. A "low" draws the sprites with a lower priority, and "high" does the opposite 1 = Draw "low" priority 2-4 = Draw "low" priority, *BUT* all aliens with this value will be treated as a whole, ie, shoot one and they will all flash 5 = Draw "High" priority 6+ = Draw "high" priority, *BUT* all aliens with this value will be treated as a whole, ie, shoot one and they will all flash So, that covers how the system works! ---Levels--- The 128 word data is stored sequentially one block after the other! The first 128 is level 1, next is level 2.... etc.... There is no need to add a alienLevel1 name, as the main code calclulates the offset during play. PHEW!!!! After this i will start to go into the way the attack waves are constructed from individual alien defines!! :)