src/player_gui.cpp
branchcpp_gui
changeset 6251 cd413fa2e252
parent 6250 5135b200b376
child 6258 a2f86b8fd99b
equal deleted inserted replaced
6250:5135b200b376 6251:cd413fa2e252
   317 
   317 
   318 static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e)
   318 static void SelectPlayerLiveryWndProc(Window *w, WindowEvent *e)
   319 {
   319 {
   320 	switch (e->event) {
   320 	switch (e->event) {
   321 		case WE_CREATE:
   321 		case WE_CREATE:
   322 			LowerWindowWidget(w, WP(w, livery_d).livery_class + 2);
   322 			w->LowerWidget(WP(w, livery_d).livery_class + 2);
   323 			if (!_have_2cc) {
   323 			if (!_have_2cc) {
   324 				w->HideWidget(11);
   324 				w->HideWidget(11);
   325 				w->HideWidget(12);
   325 				w->HideWidget(12);
   326 			}
   326 			}
   327 			break;
   327 			break;
   381 				case 4:
   381 				case 4:
   382 				case 5:
   382 				case 5:
   383 				case 6: {
   383 				case 6: {
   384 					LiveryScheme scheme;
   384 					LiveryScheme scheme;
   385 
   385 
   386 					RaiseWindowWidget(w, WP(w, livery_d).livery_class + 2);
   386 					w->RaiseWidget(WP(w, livery_d).livery_class + 2);
   387 					WP(w, livery_d).livery_class = (LiveryClass)(e->we.click.widget - 2);
   387 					WP(w, livery_d).livery_class = (LiveryClass)(e->we.click.widget - 2);
   388 					WP(w, livery_d).sel = 0;
   388 					WP(w, livery_d).sel = 0;
   389 					LowerWindowWidget(w, WP(w, livery_d).livery_class + 2);
   389 					w->LowerWidget(WP(w, livery_d).livery_class + 2);
   390 
   390 
   391 					/* Select the first item in the list */
   391 					/* Select the first item in the list */
   392 					for (scheme = LS_DEFAULT; scheme < LS_END; scheme++) {
   392 					for (scheme = LS_DEFAULT; scheme < LS_END; scheme++) {
   393 						if (livery_class[scheme] == WP(w, livery_d).livery_class) {
   393 						if (livery_class[scheme] == WP(w, livery_d).livery_class) {
   394 							WP(w, livery_d).sel = 1 << scheme;
   394 							WP(w, livery_d).sel = 1 << scheme;
   508 static void SelectPlayerFaceWndProc(Window *w, WindowEvent *e)
   508 static void SelectPlayerFaceWndProc(Window *w, WindowEvent *e)
   509 {
   509 {
   510 	switch (e->event) {
   510 	switch (e->event) {
   511 	case WE_PAINT: {
   511 	case WE_PAINT: {
   512 		Player *p;
   512 		Player *p;
   513 		LowerWindowWidget(w, WP(w, facesel_d).gender + 5);
   513 		w->LowerWidget(WP(w, facesel_d).gender + 5);
   514 		w->DrawWidgets();
   514 		w->DrawWidgets();
   515 		p = GetPlayer((PlayerID)w->window_number);
   515 		p = GetPlayer((PlayerID)w->window_number);
   516 		DrawPlayerFace(WP(w,facesel_d).face, p->player_color, 2, 16);
   516 		DrawPlayerFace(WP(w,facesel_d).face, p->player_color, 2, 16);
   517 	} break;
   517 	} break;
   518 
   518 
   523 			DoCommandP(0, 0, WP(w,facesel_d).face, NULL, CMD_SET_PLAYER_FACE);
   523 			DoCommandP(0, 0, WP(w,facesel_d).face, NULL, CMD_SET_PLAYER_FACE);
   524 			w->Close();
   524 			w->Close();
   525 			break;
   525 			break;
   526 		case 5: /* male click */
   526 		case 5: /* male click */
   527 		case 6: /* female click */
   527 		case 6: /* female click */
   528 			RaiseWindowWidget(w, WP(w, facesel_d).gender + 5);
   528 			w->RaiseWidget(WP(w, facesel_d).gender + 5);
   529 			WP(w, facesel_d).gender = e->we.click.widget - 5;
   529 			WP(w, facesel_d).gender = e->we.click.widget - 5;
   530 			LowerWindowWidget(w, WP(w, facesel_d).gender + 5);
   530 			w->LowerWidget(WP(w, facesel_d).gender + 5);
   531 			w->SetDirty();
   531 			w->SetDirty();
   532 			break;
   532 			break;
   533 		case 7:
   533 		case 7:
   534 			WP(w,facesel_d).face = (WP(w,facesel_d).gender << 31) + GB(InteractiveRandom(), 0, 31);
   534 			WP(w,facesel_d).face = (WP(w,facesel_d).gender << 31) + GB(InteractiveRandom(), 0, 31);
   535 			w->SetDirty();
   535 			w->SetDirty();
   755 					Window *wf = AllocateWindowDescFront(_have_2cc ? &_select_player_livery_2cc_desc : &_select_player_livery_desc, w->window_number);
   755 					Window *wf = AllocateWindowDescFront(_have_2cc ? &_select_player_livery_2cc_desc : &_select_player_livery_desc, w->window_number);
   756 					if (wf != NULL) {
   756 					if (wf != NULL) {
   757 						wf->caption_color = wf->window_number;
   757 						wf->caption_color = wf->window_number;
   758 						WP(wf,livery_d).livery_class = LC_OTHER;
   758 						WP(wf,livery_d).livery_class = LC_OTHER;
   759 						WP(wf,livery_d).sel = 1;
   759 						WP(wf,livery_d).sel = 1;
   760 						LowerWindowWidget(wf, 2);
   760 						wf->LowerWidget(2);
   761 					}
   761 					}
   762 					break;
   762 					break;
   763 				}
   763 				}
   764 
   764 
   765 				case PCW_WIDGET_PRESIDENT_NAME: {
   765 				case PCW_WIDGET_PRESIDENT_NAME: {
   783 					if (tile == 0) {
   783 					if (tile == 0) {
   784 						if ((byte)w->window_number != _local_player)
   784 						if ((byte)w->window_number != _local_player)
   785 							return;
   785 							return;
   786 						SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, 1, w);
   786 						SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, 1, w);
   787 						SetTileSelectSize(2, 2);
   787 						SetTileSelectSize(2, 2);
   788 						LowerWindowWidget(w, PCW_WIDGET_BUILD_VIEW_HQ);
   788 						w->LowerWidget(PCW_WIDGET_BUILD_VIEW_HQ);
   789 						w->InvalidateWidget(PCW_WIDGET_BUILD_VIEW_HQ);
   789 						w->InvalidateWidget(PCW_WIDGET_BUILD_VIEW_HQ);
   790 					} else {
   790 					} else {
   791 						ScrollMainWindowToTile(tile);
   791 						ScrollMainWindowToTile(tile);
   792 					}
   792 					}
   793 					break;
   793 					break;
   794 				}
   794 				}
   795 
   795 
   796 				case PCW_WIDGET_RELOCATE_HQ:
   796 				case PCW_WIDGET_RELOCATE_HQ:
   797 					SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, 1, w);
   797 					SetObjectToPlaceWnd(SPR_CURSOR_HQ, PAL_NONE, 1, w);
   798 					SetTileSelectSize(2, 2);
   798 					SetTileSelectSize(2, 2);
   799 					LowerWindowWidget(w, PCW_WIDGET_RELOCATE_HQ);
   799 					w->LowerWidget(PCW_WIDGET_RELOCATE_HQ);
   800 					w->InvalidateWidget(PCW_WIDGET_RELOCATE_HQ);
   800 					w->InvalidateWidget(PCW_WIDGET_RELOCATE_HQ);
   801 					break;
   801 					break;
   802 
   802 
   803 				case PCW_WIDGET_BUY_SHARE:
   803 				case PCW_WIDGET_BUY_SHARE:
   804 					DoCommandP(0, w->window_number, 0, NULL, CMD_BUY_SHARE_IN_COMPANY | CMD_MSG(STR_707B_CAN_T_BUY_25_SHARE_IN_THIS));
   804 					DoCommandP(0, w->window_number, 0, NULL, CMD_BUY_SHARE_IN_COMPANY | CMD_MSG(STR_707B_CAN_T_BUY_25_SHARE_IN_THIS));