Subversion Repositories Games.Chess Giants

Rev

Rev 131 | Rev 140 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 131 Rev 136
Line 43... Line 43...
43
   scene->objects[2].mesh_index = theme->board_meshindex;
43
   scene->objects[2].mesh_index = theme->board_meshindex;
44
   scene->objects[2].texture_index = theme->board_texture;
44
   scene->objects[2].texture_index = theme->board_texture;
45
   scene->objects[2].scale = 1.0f;
45
   scene->objects[2].scale = 1.0f;
46
   scene->object_count = 3;
46
   scene->object_count = 3;
47
 
47
 
48
   // reset the camera position for a cool slide-in effect, but only if autorotate is enabled
48
   // reset the camera position for a cool slide-in effect
49
   if (options.want_autorotateon1vs1)
-
 
50
   {
-
 
51
      current_pitch = CLOSEUP_VIEW_PITCH; // autorotate is enabled, prepare for slide-in effect
49
   current_pitch = CLOSEUP_VIEW_PITCH; // autorotate is enabled, prepare for slide-in effect
52
      current_yaw = (Board_ColorToMove (board) == COLOR_WHITE ? 90.0f : -90.0f);
50
   current_yaw = (Board_ColorToMove (board) == COLOR_WHITE ? 90.0f : -90.0f);
53
      current_distance = CLOSEUP_VIEW_DISTANCE;
51
   current_distance = CLOSEUP_VIEW_DISTANCE;
54
      if (current_distance >= MIN_VIEW_DISTANCE)
52
   if (current_distance >= MIN_VIEW_DISTANCE)
55
         current_distance = MIN_VIEW_DISTANCE - 1.0f; // consistency check for stupid programmers
53
      current_distance = MIN_VIEW_DISTANCE - 1.0f; // consistency check for stupid programmers
56
   }
-
 
57
   else
-
 
58
   {
-
 
59
      current_pitch = 55.0f; // no autorotate, reset to standard view position directly
-
 
60
      current_yaw = (Board_ColorToMove (board) == COLOR_BLACK ? 90.0f : -90.0f);
-
 
61
      current_distance = 70.0f;
-
 
62
      if (current_distance < MIN_VIEW_DISTANCE)
-
 
63
         current_distance = MIN_VIEW_DISTANCE; // consistency check for stupid programmers
-
 
64
   }
-
 
65
 
54
 
66
   // look at the center of the table immediately
55
   // look at the center of the table immediately
67
   lookatpoint_x = 0;
56
   lookatpoint_x = 0;
68
   lookatpoint_y = 0;
57
   lookatpoint_y = 0;
69
 
58
 
Line 149... Line 138...
149
   int line;
138
   int line;
150
   int column;
139
   int column;
151
   int pos_index;
140
   int pos_index;
152
   int part_index;
141
   int part_index;
153
   int move_index;
142
   int move_index;
154
   int start_index;
-
 
155
   int length;
143
   int length;
156
   int threat_line;
144
   int threat_line;
157
   int threat_column;
145
   int threat_column;
158
   int minutes;
146
   int minutes;
159
   int seconds;
147
   int seconds;
Line 991... Line 979...
991
   ////////////////////////////////////////////////////////////////////////////////////////////////
979
   ////////////////////////////////////////////////////////////////////////////////////////////////
992
   // now draw the move comment text
980
   // now draw the move comment text
993
 
981
 
994
   // does the move we are viewing have a comment ? if so, copy it, else leave it clear. Also if we're online, display a help text
982
   // does the move we are viewing have a comment ? if so, copy it, else leave it clear. Also if we're online, display a help text
995
   if ((currentmove->comment != NULL) && (currentmove->comment[0] != 0))
983
   if ((currentmove->comment != NULL) && (currentmove->comment[0] != 0))
996
      Scene_SetText (&scene->gui.comment_text, 53.3f, 0.5f, 93.0f, ALIGN_CENTER, ALIGN_TOP, ALIGN_LEFT, chat_fontindex, RGBA_TO_RGBACOLOR (255, 255, 255, 191), 999999.0f, false, currentmove->comment);
