📄 func.c
字号:
#define __debug__
#include "demo.h"
#include "common.h"
#include "gfx\menu.h"
//#include "gfx.h"
#include "gfx\bg\nerv.h"
#include "gfx\bg\1.h"
#include "gfx\pal.h"
#include "gfx\bg\title.h"
int Mainmenu(){
WaitVSync();
BltTo(title_256_gfx,VRAM_BASE,0,0,240,160,0);
DoScreenFadeIn(pal);
DrawText("DemoV1",160,20,30);
u16 loop;
u16 i;
u16* oamdata=OAMDATA;
for(i=0;i<640;i++) oamdata[i]=m_start1_gfx[i];
for(i=0;i<640;i++) oamdata[i+640]=m_start2_gfx[i];
for(i=0;i<640;i++) oamdata[i+1280]=m_load1_gfx[i];
for(i=0;i<640;i++) oamdata[i+1920]=m_load2_gfx[i];
for(i=0;i<640;i++) oamdata[i+2560]=m_option1_gfx[i];
for(i=0;i<640;i++) oamdata[i+3200]=m_option2_gfx[i];
InitializeSprites();
u16 y=80;
for(i=80;i>0;i-=4){
for(loop=0;loop<5;loop++){
sprites[loop].attribute0=COLOR_256| SQUARE | y;
sprites[loop].attribute1=SIZE_16| (93+16*loop-i);
sprites[loop].attribute2=(512+8*loop)|PRIORITY(0);
}
for(loop=5;loop<10;loop++){
sprites[loop].attribute0=COLOR_256| SQUARE | (y+18);
sprites[loop].attribute1=SIZE_16| (16*loop+5+i);
sprites[loop].attribute2=(552+8*loop)|PRIORITY(0);
}
for(loop=10;loop<15;loop++){
sprites[loop].attribute0=COLOR_256| SQUARE |(y+36);
sprites[loop].attribute1=SIZE_16| (16*loop-67-i);
sprites[loop].attribute2=(592+8*loop)|PRIORITY(0);
}
WaitVSync();
CopyOAM();
}
u16 sel[3]={40,0,0},tmp;
while (1) {
UPDATA_INPUT();
if(PRESS_ONCE(KEY_A)) {
for(tmp=0;tmp<3;tmp++) if(sel[tmp]==40) break;
return tmp;
}
if(PRESS_ONCE(KEY_UP)) { tmp=sel[0];sel[0]=sel[1];sel[1]=sel[2];sel[2]=tmp;}
if(PRESS_ONCE(KEY_DOWN)) { tmp=sel[0];sel[0]=sel[2];sel[2]=sel[1];sel[1]=tmp;}
for(loop=0;loop<5;loop++) sprites[loop].attribute2=(512+8*loop+sel[0])|PRIORITY(0);
for(loop=5;loop<10;loop++) sprites[loop].attribute2=(552+8*loop+sel[1])|PRIORITY(0);
for(loop=10;loop<15;loop++) sprites[loop].attribute2=(592+8*loop+sel[2])|PRIORITY(0);
WaitVSync();
CopyOAM();
}
}
void doSplash(){
int loop;
u16* _vram=(u16*) VRAM_BASE;
clearPalette();
for(loop=0;loop<19200;loop++) *_vram++=b1_256_gfx[loop];
DoScreenFadeIn(pal);
WaitTime(0,900);
DoScreenFadeOut();
clearPalette();
_vram=(u16*)VRAM_BASE;
for(loop=0;loop<19200;loop++) *_vram++=nerv_256_gfx[loop];
DoScreenFadeIn(pal);
// BltTo((u16*)nerv_256_gfx,(u16*)_vram,0,0,240,160,1);
WaitTime(0,500);
DoScreenFadeOut();
for(loop=0;loop<19200;loop++) *_vram++=0;
}
void Initgraph(){
SetMode(MODE_4|BG2_ENABLE|OBJ_ENABLE|OBJ_MAP_1D);
int loop=0;
u16* _pal=(u16*)SCREEN_PALETTE;
for(;loop<256;loop++) *_pal++=pal[loop];
_pal=(u16*)SPRITE_PALETTE;
for(loop=0;loop<256;loop++) *_pal++=pal[loop];
}
void Playing(){
}
void option(){
}
void startgame(LPGAMEDATA g){
u16 loop;
WaitVSync();
InitializeSprites();
CopyOAM();
clearPalette();
for(loop=0;loop<19200;loop++) VRAM_BASE[loop]=0x2121;
u32 txt="初始化游戏数据···";
DrawText(txt,60,70,55);
g->nSaveCount=0;
g->nPos=0;
Initgraph();
WaitTime(1,0);
for(loop=0;loop<19200;loop++) VRAM_BASE[loop]=0;
// BltTo(shop_256_gfx,VRAM_BASE,0,18,240,120,0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -