callee->alive = false;
}
- float playerSpawnHillFunc(float x){
- return (float)(pow(2,(-x+200)/5) + 80);
+ void worldSpawnHill3_leave(Mob *callee){
+ ui::dialogBox("B-) ",NULL,true,"Now jump in this hole, and let your journey begin :)");
+ callee->alive = false;
}
- static World *test;
- static World *playerSpawnHill;
- static IndoorWorld *iw;
+ /*
+ * new world
+ * gen
+ * setbackground
+ * setbgm
+ * add...
+ *
+ */
- void destroyEverything(void);
+ /*
+ * World definitions
+ */
+
+ static World *worldSpawnHill1;
+ static World *worldSpawnHill2;
+ static World *worldSpawnHill3;
+ /*
+ * initEverything() start
+ */
+
+ void destroyEverything(void);
void initEverything(void){
- //FILE *load;
-
- /*
- * World creation:
- */
-
- test=new World();
-
- test->generate(SCREEN_WIDTH*2);
- test->setBackground(BG_FOREST);
- test->setBGM("assets/music/embark.wav");
-
- test->addHole(100,150);
- test->addLayer(400);
-
- playerSpawnHill=new World();
- playerSpawnHill->setBackground(BG_FOREST);
- playerSpawnHill->setBGM("assets/music/embark.wav");
-
- /*if((load=fopen("world.dat","rb"))){
- playerSpawnHill->load(load);
- fclose(load);
- }else{*/
- playerSpawnHill->generateFunc(1280,playerSpawnHillFunc);
- //}
-
- /*
- * Setup the current world, making the player initially spawn in `test`.
- */
-
- currentWorld=playerSpawnHill;
-
- playerSpawnHill->toRight=test;
- test->toLeft=playerSpawnHill;
-
- /*
- * Create the player.
- */
+
+ worldSpawnHill1 = new World();
+ worldSpawnHill1->generateFunc(400,gen_worldSpawnHill1);
+ worldSpawnHill1->setBackground(BG_FOREST);
+ worldSpawnHill1->setBGM("assets/music/embark.wav");
+ worldSpawnHill1->addMob(MS_TRIGGER,0,0,worldSpawnHill1_hillBlock);
+
+ worldSpawnHill2 = new World();
+ worldSpawnHill2->generate(700);
+ worldSpawnHill2->setBackground(BG_FOREST);
+ worldSpawnHill2->setBGM("assets/music/embark.wav");
+ worldSpawnHill2->addMob(MS_TRIGGER,-400,0,worldSpawnHill2_infoSprint);
- player=new Player();
- player->spawn(-1000,200);
+ worldSpawnHill3 = new World();
+ worldSpawnHill3->generateFunc(1000,gen_worldSpawnHill3);
+ worldSpawnHill3->setBackground(BG_FOREST);
+ worldSpawnHill3->setBGM("assets/music/embark.wav");
+ worldSpawnHill3->addMob(MS_TRIGGER,-500,0,worldSpawnHill3_itemGet);
+ worldSpawnHill3->addMob(MS_TRIGGER,0,0,worldSpawnHill3_itemSee);
- worldSpawnHill3->addObject(TEST_ITEM,false,"",-200,300);
++ worldSpawnHill3->addObject(FLASHLIGHT,false,"",-200,300);
+ worldSpawnHill3->addMob(MS_TRIGGER,400,0,worldSpawnHill3_leave);
+ worldSpawnHill3->addHole(800,1000);
- /*
- * Create a structure (this will create villagers when spawned).
- */
+ worldSpawnHill1->toRight = worldSpawnHill2;
+ worldSpawnHill2->toLeft = worldSpawnHill1;
- iw=new IndoorWorld();
- iw->setBackground(BG_WOODHOUSE);
- iw->generate(200);
- iw->addMob(MS_TRIGGER,0,0,CUTSCENEEE2);
+ worldSpawnHill2->toRight = worldSpawnHill3;
+ worldSpawnHill3->toLeft = worldSpawnHill2;
- /*
- * Spawn some entities.
- */
-
- playerSpawnHill->addMob(MS_TRIGGER,player->loc.x,0,story);
-
- playerSpawnHill->addStructure(STRUCTURET,(rand()%120*HLINE),100,test,iw);
- playerSpawnHill->addMob(MS_TRIGGER,-1300,0,CUTSCENEEE);
+ currentWorld = worldSpawnHill1;
- playerSpawnHill->addObject(SWORD_WOOD, false, "", 480,200);
- playerSpawnHill->addObject(FLASHLIGHT, false, "", 500,200);
- playerSpawnHill->addObject(PLAYER_BAG, false, "", 520,200);
- playerSpawnHill->addObject(TEST_ITEM, false, "", 540,200);
+ player = new Player();
+ player->spawn(200,100);
- test->addMob(MS_RABBIT,200,100);
- test->addMob(MS_BIRD,-500,500);
+ currentWorld->bgmPlay(NULL);
- playerSpawnHill->npc[0]->addAIFunc(giveTestQuest,false);
-
- currentWorld->bgmPlay();
atexit(destroyEverything);
}