Mercurial > hg > Members > kono > Cerium
changeset 407:2bf71fc10ed1
merge
author | game@henri.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Wed, 23 Sep 2009 13:01:32 +0900 |
parents | 25f44290b8a9 (diff) d47c5d865970 (current diff) |
children | edfde944672a |
files | TaskManager/Test/test_render/Button.cpp TaskManager/Test/test_render/Camera.cpp TaskManager/Test/test_render/Joystick.cpp TaskManager/Test/test_render/Keyboard.cpp TaskManager/Test/test_render/Pad.cpp TaskManager/Test/test_render/SceneGraph.cpp TaskManager/Test/test_render/SceneGraphIterator.cpp TaskManager/Test/test_render/SceneGraphRoot.cpp TaskManager/Test/test_render/SpanC.cpp TaskManager/Test/test_render/TextureHash.cpp TaskManager/Test/test_render/back_action.cpp TaskManager/Test/test_render/back_action.h TaskManager/Test/test_render/ball_action.cpp TaskManager/Test/test_render/ball_action.h TaskManager/Test/test_render/ball_bound.cpp TaskManager/Test/test_render/base64_de.cpp TaskManager/Test/test_render/boss1_action.cpp TaskManager/Test/test_render/boss1_action.h TaskManager/Test/test_render/bullet_action.cpp TaskManager/Test/test_render/bullet_action.h TaskManager/Test/test_render/camera_action.cpp TaskManager/Test/test_render/camera_action.h TaskManager/Test/test_render/chain.cpp TaskManager/Test/test_render/cube.cpp TaskManager/Test/test_render/cube_action.cpp TaskManager/Test/test_render/demonstration.h TaskManager/Test/test_render/direction.cpp TaskManager/Test/test_render/enemy_action.cpp TaskManager/Test/test_render/enemy_action.h TaskManager/Test/test_render/game_over.cpp TaskManager/Test/test_render/gaplant.cpp TaskManager/Test/test_render/gaplant.h TaskManager/Test/test_render/gaplant_action.cpp TaskManager/Test/test_render/gaplant_action.h TaskManager/Test/test_render/hit_judge.cpp TaskManager/Test/test_render/hit_judge.h TaskManager/Test/test_render/icon.png TaskManager/Test/test_render/ieshoot.cpp TaskManager/Test/test_render/init_position.cpp TaskManager/Test/test_render/lindaapi.cpp TaskManager/Test/test_render/long_cube.cpp TaskManager/Test/test_render/main.cpp TaskManager/Test/test_render/node.cpp TaskManager/Test/test_render/panel.cpp TaskManager/Test/test_render/player_action.cpp TaskManager/Test/test_render/player_action.h TaskManager/Test/test_render/polygon.cpp TaskManager/Test/test_render/post.cpp TaskManager/Test/test_render/show_time.cpp TaskManager/Test/test_render/sys.cpp TaskManager/Test/test_render/task/CreatePolygon.cpp TaskManager/Test/test_render/task/CreatePolygonFromSceneGraph.cpp TaskManager/Test/test_render/task/CreateSpan.cpp TaskManager/Test/test_render/task/DrawBack.cpp TaskManager/Test/test_render/task/DrawSpan.cpp TaskManager/Test/test_render/task/DrawSpanRenew.cpp TaskManager/Test/test_render/task/Load_Texture.cpp TaskManager/Test/test_render/task/Set_Texture.cpp TaskManager/Test/test_render/task/ShowTime.cpp TaskManager/Test/test_render/task/TileHash.cpp TaskManager/Test/test_render/task/create_sgp.cpp TaskManager/Test/test_render/task/create_sgp.hpp TaskManager/Test/test_render/task/dummy.cpp TaskManager/Test/test_render/task/dummy.hpp TaskManager/Test/test_render/task/task_init.cc TaskManager/Test/test_render/task/task_init.cpp TaskManager/Test/test_render/task/update_sgp.cpp TaskManager/Test/test_render/task/update_sgp.hpp TaskManager/Test/test_render/texture.cpp TaskManager/Test/test_render/title.cpp TaskManager/Test/test_render/triangle.cpp TaskManager/Test/test_render/universe.cpp TaskManager/Test/test_render/untitled.cpp TaskManager/Test/test_render/vacuum.cpp TaskManager/Test/test_render/vacuum.h TaskManager/Test/test_render/vertex.cpp TaskManager/Test/test_render/viewer.cc TaskManager/Test/test_render/viewer.cpp TaskManager/Test/test_render/viewerFB.cpp TaskManager/Test/test_render/viewerSDL.cpp TaskManager/Test/test_render/viewer_types.cpp TaskManager/Test/test_render/xml.cpp |
diffstat | 5 files changed, 110 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/TaskManager/Test/test_render/Func.h Wed Sep 23 12:36:36 2009 +0900 +++ b/TaskManager/Test/test_render/Func.h Wed Sep 23 13:01:32 2009 +0900 @@ -28,6 +28,7 @@ RUN_FINISH, SHOW_TIME, + SEND_KEY, }; #define DATA_ID 0
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TaskManager/Test/test_render/task/SendKey.cpp Wed Sep 23 13:01:32 2009 +0900 @@ -0,0 +1,11 @@ +#include "SendKey.h" +#include "TaskManager.h" + +SchedDefineTask(SendKey); + +int +SendKey::run(void *rbuf, void *wbuf) +{ + + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TaskManager/Test/test_render/task/SendKey.h Wed Sep 23 13:01:32 2009 +0900 @@ -0,0 +1,13 @@ +#ifndef INCLUDED_TASK_SEND_KEY +#define INCLUDED_TASK_SEND_KEY + +#include "SchedTask.h" + +class SendKey : public SchedTask { +public: + SchedConstructor(SendKey); + + int run(void *r, void *w); +}; + +#endif
--- a/TaskManager/Test/test_render/task/task_init.cc Wed Sep 23 12:36:36 2009 +0900 +++ b/TaskManager/Test/test_render/task/task_init.cc Wed Sep 23 13:01:32 2009 +0900 @@ -20,6 +20,7 @@ SchedExternTask(Dummy); SchedExternTask(ShowTime); +SchedExternTask(SendKey); /** @@ -45,5 +46,7 @@ // SchedRegisterTask(TASK_DRAW, Draw); SchedRegisterTask(TASK_DUMMY, Dummy); + SchedRegisterTask(SHOW_TIME, ShowTime); + SchedRegisterTask(SEND_KEY, SendKey); }
--- a/TaskManager/Test/test_render/viewer.cc Wed Sep 23 12:36:36 2009 +0900 +++ b/TaskManager/Test/test_render/viewer.cc Wed Sep 23 13:01:32 2009 +0900 @@ -11,10 +11,12 @@ #include <wchar.h> #include "Pad.h" -static void post2runLoop(void *viewer); -static void post2runDraw(void *viewer); +static void post2runLoop(void *viewer_); +static void post2runDraw(void *viewer_); +static void post2speRunLoop(void *viewer_); //static void post2runMove(void *viewer); //static void post2exchange_sgroot(void *viewer); +static void post2speRunLoop(void *viewer_); /* measure for FPS (Frame Per Second) */ @@ -228,10 +230,76 @@ { HTaskPtr task_next = initLoop(); - // post2runLoop は旧バージョン用なので post2runspeLoop の様なものを別につくるべき - task_next->set_post(post2runLoop, (void *)this); // set_post(function(this->run_loop()), NULL) + // post2runLoop は旧バージョン用なので post2speRunLoop の様なものを別につくるべき + task_next->set_post(post2speRunLoop, (void*)this); // set_post(function(this->run_loop()), NULL) task_next->spawn(); // TASK_INIT_TEXTURE が全て終わったら DUMMY_TASK が Viewer::run_loop() を呼ぶ + + /* test */ + HTaskPtr task_switch = manager->create_task(TASK_SWITCH); + task_switch->wait_for(task_next); + task_switch->set_post(post2runMoveDrawLoop, (void*)this); +} + + +static void +post2runMoveDrawLoop(void *viewer_) +{ + Viewer *viewer = (Viewer*)viewer_; + + HTaskPtr send_key_task = viewer->manager->create_task(SEND_KEY); + + HTaskPtr move_task = viewer->manager->create_task(MOVE_TASK); + move_task->add_param(sgroot); + + HTaskPtr draw_task = viewer->manager->create_task(DRAW_TASK); + + HTaskPtr switch_task = viewer->manager->create_task(SWITCH_TASK); + switch_task->wait_for(move_task); + switch_task->wait_for(draw_task); + send_key_task->spawn(); + move_task->spawn(); + draw_task->spawn(); + + switch_task->set_post(post2runMoveDrawLoop, (void*)viewer); + switch_task->spawn(); + +} + +static void +post2speRunLoop(void *viewer_) +{ + Viewer *viewer = viewer_; + HTaskPtr task_next = viewer->manager->create_task(TASK_DUMMY); + viewer->run_move(task_next); +} + +void +Viewer::spe_run_loop() +{ + + bool quit_flg; + quit_flg = quit_check(); + if (quit_flg == true) { + this_time = get_ticks(); + run_finish(); + return; + } + + clean_pixels(); + + for (int i = 1; i <= spackList_length; i++) { + spackList[i-1].reinit(i*split_screen_h); + } + + //run_move(task_next); + sgroot->updateControllerState(); + sgroot->speExecute(width, height); + //sgroot->checkRemove(); + + // ここから下は Rendering という関数にする + rendering(task_next); + } void @@ -265,6 +333,16 @@ } */ +/* +void +Viewer::spe_run_move(HTaskPtr task_next) +{ + HTaskPtr move_task = manager->create_task(MOVE_TASK); + move_task->add_param(sgroot); + task_next->wait_for(move_task); +} +*/ + static void post2runMove(void *viewer_) {