// *********************************************************************************** // Program written by B. Swan - BURROWINGGERBIL@HOTMAIL.COM // *********************************************************************************** // **** include files **************************************************************** #include // Include standard Yaroze lib #include // Include standard C lib #include "data\addrs.h" // Include memtool created addresses #include "pad.h" // Include pad reading lib // **** definitions ****************************************************************** #define DATA_ADDRESS_1 (0x8009f660) // Address of level blocks #define DATA_ADDRESS_2 (0x800a1d70) #define SCREEN_WIDTH (320) #define SCREEN_HEIGHT (240) #define OTABLE_LENGTH (4) // Define length of OTable #define MAX_PACKETS (128000) // Guess at length for scratchpad #define MAX(a, b) \ ((a > b) ? a : b) #define MIN(a, b) \ ((a > b) ? b : a) #define GEM (1) #define GEMVALUE a #define WALKER (2) #define WALKERHEALTH a #define WALKERVELOCITY b // **** prototypes ***************************************************************** void Initialise(void); // Triggers all initialisation routines void InitialiseScreen(void); // Setups screen resolution etc. void UpdateWorld(void); // Move, colour etc all sprites void RenderStart(void); // Initialise frame variables and screen void RenderWorld(void); // Draw the screen scene void DrawForeground(void); // Draw foreground void DrawMiddleground(void); // Draw middle distance void DrawBackground(void); // Controls drawing of the background void DrawMountains(void); // Draws mountains void DrawClouds(void); // Draws clouds void DrawTreeTops(void); // Draws treetops void DrawPlayer(void); // Draws player void DrawObjects(void); // Draws objects void LoadTIMData(u_long tMemAddress); // cCopies TIM from main memory to vram void SetBlocksInfo(GsSPRITE *tSprite, long tX, long tY, long tU, long tV, long tW, long tH, long tPX, long tPY, u_char tCol); // Chop blocks up correctly into // Sprites from more specific data long GetBlockStatus(long X, long Y); // Get status of block at specific pixel long Collided(long t1X, long t1Y, long t1W, long t1H, long t2X, long t2Y, long t2W, long t2H); // Are two specified blocks colliding? void UpdateObjects(void); // Update the enemies