//The Functions SetPixelBuf, refresh, ClearScreen, sprite, convsprite, fade, showSimpleDialogBox, and clearBuf were originally found in the utils.c file found in Ndless Version 1.1 or graphics3.h from www.omnimaga.org. //The Functions setlevel, drawlevel, setlevelinfo, and slowdown are added to this file by myself for usage in Block Dude Nspire. #include #include "utils.h" int setlevel(int level, int x, int y) { char level1[20][40]={ {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1}, {1,4,0,0,1,0,0,0,1,0,2,0,1,0,2,0,3,0,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}}; char level2[20][40]={ {0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0}, {1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0}, {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,0,2,2,3,0,0,1}, {0,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1}, {0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0}}; char level3[20][40]={{0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, {0,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0}, {1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1}, {1,0,1,1,1,0,0,0,0,3,0,0,0,1,2,0,1,1,0}, {1,0,1,0,1,0,0,0,0,1,0,0,1,1,1,1,1,0,0}, {1,0,1,0,1,2,2,0,1,1,0,0,1,0,0,0,0,0,0}, {1,4,1,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0}, {1,1,1,0,1,1,0,0,0,1,1,1,0,0,0,0,0,0,0}}; char level4[20][40]={{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0}, {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0}, {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0}, {0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0}, {0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0}, {0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,1,1}, {1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0}, {1,4,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0}, {1,1,1,1,1,0,1,0,2,0,0,0,2,0,0,1,1,1,0,0,0,0,0,0}, {0,0,0,0,1,0,1,0,2,0,1,0,1,2,0,1,0,0,0,0,0,0,0,0}, {0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}, {0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; char level5[20][40]={ {0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,1,1,1,1,1,1,0}, {0,1,1,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,1,2,2,2,2,0,0,0,0,0,0,0,0,0,0,1}, {1,4,0,0,0,1,1,1,1,1,1,1,3,0,0,0,0,0,0,0,0,1}, {1,1,0,1,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,2,1}, {0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,2,2,1}, {0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,1,0,0,2,2,2,1}, {0,1,1,1,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1}, {0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,1}}; char level6[20][40]={ {0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}, {0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0}, {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1}, {0,1,2,2,0,0,0,0,0,0,0,0,1,0,0,2,0,0,1,1,1}, {0,1,2,2,2,0,0,0,0,0,0,0,1,3,2,2,2,0,1,0,0}, {0,1,2,2,2,2,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0}, {0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0}, {0,0,0,0,0,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,1,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0}}; char level7[20][40]={ {0,0,1,0,0,0,1,1,1,1,1,0,0,0,1,1,0,0,0,1,1,1,0,0}, {0,1,0,1,0,1,0,0,0,0,0,1,0,1,0,0,1,0,1,0,0,0,1,0}, {0,1,0,0,1,1,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,0,0,1}, {0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1}, {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1}, {1,4,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1}, {1,1,0,0,0,1,0,2,0,0,0,0,0,1,0,0,0,0,1,1,0,1,0,0}, {0,1,0,0,0,1,0,2,0,0,0,0,1,1,0,2,0,3,1,1,1,1,0,0}, {0,1,1,0,0,1,0,2,2,2,0,0,1,1,0,2,2,2,1,0,0,0,0,0}, {0,0,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,0,0,0}, {0,0,1,1,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0}, {0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; char level8[20][40]={ {0,1,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,1,1,1,1,1,0,0}, {1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0}, {1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1}, {1,2,0,0,0,0,1,1,1,0,0,0,0,1,0,1,0,0,0,0,0,1,1,1,0,0,1}, {1,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,1,0,1,0,0,1}, {1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,4,0,1}, {0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,0,1}, {0,0,1,0,0,0,0,2,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1}, {0,0,1,0,0,0,0,2,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1}, {0,1,0,0,0,1,1,1,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,2,1}, {0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,2,2,1}, {1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,2,1}, {1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1}, {1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,3,0,0,2,2,2,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}}; char level9[20][40]={ {0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0}, {0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,1}, {0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1}, {0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1}, {0,0,0,1,0,0,0,0,0,0,2,2,0,0,0,0,0,0,2,1}, {0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,2,2,1}, {0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,1,1,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1}, {1,4,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,1}, {1,1,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,2,1}, {0,1,0,0,0,0,1,1,2,0,0,1,1,0,0,0,1,1,1,1}, {0,1,0,0,0,0,1,1,1,1,1,1,1,0,0,1,1,0,0,0}, {0,1,1,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0}, {0,0,0,1,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0}, {0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0}}; char level10[20][40]={ {0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0}, {0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0}, {1,1,1,1,2,0,0,0,0,0,0,0,2,2,1,2,0,0,0,2,2,2,0,2,1,1,0}, {1,0,0,1,1,0,0,1,0,0,0,1,1,1,1,1,0,0,2,1,1,1,0,1,1,0,1}, {1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,0,1}, {1,0,0,0,1,1,0,0,1,1,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,4,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1}, {1,1,0,0,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,1}, {0,1,0,0,0,0,0,2,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,0,0,0,1}, {0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,1}, {0,1,1,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1}, {0,0,0,1,1,1,1,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1}, {0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1}, {0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,1,1,1,1,1,1,1}, {0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0}, {0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,1,0}, {0,0,0,1,2,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,2,2,1,0}, {0,0,0,1,2,2,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,2,2,2,1,0}, {0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0}}; char level11[20][40]={ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,2,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1}, {1,2,0,0,0,1,1,1,0,2,1,1,0,0,0,0,0,2,0,0,1,1,0,0,4,0,1,0,1}, {1,2,2,0,0,0,0,1,1,1,0,0,0,3,0,0,2,0,0,0,0,0,0,0,1,0,1,0,1}, {1,1,1,0,0,2,2,1,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,1,0,1}, {1,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,1,1,1,0,0,1}, {1,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,2,0,1}, {1,2,2,0,0,0,0,0,0,0,1,1,1,0,1,0,1,2,0,0,0,0,1,0,0,1,1,1,1}, {1,1,1,1,0,2,0,0,0,1,1,1,0,0,1,0,1,1,2,0,0,1,0,2,0,1,0,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,2,0,1,1,1,0,0,2,1,0,0,0,1,0,0,0,1}, {1,0,0,0,2,0,0,0,0,0,2,2,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1}, {1,0,0,0,0,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,1,1,0,0,0,0,1,0,1}, {1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,2,2,1,0,1}, {1,2,1,1,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,1}, {1,1,2,1,1,1,0,1,0,0,0,0,1,0,0,0,2,2,2,0,2,0,0,0,0,0,0,0,1}, {1,2,1,2,1,2,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}}; char level12[20][40]={ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,1,1,1,0,0,0,4,0,0,0,1,1,1,1}, {1,1,1,0,0,0,1,1,1,0,0,0,1,1,1}, {1,1,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,0,0,0,0,0,0,3,0,0,0,0,0,0,1}, {1,2,0,2,0,2,0,2,0,2,0,2,0,2,1}, {1,0,2,0,2,0,2,0,2,0,2,0,2,0,1}, {1,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, {1,1,0,0,0,0,0,0,0,0,0,0,0,1,1}, {1,1,1,0,0,0,0,0,0,0,0,0,1,1,1}, {1,1,1,1,0,0,0,0,0,0,0,1,1,1,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}}; char level13[20][40]={ {1,1,1,1,1,1,1,1,1,1,1,1}, {1,1,0,0,0,0,1,1,1,1,1,1}, {1,1,0,0,0,0,1,1,1,1,1,1}, {1,3,0,0,0,0,0,0,0,1,1,1}, {1,1,1,1,1,0,0,0,0,1,1,1}, {1,1,0,0,0,0,0,0,4,1,1,1}, {1,1,0,0,0,0,1,1,1,1,1,1}, {1,1,0,0,0,0,0,0,0,1,1,1}, {1,1,1,1,1,0,0,0,0,1,1,1}, {1,1,0,0,0,0,0,2,2,1,1,1}, {1,1,0,0,0,0,1,1,1,1,1,1}, {1,1,2,2,0,0,0,0,0,1,1,1}, {1,1,1,1,1,0,0,0,0,1,1,1}, {1,1,0,0,0,0,0,2,2,1,1,1}, {1,1,0,0,0,0,1,1,1,1,1,1}, {1,1,2,2,0,0,0,0,0,1,1,1}, {1,1,1,1,1,0,0,0,0,1,1,1}, {1,1,1,1,1,0,2,2,2,1,1,1}, {1,1,1,1,1,1,1,1,1,1,1,1}}; char level14[20][40]={ {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,0,0,0,0,0,0,1,1,1,1,1,1,1}, {1,2,0,0,0,0,0,2,1,1,1,1,1,1,1}, {1,0,2,0,0,0,2,0,1,1,1,1,1,1,1}, {1,1,0,2,0,0,0,2,0,0,1,1,1,1,1}, {1,4,0,0,1,1,1,1,1,0,0,1,1,1,1}, {1,1,0,0,0,0,0,3,0,0,0,0,0,0,1}, {1,1,0,1,0,2,2,2,0,1,0,0,0,2,1}, {1,1,0,0,1,0,0,0,1,0,0,0,2,2,1}, {1,1,0,0,0,1,0,1,0,0,0,1,1,1,1}, {1,1,1,0,0,0,1,0,0,0,1,1,1,1,1}, {1,1,1,1,0,0,0,0,0,1,1,1,1,1,1}, {1,1,1,1,1,0,0,0,1,1,1,1,1,1,1}, {1,1,1,1,1,1,0,1,1,1,1,1,1,1,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}}; switch(level) { case 1: return level1[x][y]; case 2: return level2[x][y]; case 3: return level3[x][y]; case 4: return level4[x][y]; case 5: return level5[x][y]; case 6: return level6[x][y]; case 7: return level7[x][y]; case 8: return level8[x][y]; case 9: return level9[x][y]; case 10: return level10[x][y]; case 11: return level11[x][y]; case 12: return level12[x][y]; case 13: return level13[x][y]; case 14: return level14[x][y]; } return 0; } int setlevelinfo(int level, int x) { //screen size: X-Axis: 12, Y-Axis: 8 //syntax levelxinfo[4]={guyx,guyy,xbound,ybound}; char level1info[4]={16,8,19,9}; char level2info[4]={18,6,21,9}; char level3info[4]={9,6,18,10}; char level4info[4]={17,9,23,15}; char level5info[4]={12,8,21,13}; char level6info[4]={13,7,21,13}; char level7info[4]={17,10,23,14}; char level8info[4]={20,15,26,17}; char level9info[4]={14,7,20,16}; char level10info[4]={14,11,26,18}; char level11info[4]={13,4,28,18}; char level12info[4]={7,4,14,11}; char level13info[4]={1,3,11,18}; //char level14info[4]={}; switch(level) { case 1: return level1info[x]; case 2: return level2info[x]; case 3: return level3info[x]; case 4: return level4info[x]; case 5: return level5info[x]; case 6: return level6info[x]; case 7: return level7info[x]; case 8: return level8info[x]; case 9: return level9info[x]; case 10: return level10info[x]; case 11: return level11info[x]; case 12: return level12info[x]; case 13: return level13info[x]; } return 0; } int drawlevel(char cl[20][40], char levelinfo[4]) { //char block[100]={0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0}; //char brick[100]={0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,9,9,9,9,0,0,9,5,5,5,5,5,5,5,0,0,9,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,9,0,0,9,9,9,9,5,5,5,5,0,0,9,5,5,5,5,5,5,5,0,0,9,5,5,5,0,0,0,0,0,0,0,0,0,0}; //char guyleft[100]={15,15,15,0,0,0,0,15,15,15,15,15,0,15,15,15,15,0,15,15,15,0,15,0,15,15,15,0,15,15,15,15,0,15,15,15,15,0,15,15,15,15,15,0,15,15,0,15,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,0,15,0,0,15,0,15,15,15,0,15,15,0,0,15,15,15,15,15,15,0,0,15,15,0,0,15,15}; //char guyright[100]={15,15,15,0,0,0,0,15,15,15,15,15,0,15,15,15,15,0,15,15,15,15,0,15,15,15,0,15,0,15,15,15,0,15,15,15,15,0,15,15,15,15,15,0,15,15,0,15,15,15,15,15,15,0,0,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,0,15,0,0,15,0,15,15,15,15,15,15,0,0,15,15,0,15,15,15,0,0,15,15,0,0,15,15}; //char door[100]={15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,15,15,15,15,0,9,9,9,9,0,15,15,15,15,0,9,9,9,9,0,15,15,15,15,0,9,9,9,9,0,15,15,15,15,0,9,9,5,9,0,15,15,15,15,0,9,9,9,9,0,15,15,15,15,0,9,9,9,9,0,15,15,15,15,0,9,9,9,9,0,15,15,15,15,0,9,9,9,9,0,15,15,}; char block[576] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,0,0,0,0,2,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,0,0,0,0,2,4,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,4,2,0,0,0,0,2,4,5,7,8,8,8,8,8,8,8,8,8,8,8,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,10,10,10,10,10,10,10,10,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,12,12,12,12,12,12,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,13,13,13,13,13,13,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,13,14,14,14,14,13,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,13,14,15,15,14,13,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,13,14,15,15,14,13,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,13,14,14,14,14,13,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,13,13,13,13,13,13,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,12,12,12,12,12,12,12,12,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,10,10,10,10,10,10,10,10,10,10,8,7,5,4,2,0,0,0,0,2,4,5,7,8,8,8,8,8,8,8,8,8,8,8,8,7,5,4,2,0,0,0,0,2,4,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,5,4,2,0,0,0,0,2,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,2,0,0,0,0,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,2,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; char brick[576] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,11,11,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,11,11,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,0,0,11,11,11,11,11,11,11,11,11,11,0,0,11,11,11,11,11,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,5,5,5,5,5,0,0,11,5,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; char guyleft[576] = {15,15,15,15,15,15,15,15,15,2,2,2,2,2,2,2,2,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,2,2,2,2,2,2,2,15,15,15,15,15,15,15,15,15,15,15,15,2,2,2,2,2,2,2,2,2,2,2,2,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,0,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,0,0,0,0,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,0,0,0,0,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,15,0,0,0,0,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,15,15,0,0,0,0,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,15,15,15,15,0,0,0,0,0,15,15,15,15,15}; char guyright[576] = {15,15,15,15,15,15,15,2,2,2,2,2,2,2,2,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,2,2,2,2,2,2,2,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,2,2,2,2,2,2,2,2,2,2,2,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,0,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,0,0,0,0,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,0,0,0,0,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,0,0,0,0,15,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,0,0,0,0,15,15,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,15,15,15,15,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,15,15,15,15,0,0,0,0,0,15,15,15,15,15}; char door[576] = {15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,15,15,15,15,15,15,15,15,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,15,15,15,15,15,15,15,15,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,15,15,15,15,15,15,15,15,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,15,15,15,15,15,15,15,15,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,15,15,15,15,15,15,15,15,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,0,15,15,15,15,15,15,15,15,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,15,15,15,15,15,15,15,15,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,15,15,15,15,15,15,15,15,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,15,15,15,15,15,15,15,15,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,15,15,15,15,15,15,15,15,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,15,15,15,15,15,15,15,15,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,15,15,15,15,15,15,15,15,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,15,15,15,15,15,15,15,15,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,15,15,15,15,15,15,15,15,0,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,15,15,15,15,15,15,15,15,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,15,15,15,15,15,15,15,15,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,15,15,15,15,15,15,15,15,0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,15,15,15,15,15,15,15,15,0,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,15,15}; //15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,0,0,15,15,15,15,15,15,15,15,15,15,15,15,0,1,1,1,1,1,1,1,1,1,1,0,15,15,15,15,15,15,15,15,15,15,15,15,0,2,2,2,2,2,2,2,2,2,2,0,15,15,15,15,15,15,15,15,15,15,15,15,0,3,3,3,3,3,3,3,3,3,3,0,15,15,15,15,15,15,15,15,15,15,15,15,0,4,4,4,4,4,4,4,4,4,4,0,15,15,15,15,15,15,15,15,15,15,15,15,0,5,5,5,5,5,5,5,5,5,5,0,15,15,15,15,15,15,15,15,15,15,15,15,0,6,6,6,6,6,6,6,6,6,6,0,15,15,15,15,15,15,15,15,15,15,15,15,0,7,7,7,7,7,7,7,7,7,7,0,15,15,15,15,15,15,15,15,15,15,15,15,0,8,8,8,8,8,8,8,8,8,8,0,15,15,15,15,15,15,15,15,15,15,15,15,0,9,9,9,9,9,9,9,9,9,9,0,15,15,15,15,15,15,15,15,15,15,15,15,0,10,10,10,10,10,10,10,10,10,10,0,15,15,15,15,15,15,15,15,15,15,15,15,0,11,11,11,11,11,11,11,11,11,11,0,15,15,15,15,15,15,15,15,15,15,15,15,0,13,13,13,13,13,13,13,13,13,13,0,15,15,15,15,15,15,15,15,15,15,15,15,0,14,14,14,14,14,14,14,14,14,14,0,15,15,15,15,15,15,15,15,15,15,15,15,0,15,15,15,15,15,15,15,15,15,15,0,15,15,15,15,15,15}; char* nblock = (char*)malloc(288); char* nbrick = (char*)malloc(288); char* nguyleft = (char*)malloc(288); char* nguyright= (char*)malloc(288); char* ndoor= (char*)malloc(288); int /*drawx=levelinfo[2],*/drawy=0,x,y,pic; int drawx/*,drawy*/; drawx=levelinfo[0]-6; if(drawx<0) { drawx=0; } if(drawx+12>levelinfo[2]) { drawx=levelinfo[2]-12; } drawy=levelinfo[1]-4; if(drawy<0) { drawy=0; } if(drawy+8>levelinfo[3]) { drawy=levelinfo[3]-8; } char* levelbuffer = (char*) malloc(SCREEN_BYTES_SIZE); clearBuf(levelbuffer); convsprite(brick,nbrick,24,24); convsprite(block,nblock,24,24); convsprite(guyleft,nguyleft,24,24); convsprite(guyright,nguyright,24,24); convsprite(door,ndoor,24,24); int dx=0,dy=0; for(x=drawx;x> 1) + (y << 7) + (y << 5))); *p = (x & 1) ? ((*p & 0xF0) | color) : ((*p & 0x0F) | (color << 4)); } void showSimpleDialogBox(const char* title, const char* msg) { char* buffTitle; char* buffMsg; buffTitle = (char*)malloc(0x200); buffMsg = (char*)malloc(0x800); ascii2utf16(buffTitle, title, 0x80); ascii2utf16(buffMsg, msg, 0x200); show_dialog_box2(0, buffTitle, buffMsg); free(buffTitle); free(buffMsg); } void fade(int n) { int i, color1, color2; unsigned char* p = (unsigned char*)SCREEN_BASE_ADDRESS; for (i = 1; i < SCREEN_BYTES_SIZE; ++i) { color1 = (*p & 0x0F) + n; color2 = (*p >> 4) + n; if (color1 > 0xF) color1 = 0xF; if (color2 > 0xF) color2 = 0xF; if (color1 < 0) color1 = 0; if (color2 < 0) color2 = 0; *p = (color2 << 4) | (color1 & 0xF); p++; } } void sprite(char* scrbuf, char* spr, int x, int y, int w, int h) { char* bufaddr; char* spraddr; int halfw, i; bufaddr = scrbuf + 160 * y + (x >> 1); spraddr = spr; halfw = w >> 1; for (i = 0; i < h; i++) { memcpy(bufaddr, spraddr, halfw); bufaddr += 160; spraddr += halfw; } } void convsprite(char* sprite, char* result, int w, int h) { int r, c, i; i = 0; for (r = 0; r < h; r++) { for (c = 0; c < w; c += 2) { result[i] = (sprite[c + r * w] << 4) + sprite[c + r * w + 1]; i++; } } } inline void set_led(int color) { *(volatile unsigned*) 0x90010B00=color<<4; } extern void slowdown(void) { unsigned long int x; char* levelbuffer = (char*) malloc(SCREEN_BYTES_SIZE); for(x=0;x<900000;x++) { setPixelBuf(levelbuffer,4,4,4); } free(levelbuffer); }