Previous 199869 Revisions Next

r31180 Friday 4th July, 2014 at 00:19:43 UTC by Tafoid
Fix for MT#5620: Crosshair: Selected graphic does not display properly from QMC2
[src/emu]crsshair.c
[src/emu/ui]miscmenu.c

trunk/src/emu/crsshair.c
r31179r31180
154154   rgb_t color = crosshair_colors[player];
155155
156156   /* if we have a bitmap and texture for this player, kill it */
157   if (global.bitmap[player] == NULL)
157   if (global.bitmap[player] == NULL) {
158158      global.bitmap[player] = global_alloc(bitmap_argb32);
159   machine.render().texture_free(global.texture[player]);
159      global.texture[player] = machine.render().texture_alloc(render_texture::hq_scale);
160   }
160161
161162   emu_file crossfile(machine.options().crosshair_path(), OPEN_FLAG_READ);
162163   if (global.name[player][0] != 0)
r31179r31180
197198      }
198199   }
199200
200   /* create a texture to reference the bitmap */
201   global.texture[player] = machine.render().texture_alloc(render_texture::hq_scale);
201   /* reference the new bitmap */
202202   global.texture[player]->set_bitmap(*global.bitmap[player], global.bitmap[player]->cliprect(), TEXFORMAT_ARGB32);
203203}
204204
r31179r31180
303303
304304void crosshair_set_user_settings(running_machine &machine, UINT8 player, crosshair_user_settings *settings)
305305{
306   int changed = FALSE;
307
308306   global.auto_time = settings->auto_time;
309307   global.used[player] = settings->used;
310308   global.mode[player] = settings->mode;
r31179r31180
314312   global.visible[player] = (settings->mode == CROSSHAIR_VISIBILITY_ON) ? TRUE : FALSE;
315313
316314   /* update bitmap if name has changed */
317   changed = strcmp(settings->name, global.name[player]);
315   int changed = strcmp(settings->name, global.name[player]);
318316   strcpy(global.name[player], settings->name);
319   if (changed)
317   if (changed != 0)
320318      create_bitmap(machine, player);
321319}
322320
trunk/src/emu/ui/miscmenu.c
r31179r31180
19311931   {
19321932      crosshair_user_settings settings;
19331933      crosshair_item_data *data = (crosshair_item_data *)menu_event->itemref;
1934      int changed = false;
1934      bool changed = false;
19351935      //int set_def = false;
19361936      int newval = data->cur;
19371937
r31179r31180
19851985      /* crosshair graphic name */
19861986      if (data->type == CROSSHAIR_ITEM_PIC)
19871987      {
1988         if (menu_event->iptkey == IPT_UI_SELECT)
1988         switch (menu_event->iptkey)
19891989         {
1990            /* clear the name string to reset to default crosshair */
1991            settings.name[0] = 0;
1992            changed = true;
1990            case IPT_UI_SELECT:
1991               /* clear the name string to reset to default crosshair */
1992               settings.name[0] = 0;
1993               changed = true;
1994               break;
1995
1996            case IPT_UI_LEFT:
1997               strcpy(settings.name, data->last_name);
1998               changed = true;
1999               break;
2000
2001            case IPT_UI_RIGHT:
2002               strcpy(settings.name, data->next_name);
2003               changed = true;
2004               break;
19932005         }
1994         else if (menu_event->iptkey == IPT_UI_LEFT)
1995         {
1996            strcpy(settings.name, data->last_name);
1997            changed = true;
1998         }
1999         else if (menu_event->iptkey == IPT_UI_RIGHT)
2000         {
2001            strcpy(settings.name, data->next_name);
2002            changed = true;
2003         }
20042006      }
20052007
20062008      if (changed)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team