Rev 18 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 18 | Rev 20 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | #include "racesumm.h" |
1 | #include "racesumm.h" |
| 2 | #include "brender.h" |
2 | #include "brender/brender.h" |
| 3 | #include "crush.h" |
3 | #include "crush.h" |
| 4 | #include "cutscene.h" |
4 | #include "cutscene.h" |
| 5 | #include "displays.h" |
5 | #include "displays.h" |
| 6 | #include "flicplay.h" |
6 | #include "flicplay.h" |
| 7 | #include "globvars.h" |
7 | #include "globvars.h" |
| Line 767... | Line 767... | ||
| 767 | LOG_TRACE("(%d, %d)", pCurrent_choice, pCurrent_mode); |
767 | LOG_TRACE("(%d, %d)", pCurrent_choice, pCurrent_mode); |
| 768 | 768 | ||
| 769 | if (((pCurrent_choice == 0 && pCurrent_mode == 0) || !gDone_initial) && (gWreck_zoomed_in < 0 && gWreck_selected >= 0)) { |
769 | if (((pCurrent_choice == 0 && pCurrent_mode == 0) || !gDone_initial) && (gWreck_zoomed_in < 0 && gWreck_selected >= 0)) { |
| 770 | sel_actor = BrActorAllocate(BR_ACTOR_MODEL, NULL); |
770 | sel_actor = BrActorAllocate(BR_ACTOR_MODEL, NULL); |
| 771 | sel_actor->render_style = BR_RSTYLE_BOUNDING_EDGES; |
771 | sel_actor->render_style = BR_RSTYLE_BOUNDING_EDGES; |
| - | 772 | sel_actor->render_style = BR_RSTYLE_NONE; // FIXME: remove this line once BR_RSTYLE_BOUNDING_EDGES rener style has been implemente |
|
| 772 | sel_actor->model = gWreck_array[gWreck_selected].actor->model; |
773 | sel_actor->model = gWreck_array[gWreck_selected].actor->model; |
| 773 | BrActorAdd(gWreck_array[gWreck_selected].actor, sel_actor); |
774 | BrActorAdd(gWreck_array[gWreck_selected].actor, sel_actor); |
| 774 | } else { |
775 | } else { |
| 775 | sel_actor = NULL; |
776 | sel_actor = NULL; |
| 776 | } |
777 | } |
| Line 1155... | Line 1156... | ||
| 1155 | 1156 | ||
| 1156 | // IDA: void __usercall DrawAnItem(int pX@<EAX>, int pY_index@<EDX>, int pFont_index@<EBX>, char *pText@<ECX>) |
1157 | // IDA: void __usercall DrawAnItem(int pX@<EAX>, int pY_index@<EDX>, int pFont_index@<EBX>, char *pText@<ECX>) |
| 1157 | // Suffix added to avoid duplicate symbol |
1158 | // Suffix added to avoid duplicate symbol |
| 1158 | void DrawAnItem__racesumm(int pX, int pY_index, int pFont_index, char* pText) { |
1159 | void DrawAnItem__racesumm(int pX, int pY_index, int pFont_index, char* pText) { |
| 1159 | LOG_TRACE("(%d, %d, %d, \"%s\")", pX, pY_index, pFont_index, pText); |
1160 | LOG_TRACE("(%d, %d, %d, \"%s\")", pX, pY_index, pFont_index, pText); |
| 1160 | - | ||
| 1161 | TransBrPixelmapText(gBack_screen, |
- | |
| 1162 | pX, |
- | |
| 1163 | gCurrent_graf_data->net_sum_headings_y + gCurrent_graf_data->net_sum_y_pitch * pY_index, |
- | |
| 1164 | pFont_index, |
- | |
| 1165 | gFont_7, |
- | |
| 1166 |
|
1161 | NOT_IMPLEMENTED(); |
| 1167 | } |
1162 | } |
| 1168 | 1163 | ||
| 1169 | // IDA: void __usercall DrawColumnHeading(int pStr_index@<EAX>, int pX@<EDX>) |
1164 | // IDA: void __usercall DrawColumnHeading(int pStr_index@<EAX>, int pX@<EDX>) |
| 1170 | // Suffix added to avoid duplicate symbol |
1165 | // Suffix added to avoid duplicate symbol |
| 1171 | void DrawColumnHeading__racesumm(int pStr_index, int pX) { |
1166 | void DrawColumnHeading__racesumm(int pStr_index, int pX) { |
| 1172 | LOG_TRACE("(%d, %d)", pStr_index, pX); |
1167 | LOG_TRACE("(%d, %d)", pStr_index, pX); |
| 1173 | - | ||
| 1174 | TransBrPixelmapText(gBack_screen, |
- | |
| 1175 | pX, |
- | |
| 1176 | gCurrent_graf_data->net_sum_headings_y - gCurrent_graf_data->net_sum_y_pitch, |
- | |
| 1177 | 250, |
- | |
| 1178 | gFont_7, |
- | |
| 1179 | GetMiscString(pStr_index)); |
- | |
| 1180 | } |
1168 | } |
| 1181 | 1169 | ||
| 1182 | // IDA: int __usercall SortScores@<EAX>(void *pFirst_one@<EAX>, void *pSecond_one@<EDX>) |
1170 | // IDA: int __usercall SortScores@<EAX>(void *pFirst_one@<EAX>, void *pSecond_one@<EDX>) |
| 1183 | int SortScores( |
1171 | int SortScores(void* pFirst_one, void* pSecond_one) { |
| 1184 | LOG_TRACE("(%p, %p)", pFirst_one, pSecond_one); |
1172 | LOG_TRACE("(%p, %p)", pFirst_one, pSecond_one); |
| 1185 | - | ||
| 1186 |
|
1173 | NOT_IMPLEMENTED(); |
| 1187 | } |
1174 | } |
| 1188 | 1175 | ||
| 1189 | // IDA: void __cdecl SortGameScores() |
1176 | // IDA: void __cdecl SortGameScores() |
| 1190 | void SortGameScores(void) { |
1177 | void SortGameScores(void) { |
| 1191 | LOG_TRACE("()"); |
1178 | LOG_TRACE("()"); |
| 1192 |
|
1179 | NOT_IMPLEMENTED(); |
| 1193 | } |
1180 | } |
| 1194 | 1181 | ||
| 1195 | // IDA: void __usercall NetSumDraw(int pCurrent_choice@<EAX>, int pCurrent_mode@<EDX>) |
1182 | // IDA: void __usercall NetSumDraw(int pCurrent_choice@<EAX>, int pCurrent_mode@<EDX>) |
| 1196 | void NetSumDraw(int pCurrent_choice, int pCurrent_mode) { |
1183 | void NetSumDraw(int pCurrent_choice, int pCurrent_mode) { |
| 1197 |
|
1184 | //int i; // Pierre-Marie Baty -- unused variable |
| 1198 |
|
1185 | //char s[256]; // Pierre-Marie Baty -- unused variable |
| 1199 | tNet_game_player_info |
1186 | //tNet_game_player_info* player; // Pierre-Marie Baty -- unused variable |
| 1200 | LOG_TRACE("(%d, %d)", pCurrent_choice, pCurrent_mode); |
1187 | LOG_TRACE("(%d, %d)", pCurrent_choice, pCurrent_mode); |
| 1201 | - | ||
| 1202 | DrawColumnHeading__racesumm(kMiscString_PLAYED, gCurrent_graf_data->net_sum_x_3); |
- | |
| 1203 | DrawColumnHeading__racesumm(kMiscString_WON, gCurrent_graf_data->net_sum_x_4); |
- | |
| 1204 | DrawColumnHeading__racesumm(kMiscString_SCORE, gCurrent_graf_data->net_sum_x_5); |
- | |
| 1205 | BrPixelmapLine(gBack_screen, |
- | |
| 1206 | gCurrent_graf_data->net_sum_x_1, |
- | |
| 1207 | gCurrent_graf_data->net_sum_headings_y + 1 + gFont_7->glyph_y - gCurrent_graf_data->net_sum_y_pitch, |
- | |
| 1208 | gBack_screen->width - gCurrent_graf_data->net_sum_x_1, |
- | |
| 1209 | gCurrent_graf_data->net_sum_headings_y + 1 + gFont_7->glyph_y - gCurrent_graf_data->net_sum_y_pitch, |
- | |
| 1210 | 252); |
- | |
| 1211 | - | ||
| 1212 | for (i = 0; i < gNumber_of_net_players; i++) { |
- | |
| 1213 | player = &gNet_players[gPlayer_lookup[i]]; |
- | |
| 1214 | - | ||
| 1215 | strcpy(s, player->player_name); |
- | |
| 1216 | if (player->host) { |
- | |
| 1217 | strcat(s, " -"); |
- | |
| 1218 | strcat(s, GetMiscString(kMiscString_HOST)); |
- | |
| 1219 |
|
1188 | NOT_IMPLEMENTED(); |
| 1220 | } |
- | |
| 1221 | TurnOffPaletteConversion(); |
- | |
| 1222 | DRPixelmapRectangleMaskedCopy(gBack_screen, |
- | |
| 1223 | gCurrent_graf_data->net_sum_x_1, |
- | |
| 1224 | gCurrent_graf_data->net_sum_headings_y + 1 + i * gCurrent_graf_data->net_sum_y_pitch, |
- | |
| 1225 | gIcons_pix_low_res, /* DOS version uses low res, Windows version uses normal res */ |
- | |
| 1226 | 0, |
- | |
| 1227 | gCurrent_graf_data->net_head_icon_height * player->car_index, |
- | |
| 1228 | gIcons_pix_low_res->width, /* DOS version uses low res, Windows version uses normal res */ |
- | |
| 1229 | gCurrent_graf_data->net_head_icon_height); |
- | |
| 1230 | TurnOnPaletteConversion(); |
- | |
| 1231 | DrawAnItem__racesumm(gCurrent_graf_data->net_sum_x_2, i, 83, s); |
- | |
| 1232 | sprintf(s, "%d", player->played); |
- | |
| 1233 | DrawAnItem__racesumm(gCurrent_graf_data->net_sum_x_3, i, 83, s); |
- | |
| 1234 | sprintf(s, "%d", player->won); |
- | |
| 1235 | DrawAnItem__racesumm(gCurrent_graf_data->net_sum_x_4, i, 83, s); |
- | |
| 1236 | sprintf(s, "%d", player->games_score); |
- | |
| 1237 | DrawAnItem__racesumm(gCurrent_graf_data->net_sum_x_5, i, 83, s); |
- | |
| 1238 | } |
- | |
| 1239 | } |
1189 | } |
| 1240 | 1190 | ||
| 1241 | // IDA: void __cdecl DoNetRaceSummary() |
1191 | // IDA: void __cdecl DoNetRaceSummary() |
| 1242 | void DoNetRaceSummary(void) { |
1192 | void DoNetRaceSummary(void) { |
| 1243 |
|
1193 | //static tFlicette flicker_on[1]; // Pierre-Marie Baty -- unused variable |
| 1244 |
|
1194 | //static tFlicette flicker_off[1]; // Pierre-Marie Baty -- unused variable |
| 1245 |
|
1195 | //static tFlicette push[1]; // Pierre-Marie Baty -- unused variable |
| 1246 |
|
1196 | //static tMouse_area mouse_areas[1]; // Pierre-Marie Baty -- unused variable |
| 1247 |
|
1197 | //static tInterface_spec interface_spec; // Pierre-Marie Baty -- unused variable |
| 1248 | 0, // initial_imode |
- | |
| 1249 | 63, // first_opening_flic |
- | |
| 1250 | 0, // second_opening_flic |
- | |
| 1251 | -1, // end_flic_go_ahead |
- | |
| 1252 | -1, // end_flic_escaped |
- | |
| 1253 | -1, // end_flic_otherwise |
- | |
| 1254 | 8, // flic_bunch_to_load |
- | |
| 1255 | { -1, 0 }, // move_left_new_mode |
- | |
| 1256 | { 0, 0 }, // move_left_delta |
- | |
| 1257 | { 0, 0 }, // move_left_min |
- | |
| 1258 | { 0, 0 }, // move_left_max |
- | |
| 1259 | { NULL, NULL }, // move_left_proc |
- | |
| 1260 | { -1, 0 }, // move_right_new_mode |
- | |
| 1261 | { 0, 0 }, // move_right_delta |
- | |
| 1262 | { 0, 0 }, // move_right_min |
- | |
| 1263 | { 0, 0 }, // move_right_max |
- | |
| 1264 | { NULL, NULL }, // move_right_proc |
- | |
| 1265 | { -1, 0 }, // move_up_new_mode |
- | |
| 1266 | { 0, 0 }, // move_up_delta |
- | |
| 1267 | { 0, 0 }, // move_up_min |
- | |
| 1268 | { 0, 0 }, // move_up_max |
- | |
| 1269 | { NULL, NULL }, // move_up_proc |
- | |
| 1270 | { -1, 0 }, // move_down_new_mode |
- | |
| 1271 | { 0, 0 }, // move_down_delta |
- | |
| 1272 | { 0, 0 }, // move_down_min |
- | |
| 1273 | { 0, 0 }, // move_down_max |
- | |
| 1274 | { NULL, NULL }, // move_down_proc |
- | |
| 1275 | { 1, 1 }, // go_ahead_allowed |
- | |
| 1276 | { NULL, NULL }, // go_ahead_proc |
- | |
| 1277 | { 1, 1 }, // escape_allowed |
- | |
| 1278 | { NULL, NULL }, // escape_proc |
- | |
| 1279 | NULL, // exit_proc |
- | |
| 1280 | &NetSumDraw, // draw_proc |
- | |
| 1281 | 10000, // time_out |
- | |
| 1282 | NULL, // start_proc1 |
- | |
| 1283 | NULL, // start_proc2 |
- | |
| 1284 | NULL, // done_proc |
- | |
| 1285 | 0, // font_needed |
- | |
| 1286 | { 0, 0 }, // typeable |
- | |
| 1287 | NULL, // get_original_string |
- | |
| 1288 | 0, // escape_code |
- | |
| 1289 | 1, // dont_save_or_load |
- | |
| 1290 | 1, // number_of_button_flics |
- | |
| 1291 | flicker_on, // flicker_on_flics |
- | |
| 1292 | flicker_off, // flicker_off_flics |
- | |
| 1293 | push, // pushed_flics |
- | |
| 1294 |
|
1198 | //int i; // Pierre-Marie Baty -- unused variable |
| 1295 |
|
1199 | //int result; // Pierre-Marie Baty -- unused variable |
| 1296 |
|
1200 | //tS32 start_time; // Pierre-Marie Baty -- unused variable |
| 1297 | NULL // recopy_areas |
- | |
| 1298 | }; |
- | |
| 1299 | int i; |
- | |
| 1300 | int result; |
- | |
| 1301 | tS32 start_time; |
- | |
| 1302 | LOG_TRACE("()"); |
1201 | LOG_TRACE("()"); |
| 1303 | - | ||
| 1304 | NetPlayerStatusChanged(ePlayer_status_summary); |
- | |
| 1305 | start_time = PDGetTotalTime(); |
- | |
| 1306 | while (!gReceived_game_scores && PDGetTotalTime() - start_time < 20000) { |
- | |
| 1307 |
|
1202 | NOT_IMPLEMENTED(); |
| 1308 | } |
- | |
| 1309 | if (gReceived_game_scores) { |
- | |
| 1310 | for (i = 0; i < gNumber_of_net_players; i++) { |
- | |
| 1311 | gPlayer_lookup[i] = i; |
- | |
| 1312 | } |
- | |
| 1313 | SortGameScores(); |
- | |
| 1314 | TurnOnPaletteConversion(); |
- | |
| 1315 | DoInterfaceScreen(&interface_spec, 0, 0); |
- | |
| 1316 | NetPlayerStatusChanged(ePlayer_status_loading); |
- | |
| 1317 | TurnOffPaletteConversion(); |
- | |
| 1318 | FadePaletteDown(); |
- | |
| 1319 | } |
- | |
| 1320 | } |
1203 | } |
| 1321 | 1204 | ||
| 1322 | // IDA: tSO_result __usercall DoEndRaceSummary@<EAX>(int *pFirst_summary_done@<EAX>, tRace_result pRace_result@<EDX>) |
1205 | // IDA: tSO_result __usercall DoEndRaceSummary@<EAX>(int *pFirst_summary_done@<EAX>, tRace_result pRace_result@<EDX>) |
| 1323 | tSO_result DoEndRaceSummary(int* pFirst_summary_done, tRace_result pRace_result) { |
1206 | tSO_result DoEndRaceSummary(int* pFirst_summary_done, tRace_result pRace_result) { |
| 1324 | tSO_result result; |
1207 | tSO_result result; |