X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fbrisk.phh;h=add31a772c1c653836ff67190ab35649195fa312;hb=5328f9de4d84c45e7f94edb179bba1adef8f208f;hp=29dbc6790c3f620d53084bb0614bfd207136996d;hpb=1da3c486582c30adbc3d3055d5bd046427ac7ab3;p=brisk.git diff --git a/web/Obj/brisk.phh b/web/Obj/brisk.phh index 29dbc67..add31a7 100644 --- a/web/Obj/brisk.phh +++ b/web/Obj/brisk.phh @@ -55,9 +55,9 @@ define(BRISK_DEBUG, 0); $G_false = FALSE; $G_all_points = array( 11,10,4,3,2, 0,0,0,0,0 ); -$G_brisk_version = "spawn-0.0.3"; +$G_brisk_version = "spawn-0.0.6"; -$root_wellarr = Array ( 'Benvenuto in brisk (Ver. '.$G_brisk_version.'), NOVITA\': nuovo layout che permette più tavoli, più tavoli.', +$root_wellarr = Array ( 'Benvenuto in brisk (Ver. '.$G_brisk_version.'), NOVITA\': riscritta tutta l\'architettura dati del server, tutto piè veloce e leggero.', 'Se vuoi iscriverti alla Mailing List, cliccala!' ); $table_wellarr = Array ( 'Benvenuto al tavolo. Se almeno tre giocatori non sbloccano l\'uscita cliccando il lucchetto, chi esce non può risedersi a un qualunque tavolo per '.floor(BAN_TIME/60).' minuti.'); @@ -768,6 +768,7 @@ class Room { else { log_main("ERROR: table ".$table_idx." unrecoverable join"); } + Briskin5::unlock_data($sem); } // bri::lock_data } // if ($table_cur->player_n == PLAYERS_N) { } // for ($table_idx = 0 ; $table_idx < TABLES_N ; $table_idx++) { @@ -916,6 +917,8 @@ class Room { $curtime = time(); $user_wup = array(); $user_wup_n = 0; + $user_tab = array(); + $user_tab_n = 0; log_main("JOIN WAKEUP: from table [".$user->table."] nplayers_n: ".$this->table[$user->table]->player_n); for ($i = 0 ; $i < $table->player_n ; $i++) { @@ -936,6 +939,7 @@ class Room { $user_cur->table = -1; $user_wup[$user_wup_n++] = &$user_cur; } + $user_tab[$user_tab_n++] = &$user_cur; } } @@ -965,29 +969,20 @@ class Room { $act_content = table_act_content(FALSE, 0, $table_idx, $user_cur->table); $ret .= sprintf('$("table_act%d").innerHTML = "%s";', $table_idx, $act_content); - for ($wup_idx = 0 ; $wup_idx < $user_wup_n ; $wup_idx++) - if ($user_cur == $user_wup[$wup_idx]) + for ($tab_idx = 0 ; $tab_idx < $user_tab_n ; $tab_idx++) + if ($user_cur == $user_tab[$tab_idx]) break; + // for users that wakeup the room will be reconstructed by index_rd.php + if ($tab_idx < $user_tab_n) + continue; + log_main("JOIN_WAKEUP wup_idx ".$wup_idx." wup_n ".$user_wup_n); - if ($wup_idx < $user_wup_n) { - log_main("JOIN_WAKEUP less"); - // set the new status - $ret .= 'stat = "room"; subst = "standup"; '; - // clean the action buttons in other tables - for ($e = 0 ; $e < TABLES_N ; $e++) { - if ($this->table[$e]->player_n < PLAYERS_N) - $ret .= sprintf('$("table_act%d").innerHTML = "%s";', $e, table_act_content(TRUE, 0, $e, $user_cur->table)); - } - log_main("JOIN_WAKEUP end less"); - } - else { - log_main("JOIN_WAKEUP more"); - $act_content = table_act_content(($user_cur->subst == 'standup'), $table->player_n, $table_idx, $user_cur->table); - $ret .= sprintf('$("table_act%d").innerHTML = "%s";', $table_idx, $act_content); - log_main("JOIN_WAKEUP end more"); - } + log_main("JOIN_WAKEUP more"); + $act_content = table_act_content(($user_cur->subst == 'standup'), $table->player_n, $table_idx, $user_cur->table); + $ret .= sprintf('$("table_act%d").innerHTML = "%s";', $table_idx, $act_content); + log_main("JOIN_WAKEUP end more"); } log_wr("ROOM_JOIN_WAKEUP: ".$ret); $user_cur->comm[$user_cur->step % COMM_N] = $ret;