Now I added the dialogue system (the link is stayed the same again), but for some reason this dialogues are refising to work. Where a made a mistake at this time?
if(talking==0)
{
if((p1&JOY_UP)&&y>=176) y--;
if((p1&JOY_DOWN)&&y<=220) y++;
if((p1&JOY_LEFT)&&x>=32)
{
x--;
flipMode|=FLIP_X;
aSpriteSetFlip(&demoSpr,flipMode);
}
if((p1&JOY_RIGHT)&&x<=288)
{
x++;
flipMode&=~FLIP_X;
aSpriteSetFlip(&demoSpr,flipMode);
}
aSpriteSetAnim(&demoSpr,p1&(JOY_UP|JOY_DOWN|JOY_LEFT|JOY_RIGHT)?1:0);
}
if(p1e&JOY_A)
{
if(talking==0)
{
if(((flipMode==FLIP_NONE)&&(RoxyX-x<64))||((flipMode==FLIP_X)&&(x-RoxyX<64)))
{
if(((y<(RoxyY+8))&&(y>(RoxyY-8))))
{
talking=1;
action=0;
choice=0;
}
}
if(((flipMode==FLIP_NONE)&&(GyaruX-x<64))||((flipMode==FLIP_X)&&(x-GyaruX<64)))
{
if(((y<(GyaruY+8))&&(y>(GyaruY-8))))
{
talking=2;
action=0;
choice=0;
}
}
}
if(talking>0)
{
action++;
clearFixLayer();
pictureSetPos(&InterlocutorPortrait,0,16-(VerticalAlign*8));
}
}
if(talking>0)
{
if(demoSpr.currentAnim!=0) aSpriteSetAnim(&demoSpr,0);
TextWindow(VerticalAlign);
if(dialogue_menu>0)
{
if(p1e&JOY_UP)
{
if(choice>=1) choice--;
}
if(p1e&JOY_DOWN)
{
if(choice<dialogue_menu) choice++;
}
}
}
if(talking==1)
{
pictureInit(&InterlocutorPortrait, &roxypict,22, 16 + ffbg_b.palInfo->count, 0, 16-(VerticalAlign*8),FLIP_NONE);
palJobPut(16 + ffbg_b.palInfo->count, roxypict.palInfo->count, roxypict.palInfo->data);
if(action==0)
{
VerticalAlign=7;
fixPrint(1,22,0,1,"Добро пожаловать на наш прекрасный");
fixPrint(1,23,0,1,"остров трансов! Мы тут с моими");
fixPrint(1,24,0,1,"\"подружками\" все весело, беспечно и");
fixPrint(1,25,0,1,"раздолбайски проводим ВСЁ наше время!");
fixPrint(1,26,0,1,"Присоединяйся к нам,");
fixPrint(1,27,0,1,"красавчик - уверена, тебе у нас");
fixPrint(1,28,0,1,"О-О-ОО-ООО-ОО-ОЧЕНЬ понравится!");
}
if(action==1)
{
talking=0;
clearFixLayer();
clearSprites(1,21);
}
}
if(talking==2)
{
pictureInit(&InterlocutorPortrait, &gyarupict,22, 16 + ffbg_b.palInfo->count, 0, 16-(VerticalAlign*8),FLIP_NONE);
palJobPut(16 + ffbg_b.palInfo->count, gyarupict.palInfo->count, gyarupict.palInfo->data);
if(action==0)
{
VerticalAlign=10;
dialogue_menu=1;
fixPrint(1,19,0,1,"Привет, сладенький! Как же я рада, что");
fixPrint(1,20,0,1,"ты всё-таки выжил во время того");
fixPrint(1,21,0,1,"крушения!");
fixPrint(1,22,0,1,"Надеюсь, тебя не смущает, красавчик,");
fixPrint(1,23,0,1,"что я... ненастоящая девушка? :)");
fixPrint(3,24,choice==1?2:4,1,"НУ... Э-Э-ЭЭМ... НЕ ОЧЕНЬ.");
fixPrint(3,25,choice==2?2:4,1,"НЕ, НЕ, НЕ, НЕ, НЕ! НЕ НАДО, НЕ");
fixPrint(3,26,choice==2?2:4,1,"НАДО!... СПАСИБО!... ВЫ УЖ МЕНЯ,");
fixPrint(3,27,choice==2?2:4,1,"КОНЕЧНО, ИЗВИНИТЕ, НО Я... Я ВСЁ-ТАКИ");
fixPrint(3,28,choice==2?2:4,1,"ПРЕДПОЧИТАЮ НАСТОЯЩИХ!");
}
if(action==1)
{
VerticalAlign=12;
if(choice==0)
{
fixPrint(1,17,0,1,"Вот и славненько! Знаешь,");
fixPrint(1,18,0,1,"ты - пожалуй, первый за всю историю");
fixPrint(1,19,0,1,"острова парень, попавший сюда, не");
fixPrint(1,20,0,1,"пройдя предварительно процедуру");
fixPrint(1,21,0,1,"феминизации! Хотя... в последнем я");
fixPrint(1,22,0,1,"особой проблемы не вижу - здесь это");
fixPrint(1,23,0,1,"очень даже легко поправимо, всего лишь");
fixPrint(1,24,0,1,"вопрос времени. Было бы классно, если");
fixPrint(1,25,0,1,"бы ты смог \"влиться в нашу");
fixPrint(1,26,0,1,"компанию\" - как говорят у нас на");
fixPrint(1,27,0,1,"острове, партнёрш много не бывает! \x3");
fixPrint(1,28,0,1,"Не правда ли?");
}
if(choice==1)
{
fixPrint(1,17,0,1,"Жа-а-аа-ааа-аль!... А ведь мы с тобой");
fixPrint(1,18,0,1,"могли бы стать отличными подругами,");
fixPrint(1,19,0,1,"если бы ты всё же решился на операцию");
fixPrint(1,20,0,1,"по перемене пола! Я уж, конечно,");
fixPrint(1,21,0,1,"постараюсь это пережить, но... Ты");
fixPrint(1,22,0,1,"всё-таки мне очень понравился, парень.");
fixPrint(1,23,0,1,"Понравился с самого первого");
fixPrint(1,24,0,1,"взгляда. :(");
fixPrint(1,25,0,1,"Ну да ладно, если вдруг резко");
fixPrint(1,26,0,1,"усомнишься в своих сексуальных");
fixPrint(1,27,0,1,"предпочтениях, возвращайся - буду");
fixPrint(1,28,0,1,"ждать тебя на этом же месте.");
}
}
if(action==2)
{
talking=0;
clearFixLayer();
clearSprites(1,21);
}
}
if(talking==0)
{
if((p1&JOY_UP)&&((y<=112)&&(y>0))) scrl_y--;
if((p1&JOY_DOWN)&&((y>=208)&&(y<224))) scrl_y++;
if((p1&JOY_LEFT)&&((x<=32)&&(x>0)))
{
scrl_x--;
if (scrl_x>FRONT_MIN_X)
{
RoxyX++;
GyaruX++;
}
}
if((p1&JOY_RIGHT)&&((x>=288)&&(x<320)))
{
scrl_x++;
if (scrl_x<FRONT_MAX_X)
{
RoxyX--;
GyaruX--;
}
}
}
void TextWindow(short WindowHeight)
{
short tilex;
short tiley;
fixPrint(0,29-WindowHeight,0,1,"\xD");
fixPrint(39,29-WindowHeight,0,1,"\xF");
fixPrint(0,29,0,1,"\x7");
fixPrint(39,29,0,1,"\x9");
for(tiley=29-WindowHeight;tiley=29-WindowHeight;tiley++)
{
for(tilex=1;tilex<39;tilex++)
{
fixPrint(tilex,tiley,0,1,"\xE");
}
}
for(tiley=(29-WindowHeight)+1;tiley<29;tiley++)
{
for(tilex=0;tilex=0;tilex++)
{
fixPrint(tilex,tiley,0,1,"\xC");
}
}
for(tiley=(29-WindowHeight)+1;tiley<29;tiley++)
{
for(tilex=39;tilex=39;tilex++)
{
fixPrint(tilex,tiley,0,1,"\xB");
}
}
for(tiley=29;tiley=29;tiley++)
{
for(tilex=1;tilex<39;tilex++)
{
fixPrint(tilex,tiley,0,1,"\x8");
}
}
for(tiley=(29-WindowHeight)+1;tiley<29;tiley++)
{
for(tilex=0;tilex<39;tilex++)
{
fixPrint(tilex,tiley,0,1,"\xA");
}
}
}
