super-tux-commit Mailing List for Super Tux (Page 72)
Brought to you by:
wkendrick
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
(94) |
Apr
(500) |
May
(531) |
Jun
(196) |
Jul
(224) |
Aug
(193) |
Sep
(117) |
Oct
(115) |
Nov
(319) |
Dec
(97) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(19) |
Feb
|
Mar
(105) |
Apr
(41) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
2007 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(4) |
Jul
|
Aug
|
Sep
(7) |
Oct
(12) |
Nov
(26) |
Dec
(39) |
2009 |
Jan
(6) |
Feb
(15) |
Mar
(10) |
Apr
(25) |
May
(29) |
Jun
(21) |
Jul
(26) |
Aug
(8) |
Sep
(3) |
Oct
|
Nov
|
Dec
(10) |
2010 |
Jan
(5) |
Feb
(5) |
Mar
(2) |
Apr
|
May
(5) |
Jun
|
Jul
(1) |
Aug
(2) |
Sep
(2) |
Oct
(2) |
Nov
|
Dec
|
From: Ryan F. <sik...@us...> - 2004-05-10 20:22:01
|
Update of /cvsroot/super-tux/supertux/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25666/data Modified Files: CREDITS Log Message: - fixed Benjamin's name Index: CREDITS =================================================================== RCS file: /cvsroot/super-tux/supertux/data/CREDITS,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- CREDITS 10 May 2004 14:01:08 -0000 1.20 +++ CREDITS 10 May 2004 20:21:51 -0000 1.21 @@ -36,7 +36,7 @@ Christopher A. (paroneayea) Webber - Benjamin (litespeed) Jung + Benjamin P. (litespeed) Jung -Level Design |
From: Tobias Gl??er <to...@us...> - 2004-05-10 20:18:01
|
Update of /cvsroot/super-tux/supertux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24822 Modified Files: TODO Log Message: update Index: TODO =================================================================== RCS file: /cvsroot/super-tux/supertux/TODO,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- TODO 10 May 2004 19:09:03 -0000 1.41 +++ TODO 10 May 2004 20:17:50 -0000 1.42 @@ -20,8 +20,6 @@ menu, wait a bit, leave menu, Tux will 'flip' to the ground, instead of fall, pause mode doesn't seem to have this problem, only menu) -[L] titlescreen level doesn't seamlessly wrap around, might be due to the new - scrolling code or due to the worldmap doing the drawing [L] Backscroll is really messed up right now :) [L] change lispreader to throw exceptions instead of simply assert() on syntax error @@ -78,4 +76,6 @@ - tux can be killed by back bouncing iceblocks in the exit sequence (all enemies should be removed/turned to coins once the exit sequence started) - fixed -- leveleditor crashs when pressing the button with the levelsettings - fixed \ No newline at end of file +- leveleditor crashs when pressing the button with the levelsettings - fixed +- titlescreen level doesn't seamlessly wrap around, might be due to the new + scrolling code or due to the worldmap doing the drawing - fixed \ No newline at end of file |
From: Tobias Gl??er <to...@us...> - 2004-05-10 20:13:13
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23754/src Modified Files: title.cpp Log Message: fixed end of level to begin wrap around in the title demo. Index: title.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/title.cpp,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- title.cpp 7 May 2004 20:48:22 -0000 1.79 +++ title.cpp 10 May 2004 20:13:01 -0000 1.80 @@ -191,8 +191,8 @@ // Wrap around at the end of the level back to the beginnig if(plevel->width * 32 - 320 < tux->base.x) { - tux->base.x = tux->base.x - (plevel->width * 32 - 640); - scroll_x = tux->base.x - 320; + tux->level_begin() + scroll_x = 0; } tux->can_jump = true; |
From: Tobias Gl??er <to...@us...> - 2004-05-10 20:00:34
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20884/src Modified Files: gameloop.cpp timer.cpp timer.h Log Message: minor updates Index: timer.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/timer.h,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- timer.h 26 Apr 2004 19:11:54 -0000 1.14 +++ timer.h 10 May 2004 20:00:22 -0000 1.15 @@ -27,6 +27,7 @@ void st_pause_ticks_init(void); void st_pause_ticks_start(void); void st_pause_ticks_stop(void); +bool st_pause_ticks_started(void); class Timer { Index: gameloop.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/gameloop.cpp,v retrieving revision 1.122 retrieving revision 1.123 diff -u -d -r1.122 -r1.123 --- gameloop.cpp 10 May 2004 19:06:01 -0000 1.122 +++ gameloop.cpp 10 May 2004 20:00:20 -0000 1.123 @@ -188,6 +188,7 @@ else if (!Menu::current()) { Menu::set_current(game_menu); + st_pause_ticks_start(); } } @@ -217,7 +218,8 @@ if (Menu::current()) { Menu::current()->event(event); - st_pause_ticks_start(); + if(!Menu::current()) + st_pause_ticks_stop(); } switch(event.type) @@ -259,7 +261,8 @@ if (Menu::current()) { Menu::current()->event(event); - st_pause_ticks_start(); + if(!Menu::current()) + st_pause_ticks_stop(); } else { Index: timer.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/timer.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- timer.cpp 26 Apr 2004 19:11:54 -0000 1.12 +++ timer.cpp 10 May 2004 20:00:22 -0000 1.13 @@ -53,6 +53,14 @@ st_pause_count = 0; } +bool st_pause_ticks_started(void) +{ +if(st_pause_count == 0) +return false; +else +return true; +} + Timer::Timer() { init(true); |
From: Tobias Gl??er <to...@us...> - 2004-05-10 19:09:13
|
Update of /cvsroot/super-tux/supertux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8357 Modified Files: TODO Log Message: update Index: TODO =================================================================== RCS file: /cvsroot/super-tux/supertux/TODO,v retrieving revision 1.40 retrieving revision 1.41 diff -u -d -r1.40 -r1.41 --- TODO 10 May 2004 12:45:59 -0000 1.40 +++ TODO 10 May 2004 19:09:03 -0000 1.41 @@ -11,9 +11,6 @@ H: high priority L: low priority -[H] background in underground levels scrolls far too slow, makes them - hardly playable, since once too easily get focused on the - background instead of the playfield [H] Frame ratio code has been changed and so the animation may need tuning. Somebody do some testing and change the definitions regarding this. [M] When aborting a level, lives and score should remain the same as they @@ -34,17 +31,11 @@ [L] when bumping a special with 2 blocks at once, it won't change direction [L] tux get killed if he kicks a iceblock while at the same time bouncing on the roof -[L] tux can be killed by back bouncing iceblocks in the exit sequence - (all enemies should be removed/turned to coins once the exit - sequence started) [L] in the "Welcome to Antarctica" level, the blocks next to the first growup look like there are 2 blocks above each other when bumping against them as small tux... -[L] Life counter should be decreased once the die-animation starts, - not when it ends [L] Enemies should turn upside down after being hit by an kicked iceblock -- leveleditor crashs when pressing the button with the levelsettings Stuff for past milestone1: @@ -64,7 +55,7 @@ Fixed ----- -- leveleditor lacks enemies support (will be fixed soon by Tobias) +- leveleditor lacks enemies support - fixed - points aren't reset when gameover - when jumping into the exit with a star, the endgame music will change back to levelmusic after a short time @@ -79,4 +70,12 @@ - sometimes the level restarts/you die after collecing a growup - fixed - mriceblock doesn't disapear after being kicked my another iceblock, not sure when exactly it happens, might depend on direction or so - fixed - +- Life counter should be decreased once the die-animation starts, + not when it ends - fixed +- background in underground levels scrolls far too slow, makes them + hardly playable, since once too easily get focused on the + background instead of the playfield - fixed +- tux can be killed by back bouncing iceblocks in the exit sequence + (all enemies should be removed/turned to coins once the exit + sequence started) - fixed +- leveleditor crashs when pressing the button with the levelsettings - fixed \ No newline at end of file |
From: Tobias Gl??er <to...@us...> - 2004-05-10 19:06:14
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7684/src Modified Files: gameloop.cpp level.cpp leveleditor.cpp player.cpp world.cpp Log Message: Fixed some TODO-list bugs. Index: player.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/player.cpp,v retrieving revision 1.87 retrieving revision 1.88 diff -u -d -r1.87 -r1.88 --- player.cpp 8 May 2004 14:57:07 -0000 1.87 +++ player.cpp 10 May 2004 19:06:02 -0000 1.88 @@ -709,6 +709,8 @@ physic.enable_gravity(true); physic.set_acceleration(0, 0); physic.set_velocity(0, 7); + if(dying != DYING_SQUISHED) + --player_status.lives; dying = DYING_SQUISHED; } } Index: level.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/level.cpp,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- level.cpp 10 May 2004 16:09:49 -0000 1.67 +++ level.cpp 10 May 2004 19:06:02 -0000 1.68 @@ -238,7 +238,7 @@ gravity = 10.; back_scrolling = false; hor_autoscroll_speed = 0; - bkgd_speed = 2; + bkgd_speed = 50; bkgd_top.red = 0; bkgd_top.green = 0; bkgd_top.blue = 0; @@ -320,7 +320,7 @@ hor_autoscroll_speed = 0; reader.read_float("hor_autoscroll_speed", &hor_autoscroll_speed); - bkgd_speed = 2; + bkgd_speed = 50; reader.read_int("bkgd_speed", &bkgd_speed); Index: world.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.cpp,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- world.cpp 10 May 2004 14:38:53 -0000 1.72 +++ world.cpp 10 May 2004 19:06:03 -0000 1.73 @@ -180,7 +180,7 @@ /* Draw the real background */ if(level->img_bkgd) { - int s = (int)((float)scroll_x * ((float)level->bkgd_speed/60.)) % screen->w; + int s = (int)((float)scroll_x * ((float)level->bkgd_speed/100.0f)) % screen->w; level->img_bkgd->draw_part(s, 0,0,0,level->img_bkgd->w - s, level->img_bkgd->h); level->img_bkgd->draw_part(0, 0,screen->w - s ,0,s,level->img_bkgd->h); } Index: gameloop.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/gameloop.cpp,v retrieving revision 1.121 retrieving revision 1.122 diff -u -d -r1.121 -r1.122 --- gameloop.cpp 4 May 2004 16:03:48 -0000 1.121 +++ gameloop.cpp 10 May 2004 19:06:01 -0000 1.122 @@ -424,6 +424,7 @@ last_x_pos = -1; music_manager->play_music(level_end_song, 0); endsequence_timer.start(7000); + tux->invincible_timer.start(7000); //FIXME: Implement a winning timer for the end sequence (with special winning animation etc.) } else if(end_sequence && !endsequence_timer.check()) { @@ -440,11 +441,11 @@ last_x_pos = -1; music_manager->play_music(level_end_song, 0); endsequence_timer.start(7000); // 5 seconds until we finish the map + tux->invincible_timer.start(7000); //FIXME: Implement a winning timer for the end sequence (with special winning animation etc.) } else if (!end_sequence && tux->is_dead()) { player_status.bonus = PlayerStatus::NO_BONUS; - player_status.lives -= 1; if (player_status.lives < 0) { // No more lives!? Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.106 retrieving revision 1.107 diff -u -d -r1.106 -r1.107 --- leveleditor.cpp 10 May 2004 17:04:56 -0000 1.106 +++ leveleditor.cpp 10 May 2004 19:06:02 -0000 1.107 @@ -911,7 +911,7 @@ /* Draw the real background */ if(le_world->get_level()->bkgd_image[0] != '\0') { - s = (int)((float)pos_x * ((float)le_world->get_level()->bkgd_speed/60.)) % screen->w; + s = (int)((float)pos_x * ((float)le_world->get_level()->bkgd_speed/100.0f)) % screen->w; le_world->get_level()->img_bkgd->draw_part(s,0,0,0, le_world->get_level()->img_bkgd->w - s - 32, le_world->get_level()->img_bkgd->h); le_world->get_level()->img_bkgd->draw_part(0,0,screen->w - s - 32 ,0,s, |
From: Tobias Gl??er <to...@us...> - 2004-05-10 17:05:08
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9841/src Modified Files: leveleditor.cpp Log Message: fixed selection of a game_object in IsObject mode Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.105 retrieving revision 1.106 diff -u -d -r1.105 -r1.106 --- leveleditor.cpp 10 May 2004 16:44:37 -0000 1.105 +++ leveleditor.cpp 10 May 2004 17:04:56 -0000 1.106 @@ -1479,12 +1479,19 @@ int i = 0; bool object_got_hit = false; base_type cursor_base; + if(le_current.IsTile()) + { cursor_base.x = cursor_x; cursor_base.y = cursor_y; + } + else if(le_current.IsObject()) + { + cursor_base.x = cursor_x + pos_x; + cursor_base.y = cursor_y + pos_x; + } cursor_base.width = 32; cursor_base.height = 32; - /* if there is a bad guy over there, remove it */ for(std::list<BadGuy*>::iterator it = le_world->bad_guys.begin(); it != le_world->bad_guys.end(); ++it, ++i) if(rectcollision(cursor_base,(*it)->base)) { @@ -1519,6 +1526,7 @@ } } } + le_mouse_clicked[LEFT] = false; } |
From: Tobias Gl??er <to...@us...> - 2004-05-10 16:45:11
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4988/src Modified Files: button.cpp leveleditor.cpp Log Message: fixed visual button bugs. Index: button.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/button.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- button.cpp 10 May 2004 16:09:49 -0000 1.28 +++ button.cpp 10 May 2004 16:44:37 -0000 1.29 @@ -69,7 +69,7 @@ } else icon.push_back(new Surface(filename,USE_ALPHA)); - + } void Button::draw() @@ -82,8 +82,8 @@ fillrect(rect.x+1,rect.y+1,rect.w-2,rect.h-2,175,175,175,200); for(std::vector<Surface*>::iterator it = icon.begin(); it != icon.end(); ++it) - (*it)->draw(rect.x,rect.y); - + (*it)->draw(rect.x,rect.y); + if(game_object != NULL) { game_object->draw_on_screen(rect.x,rect.y); @@ -111,15 +111,15 @@ Button::~Button() { for(std::vector<Surface*>::iterator it = icon.begin(); it != icon.end(); ++it) - delete (*it); + delete (*it); icon.clear(); delete game_object; } void Button::event(SDL_Event &event) { -if(state == BUTTON_DEACTIVE) -return; + if(state == BUTTON_DEACTIVE) + return; SDLKey key = event.key.keysym.sym; @@ -146,20 +146,24 @@ } if(event.button.button == SDL_BUTTON_LEFT) - if(event.type == SDL_MOUSEBUTTONDOWN) - state = BUTTON_PRESSED; - else - state = BUTTON_CLICKED; + if(event.type == SDL_MOUSEBUTTONDOWN) + state = BUTTON_PRESSED; + else + state = BUTTON_CLICKED; } else if(event.type == SDL_MOUSEMOTION) { if(event.motion.x < rect.x || event.motion.x >= rect.x + rect.w || event.motion.y < rect.y || event.motion.y >= rect.y + rect.h) + { state = BUTTON_NONE; + } else + { state = BUTTON_HOVER; + popup_timer.start(1500); + } - popup_timer.start(1500); if(show_info) { show_info = false; @@ -209,17 +213,18 @@ { if(!hidden) { + Button* ret = NULL; for(std::vector<Button*>::iterator it = item.begin(); it != item.end(); ++it) { (*it)->event(event); if((*it)->state != BUTTON_NONE) { if(hlast && (*it)->state == BUTTON_CLICKED) - last_clicked = it; - return (*it); - } + last_clicked = it; + ret = (*it); + } } - return NULL; + return ret; } else { @@ -247,7 +252,7 @@ (*it)->draw(); if(hlast && it == last_clicked) { - fillrect((*it)->get_pos().x,(*it)->get_pos().y,(*it)->get_pos().w,(*it)->get_pos().h,100,100,100,128); + fillrect((*it)->get_pos().x,(*it)->get_pos().y,(*it)->get_pos().w,(*it)->get_pos().h,100,100,100,128); } } } @@ -288,7 +293,7 @@ void ButtonPanel::highlight_last(bool b) { -hlast = b; + hlast = b; } Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.104 retrieving revision 1.105 diff -u -d -r1.104 -r1.105 --- leveleditor.cpp 10 May 2004 16:09:49 -0000 1.104 +++ leveleditor.cpp 10 May 2004 16:44:37 -0000 1.105 @@ -561,7 +561,7 @@ le_tilegroup_bt = new Button("/images/icons/tilegroup.png","Select Tilegroup", SDLK_F7,screen->w-64,64); le_objects_bt = new Button("/images/icons/objects.png","Select Objects", SDLK_F8,screen->w-64,80); le_object_select_bt = new Button("/images/icons/select-one.png","Select an Object", SDLK_s, screen->w - 64, screen->h-98); - le_object_properties_bt = new Button("/images/icons/properties.png","Select an Object", SDLK_p, screen->w - 32, screen->h-98); + le_object_properties_bt = new Button("/images/icons/properties.png","Edit object properties", SDLK_p, screen->w - 32, screen->h-98); le_object_properties_bt->set_active(false); mouse_select_object = new MouseCursor(datadir + "/images/status/select-cursor.png",1); |
From: Tobias Gl??er <to...@us...> - 2004-05-10 16:10:06
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28828/src Modified Files: button.cpp button.h level.cpp leveleditor.cpp mousecursor.cpp mousecursor.h setup.cpp Log Message: Fixed bkgd_speed. Objects properties can be edited now. Fixed level saving issue. Index: mousecursor.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/mousecursor.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- mousecursor.h 20 Apr 2004 11:09:34 -0000 1.5 +++ mousecursor.h 10 May 2004 16:09:49 -0000 1.6 @@ -40,9 +40,15 @@ ~MouseCursor(); int state(); void set_state(int nstate); + void set_mid(int x, int y); void draw(); + static MouseCursor* current() { return current_; }; + static void set_current(MouseCursor* pcursor) { current_ = pcursor; }; + private: + int mid_x, mid_y; + static MouseCursor* current_; int state_before_click; int cur_state; int cur_frame, tot_frames; Index: setup.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/setup.cpp,v retrieving revision 1.78 retrieving revision 1.79 diff -u -d -r1.78 -r1.79 --- setup.cpp 10 May 2004 15:02:26 -0000 1.78 +++ setup.cpp 10 May 2004 16:09:49 -0000 1.79 @@ -601,6 +601,7 @@ /* Load the mouse-cursor */ mouse_cursor = new MouseCursor( datadir + "/images/status/mousecursor.png",1); + MouseCursor::set_current(mouse_cursor); } Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.103 retrieving revision 1.104 diff -u -d -r1.103 -r1.104 --- leveleditor.cpp 10 May 2004 11:48:08 -0000 1.103 +++ leveleditor.cpp 10 May 2004 16:09:49 -0000 1.104 @@ -92,6 +92,8 @@ bool IsTile() { return is_tile; }; //Returns true for a GameObject bool IsObject() { return !is_tile; }; + + void Init() { tile = 0; obj = NULL; is_tile = true; }; bool is_tile; //true for tile (false for object) @@ -129,6 +131,8 @@ static Button* le_settings_bt; static Button* le_tilegroup_bt; static Button* le_objects_bt; +static Button* le_object_select_bt; +static Button* le_object_properties_bt; static ButtonPanel* le_tilemap_panel; static Menu* leveleditor_menu; static Menu* subset_load_menu; @@ -139,11 +143,14 @@ static Menu* select_objects_menu; static Timer select_tilegroup_menu_effect; static Timer select_objects_menu_effect; +static Timer display_level_info; typedef std::map<std::string, ButtonPanel*> ButtonPanelMap; static ButtonPanelMap tilegroups_map; static ButtonPanelMap objects_map; static std::string cur_tilegroup; static std::string cur_objects; +static MouseCursor* mouse_select_object; +static GameObject* selected_game_object; static square selection; static int le_selection_mode; @@ -340,7 +347,7 @@ } } - mouse_cursor->draw(); + MouseCursor::current()->draw(); if(done) { @@ -436,19 +443,18 @@ level_settings_menu->additem(MN_NUMFIELD, "Time ",0,0,MNID_TIME); level_settings_menu->additem(MN_NUMFIELD, "Gravity ",0,0,MNID_GRAVITY); level_settings_menu->additem(MN_NUMFIELD, "Bg-Img-Speed",0,0,MNID_BGSPEED); - level_settings_menu->additem(MN_NUMFIELD, "Top Red ",0,0,MNID_TopRed); - level_settings_menu->additem(MN_NUMFIELD, "Top Green ",0,0,MNID_TopGreen); - level_settings_menu->additem(MN_NUMFIELD, "Top Blue ",0,0,MNID_TopBlue); - level_settings_menu->additem(MN_NUMFIELD, "Bottom Red ",0,0,MNID_BottomRed); + level_settings_menu->additem(MN_NUMFIELD, "Top Red ",0,0,MNID_TopRed); + level_settings_menu->additem(MN_NUMFIELD, "Top Green ",0,0,MNID_TopGreen); + level_settings_menu->additem(MN_NUMFIELD, "Top Blue ",0,0,MNID_TopBlue); + level_settings_menu->additem(MN_NUMFIELD, "Bottom Red ",0,0,MNID_BottomRed); level_settings_menu->additem(MN_NUMFIELD, "Bottom Green",0,0,MNID_BottomGreen); - level_settings_menu->additem(MN_NUMFIELD, "Bottom Blue",0,0,MNID_BottomBlue); + level_settings_menu->additem(MN_NUMFIELD, "Bottom Blue ",0,0,MNID_BottomBlue); level_settings_menu->additem(MN_HL,"",0,0); level_settings_menu->additem(MN_ACTION,"Apply Changes",0,0,MNID_APPLY); select_tilegroup_menu->arrange_left = true; select_tilegroup_menu->additem(MN_LABEL,"Tilegroup",0,0); select_tilegroup_menu->additem(MN_HL,"",0,0); - select_tilegroup_menu->additem(MN_ACTION,"asd",0,0); std::set<TileGroup>* tilegroups = TileManager::tilegroups(); int tileid = 1; for(std::set<TileGroup>::iterator it = tilegroups->begin(); @@ -515,6 +521,7 @@ le_level_subset = new LevelSubset; le_world = NULL; + selected_game_object = NULL; active_tm = TM_IA; le_show_grid = true; @@ -537,10 +544,11 @@ select_tilegroup_menu_effect.init(false); select_objects_menu_effect.init(false); + display_level_info.init(false); /* Load buttons */ le_save_level_bt = new Button("/images/icons/save.png","Save level", SDLK_F6,screen->w-64,32); - le_exit_bt = new Button("/images/icons/exit.png","Exit", SDLK_F9,screen->w-32,32); + le_exit_bt = new Button("/images/icons/exit.png","Exit", SDLK_F10,screen->w-32,32); le_next_level_bt = new Button("/images/icons/up.png","Next level", SDLK_PAGEUP,screen->w-64,0); le_previous_level_bt = new Button("/images/icons/down.png","Previous level",SDLK_PAGEDOWN,screen->w-32,0); le_rubber_bt = new Button("/images/icons/rubber.png","Rubber",SDLK_DELETE,screen->w-32,48); @@ -552,6 +560,12 @@ le_move_right_bt = new Button("/images/icons/right.png","Move right",SDLK_RIGHT,screen->w-80,0); le_tilegroup_bt = new Button("/images/icons/tilegroup.png","Select Tilegroup", SDLK_F7,screen->w-64,64); le_objects_bt = new Button("/images/icons/objects.png","Select Objects", SDLK_F8,screen->w-64,80); + le_object_select_bt = new Button("/images/icons/select-one.png","Select an Object", SDLK_s, screen->w - 64, screen->h-98); + le_object_properties_bt = new Button("/images/icons/properties.png","Select an Object", SDLK_p, screen->w - 32, screen->h-98); + le_object_properties_bt->set_active(false); + + mouse_select_object = new MouseCursor(datadir + "/images/status/select-cursor.png",1); + mouse_select_object->set_mid(16,16); le_tilemap_panel = new ButtonPanel(screen->w-64,screen->h-32,32,32); le_tilemap_panel->set_button_size(32,10); @@ -681,13 +695,15 @@ } delete le_world; - le_level_changed = false; + le_level_changed = false; } void le_goto_level(int levelnb) { le_unload_level(); le_world = new World(le_level_subset->name, levelnb); + display_level_info.start(2500); + le_level = levelnb; } void le_quit(void) @@ -717,6 +733,9 @@ delete le_tilegroup_bt; delete le_objects_bt; delete le_tilemap_panel; + delete le_object_select_bt; + delete le_object_properties_bt; + delete mouse_select_object; delete le_level_subset; le_level_subset = 0; @@ -788,25 +807,25 @@ if(show_minimap) // use_gl because the minimap isn't shown correctly in software mode. Any idea? FIXME Possible reasons: SDL_SoftStretch is a hack itsself || an alpha blitting issue SDL can't handle in software mode le_drawminimap(); - if(show_selections) - { - if(le_selection_mode == CURSOR) - { - if(le_current.IsTile()) - le_selection->draw( cursor_x - pos_x, cursor_y); - } - else if(le_selection_mode == SQUARE) + if(show_selections && MouseCursor::current() != mouse_select_object) { - int w, h; - le_highlight_selection(); - /* draw current selection */ - w = selection.x2 - selection.x1; - h = selection.y2 - selection.y1; - fillrect(selection.x1 - pos_x, selection.y1, w, SELECT_W, SELECT_CLR); - fillrect(selection.x1 - pos_x + w, selection.y1, SELECT_W, h, SELECT_CLR); - fillrect(selection.x1 - pos_x, selection.y1 + h, w, SELECT_W, SELECT_CLR); - fillrect(selection.x1 - pos_x, selection.y1, SELECT_W, h, SELECT_CLR); - } + if(le_selection_mode == CURSOR) + { + if(le_current.IsTile()) + le_selection->draw( cursor_x - pos_x, cursor_y); + } + else if(le_selection_mode == SQUARE) + { + int w, h; + le_highlight_selection(); + /* draw current selection */ + w = selection.x2 - selection.x1; + h = selection.y2 - selection.y1; + fillrect(selection.x1 - pos_x, selection.y1, w, SELECT_W, SELECT_CLR); + fillrect(selection.x1 - pos_x + w, selection.y1, SELECT_W, h, SELECT_CLR); + fillrect(selection.x1 - pos_x, selection.y1 + h, w, SELECT_W, SELECT_CLR); + fillrect(selection.x1 - pos_x, selection.y1, SELECT_W, h, SELECT_CLR); + } } @@ -819,12 +838,20 @@ if(TileManager::instance()->get(le_current.tile)->editor_images.size() > 0) TileManager::instance()->get(le_current.tile)->editor_images[0]->draw( 19 * 32, 14 * 32); } - if(le_current.IsObject()) + if(le_current.IsObject() && MouseCursor::current() != mouse_select_object) { le_current.obj->draw_on_screen(19 * 32, 14 * 32); le_current.obj->draw_on_screen(cursor_x,cursor_y); } + if(mouse_select_object && selected_game_object != NULL) + { + fillrect(selected_game_object->base.x-pos_x,selected_game_object->base.y,selected_game_object->base.width,3,255,0,0,255); + fillrect(selected_game_object->base.x-pos_x,selected_game_object->base.y,3,selected_game_object->base.height,255,0,0,255); + fillrect(selected_game_object->base.x-pos_x,selected_game_object->base.y+selected_game_object->base.height,selected_game_object->base.width,3,255,0,0,255); + fillrect(selected_game_object->base.x-pos_x+selected_game_object->base.width,selected_game_object->base.y,3,selected_game_object->base.height,255,0,0,255); + } + if(le_world != NULL) { le_save_level_bt->draw(); @@ -851,11 +878,20 @@ le_tilemap_panel->draw(); + if(!cur_objects.empty()) + { + le_object_select_bt->draw(); + le_object_properties_bt->draw(); + } + sprintf(str, "%d/%d", le_level,le_level_subset->levels); white_text->drawf(str, (le_level_subset->levels < 10) ? -10 : 0, 16, A_RIGHT, A_TOP, 0); if(!le_help_shown) white_small_text->draw("F1 for Help", 10, 430, 1); + + if(display_level_info.check()) + white_text->drawf(le_world->get_level()->name.c_str(), 0, 0, A_HMIDDLE, A_TOP, 0); } else { @@ -949,17 +985,79 @@ void le_change_object_properties(GameObject *pobj) { + Surface* cap_screen = Surface::CaptureScreen(); Menu* object_properties_menu = new Menu(); + bool loop = true; object_properties_menu->additem(MN_LABEL,pobj->type() + " Properties",0,0); object_properties_menu->additem(MN_HL,"",0,0); - /*object_properties_menu->additem(MN_TEXTFIELD,"Title",0,0,MNID_SUBSETTITLE); - object_properties_menu->additem(MN_TEXTFIELD,"Description",0,0,MNID_SUBSETDESCRIPTION); - object_properties_menu->additem(MN_HL,"",0,0); - object_properties_menu->additem(MN_ACTION,"Save Changes",0,0,MNID_SUBSETSAVECHANGES);*/ + + if(pobj->type() == "BadGuy") + { + BadGuy* pbad = dynamic_cast<BadGuy*>(pobj); + object_properties_menu->additem(MN_STRINGSELECT,"Kind",0,0,1); + for(int i = 0; i < NUM_BadGuyKinds; ++i) + { + string_list_add_item(object_properties_menu->get_item_by_id(1).list,badguykind_to_string(static_cast<BadGuyKind>(i)).c_str()); + if(pbad->kind == i) + object_properties_menu->get_item_by_id(1).list->active_item = i; + } + object_properties_menu->additem(MN_TOGGLE,"StayOnPlatform",pbad->stay_on_platform,0,2); + } + object_properties_menu->additem(MN_HL,"",0,0); - object_properties_menu->additem(MN_BACK,"Apply",0,0); + object_properties_menu->additem(MN_ACTION,"Ok",0,0,3); + + Menu::set_current(object_properties_menu); + + while(loop) + { + SDL_Event event; + + while (SDL_PollEvent(&event)) + { + object_properties_menu->event(event); + } + + cap_screen->draw(0,0); + + object_properties_menu->draw(); + object_properties_menu->action(); + + switch (object_properties_menu->check()) + { + case 3: + if(pobj->type() == "BadGuy") + { + BadGuy* pbad = dynamic_cast<BadGuy*>(pobj); + pbad->kind = badguykind_from_string(string_list_active(object_properties_menu->get_item_by_id(1).list)); + pbad->stay_on_platform = object_properties_menu->get_item_by_id(2).toggled; + int i = 0; + std::list<BadGuy*>::iterator it; + for(it = le_world->bad_guys.begin(); it != le_world->bad_guys.end(); ++it, ++i) + if((*it) == pbad) + break; + le_world->get_level()->badguy_data[i].kind = pbad->kind; + le_world->get_level()->badguy_data[i].stay_on_platform = pbad->stay_on_platform; + delete (*it); + (*it) = new BadGuy(le_world->get_level()->badguy_data[i].x,le_world->get_level()->badguy_data[i].y,le_world->get_level()->badguy_data[i].kind,le_world->get_level()->badguy_data[i].stay_on_platform); + } + loop = false; + break; + default: + break; + } + if(Menu::current() == NULL) + loop = false; + + mouse_cursor->draw(); + flipscreen(); + SDL_Delay(25); + } + + delete cap_screen; + Menu::set_current(0); delete object_properties_menu; } @@ -1164,7 +1262,7 @@ { if(le_level < le_level_subset->levels) { - le_goto_level(++le_level); + le_goto_level(le_level+1); } else { @@ -1174,7 +1272,7 @@ if(confirm_dialog(str)) { new_lev.init_defaults(); - new_lev.save(le_level_subset->name.c_str(),++le_level); + new_lev.save(le_level_subset->name.c_str(),le_level+1); le_level_subset->levels = le_level; le_goto_level(le_level); } @@ -1184,12 +1282,28 @@ if(le_previous_level_bt->get_state() == BUTTON_CLICKED) { if(le_level > 1) - le_goto_level(--le_level); + le_goto_level(le_level -1); } le_rubber_bt->event(event); if(le_rubber_bt->get_state() == BUTTON_CLICKED) le_current.Tile(0); + if(!cur_objects.empty()) + { + le_object_select_bt->event(event); + if(le_object_select_bt->get_state() == BUTTON_CLICKED) + { + MouseCursor::set_current(mouse_select_object); + } + + le_object_properties_bt->event(event); + if(le_object_properties_bt->get_state() == BUTTON_CLICKED) + { + le_change_object_properties(selected_game_object); + } + } + + if(le_selection_mode == SQUARE) { le_select_mode_one_bt->event(event); @@ -1352,24 +1466,61 @@ { if(le_mouse_pressed[LEFT]) { - if(le_current.IsTile()) - le_change(cursor_x, cursor_y, active_tm, le_current.tile); + if(MouseCursor::current() != mouse_select_object) + { + if(le_current.IsTile()) + le_change(cursor_x, cursor_y, active_tm, le_current.tile); + } } else if(le_mouse_clicked[LEFT]) { - if(le_current.IsObject()) + if(MouseCursor::current() == mouse_select_object) { - le_level_changed = true; - std::string type = le_current.obj->type(); - if(type == "BadGuy") + int i = 0; + bool object_got_hit = false; + base_type cursor_base; + cursor_base.x = cursor_x; + cursor_base.y = cursor_y; + cursor_base.width = 32; + cursor_base.height = 32; + + /* if there is a bad guy over there, remove it */ + for(std::list<BadGuy*>::iterator it = le_world->bad_guys.begin(); it != le_world->bad_guys.end(); ++it, ++i) + if(rectcollision(cursor_base,(*it)->base)) + { + selected_game_object = (*it); + object_got_hit = true; + break; + } + + if(!object_got_hit) { - BadGuy* pbadguy = dynamic_cast<BadGuy*>(le_current.obj); + selected_game_object = NULL; + le_object_properties_bt->set_active(false); + } + else + le_object_properties_bt->set_active(true); - le_world->bad_guys.push_back(new BadGuy(cursor_x+scroll_x, cursor_y,pbadguy->kind,false)); - le_world->get_level()->badguy_data.push_back(le_world->bad_guys.back()); + MouseCursor::set_current(mouse_cursor); + + } + else + { + if(le_current.IsObject()) + { + le_level_changed = true; + std::string type = le_current.obj->type(); + if(type == "BadGuy") + { + BadGuy* pbadguy = dynamic_cast<BadGuy*>(le_current.obj); + + le_world->bad_guys.push_back(new BadGuy(cursor_x+scroll_x, cursor_y,pbadguy->kind,false)); + le_world->get_level()->badguy_data.push_back(le_world->bad_guys.back()); + } } } le_mouse_clicked[LEFT] = false; + } } } @@ -1460,7 +1611,7 @@ unsigned int i = 0; le_level_changed = true; - + switch(le_selection_mode) { case CURSOR: @@ -1563,8 +1714,6 @@ void le_showhelp() { bool tmp_show_grid = le_show_grid; - int temp_le_selection_mode = le_selection_mode; - le_selection_mode = NONE; show_selections = true; le_show_grid = false; le_help_shown = true; @@ -1585,7 +1734,7 @@ "the left mouse button over the map", "to \"paint\" your selection over", "the screen.", - "", + "", "There are three layers for painting", "tiles upon, Background layer,", "the Interactive layer, and the", @@ -1606,43 +1755,43 @@ "the Interactive layer are those", "which actually effect Tux in the", "game.", - "", + "", "Click the objects menu to put ", "bad guys and other objects in the", "game. Unlike placing tiles, you", "cannot \"paint\" enemies. Click", "them onto the screen one at a time.", - "", + "", "To change the settings of your", "level, click the button with the", "screwdriver and wrench. From here", "you can change the background,", "music, length of the level,", - "and more." + "and more." }; char *text3[] = { " - Supertux level editor tutorial - ", "", - "You may have more than one level.", + "You may have more than one level.", "Pressing the up and down buttons", "above the button bar lets you", - "choose which one you are working on.", - "", + "choose which one you are working on.", + "", "If you would like to speed up your", "level editing, a useful trick is", "to learn the keyboard shortcuts.", - "They are easy to learn, just right-", - "click on the buttons.", - "", + "They are easy to learn, just right-", + "click on the buttons.", + "", "Have fun making levels! If you make", "some good ones, send them to us on", "the SuperTux mailing list!", "- SuperTux team" }; - - + + blue_text->drawf("- Help -", 0, 30, A_HMIDDLE, A_TOP, 2); @@ -1681,8 +1830,8 @@ done_ = wait_for_event(event); SDL_Delay(50); } - - drawgradient(Color(0,0,0), Color(255,255,255)); + + drawgradient(Color(0,0,0), Color(255,255,255)); le_drawinterface(); @@ -1705,6 +1854,5 @@ show_selections = true; le_show_grid = tmp_show_grid; - le_selection_mode = temp_le_selection_mode; le_help_shown = false; } Index: mousecursor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/mousecursor.cpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- mousecursor.cpp 20 Apr 2004 11:09:34 -0000 1.6 +++ mousecursor.cpp 10 May 2004 16:09:49 -0000 1.7 @@ -20,17 +20,19 @@ #include "screen.h" #include "mousecursor.h" -MouseCursor::MouseCursor(std::string cursor_file, int frames) +MouseCursor* MouseCursor::current_ = 0; + +MouseCursor::MouseCursor(std::string cursor_file, int frames) : mid_x(0), mid_y(0) { cursor = new Surface(cursor_file, USE_ALPHA); - + cur_state = MC_NORMAL; cur_frame = 0; tot_frames = frames; timer.init(false); timer.start(MC_FRAME_PERIOD); - + SDL_ShowCursor(SDL_DISABLE); } @@ -51,6 +53,12 @@ cur_state = nstate; } +void MouseCursor::set_mid(int x, int y) +{ + mid_x = x; + mid_y = y; +} + void MouseCursor::draw() { int x,y,w,h; @@ -80,5 +88,5 @@ timer.start(MC_FRAME_PERIOD); } - cursor->draw_part(w*cur_frame, h*cur_state , x, y, w, h); + cursor->draw_part(w*cur_frame, h*cur_state , x-mid_x, y-mid_y, w, h); } Index: level.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/level.cpp,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- level.cpp 7 May 2004 23:09:52 -0000 1.66 +++ level.cpp 10 May 2004 16:09:49 -0000 1.67 @@ -552,7 +552,7 @@ fprintf(fi," (music \"%s\")\n", song_title.c_str()); fprintf(fi," (background \"%s\")\n", bkgd_image.c_str()); fprintf(fi," (particle_system \"%s\")\n", particle_system.c_str()); - fprintf(fi," (bkgd_speed \"%d\")\n", bkgd_speed); + fprintf(fi," (bkgd_speed %d)\n", bkgd_speed); fprintf(fi," (bkgd_red_top %d)\n", bkgd_top.red); fprintf(fi," (bkgd_green_top %d)\n", bkgd_top.green); fprintf(fi," (bkgd_blue_top %d)\n", bkgd_top.blue); Index: button.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/button.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -d -r1.21 -r1.22 --- button.h 9 May 2004 11:14:12 -0000 1.21 +++ button.h 10 May 2004 16:09:49 -0000 1.22 @@ -30,7 +30,8 @@ BUTTON_PRESSED, BUTTON_HOVER, BUTTON_WHEELUP, - BUTTON_WHEELDOWN + BUTTON_WHEELDOWN, + BUTTON_DEACTIVE }; class ButtonPanel; @@ -45,6 +46,7 @@ void event(SDL_Event& event); void draw(); int get_state(); + void set_active(bool active) { active ? state = BUTTON_NONE : state = BUTTON_DEACTIVE; }; void add_icon(std::string icon_file, int mw, int mh); SDL_Rect get_pos() { return rect; } int get_tag(){return tag; } Index: button.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/button.cpp,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- button.cpp 6 May 2004 19:55:39 -0000 1.27 +++ button.cpp 10 May 2004 16:09:49 -0000 1.28 @@ -102,7 +102,7 @@ sprintf(str,"(%s)", SDL_GetKeyName(shortcut)); white_small_text->draw(str, i + rect.x - strlen(str) * white_small_text->w, rect.y + white_small_text->h+2, 1); } - if(state == BUTTON_PRESSED) + if(state == BUTTON_PRESSED || state == BUTTON_DEACTIVE) fillrect(rect.x,rect.y,rect.w,rect.h,75,75,75,200); else if(state == BUTTON_HOVER) fillrect(rect.x,rect.y,rect.w,rect.h,150,150,150,128); @@ -118,6 +118,9 @@ void Button::event(SDL_Event &event) { +if(state == BUTTON_DEACTIVE) +return; + SDLKey key = event.key.keysym.sym; if(event.type == SDL_MOUSEBUTTONDOWN || event.type == SDL_MOUSEBUTTONUP) |
From: Matze B. <mat...@us...> - 2004-05-10 15:02:36
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10746 Modified Files: setup.cpp Log Message: never free the screen surface, SDL doesn't allow that Index: setup.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/setup.cpp,v retrieving revision 1.77 retrieving revision 1.78 diff -u -d -r1.77 -r1.78 --- setup.cpp 9 May 2004 21:44:07 -0000 1.77 +++ setup.cpp 10 May 2004 15:02:26 -0000 1.78 @@ -640,11 +640,7 @@ void st_video_setup(void) { - if(screen != NULL) - SDL_FreeSurface(screen); - /* Init SDL Video: */ - if (SDL_Init(SDL_INIT_VIDEO) < 0) { fprintf(stderr, |
From: Tobias Gl??er <to...@us...> - 2004-05-10 14:45:03
|
Update of /cvsroot/super-tux/supertux/data/images/status In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6213/data/images/status Added Files: select-cursor.png select-cursor.xcf Log Message: initial (icon created by tarzeau and modified to a cursor by me) --- NEW FILE: select-cursor.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: select-cursor.xcf --- (This appears to be a binary file; contents omitted.) |
From: Tobias Gl??er <to...@us...> - 2004-05-10 14:44:12
|
Update of /cvsroot/super-tux/supertux/data/images/icons In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5957/data/images/icons Added Files: properties.png select-one.png Log Message: initial (created by tarzeau) --- NEW FILE: properties.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: select-one.png --- (This appears to be a binary file; contents omitted.) |
From: Ricardo C. <rm...@us...> - 2004-05-10 14:39:02
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4714/src Modified Files: world.cpp Log Message: Bug fixed. That test was just reading some random memory, don't forget we are talking about a string object here, not a char array pointer. Congrats go to Ingo. Index: world.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.cpp,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- world.cpp 10 May 2004 13:21:41 -0000 1.71 +++ world.cpp 10 May 2004 14:38:53 -0000 1.72 @@ -178,7 +178,7 @@ int y,x; /* Draw the real background */ - if(get_level()->bkgd_image[0] != '\0') + if(level->img_bkgd) { int s = (int)((float)scroll_x * ((float)level->bkgd_speed/60.)) % screen->w; level->img_bkgd->draw_part(s, 0,0,0,level->img_bkgd->w - s, level->img_bkgd->h); |
From: Ricardo C. <rm...@us...> - 2004-05-10 14:01:47
|
Update of /cvsroot/super-tux/supertux/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28963/data Modified Files: CREDITS Log Message: Added Benjamin to credits. Still need to update the webpage ones. Index: CREDITS =================================================================== RCS file: /cvsroot/super-tux/supertux/data/CREDITS,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- CREDITS 10 May 2004 05:18:33 -0000 1.19 +++ CREDITS 10 May 2004 14:01:08 -0000 1.20 @@ -36,6 +36,8 @@ Christopher A. (paroneayea) Webber + Benjamin (litespeed) Jung + -Level Design |
From: Ricardo C. <rm...@us...> - 2004-05-10 14:01:19
|
Update of /cvsroot/super-tux/supertux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28963 Modified Files: AUTHORS Log Message: Added Benjamin to credits. Still need to update the webpage ones. Index: AUTHORS =================================================================== RCS file: /cvsroot/super-tux/supertux/AUTHORS,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- AUTHORS 28 Apr 2004 13:27:56 -0000 1.4 +++ AUTHORS 10 May 2004 14:01:08 -0000 1.5 @@ -53,6 +53,9 @@ Christopher A. Webber cr...@li... + Benjamin P. Jung + bp...@gm... + Level Design ------------ |
From: Ricardo C. <rm...@us...> - 2004-05-10 13:58:36
|
Update of /cvsroot/super-tux/supertux/data/images/status/old In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28328/data/images/status/old Added Files: checkbox-checked.png checkbox-checked.xcf checkbox.png checkbox.xcf Log Message: Added old checkboxes to the old dir. --- NEW FILE: checkbox.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: checkbox-checked.xcf --- (This appears to be a binary file; contents omitted.) --- NEW FILE: checkbox-checked.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: checkbox.xcf --- (This appears to be a binary file; contents omitted.) |
From: Ricardo C. <rm...@us...> - 2004-05-10 13:57:44
|
Update of /cvsroot/super-tux/supertux/data/images/status In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28133/data/images/status Removed Files: checkbox-checked.xcf checkbox.xcf Log Message: Removed .xcf files. These files are regarding the old checkboxes version and are already in the old dir. --- checkbox-checked.xcf DELETED --- --- checkbox.xcf DELETED --- |
From: Ricardo C. <rm...@us...> - 2004-05-10 13:56:45
|
Update of /cvsroot/super-tux/supertux/data/images/status In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27846/data/images/status Modified Files: checkbox-checked.png checkbox.png Log Message: Changed the checked boxes to Benjamin ones! This is a blue-ish version of his checkboxes that I asked him to do. Index: checkbox.png =================================================================== RCS file: /cvsroot/super-tux/supertux/data/images/status/checkbox.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 Binary files /tmp/cvsQT83vm and /tmp/cvscjoDRw differ Index: checkbox-checked.png =================================================================== RCS file: /cvsroot/super-tux/supertux/data/images/status/checkbox-checked.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 Binary files /tmp/cvsmFfvIq and /tmp/cvssm4vbB differ |
From: Ricardo C. <rm...@us...> - 2004-05-10 13:54:00
|
Update of /cvsroot/super-tux/supertux/data/images/status In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27334/data/images/status Modified Files: back.png Log Message: Improved back icon by Benjamin! Index: back.png =================================================================== RCS file: /cvsroot/super-tux/supertux/data/images/status/back.png,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 Binary files /tmp/cvsT88D3f and /tmp/cvsewQmHo differ |
From: Ricardo C. <rm...@us...> - 2004-05-10 13:22:35
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20235/src Modified Files: defines.h Log Message: Ups, name mistake. Index: defines.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/defines.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -d -r1.34 -r1.35 --- defines.h 10 May 2004 13:21:41 -0000 1.34 +++ defines.h 10 May 2004 13:22:26 -0000 1.35 @@ -69,7 +69,7 @@ #define START_LIVES 4 -#define BULLETS_MAX 2 +#define MAX_BULLETS 2 #define YM_FOR_JUMP 6.0 #define WALK_ACCELERATION_X 0.03 |
From: Ricardo C. <rm...@us...> - 2004-05-10 13:21:53
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20063/src Modified Files: defines.h world.cpp world.h Log Message: Well, Ingo and Tobias prefer the old shooting behavior, so here it goes. Index: world.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.h,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- world.h 9 May 2004 21:15:58 -0000 1.38 +++ world.h 10 May 2004 13:21:41 -0000 1.39 @@ -58,7 +58,6 @@ std::vector<FloatingScore*> floating_scores; std::vector<Upgrade> upgrades; - Timer bullets_timer; std::vector<Bullet> bullets; typedef std::vector<ParticleSystem*> ParticleSystems; ParticleSystems particle_systems; Index: defines.h =================================================================== RCS file: /cvsroot/super-tux/supertux/src/defines.h,v retrieving revision 1.33 retrieving revision 1.34 diff -u -d -r1.33 -r1.34 --- defines.h 9 May 2004 21:15:58 -0000 1.33 +++ defines.h 10 May 2004 13:21:41 -0000 1.34 @@ -69,7 +69,7 @@ #define START_LIVES 4 -#define BULLETS_TIMEOUT 500 +#define BULLETS_MAX 2 #define YM_FOR_JUMP 6.0 #define WALK_ACCELERATION_X 0.03 Index: world.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/world.cpp,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- world.cpp 9 May 2004 21:15:58 -0000 1.70 +++ world.cpp 10 May 2004 13:21:41 -0000 1.71 @@ -56,7 +56,6 @@ apply_bonuses(); scrolling_timer.init(true); - bullets_timer.init(true); } World::World(const std::string& subset, int level_nr) @@ -78,7 +77,6 @@ apply_bonuses(); scrolling_timer.init(true); - bullets_timer.init(true); } void @@ -543,11 +541,9 @@ void World::add_bullet(float x, float y, float xm, Direction dir) { - if(bullets_timer.check()) + if(bullets.size() > MAX_BULLETS-1) return; - bullets_timer.start(BULLETS_TIMEOUT); - Bullet new_bullet; new_bullet.init(x,y,xm,dir); bullets.push_back(new_bullet); |
From: Ingo R. <gr...@us...> - 2004-05-10 12:46:09
|
Update of /cvsroot/super-tux/supertux In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11484 Modified Files: TODO Log Message: added issue Index: TODO =================================================================== RCS file: /cvsroot/super-tux/supertux/TODO,v retrieving revision 1.39 retrieving revision 1.40 diff -u -d -r1.39 -r1.40 --- TODO 7 May 2004 23:09:04 -0000 1.39 +++ TODO 10 May 2004 12:45:59 -0000 1.40 @@ -19,7 +19,11 @@ [M] When aborting a level, lives and score should remain the same as they were before. Solution: make more dependency between the game engine and worldmap or just backup those variables before starting a level. -[L] intro doesn't seamlessly wrap around, might be due to the new +[L] time runs while being in in-game menu, at least a bit (jump, go to + menu, wait a bit, leave menu, Tux will 'flip' to the ground, + instead of fall, pause mode doesn't seem to have this problem, only + menu) +[L] titlescreen level doesn't seamlessly wrap around, might be due to the new scrolling code or due to the worldmap doing the drawing [L] Backscroll is really messed up right now :) [L] change lispreader to throw exceptions instead of simply assert() on |
From: Ricardo C. <rm...@us...> - 2004-05-10 11:48:18
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31172/src Modified Files: leveleditor.cpp Log Message: Take cursor out of the help screen. Tobias, you overwrote this commit :) Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.102 retrieving revision 1.103 diff -u -d -r1.102 -r1.103 --- leveleditor.cpp 9 May 2004 22:15:28 -0000 1.102 +++ leveleditor.cpp 10 May 2004 11:48:08 -0000 1.103 @@ -1563,6 +1563,8 @@ void le_showhelp() { bool tmp_show_grid = le_show_grid; + int temp_le_selection_mode = le_selection_mode; + le_selection_mode = NONE; show_selections = true; le_show_grid = false; le_help_shown = true; @@ -1703,5 +1705,6 @@ show_selections = true; le_show_grid = tmp_show_grid; + le_selection_mode = temp_le_selection_mode; le_help_shown = false; } |
From: Ryan F. <sik...@us...> - 2004-05-10 05:18:45
|
Update of /cvsroot/super-tux/supertux/data In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24881 Modified Files: CREDITS Log Message: - Added a couple handles and changed case on some Index: CREDITS =================================================================== RCS file: /cvsroot/super-tux/supertux/data/CREDITS,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- CREDITS 28 Apr 2004 18:46:14 -0000 1.18 +++ CREDITS 10 May 2004 05:18:33 -0000 1.19 @@ -4,7 +4,7 @@ -Maintainer - Tobias (Tobgle) Glaesser + Tobias (tobgle) Glaesser -Originally developed by @@ -14,39 +14,39 @@ -Programming - Tobias (Tobgle) Glaesser + Tobias (tobgle) Glaesser - Ricardo (Blacksheep) Cruz + Ricardo (blacksheep) Cruz - Ingo (Grumbel) Ruhnke + Ingo (grumbel) Ruhnke Matthias (MatzeB) Braun -Contrib Programming - Ryan Flegel + Ryan (sik0fewl) Flegel - Duong-Khang NGUYEN + Duong-Khang (neoneurone) NGUYEN -Graphics - Ingo (Grumbel) Ruhnke + Ingo (grumbel) Ruhnke - Christopher A. (Paroneayea) Webber + Christopher A. (paroneayea) Webber -Level Design Marek (Wansti) Moeckel - Ingo (Grumbel) Ruhnke + Ingo (grumbel) Ruhnke -Story - Christopher A. (Paroneayea) Webber + Christopher A. (paroneayea) Webber -Music @@ -99,4 +99,4 @@ - See you soon in Milestone2! \ No newline at end of file + See you soon in Milestone2! |
From: Tobias Gl??er <to...@us...> - 2004-05-09 22:15:39
|
Update of /cvsroot/super-tux/supertux/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20928/src Modified Files: leveleditor.cpp Log Message: removed double shortcuts in leveleditor. updated level-editor turorial. Index: leveleditor.cpp =================================================================== RCS file: /cvsroot/super-tux/supertux/src/leveleditor.cpp,v retrieving revision 1.101 retrieving revision 1.102 diff -u -d -r1.101 -r1.102 --- leveleditor.cpp 9 May 2004 18:08:01 -0000 1.101 +++ leveleditor.cpp 9 May 2004 22:15:28 -0000 1.102 @@ -103,6 +103,7 @@ static string_list_type level_subsets; static bool le_level_changed; /* if changes, ask for saving, when quiting*/ static bool show_minimap; +static bool show_selections; static bool le_help_shown; static int pos_x, cursor_x, cursor_y, fire; static int le_level; @@ -517,6 +518,7 @@ active_tm = TM_IA; le_show_grid = true; + show_selections = true; scroll_x = 0; fire = DOWN; @@ -538,7 +540,7 @@ /* Load buttons */ le_save_level_bt = new Button("/images/icons/save.png","Save level", SDLK_F6,screen->w-64,32); - le_exit_bt = new Button("/images/icons/exit.png","Exit", SDLK_F6,screen->w-32,32); + le_exit_bt = new Button("/images/icons/exit.png","Exit", SDLK_F9,screen->w-32,32); le_next_level_bt = new Button("/images/icons/up.png","Next level", SDLK_PAGEUP,screen->w-64,0); le_previous_level_bt = new Button("/images/icons/down.png","Previous level",SDLK_PAGEDOWN,screen->w-32,0); le_rubber_bt = new Button("/images/icons/rubber.png","Rubber",SDLK_DELETE,screen->w-32,48); @@ -549,7 +551,7 @@ le_move_left_bt = new Button("/images/icons/left.png","Move left",SDLK_LEFT,0,0); le_move_right_bt = new Button("/images/icons/right.png","Move right",SDLK_RIGHT,screen->w-80,0); le_tilegroup_bt = new Button("/images/icons/tilegroup.png","Select Tilegroup", SDLK_F7,screen->w-64,64); - le_objects_bt = new Button("/images/icons/objects.png","Select Objects", SDLK_F7,screen->w-64,80); + le_objects_bt = new Button("/images/icons/objects.png","Select Objects", SDLK_F8,screen->w-64,80); le_tilemap_panel = new ButtonPanel(screen->w-64,screen->h-32,32,32); le_tilemap_panel->set_button_size(32,10); @@ -786,6 +788,8 @@ if(show_minimap) // use_gl because the minimap isn't shown correctly in software mode. Any idea? FIXME Possible reasons: SDL_SoftStretch is a hack itsself || an alpha blitting issue SDL can't handle in software mode le_drawminimap(); + if(show_selections) + { if(le_selection_mode == CURSOR) { if(le_current.IsTile()) @@ -803,6 +807,7 @@ fillrect(selection.x1 - pos_x, selection.y1 + h, w, SELECT_W, SELECT_CLR); fillrect(selection.x1 - pos_x, selection.y1, SELECT_W, h, SELECT_CLR); } + } /* draw button bar */ @@ -1558,8 +1563,7 @@ void le_showhelp() { bool tmp_show_grid = le_show_grid; - int temp_le_selection_mode = le_selection_mode; - le_selection_mode = NONE; + show_selections = true; le_show_grid = false; le_help_shown = true; @@ -1579,6 +1583,7 @@ "the left mouse button over the map", "to \"paint\" your selection over", "the screen.", + "", "There are three layers for painting", "tiles upon, Background layer,", "the Interactive layer, and the", @@ -1599,37 +1604,50 @@ "the Interactive layer are those", "which actually effect Tux in the", "game.", + "", "Click the objects menu to put ", "bad guys and other objects in the", "game. Unlike placing tiles, you", "cannot \"paint\" enemies. Click", "them onto the screen one at a time.", + "", "To change the settings of your", "level, click the button with the", "screwdriver and wrench. From here", "you can change the background,", - "music, length of the level, and more.", - "You may have more than one levelset.", + "music, length of the level,", + "and more." + }; + + char *text3[] = { + + " - Supertux level editor tutorial - ", + "", + "You may have more than one level.", "Pressing the up and down buttons", - "above the button bar lets you choose", - "which one you are working on.", + "above the button bar lets you", + "choose which one you are working on.", + "", "If you would like to speed up your", "level editing, a useful trick is", - "to learn the keyboard shortcuts. They", - "are easy to learn, just right-", + "to learn the keyboard shortcuts.", + "They are easy to learn, just right-", + "click on the buttons.", + "", "Have fun making levels! If you make", "some good ones, send them to us on", "the SuperTux mailing list!", "- SuperTux team" }; - + + blue_text->drawf("- Help -", 0, 30, A_HMIDDLE, A_TOP, 2); for(i = 0; i < sizeof(text)/sizeof(char *); i++) white_text->draw(text[i], 5, 80+(i*white_text->h), 1); - gold_text->drawf("Press Any Key to Continue - Page 1/2", 0, 0, A_LEFT, A_BOTTOM, 1); + gold_text->drawf("Press Anything to Continue - Page 1/3", 0, 0, A_LEFT, A_BOTTOM, 1); flipscreen(); @@ -1650,7 +1668,7 @@ for(i = 0; i < sizeof(text2)/sizeof(char *); i++) white_text->draw(text2[i], 5, 80+(i*white_text->h), 1); - gold_text->drawf("Press Any Key to Continue - Page 2/2", 0, 0, A_LEFT, A_BOTTOM, 1); + gold_text->drawf("Press Anything to Continue - Page 2/3", 0, 0, A_LEFT, A_BOTTOM, 1); flipscreen(); @@ -1661,8 +1679,29 @@ done_ = wait_for_event(event); SDL_Delay(50); } + + drawgradient(Color(0,0,0), Color(255,255,255)); + le_drawinterface(); + + blue_text->drawf("- Help -", 0, 30, A_HMIDDLE, A_TOP, 2); + + for(i = 0; i < sizeof(text3)/sizeof(char *); i++) + white_text->draw(text3[i], 5, 80+(i*white_text->h), 1); + + gold_text->drawf("Press Anything to Continue - Page 3/3", 0, 0, A_LEFT, A_BOTTOM, 1); + + flipscreen(); + + done_ = 0; + + while(done_ == 0) + { + done_ = wait_for_event(event); + SDL_Delay(50); + } + + show_selections = true; le_show_grid = tmp_show_grid; le_help_shown = false; - le_selection_mode = temp_le_selection_mode; } |