Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "demo.h"
- #include "ng/csncAPI.h"
- #include "fmodex/music.h"
- // scene predefs
- int i_s01_city();
- int p_s01_city(float t);
- int d_s01_city();
- int i_s01_text();
- int p_s01_text(float t);
- int d_s01_text();
- int i_s02_nemtom();
- int p_s02_nemtom(float t);
- int d_s02_nemtom();
- int i_s03_greet();
- int p_s03_greet(float t);
- int d_s03_greet();
- int i_whtfade();
- int p_whtfade(float t);
- int d_whtfade();
- int i_overlay();
- int p_overlay(float t);
- int d_overlay();
- namespace {
- FWutils::package* PKFile;
- void lameLoadingScreen(){
- FWtexture::bitmap *bmp = new FWtexture::bitmap ();
- array_t<unsigned char> data;
- FWstorage::texture tex;
- FWrender::sprite kacsa;
- PKFile->getFile("textures/loader.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(&tex);
- kacsa.setTexID(tex.id);
- kacsa.setPosMode(0);
- kacsa.setSize(256, 256);
- kacsa.setPos(FWrender::getWidth()/2-128, FWrender::getHeight()/2-128);
- for (int i=0; i<2; i++){
- FWrender::clearScene(0.0, 0.0, 0.0, 1.0);
- kacsa.draw();
- FWrender::flush();
- }
- delete bmp;
- }
- inline void showsprite(float t, float start, float xf_time, float sh_time, FWrender::sprite *__sprite__){
- if ((t>start-xf_time) && (t<start)){ //in
- float tx = (t-(start-xf_time)) / (xf_time);
- float ax = tx*tx;
- __sprite__->setAlpha(ax);
- } else if ((t>start+sh_time) && (t<start+sh_time+xf_time)){
- float tx = (t-(start+sh_time)) / (xf_time);
- float ax = tx*tx;
- __sprite__->setAlpha(1.0-ax);
- } else {
- __sprite__->setAlpha(1.0);
- }
- if ((t>start-xf_time) && (t<start+sh_time+xf_time)){
- __sprite__->draw();
- }
- }
- }
- void demo_main(){
- PKFile = new FWutils::package("mao.pak");
- // SCENES
- // 01
- FWcore::C_ML->pushEvent(0, 13.751, i_s01_city, p_s01_city, d_s01_city);
- FWcore::C_ML->pushEvent(13.751, 120.0, i_s02_nemtom, p_s02_nemtom, d_s02_nemtom);
- FWcore::C_ML->pushEvent(0, 30.000, i_s01_text, p_s01_text, d_s01_text);
- // 02
- FWcore::C_ML->pushEvent(81.000, 120.0, i_s03_greet, p_s03_greet, d_s03_greet);
- // OTHER
- FWcore::C_ML->pushEvent(13.751, 120.0, i_overlay, p_overlay, d_overlay);
- FWcore::C_ML->pushEvent(11.431, 120.0, i_whtfade, p_whtfade, d_whtfade);
- // ..
- lameLoadingScreen();
- FWcore::C_ML->fetchInit();
- array_t<unsigned char> music_data = PKFile->getFile("sfx/mao.mp3");
- music musplay(music_data.data, music_data.size);
- //musplay.play();
- FWcore::C_ML->startTimer();
- while (FWcore::C_ML->getEOP()){
- FWcore::C_ML->play();
- FWrender::flush();
- }
- musplay.stop();
- delete PKFile;
- }
- ////////////////////////////////////////////////////////
- // Scenes
- namespace data{ // add some data
- //#include "data/cbm64font.h"
- //#include "data/c64palette.h"
- }
- #define SCREEN_CENTER 0.888888
- namespace {
- FWstorage::texture *IRlogo,
- *IRpresents,
- *title,
- *IRcode,
- *IRgfx,
- *IRmus,
- *IRtitle,
- *sky_1_top,
- *sky_1_bottom,
- *sky_1_left,
- *sky_1_right,
- *sky_1_front,
- *sky_1_back;
- FWrender::sprite *IRlogo_sprite,
- *IRpresents_sprite,
- *title_s,
- *IRcode_s,
- *IRgfx_s,
- *IRmus_s,
- *IRtitle_s;
- FWrender::skybox *skybox_1;
- FWutils::bezierCamera *bcam1;
- FWrender::shader *shader1;
- FWstorage::objectArray *varos1;
- FWstorage::light *night;
- const float xfade_time = 0.25;
- const float show_time = 1.5;
- }
- int i_s01_city(){
- try{
- FWtexture::bitmap *bmp = new FWtexture::bitmap ();
- array_t<unsigned char> data;
- //FWstorage::texture skytex;
- //skytex.props.generateMipmap = false;
- //skytex.props.magFilter = FWrender::TF_LINEAR;
- //skytex.props.minFilter = FWrender::TF_LINEAR;
- sky_1_top = new FWstorage::texture();
- sky_1_bottom = new FWstorage::texture();
- sky_1_left = new FWstorage::texture();
- sky_1_right = new FWstorage::texture();
- sky_1_front = new FWstorage::texture();
- sky_1_back = new FWstorage::texture();
- //sky_1_top = &skytex;
- //sky_1_bottom = &skytex;
- //sky_1_left = &skytex;
- //sky_1_right = &skytex;
- //sky_1_front = &skytex;
- //sky_1_back = &skytex;
- {
- PKFile->getFile("textures/sky_01_top.jpg", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(sky_1_top);
- //bmp->saveImage("anyad.bmp", 1);
- PKFile->getFile("textures/sky_01_bottom.jpg", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(sky_1_bottom);
- PKFile->getFile("textures/sky_01_left.jpg", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(sky_1_left);
- PKFile->getFile("textures/sky_01_right.jpg", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(sky_1_right);
- PKFile->getFile("textures/sky_01_front.jpg", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(sky_1_front);
- PKFile->getFile("textures/sky_01_back.jpg", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(sky_1_back);
- skybox_1 = new FWrender::skybox(
- sky_1_top->id,
- sky_1_bottom->id,
- sky_1_left->id,
- sky_1_right->id,
- sky_1_front->id,
- sky_1_back->id );
- }
- bcam1 = new FWutils::bezierCamera();
- //bcam1->setCenter(-9.0, .4, -5.0);
- bcam1->setUp(1, 0, 0);
- bcam1->setTimeInterval(0.0, 13.751);
- bcam1->eyePath.addPoint(vec3float(-10.0, 1.0, -5.0)); // start
- bcam1->eyePath.addPoint(vec3float(5.0, 1.0, -5.0));
- bcam1->eyePath.addPoint(vec3float(5.0, 1.0, -10.0));
- bcam1->eyePath.addPoint(vec3float(5.0, 1.0, -10.0));
- bcam1->eyePath.addPoint(vec3float(10.0, 6.0, -10.0)); //end
- bcam1->setLockCenter(true);
- //varos1 = new FWstorage::objectArray();
- //PKFile->getFile("models/varos1.3ds", data);
- //FWmodel::model3ds model_load(data.data, data.size);
- //model_load.setObjArrayP(varos1);
- //model_load.parse(); !!!!!!!!!!!!!!!!!!!
- //varos1->build(); !!!!!!!!!!!!!!!!!!!!!!!!!!!!
- delete bmp;
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int p_s01_city(float t){
- try{
- //FWrender::switchBlend(true);
- //FWrender::setBlend(FWrender::BC_DST_ALPHA, FWrender::BC_ONE_MINUS_SRC_ALPHA);
- FWrender::clearScene(0.0, 0.0, 0.0, 1.0);
- bcam1->renderCam(t, false);
- bcam1->lookAtScene();
- skybox_1->draw();
- //varos1->identity();
- //varos1->scale(.2, .2, .2);
- //varos1->rotate(90,0,1,0);
- //varos1->rotate(90,0,0,1);
- //varos1->draw();
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int d_s01_city(){
- delete varos1;
- delete skybox_1;
- return 0;
- }
- int i_s01_text () {
- try {
- FWtexture::bitmap *bmp = new FWtexture::bitmap ();
- array_t<unsigned char> data;
- PKFile->getFile("textures/ir_duck.png", data);
- bmp->loadMemImage(data.data, data.size);
- FWstorage::texture alap;
- alap.props.generateMipmap = false;
- alap.props.magFilter = FWrender::TF_LINEAR;
- alap.props.minFilter = FWrender::TF_LINEAR;
- IRlogo = new FWstorage::texture();
- IRlogo->set(&alap);
- IRlogo_sprite = new FWrender::sprite();
- bmp->genOGLTexture(IRlogo);
- IRlogo_sprite->setTexID(IRlogo->id);
- IRpresents = new FWstorage::texture();
- IRpresents->set(&alap);
- PKFile->getFile("textures/ir_pres.png", data);
- bmp->loadMemImage(data.data, data.size);
- IRpresents_sprite= new FWrender::sprite();
- bmp->genOGLTexture(IRpresents);
- IRpresents_sprite->setTexID(IRpresents->id);
- IRcode = new FWstorage::texture();
- IRcode->set(&alap);
- PKFile->getFile("textures/cred_code.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(IRcode);
- IRgfx = new FWstorage::texture();
- IRgfx->set(&alap);
- PKFile->getFile("textures/cred_gfx.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(IRgfx);
- IRtitle = new FWstorage::texture();
- IRtitle->set(&alap);
- PKFile->getFile("textures/title.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(IRtitle);
- IRmus = new FWstorage::texture();
- IRmus->set(&alap);
- PKFile->getFile("textures/cred_music.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(IRmus);
- IRtitle_s = new FWrender::sprite();
- IRtitle_s->setTexID(IRtitle->id);
- IRtitle_s->setSize(.75, .75);
- IRtitle_s->setPos(SCREEN_CENTER-.1875, 0.175);
- IRcode_s = new FWrender::sprite();
- IRcode_s->setTexID(IRcode->id);
- IRcode_s->setSize(.5, .5);
- IRcode_s->setPos(SCREEN_CENTER+.125, 1.0-.575);
- IRgfx_s = new FWrender::sprite();
- IRgfx_s->setTexID(IRgfx->id);
- IRgfx_s->setSize(.5, .5);
- IRgfx_s->setPos(SCREEN_CENTER+.125, 1.0-.575);
- IRmus_s = new FWrender::sprite();
- IRmus_s->setTexID(IRmus->id);
- IRmus_s->setSize(.5, .5);
- IRmus_s->setPos(SCREEN_CENTER+.125, 1.0-.575);
- delete bmp;
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int p_s01_text(float t){
- try {
- //FWrender::setShadingModel(FWrender::SH_SMOOTH);
- //FWrender::clearScene();
- FWrender::mat_LoadIdentity();
- float scale = 1.0;
- if (t<0.5){
- float tx = t/(.5);
- IRlogo_sprite->setAlpha(tx*tx);
- scale = 1.0 + 1.5*((1.0-tx)*(1.0-tx));
- IRlogo_sprite->setSize(.75*scale, .75*scale);
- IRlogo_sprite->setPos(SCREEN_CENTER-(0.375*scale), .5+(-.375*scale));
- } else if ((t>6.658) && (t<7.158)){
- float tx = (t-6.658)/(7.158-6.658);
- float ta = tx*tx;
- float tb = ta*ta;
- IRlogo_sprite->setAlpha(1-ta);
- IRlogo_sprite->setPos(SCREEN_CENTER-(0.375*scale)-.2*tb, .5+(-.375*scale));
- IRpresents_sprite->setSize(.75, .75);
- IRpresents_sprite->setAlpha(ta);
- IRpresents_sprite->setPos(.5+SCREEN_CENTER-(0.375*scale)-.5*tb, .5+(-.375*scale));
- } else {
- IRlogo_sprite->setPos(SCREEN_CENTER-(0.375*scale), .5+(-.375*scale));
- IRlogo_sprite->setAlpha(1.0);
- IRlogo_sprite->setSize(.75, .75);
- }
- if (t<7.158) IRlogo_sprite->draw();
- if ((t>6.658) && (t<13.761)) IRpresents_sprite->draw();
- //title
- showsprite (t, 13.770, .5, 12.431, IRtitle_s);
- // credits
- showsprite (t, 16.740, .5, 2.485, IRcode_s);
- showsprite (t, 19.746, .5, 3.331, IRmus_s);
- showsprite (t, 23.598, .5, 2.461, IRgfx_s);
- } catch (FWerror::error_handler_t e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return (int)e;
- }
- return 0;
- }
- int d_s01_text() {
- //try {
- delete IRlogo_sprite;
- delete IRlogo;
- delete IRpresents_sprite;
- delete IRpresents;
- delete IRcode_s;
- delete IRgfx_s;
- delete IRmus_s;
- delete IRcode;
- delete IRgfx;
- delete IRmus;
- return 0;
- }
- namespace {
- FWstorage::texture *sky_2_top,
- *sky_2_bottom,
- *sky_2_left,
- *sky_2_right,
- *sky_2_front,
- *sky_2_back;
- FWrender::skybox *skybox_2;
- FWstorage::objectArray *probakocka;
- FWutils::bezierCamera *bcam2;
- FWstorage::light *l_global1;
- FWrender::shader *s_shader;
- FWstorage::material *villog_mat;
- FWstorage::material *villog2;
- int *villog_kocka_id, *villog_kocka_offs;
- int *eye_offs, *cent_offs;
- }
- namespace data{
- #include "data/ref.h"
- #include "data/camera.h"
- }
- int i_s02_nemtom(){
- try{
- FWtexture::bitmap *bmp = new FWtexture::bitmap ();
- array_t<unsigned char> data, data2;
- //FWstorage::texture skytex;
- //sky_2_top = new FWstorage::texture();
- //sky_2_bottom = new FWstorage::texture();
- //sky_2_left = new FWstorage::texture();
- //sky_2_right = new FWstorage::texture();
- //sky_2_front = new FWstorage::texture();
- //sky_2_back = new FWstorage::texture();
- //{
- // PKFile->getFile("textures/sky_02_top.jpg", data);
- // bmp->loadMemImage(data.data, data.size);
- // bmp->genOGLTexture(sky_2_top);
- // PKFile->getFile("textures/sky_02_bottom.jpg", data);
- // bmp->loadMemImage(data.data, data.size);
- // bmp->genOGLTexture(sky_2_bottom);
- // PKFile->getFile("textures/sky_02_left.jpg", data);
- // bmp->loadMemImage(data.data, data.size);
- // bmp->genOGLTexture(sky_2_left);
- //
- // PKFile->getFile("textures/sky_02_right.jpg", data);
- // bmp->loadMemImage(data.data, data.size);
- // bmp->genOGLTexture(sky_2_right);
- // PKFile->getFile("textures/sky_02_front.jpg", data);
- // bmp->loadMemImage(data.data, data.size);
- // bmp->genOGLTexture(sky_2_front);
- // PKFile->getFile("textures/sky_02_back.jpg", data);
- // bmp->loadMemImage(data.data, data.size);
- // bmp->genOGLTexture(sky_2_back);
- // skybox_2 = new FWrender::skybox(
- // sky_2_top->id,
- // sky_2_bottom->id,
- // sky_2_left->id,
- // sky_2_right->id,
- // sky_2_front->id,
- // sky_2_back->id );
- //}
- bcam2 = new FWutils::bezierCamera();
- bcam2->setUp(0, 0, 1);
- //bcam2->setCenter(vec3float(-21.104, 0, 71.881));
- //bcam2->setEye(vec3float(120.604, 100, 115.2));
- probakocka = new FWstorage::objectArray();
- PKFile->getFile("models/kocka.3ds", data);
- FWmodel::model3ds model_load(data.data, data.size);
- model_load.setObjArrayP(probakocka);
- model_load.parse();
- probakocka->build();
- l_global1 = new FWstorage::light();
- l_global1->setColors(
- 179.0/255.0, 212.0/256.0, 254.0/256.0,
- 241.0/256.0, 247.0/256.0, 255.0/256.0,
- 1.0, 1.0, 1.0
- );
- l_global1->setPosition(-50, 0, 0);
- s_shader = new FWrender::shader();
- PKFile->getFile("fx/basic.vert", data);
- PKFile->getFile("fx/pointlight.frag", data2);
- s_shader->createFromMemory(FWrender::SHADER_PROFILE_both, (const char*)data.data, (const char*)data2.data);
- villog_mat = new FWstorage::material();
- villog2 = new FWstorage::material[data::pornsize];
- villog_kocka_id = new int[data::pornsize];
- for (int i=0; i<data::pornsize; i++) {
- villog_kocka_id[i] = probakocka->searchByName(data::names[i].c_str());
- villog2[i] = probakocka->models[villog_kocka_id[i]]->materialArray.data[0];
- }
- villog_kocka_offs = new int [data::pornsize];
- int a = 0;
- for (int i=0; i<data::pornsize; i++){
- villog_kocka_offs[i] = a;
- a += data::ranges[i];
- }
- delete bmp;
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int p_s02_nemtom(float t){
- try{
- FWrender::setShadingModel(FWrender::SH_FLAT);
- FWrender::clearScene(1.0, 1.0, 1.0, 1.0);
- //bcam2->renderCam(t, false);
- for (int i=0; i<data::mennyi_van; i++){
- float trig = data::camera[7*i+0];
- if ((t>trig) && (t<trig+2.0)){
- vec3float e, c;
- e.set(data::camera[7*i+1], data::camera[7*i+2], data::camera[7*i+3]);
- c.set(data::camera[7*i+4], data::camera[7*i+5], data::camera[7*i+6]);
- //glLoadIdentity();
- /*gluLookAt(data::camera[7*i+1], data::camera[7*i+2], data::camera[7*i+3],
- data::camera[7*i+4], data::camera[7*i+5], data::camera[7*i+6], 0, 0, 1);
- */
- bcam2->setEye(e); bcam2->setCenter(c);
- }
- }
- //bcam2->calculateNormal();
- bcam2->lookAtScene();
- //skybox_2->draw();
- s_shader->bind();
- probakocka->identity();
- probakocka->rotate(.5*t, 0,1,0);
- if (t>54.872){ probakocka->identity(); probakocka->rotate(-5*t, 0,1,0); }
- for (int i= 0; i<data::pornsize; i++){
- int curr_id = villog_kocka_id[i];
- int seg_siz = data::ranges[i];
- int seg_str = villog_kocka_offs[i];
- for (int j=0; j<seg_siz; j++){
- float start = data::ref[seg_str+j];
- float xf_time = .25;
- if ((t>start) && (t<start+xf_time)){
- float tx = (t-(start)) / (xf_time);
- float ax = tx*tx;
- probakocka->models.data[curr_id]->materialArray.data[0].ambient.set(
- (1.0-ax)+villog2[i].ambient.r,
- (1.0-ax)+villog2[i].ambient.g,
- (1.0-ax)+villog2[i].ambient.b,
- 1.0
- );
- probakocka->models.data[curr_id]->materialArray.data[0].diffusal.set(
- (1.0-ax)+villog2[i].diffusal.r,
- (1.0-ax)+villog2[i].diffusal.g,
- (1.0-ax)+villog2[i].diffusal.b,
- 1.0
- );
- }
- }
- }
- probakocka->draw();
- s_shader->unbind();
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int d_s02_nemtom(){
- delete skybox_2;
- delete l_global1;
- delete s_shader;
- return 0;
- }
- namespace {
- FWstorage::texture *greet_cns_t,
- *greet_rbs_t,
- *greet_uf_t,
- *greet_m6k_t,
- *greet_tbs_t,
- *greet_lgfx_t,
- *greet_darklite_t,
- *greet_exd_t,
- *fn11_t;
- FWrender::sprite *greet_cns,
- *greet_rbs,
- *greet_uf,
- *greet_m6k,
- *greet_tbs,
- *greet_lgfx,
- *greet_darklite,
- *greet_exd,
- *fn11;
- }
- int i_s03_greet(){
- try {
- FWtexture::bitmap *bmp = new FWtexture::bitmap ();
- array_t<unsigned char> data;
- greet_cns_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_cns.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_cns_t);
- greet_rbs_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_rebels.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_rbs_t);
- greet_uf_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_uf.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_uf_t);
- greet_m6k_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_mu6k.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_m6k_t);
- greet_tbs_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_tbs.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_tbs_t);
- greet_lgfx_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_lgfx.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_lgfx_t);
- greet_darklite_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_darklite.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_darklite_t);
- greet_exd_t = new FWstorage::texture;
- PKFile->getFile("textures/greet_exd.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(greet_exd_t);
- fn11_t = new FWstorage::texture;
- PKFile->getFile("textures/function.png", data);
- bmp->loadMemImage(data.data, data.size);
- bmp->genOGLTexture(fn11_t);
- greet_cns = new FWrender::sprite;
- greet_cns->setTexID(greet_cns_t->id);
- greet_cns->setSize(.4, .4);
- greet_cns->setPos(1.7777-.4, 1.0-.4);
- greet_rbs = new FWrender::sprite;
- greet_rbs->setTexID(greet_rbs_t->id);
- greet_rbs->setSize(.4, .4);
- greet_rbs->setPos(1.7777-.4, 1.0-.4);
- greet_uf= new FWrender::sprite;
- greet_uf->setTexID(greet_uf_t->id);
- greet_uf->setSize(.4, .4);
- greet_uf->setPos(1.7777-.4, 1.0-.4);
- greet_m6k= new FWrender::sprite;
- greet_m6k->setTexID(greet_m6k_t->id);
- greet_m6k->setSize(.4, .4);
- greet_m6k->setPos(1.7777-.4, 1.0-.4);
- greet_tbs= new FWrender::sprite;
- greet_tbs->setTexID(greet_tbs_t->id);
- greet_tbs->setSize(.4, .4);
- greet_tbs->setPos(1.7777-.4, 1.0-.4);
- greet_lgfx= new FWrender::sprite;
- greet_lgfx->setTexID(greet_lgfx_t->id);
- greet_lgfx->setSize(.4, .4);
- greet_lgfx->setPos(1.7777-.4, 1.0-.4);
- greet_darklite= new FWrender::sprite;
- greet_darklite->setTexID(greet_darklite_t->id);
- greet_darklite->setSize(.4, .4);
- greet_darklite->setPos(1.7777-.4, 1.0-.4);
- greet_exd= new FWrender::sprite;
- greet_exd->setTexID(greet_exd_t->id);
- greet_exd->setSize(.4, .4);
- greet_exd->setPos(1.7777-.4, 1.0-.4);
- fn11= new FWrender::sprite;
- fn11->setTexID(fn11_t->id);
- fn11->setPos(SCREEN_CENTER-.5, 0);
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int p_s03_greet(float t){
- try {
- showsprite (t, 82.278, .4, 3.177, greet_cns);
- showsprite (t, 85.855, .4, 2.970, greet_rbs);
- showsprite (t, 89.229, .4, 3.020, greet_uf);
- showsprite (t, 92.681, .4, 3, greet_m6k);
- showsprite (t, 96.105, .4, 3.015, greet_tbs);
- showsprite (t, 99.540, .4, 3.028, greet_lgfx);
- showsprite (t, 102.988, .4, 3, greet_darklite);
- showsprite (t, 106.365, .4, 3, greet_exd);
- showsprite (t, 109.801, 1, 5, fn11);
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int d_s03_greet(){
- return 0;
- }
- namespace {
- FWrender::sprite *wht_xfade,
- *brown_ovly,
- *stripe_ovly,
- *br_fd_s;
- FWstorage::texture *brown_,
- *stripe_,
- *br_fd,
- *bk_fd;
- }
- int i_whtfade(){
- try {
- wht_xfade = new FWrender::sprite();
- wht_xfade->setSize(1.77778, 1.0);
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int p_whtfade(float t){
- //fade in
- float alpha = 0.0;
- if ((t<=13.751) && (t>11.431)){
- float tx = (t - 11.431) / (13.751-11.431);
- alpha = tx*tx*tx;
- } else if ((t>13.751) && (t<14.541)){
- float tx = (t - 13.751) / (14.541 - 13.751);
- alpha = 1.0 - tx*tx*tx;
- }
- if (t>=116){
- float tx = (t - 116) / (4);
- alpha = tx*tx*tx;
- wht_xfade->setColor(0, 0, 0, 1);
- }
- wht_xfade->setAlpha(alpha);
- wht_xfade ->draw();
- return 0;
- }
- int d_whtfade(){
- delete wht_xfade;
- return 0;
- }
- int i_overlay(){
- try {
- FWtexture::bitmap *bmp = new FWtexture::bitmap ();
- array_t<unsigned char> data;
- PKFile->getFile("textures/gradient_overlay.png", data);
- bmp->loadMemImage(data.data, data.size);
- brown_ = new FWstorage::texture();
- brown_->props.generateMipmap = false;
- brown_->props.magFilter = FWrender::TF_LINEAR;
- brown_->props.minFilter = FWrender::TF_LINEAR;
- brown_ovly = new FWrender::sprite();
- bmp->genOGLTexture(brown_);
- brown_ovly->setTexID(brown_->id);
- brown_ovly->setSize(1.77778, 1.0);
- delete bmp;
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int p_overlay(float t){
- try {
- brown_ovly->setAlpha(1.0);
- if (t>108.669){
- float tx = t-108.669 / 2;
- float ax = tx*tx;
- brown_ovly->setAlpha(1.0-ax);
- }
- brown_ovly->draw();
- } catch (int e){
- MessageBox (HWND_DESKTOP, FWerror::translateMessage(e), "Engine halted", MB_OK | MB_ICONEXCLAMATION);
- printf("%s", FWerror::translateMessage(e));
- return e;
- }
- return 0;
- }
- int d_overlay(){
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement