Example #1
0
void initState(int state) {
	if (state == STARTSCREEN) {
		loadPalette(startScreenPal);
  	DMANow(3, startScreenTiles, &CHARBLOCKBASE[0], startScreenTilesLen);
  	DMANow(3, startScreenMap, &SCREENBLOCKBASE[27], startScreenMapLen);
    DMANow(3, startScreenTiles, &CHARBLOCKBASE[1], startScreenTilesLen);
    DMANow(3, startScreenMap, &SCREENBLOCKBASE[25], startScreenMapLen);

  	selector = 0;
	  selectRow = 100;
	  selectCol = 56;
	}
	else if (state == PAUSESCREEN) {
		loadPalette(startScreenPal);
  	DMANow(3, pauseScreenTiles, &CHARBLOCKBASE[0], pauseScreenTilesLen);
  	DMANow(3, pauseScreenMap, &SCREENBLOCKBASE[27], pauseScreenMapLen);
    DMANow(3, pauseScreenTiles, &CHARBLOCKBASE[1], pauseScreenTilesLen);
    DMANow(3, pauseScreenMap, &SCREENBLOCKBASE[25], pauseScreenMapLen);
	}
	else if (state == INSTRUCTIONSCREEN) {
  	DMANow(3, instructionScreenTiles, &CHARBLOCKBASE[0], instructionScreenTilesLen);
  	DMANow(3, instructionScreenMap, &SCREENBLOCKBASE[27], instructionScreenMapLen);
    DMANow(3, instructionScreenTiles, &CHARBLOCKBASE[1], instructionScreenTilesLen);
    DMANow(3, instructionScreenMap, &SCREENBLOCKBASE[25], instructionScreenMapLen);
	}
	else if (state == WINSCREEN) {
		loadPalette(startScreenPal);
  	DMANow(3, winScreenTiles, &CHARBLOCKBASE[0], winScreenTilesLen);
  	DMANow(3, winScreenMap, &SCREENBLOCKBASE[27], winScreenMapLen);
    DMANow(3, winScreenTiles, &CHARBLOCKBASE[1], winScreenTilesLen);
    DMANow(3, winScreenMap, &SCREENBLOCKBASE[25], winScreenMapLen);
	}
  else if (state == LOSESCREEN) {
    loadPalette(startScreenPal);
    DMANow(3, loseScreenTiles, &CHARBLOCKBASE[0], loseScreenTilesLen);
    DMANow(3, loseScreenMap, &SCREENBLOCKBASE[27], loseScreenMapLen);
    DMANow(3, loseScreenTiles, &CHARBLOCKBASE[1], loseScreenTilesLen);
    DMANow(3, loseScreenMap, &SCREENBLOCKBASE[25], loseScreenMapLen);
  }

  hideSprites();
  clearShadowOAM();

  if (state == PAUSESCREEN) {
    pauseSound();
  }
  else {
    stopSound();
  }

  REG_BG0HOFS = 0;
  REG_BG0VOFS = 0;
  REG_BG1HOFS = 0;
}
Example #2
0
// Level-independant setup logic
void init() {

	REG_DISPCTL = MODE0 | BG2_ENABLE | SPRITE_ENABLE;

	REG_BG0CNT = CBB(0) | SBB(26) | BG_SIZE0 | COLOR256 | 0; 	// Priority 0
	REG_BG1CNT = CBB(1) | SBB(27) | BG_SIZE0 | COLOR256 | 1;	// Priority 1
	REG_BG2CNT = CBB(2) | SBB(28) | BG_SIZE1 | COLOR256 | 2;	// Priority 2 

	// Put Sprite on Screen
	loadSpritePalette(sprite_actorPal);
	DMANow(3, sprite_actorTiles, &CHARBLOCKBASE[4], sprite_actorTilesLen / 2);

	// DMA background 0
	loadPalette(pause_screenPal);
	DMANow(3, pause_screenMap, &SCREENBLOCKBASE[26], pause_screenMapLen / 2);
	DMANow(3, pause_screenTiles, &CHARBLOCKBASE[0], pause_screenTilesLen / 2);

	// Initialize level-independant player values
	player.deltaRow = 1;
	player.deltaCol = 0;
	player.isRunning = 0;
	player.isJumping = 0;
	player.frameCount = 0;
	player.width = 16;
	player.height = 16;
	player.currentFrame = 0;
	player.facing = 0; 	// Facing to the right (1 is facing to the left)

	canJump = 0; // subject to change depending how beginning is designed

	hideSprites();

	// Season-indicator icon position for all levels
	icon.row = 5;
	icon.col = 219;

}