984
      Scene_SetText (&scene->gui.comment_text, 50.0f, 0.5f, 80.0f, ALIGN_CENTER, ALIGN_TOP, ALIGN_LEFT, chat_fontindex, RGBA_TO_RGBACOLOR (255, 255, 255, 191), 999999.0f, false, currentmove->comment);
997
   else if ((network_player != NULL) && network_player->is_logged_in && !network_player->is_in_game)
985
   else if ((network_player != NULL) && network_player->is_logged_in && !network_player->is_in_game)
998
      Scene_SetText (&scene->gui.comment_text, 53.3f, 0.5f, 93.0f, ALIGN_CENTER, ALIGN_TOP, ALIGN_LEFT, chat_fontindex, RGBA_TO_RGBACOLOR (255, 255, 255, 191), 999999.0f, false, connected_comment);
986
      Scene_SetText (&scene->gui.comment_text, 50.0f, 0.5f, 80.0f, ALIGN_CENTER, ALIGN_TOP, ALIGN_LEFT, chat_fontindex, RGBA_TO_RGBACOLOR (255, 255, 255, 191), 999999.0f, false, connected_comment);
999
   else if (RGBACOLOR_ALPHA (scene->gui.comment_text.color) >= 128) // HACK: don't clear if a dimmed hint text is already here
987
   else if (RGBACOLOR_ALPHA (scene->gui.comment_text.color) >= 128) // HACK: don't clear if a dimmed hint text is already here
1000
      scene->gui.comment_text.is_displayed = false; // else clear comment text
988
      scene->gui.comment_text.is_displayed = false; // else clear comment text
1001
 
989
 
1002
   ////////////////////////////////////////////////////////////////////////////////////////////////
990
   ////////////////////////////////////////////////////////////////////////////////////////////////
1003
   // now draw the game clock
991
   // now draw the game clock
Line 1045... Line 1033...
1045
   // now draw the game history text
1033
   // now draw the game history text
1046
 
1034
 
1047
   // do we want to display the game history ? if so, display the game history text in PGN
1035
   // do we want to display the game history ? if so, display the game history text in PGN
1048
   if (options.want_history && (board->move_count > 1))
1036
   if (options.want_history && (board->move_count > 1))
1049
   {
1037
   {
1050
      // first off, see where we start (for long games, we don't want to display EVERYTHING...
-
 
1051
      if (board->viewed_move > 30)
-
 
1052
         start_index = board->viewed_move - 30; // display 30 moves maximum
-
 
1053
      else
-
 
1054
         start_index = 1;
-
 
1055
 
-
 
1056
      // allocate an arbitrary length history text string buffer (assume each move can't be longer than 15 characters)
1038
      // allocate an arbitrary length history text string buffer (assume each move can't be longer than 15 characters)
1057
      historytext_size = 15 * (1 + (board->viewed_move + 1) - start_index);
1039
      historytext_size = 15 * (1 + board->viewed_move);
1058
      history_text = (wchar_t *) SAFE_malloc (historytext_size, sizeof (wchar_t), false);
1040
      history_text = (wchar_t *) SAFE_malloc (historytext_size, sizeof (wchar_t), false);
1059
      history_text[0] = 0; // and reset it
1041
      history_text[0] = 0; // and reset it
1060
 
1042
 
1061
      // now for each move we want to display...
1043
      // now for each move we want to display...
1062
      for (move_index = start_index; move_index <= board->viewed_move; move_index++)
1044
      for (move_index = 1; move_index <= board->viewed_move; move_index++)
1063
      {
1045
      {
1064
         length = wcslen (history_text); // get current text length
1046
         length = wcslen (history_text); // get current text length
1065
 
1047
 
1066
         // every move pair, append move pair number
1048
         // every move pair, append move pair number
1067
         if (move_index % 2 == 1)
1049
         if (move_index % 2 == 1)