trunk/src/emu/crsshair.c
| r31179 | r31180 | |
| 154 | 154 | rgb_t color = crosshair_colors[player]; |
| 155 | 155 | |
| 156 | 156 | /* if we have a bitmap and texture for this player, kill it */ |
| 157 | | if (global.bitmap[player] == NULL) |
| 157 | if (global.bitmap[player] == NULL) { |
| 158 | 158 | 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 | } |
| 160 | 161 | |
| 161 | 162 | emu_file crossfile(machine.options().crosshair_path(), OPEN_FLAG_READ); |
| 162 | 163 | if (global.name[player][0] != 0) |
| r31179 | r31180 | |
| 197 | 198 | } |
| 198 | 199 | } |
| 199 | 200 | |
| 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 */ |
| 202 | 202 | global.texture[player]->set_bitmap(*global.bitmap[player], global.bitmap[player]->cliprect(), TEXFORMAT_ARGB32); |
| 203 | 203 | } |
| 204 | 204 | |
| r31179 | r31180 | |
| 303 | 303 | |
| 304 | 304 | void crosshair_set_user_settings(running_machine &machine, UINT8 player, crosshair_user_settings *settings) |
| 305 | 305 | { |
| 306 | | int changed = FALSE; |
| 307 | | |
| 308 | 306 | global.auto_time = settings->auto_time; |
| 309 | 307 | global.used[player] = settings->used; |
| 310 | 308 | global.mode[player] = settings->mode; |
| r31179 | r31180 | |
| 314 | 312 | global.visible[player] = (settings->mode == CROSSHAIR_VISIBILITY_ON) ? TRUE : FALSE; |
| 315 | 313 | |
| 316 | 314 | /* update bitmap if name has changed */ |
| 317 | | changed = strcmp(settings->name, global.name[player]); |
| 315 | int changed = strcmp(settings->name, global.name[player]); |
| 318 | 316 | strcpy(global.name[player], settings->name); |
| 319 | | if (changed) |
| 317 | if (changed != 0) |
| 320 | 318 | create_bitmap(machine, player); |
| 321 | 319 | } |
| 322 | 320 | |
trunk/src/emu/ui/miscmenu.c
| r31179 | r31180 | |
| 1931 | 1931 | { |
| 1932 | 1932 | crosshair_user_settings settings; |
| 1933 | 1933 | crosshair_item_data *data = (crosshair_item_data *)menu_event->itemref; |
| 1934 | | int changed = false; |
| 1934 | bool changed = false; |
| 1935 | 1935 | //int set_def = false; |
| 1936 | 1936 | int newval = data->cur; |
| 1937 | 1937 | |
| r31179 | r31180 | |
| 1985 | 1985 | /* crosshair graphic name */ |
| 1986 | 1986 | if (data->type == CROSSHAIR_ITEM_PIC) |
| 1987 | 1987 | { |
| 1988 | | if (menu_event->iptkey == IPT_UI_SELECT) |
| 1988 | switch (menu_event->iptkey) |
| 1989 | 1989 | { |
| 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; |
| 1993 | 2005 | } |
| 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 | | } |
| 2004 | 2006 | } |
| 2005 | 2007 | |
| 2006 | 2008 | if (changed) |