X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Ftools.c;h=19965d47a3c9ab9f08a41928f16ce316f48223c5;hb=93aecd5b2aebfcdda8e26d60b952bd9224c8dede;hp=9e06ab4ad18d4b9b70ac3162f9d48562693cf939;hpb=d5aae18363bcd9867d27d8db5bdcf1d8579bb42c;p=rocksndiamonds.git diff --git a/src/tools.c b/src/tools.c index 9e06ab4a..19965d47 100644 --- a/src/tools.c +++ b/src/tools.c @@ -4215,7 +4215,29 @@ static int RequestHandleEvents(unsigned int req_state) } if (req_state & REQ_PLAYER) - result = 0; + { + int old_player_nr = setup.network_player_nr; + + if (result != -1) + result = old_player_nr + 1; + + switch (key) + { + case KSYM_space: + result = old_player_nr + 1; + break; + + case KSYM_1: + case KSYM_2: + case KSYM_3: + case KSYM_4: + result = key - KSYM_1 + 1; + break; + + default: + break; + } + } break; } @@ -5304,7 +5326,8 @@ void CreateToolButtons() for (i = 0; i < NUM_TOOL_BUTTONS; i++) { - struct GraphicInfo *gfx = &graphic_info[toolbutton_info[i].graphic]; + int graphic = toolbutton_info[i].graphic; + struct GraphicInfo *gfx = &graphic_info[graphic]; struct TextPosInfo *pos = toolbutton_info[i].pos; struct GadgetInfo *gi; Bitmap *deco_bitmap = None; @@ -5328,33 +5351,30 @@ void CreateToolButtons() if (x < 0 || x + gfx->width > request.width || y < 0 || y + gfx->height > request.height) { - // use left padding of "yes" button as default border padding - int padding = toolbutton_info[TOOL_CTRL_ID_YES].pos->x; - if (id == TOOL_CTRL_ID_YES) { - x = padding; - y = request.height - 2 * request.border_size - gfx->height - padding; + x = 0; + y = request.height - 2 * request.border_size - gfx->height; } else if (id == TOOL_CTRL_ID_NO) { - x = request.width - 2 * request.border_size - gfx->width - padding; - y = request.height - 2 * request.border_size - gfx->height - padding; + x = request.width - 2 * request.border_size - gfx->width; + y = request.height - 2 * request.border_size - gfx->height; } else if (id == TOOL_CTRL_ID_CONFIRM) { x = (request.width - 2 * request.border_size - gfx->width) / 2; - y = request.height - 2 * request.border_size - gfx->height - padding; + y = request.height - 2 * request.border_size - gfx->height; } else if (id >= TOOL_CTRL_ID_PLAYER_1 && id <= TOOL_CTRL_ID_PLAYER_4) { int player_nr = id - TOOL_CTRL_ID_PLAYER_1; x = (request.width - 2 * request.border_size - gfx->width) / 2; - y = request.height - 2 * request.border_size - gfx->height - padding; + y = request.height - 2 * request.border_size - gfx->height * 2; - x += (player_nr % 2 ? +1 : -1) * gfx->width / 2; - y += (player_nr / 2 ? 0 : -1) * gfx->height; + x += (player_nr == 3 ? -1 : player_nr == 1 ? +1 : 0) * gfx->width; + y += (player_nr == 0 ? -1 : player_nr == 2 ? +1 : 0) * gfx->height; } } } @@ -5370,6 +5390,7 @@ void CreateToolButtons() } gi = CreateGadget(GDI_CUSTOM_ID, id, + GDI_IMAGE_ID, graphic, GDI_INFO_TEXT, toolbutton_info[i].infotext, GDI_X, dx + x, GDI_Y, dy + y,