void gfx_cursor_init(void) { #if defined (__WIN32__) gui_cursor_init(); gui_cursor_set(); #else memset(&cursor, 0x00, sizeof(cursor)); cursor.org = SDL_GetCursor(); if ((cursor.target = init_system_cursor(target_32x32_xpm)) == NULL) { //if ((cursor = init_system_cursor(target_48x48_xpm)) == NULL) { cursor.target = cursor.org; printf("SDL_Init failed: %s\n", SDL_GetError()); } gfx_cursor_set(); #endif }
void input_init(BYTE set_cursor) { BYTE a; r4016.value = 0; for (a = PORT1; a <= PORT2; a++) { memset(&four_score[a], 0x00, sizeof(_four_score)); } if (vs_system.enabled == TRUE) { SET_WR_REG(input_wr_reg_vs); } else { switch (cfg->input.controller_mode) { case CTRL_MODE_NES: case CTRL_MODE_FAMICOM: SET_WR_REG(input_wr_reg_standard); break; case CTRL_MODE_FOUR_SCORE: SET_WR_REG(input_wr_reg_four_score); break; } } for (a = PORT1; a < PORT_MAX; a++) { if (vs_system.enabled == TRUE) { if (info.extra_from_db & VSZAPPER) { if (a == PORT1) { input_decode_event[a] = NULL; input_add_event[a] = NULL; SET_RD_REG(a, input_rd_reg_vs_zapper); } else if (a == PORT2) { SET_DECODE_EVENT(a, input_decode_event_standard); SET_ADD_EVENT(a, input_add_event_standard); SET_RD_REG(a, input_rd_reg_vs_standard); } } else { if (a <= PORT2) { SET_DECODE_EVENT(a, input_decode_event_standard); SET_ADD_EVENT(a, input_add_event_standard); SET_RD_REG(a, input_rd_reg_vs_standard); } } } else { switch (port[a].type) { case CTRL_DISABLED: default: input_decode_event[a] = NULL; input_add_event[a] = NULL; if (a <= PORT2) { SET_RD_REG(a, input_rd_reg_disabled); } break; case CTRL_STANDARD: SET_DECODE_EVENT(a, input_decode_event_standard); SET_ADD_EVENT(a, input_add_event_standard); if (a <= PORT2) { switch (cfg->input.controller_mode) { case CTRL_MODE_NES: SET_RD_REG(a, input_rd_reg_standard); break; case CTRL_MODE_FAMICOM: SET_RD_REG(a, input_rd_reg_famicon_expansion); break; case CTRL_MODE_FOUR_SCORE: SET_RD_REG(a, input_rd_reg_four_score); break; } } break; case CTRL_ZAPPER: input_decode_event[a] = NULL; input_add_event[a] = NULL; if (a <= PORT2) { SET_RD_REG(a, input_rd_reg_zapper); } break; } } port[a].index = port[a].zapper = 0; { BYTE b, state = RELEASED; if (((port[a].type_pad == CTRL_PAD_AUTO) && (machine.type != DENDY)) || (port[a].type_pad == CTRL_PAD_ORIGINAL)) { state = PRESSED; } for (b = 0; b < 24; b++) { if (b < 8) { port[a].data[b] = RELEASED; } else { port[a].data[b] = state; } } } } if (set_cursor == TRUE) { gfx_cursor_set(); } }