mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
Add recipe and patch for FUSE.
This commit is contained in:
76
app-emulation/fuse/fuse-1.1.1.recipe
Normal file
76
app-emulation/fuse/fuse-1.1.1.recipe
Normal file
@@ -0,0 +1,76 @@
|
||||
SUMMARY="Free UNIX Spectrum emulator"
|
||||
DESCRIPTION="ZX Spectrum and derivative machines emulator with the following \
|
||||
features:
|
||||
* Accurate 16K, 48K (including the NTSC variant), 128K, +2, +2A and +3 \
|
||||
emulation.
|
||||
* Working +3e, SE, TC2048, TC2068, TS2068, Pentagon 128, Pentagon \"512\" \
|
||||
(Pentagon 128 modified for extra memory), Pentagon 1024 and Scorpion ZS 256 \
|
||||
emulation.
|
||||
* Runs at true Speccy speed on any computer you're likely to try it on.
|
||||
* Support for loading from .tzx files, including accelerated loading.
|
||||
* Sound (using SDL).
|
||||
* Kempston joystick emulation.
|
||||
* Emulation of the various printers you could attach to the Spectrum.
|
||||
* Support for the RZX input recording file format, including 'competition mode'.
|
||||
* Emulation of the DivIDE, Interface 1, +D, DISCiPLE, Beta 128, Opus \
|
||||
Discovery, Kempston mouse, Fuller audio box, SpecDrum, Spectrum +3e, ZXATASP \
|
||||
and ZXCF interfaces.
|
||||
* Emulation of the Spectranet and SpeccyBoot interfaces.
|
||||
"
|
||||
REVISION="1"
|
||||
ARCHITECTURES="x86_gcc2"
|
||||
LICENSE="GNU GPL v2"
|
||||
COPYRIGHT="2003-2015 Philip Kendall and FUSE contributors"
|
||||
HOMEPAGE="http://fuse-emulator.sourceforge.net/fuse.php"
|
||||
|
||||
SRC_URI="http://sourceforge.net/projects/fuse-emulator/files/fuse/$portVersion/fuse-$portVersion.tar.gz"
|
||||
CHECKSUM_SHA256="a857d4bd62e01d18429897467508af15624cbaf343caed8b9ba1ab3a8879444e"
|
||||
PATCHES="fuse-$portVersion.patchset"
|
||||
|
||||
PROVIDES="
|
||||
fuse = $portVersion
|
||||
cmd:fuse
|
||||
"
|
||||
|
||||
REQUIRES="
|
||||
haiku
|
||||
lib:libbz2
|
||||
lib:libGL
|
||||
lib:libpng
|
||||
lib:libSDL_1.2
|
||||
lib:libspectrum
|
||||
lib:libxml2
|
||||
lib:libz
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku_devel
|
||||
devel:libbz2
|
||||
devel:libpng
|
||||
devel:libsdl
|
||||
devel:libspectrum
|
||||
devel:libxml2
|
||||
devel:libz
|
||||
"
|
||||
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:awk
|
||||
cmd:bison
|
||||
cmd:flex
|
||||
cmd:gcc
|
||||
cmd:make
|
||||
cmd:perl
|
||||
cmd:pkg_config
|
||||
"
|
||||
|
||||
BUILD()
|
||||
{
|
||||
runConfigure ./configure --with-sdl
|
||||
make $jobArgs
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
make install
|
||||
}
|
||||
|
||||
500
app-emulation/fuse/patches/fuse-1.1.1.patchset
Normal file
500
app-emulation/fuse/patches/fuse-1.1.1.patchset
Normal file
@@ -0,0 +1,500 @@
|
||||
From 174978f3abb5c1d7ddf9ab4c8f975a4372d20f51 Mon Sep 17 00:00:00 2001
|
||||
From: Adrien Destugues <pulkomandy@gmail.com>
|
||||
Date: Tue, 12 May 2015 21:38:51 +0200
|
||||
Subject: C89 "declaration after statement" fixes.
|
||||
|
||||
|
||||
diff --git a/event.c b/event.c
|
||||
index 2e4f823..62b7ae7 100644
|
||||
--- a/event.c
|
||||
+++ b/event.c
|
||||
@@ -120,8 +120,9 @@ event_do_events( void )
|
||||
event_t *ptr;
|
||||
|
||||
while(event_next_event <= tstates) {
|
||||
+ event_descriptor_t descriptor;
|
||||
ptr = event_list->data;
|
||||
- event_descriptor_t descriptor =
|
||||
+ descriptor =
|
||||
g_array_index( registered_events, event_descriptor_t, ptr->type );
|
||||
|
||||
/* Remove the event from the list *before* processing */
|
||||
diff --git a/machines/spec16.c b/machines/spec16.c
|
||||
index 5fea25e..27172ca 100644
|
||||
--- a/machines/spec16.c
|
||||
+++ b/machines/spec16.c
|
||||
@@ -69,10 +69,11 @@ static void
|
||||
ensure_empty_mapping( void )
|
||||
{
|
||||
int i;
|
||||
+ libspectrum_byte *empty_chunk;
|
||||
|
||||
if( empty_mapping_allocated ) return;
|
||||
|
||||
- libspectrum_byte *empty_chunk = memory_pool_allocate_persistent( 0x4000, 1 );
|
||||
+ empty_chunk = memory_pool_allocate_persistent( 0x4000, 1 );
|
||||
memset( empty_chunk, 0xff, 0x4000 );
|
||||
|
||||
for( i = 0; i < MEMORY_PAGES_IN_16K; i++ ) {
|
||||
diff --git a/machines/tc2068.c b/machines/tc2068.c
|
||||
index 0206c78..f2ce375 100644
|
||||
--- a/machines/tc2068.c
|
||||
+++ b/machines/tc2068.c
|
||||
@@ -85,10 +85,11 @@ static void
|
||||
ensure_empty_mapping( void )
|
||||
{
|
||||
int i;
|
||||
+ libspectrum_byte *empty_chunk;
|
||||
|
||||
if( empty_mapping_allocated ) return;
|
||||
|
||||
- libspectrum_byte *empty_chunk = memory_pool_allocate_persistent( 0x2000, 1 );
|
||||
+ empty_chunk = memory_pool_allocate_persistent( 0x2000, 1 );
|
||||
memset( empty_chunk, 0xff, 0x2000 );
|
||||
|
||||
for( i = 0; i < MEMORY_PAGES_IN_8K; i++ ) {
|
||||
diff --git a/options.h b/options.h
|
||||
index da643fb..fef7c43 100644
|
||||
--- a/options.h
|
||||
+++ b/options.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/* options.h: options dialog boxes public declarations
|
||||
- Copyright (c) 2001-2002 Philip Kendall
|
||||
+ Copyright (c) 2001-2002,2004 Philip Kendall
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
diff --git a/periph.c b/periph.c
|
||||
index 0a93813..27cc562 100644
|
||||
--- a/periph.c
|
||||
+++ b/periph.c
|
||||
@@ -86,10 +86,12 @@ port_register( periph_type type, const periph_port_t *port )
|
||||
void
|
||||
periph_register( periph_type type, const periph_t *periph )
|
||||
{
|
||||
+ periph_private_t *private;
|
||||
+
|
||||
if( !peripherals )
|
||||
peripherals = g_hash_table_new_full( NULL, NULL, NULL, libspectrum_free );
|
||||
|
||||
- periph_private_t *private = libspectrum_malloc( sizeof( *private ) );
|
||||
+ private = libspectrum_malloc( sizeof( *private ) );
|
||||
|
||||
private->present = PERIPH_PRESENT_NEVER;
|
||||
private->active = 0;
|
||||
diff --git a/peripherals/nic/w5100.c b/peripherals/nic/w5100.c
|
||||
index 386e0a5..eed1a48 100644
|
||||
--- a/peripherals/nic/w5100.c
|
||||
+++ b/peripherals/nic/w5100.c
|
||||
@@ -146,10 +146,11 @@ nic_w5100_alloc( void )
|
||||
{
|
||||
int error;
|
||||
int i;
|
||||
+ nic_w5100_t *self;
|
||||
|
||||
compat_socket_networking_init();
|
||||
|
||||
- nic_w5100_t *self = malloc( sizeof( *self ) );
|
||||
+ self = malloc( sizeof( *self ) );
|
||||
if( !self ) {
|
||||
ui_error( UI_ERROR_ERROR, "%s:%d out of memory", __FILE__, __LINE__ );
|
||||
fuse_abort();
|
||||
diff --git a/peripherals/nic/w5100_internals.h b/peripherals/nic/w5100_internals.h
|
||||
index 491cccf..f321778 100644
|
||||
--- a/peripherals/nic/w5100_internals.h
|
||||
+++ b/peripherals/nic/w5100_internals.h
|
||||
@@ -30,6 +30,7 @@
|
||||
#define FUSE_W5100_INTERNALS_H
|
||||
|
||||
#include <signal.h>
|
||||
+#include <sys/select.h>
|
||||
|
||||
typedef enum w5100_socket_mode {
|
||||
W5100_SOCKET_MODE_CLOSED = 0x00,
|
||||
diff --git a/peripherals/nic/w5100_socket.c b/peripherals/nic/w5100_socket.c
|
||||
index af87f2e..6126ef4 100644
|
||||
--- a/peripherals/nic/w5100_socket.c
|
||||
+++ b/peripherals/nic/w5100_socket.c
|
||||
@@ -141,11 +141,11 @@ nic_w5100_socket_reset( nic_w5100_socket_t *socket )
|
||||
static void
|
||||
w5100_write_socket_mr( nic_w5100_socket_t *socket, libspectrum_byte b )
|
||||
{
|
||||
- nic_w5100_debug( "w5100: writing 0x%02x to S%d_MR\n", b, socket->id );
|
||||
-
|
||||
w5100_socket_mode mode = b & 0x0f;
|
||||
libspectrum_byte flags = b & 0xf0;
|
||||
|
||||
+ nic_w5100_debug( "w5100: writing 0x%02x to S%d_MR\n", b, socket->id );
|
||||
+
|
||||
switch( mode ) {
|
||||
case W5100_SOCKET_MODE_CLOSED:
|
||||
break;
|
||||
diff --git a/peripherals/spectranet.c b/peripherals/spectranet.c
|
||||
index 710ab30..054144c 100644
|
||||
--- a/peripherals/spectranet.c
|
||||
+++ b/peripherals/spectranet.c
|
||||
@@ -201,6 +201,8 @@ spectranet_activate( void )
|
||||
if( !spectranet_memory_allocated ) {
|
||||
|
||||
int i, j;
|
||||
+ libspectrum_byte *rom;
|
||||
+ libspectrum_byte *ram;
|
||||
|
||||
libspectrum_byte *fake_bank =
|
||||
memory_pool_allocate_persistent( 0x1000, 1 );
|
||||
@@ -220,8 +222,7 @@ spectranet_activate( void )
|
||||
}
|
||||
|
||||
/* Pages 0x00 to 0x1f are the flash ROM */
|
||||
- libspectrum_byte *rom =
|
||||
- memory_pool_allocate_persistent( SPECTRANET_ROM_LENGTH, 1 );
|
||||
+ rom = memory_pool_allocate_persistent( SPECTRANET_ROM_LENGTH, 1 );
|
||||
memset( rom, 0xff, SPECTRANET_ROM_LENGTH );
|
||||
|
||||
for( i = 0; i < SPECTRANET_ROM_LENGTH / SPECTRANET_PAGE_LENGTH; i++ ) {
|
||||
@@ -238,8 +239,7 @@ spectranet_activate( void )
|
||||
and writebyte() */
|
||||
|
||||
/* Pages 0xc0 to 0xff are the RAM */
|
||||
- libspectrum_byte *ram =
|
||||
- memory_pool_allocate_persistent( SPECTRANET_RAM_LENGTH, 1 );
|
||||
+ ram = memory_pool_allocate_persistent( SPECTRANET_RAM_LENGTH, 1 );
|
||||
|
||||
for( i = 0; i < SPECTRANET_RAM_LENGTH / SPECTRANET_PAGE_LENGTH; i++ ) {
|
||||
int base = (SPECTRANET_RAM_BASE + i) * MEMORY_PAGES_IN_4K;
|
||||
diff --git a/ui.c b/ui.c
|
||||
index 1bbe624..053ba50 100644
|
||||
--- a/ui.c
|
||||
+++ b/ui.c
|
||||
@@ -163,10 +163,10 @@ static int mouse_grab_suspended = 0;
|
||||
void
|
||||
ui_mouse_button( int button, int down )
|
||||
{
|
||||
- if( !ui_mouse_grabbed && !mouse_grab_suspended ) button = 2;
|
||||
-
|
||||
int kempston_button = !settings_current.mouse_swap_buttons;
|
||||
|
||||
+ if( !ui_mouse_grabbed && !mouse_grab_suspended ) button = 2;
|
||||
+
|
||||
/* Possibly we'll end up handling _more_ than one mouse interface... */
|
||||
switch( button ) {
|
||||
case 1:
|
||||
diff --git a/ui/sdl/sdldisplay.c b/ui/sdl/sdldisplay.c
|
||||
index 22c05d5..0a49670 100644
|
||||
--- a/ui/sdl/sdldisplay.c
|
||||
+++ b/ui/sdl/sdldisplay.c
|
||||
@@ -292,9 +292,10 @@ sdldisplay_find_best_fullscreen_scaler( void )
|
||||
fullscreen to avoid the "postage stamp" on machines that don't support
|
||||
320x240 anymore e.g. Mac notebooks */
|
||||
if( settings_current.full_screen ) {
|
||||
+ int i = 0;
|
||||
+
|
||||
if( searching_fullscreen_scaler ) return;
|
||||
searching_fullscreen_scaler = 1;
|
||||
- int i = 0;
|
||||
while( i < SCALER_NUM &&
|
||||
( image_height*sdldisplay_current_size <= min_fullscreen_height/2 ||
|
||||
image_height*sdldisplay_current_size > max_fullscreen_height ) ) {
|
||||
diff --git a/ui/widget/filesel.c b/ui/widget/filesel.c
|
||||
index a28562a..f31f160 100644
|
||||
--- a/ui/widget/filesel.c
|
||||
+++ b/ui/widget/filesel.c
|
||||
@@ -82,7 +82,7 @@ static int is_drivesel = 0;
|
||||
static int is_rootdir;
|
||||
#endif /* #ifdef WIN32 */
|
||||
|
||||
-#define PAGESIZE (is_saving ? 32 : 36)
|
||||
+#define FUSE_PAGESIZE (is_saving ? 32 : 36)
|
||||
|
||||
/* The number of the filename in the top-left corner of the current
|
||||
display, that of the filename which the `cursor' is on, and that
|
||||
@@ -605,7 +605,7 @@ static int widget_print_all_filenames( struct widget_dirent **filenames, int n,
|
||||
|
||||
/* Print the filenames, mostly normally, but with the currently
|
||||
selected file inverted */
|
||||
- for( i = top_left; i < n && i < top_left + PAGESIZE; i++ ) {
|
||||
+ for( i = top_left; i < n && i < top_left + FUSE_PAGESIZE; i++ ) {
|
||||
if( i == current ) {
|
||||
widget_print_filename( filenames[i], i-top_left, 1 );
|
||||
} else {
|
||||
@@ -806,6 +806,9 @@ http://thread.gmane.org/gmane.comp.gnu.mingw.user/9197
|
||||
void
|
||||
widget_filesel_keyhandler( input_key key )
|
||||
{
|
||||
+ char *fn;
|
||||
+ char *dirtitle;
|
||||
+
|
||||
/* If there are no files (possible on the Wii), can't really do anything */
|
||||
if( widget_numfiles == 0 ) {
|
||||
if( key == INPUT_KEY_Escape ) widget_end_widget( WIDGET_FINISHED_CANCEL );
|
||||
@@ -819,9 +822,6 @@ widget_filesel_keyhandler( input_key key )
|
||||
widget_end_widget( err );
|
||||
}
|
||||
#else /* ifndef AMIGA */
|
||||
- char *fn;
|
||||
- char *dirtitle;
|
||||
-
|
||||
new_current_file = current_file;
|
||||
|
||||
switch(key) {
|
||||
@@ -868,13 +868,13 @@ widget_filesel_keyhandler( input_key key )
|
||||
break;
|
||||
|
||||
case INPUT_KEY_Page_Up:
|
||||
- new_current_file = ( current_file > PAGESIZE ) ?
|
||||
- current_file - PAGESIZE :
|
||||
+ new_current_file = ( current_file > FUSE_PAGESIZE ) ?
|
||||
+ current_file - FUSE_PAGESIZE :
|
||||
0;
|
||||
break;
|
||||
|
||||
case INPUT_KEY_Page_Down:
|
||||
- new_current_file = current_file + PAGESIZE;
|
||||
+ new_current_file = current_file + FUSE_PAGESIZE;
|
||||
if( new_current_file >= widget_numfiles )
|
||||
new_current_file = widget_numfiles - 1;
|
||||
break;
|
||||
@@ -965,9 +965,9 @@ widget_filesel_keyhandler( input_key key )
|
||||
widget_print_all_filenames( widget_filenames, widget_numfiles,
|
||||
top_left_file, new_current_file, dirtitle );
|
||||
|
||||
- } else if( new_current_file >= top_left_file+PAGESIZE ) {
|
||||
+ } else if( new_current_file >= top_left_file+FUSE_PAGESIZE ) {
|
||||
|
||||
- top_left_file = new_current_file & ~1; top_left_file -= PAGESIZE - 2;
|
||||
+ top_left_file = new_current_file & ~1; top_left_file -= FUSE_PAGESIZE - 2;
|
||||
widget_print_all_filenames( widget_filenames, widget_numfiles,
|
||||
top_left_file, new_current_file, dirtitle );
|
||||
|
||||
diff --git a/ui/widget/menu_data.c b/ui/widget/menu_data.c
|
||||
index ea5a348..127d500 100644
|
||||
--- a/ui/widget/menu_data.c
|
||||
+++ b/ui/widget/menu_data.c
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
*/
|
||||
|
||||
-/* This file is autogenerated from menu_data.dat by ../../../ui/widget/../../menu_data.pl.
|
||||
+/* This file is autogenerated from menu_data.dat by ./../../menu_data.pl.
|
||||
Any changes made here will not be preserved. */
|
||||
|
||||
#include <config.h>
|
||||
@@ -71,8 +71,6 @@ static widget_menu_entry menu_file[] = {
|
||||
{ "S\012a\011ve Screen as SCR...", INPUT_KEY_a, NULL, menu_file_savescreenasscr, NULL, 0 },
|
||||
{ "Save S\012c\011reen as PNG...", INPUT_KEY_c, NULL, menu_file_savescreenaspng, NULL, 0 },
|
||||
{ "\012M\011ovie", INPUT_KEY_m, menu_file_movie, NULL, NULL, 0 },
|
||||
- { "Loa\012d\011 binary data...", INPUT_KEY_d, NULL, menu_file_loadbinarydata, NULL, 0 },
|
||||
- { "Save \012b\011inary data...", INPUT_KEY_b, NULL, menu_file_savebinarydata, NULL, 0 },
|
||||
{ "E\012x\011it...", INPUT_KEY_x, NULL, menu_file_exit, NULL, 0 },
|
||||
{ NULL }
|
||||
};
|
||||
@@ -128,6 +126,7 @@ static widget_menu_entry menu_options[] = {
|
||||
{ "\012J\011oysticks", INPUT_KEY_j, menu_options_joysticks, NULL, NULL, 0 },
|
||||
{ "S\012e\011lect ROMs", INPUT_KEY_e, menu_options_selectroms, NULL, NULL, 0 },
|
||||
{ "\012F\011ilter...", INPUT_KEY_f, NULL, menu_options_filter, menu_filter_detail, 0 },
|
||||
+ { "F\012u\011ll screen", INPUT_KEY_u, NULL, menu_options_fullscreen, NULL, 0 },
|
||||
{ "\012D\011isk options...", INPUT_KEY_d, NULL, menu_options_diskoptions, NULL, 0 },
|
||||
{ "S\012a\011ve", INPUT_KEY_a, NULL, menu_options_save, NULL, 0 },
|
||||
{ NULL }
|
||||
@@ -142,7 +141,6 @@ static widget_menu_entry menu_machine_profiler[] = {
|
||||
|
||||
static widget_menu_entry menu_machine[] = {
|
||||
{ "Machine" },
|
||||
- { "\012P\011ause...", INPUT_KEY_p, NULL, menu_machine_pause, NULL, 0 },
|
||||
{ "\012R\011eset...", INPUT_KEY_r, NULL, menu_machine_reset, NULL, 0 },
|
||||
{ "\012H\011ard reset...", INPUT_KEY_h, NULL, menu_machine_reset, NULL, 1 },
|
||||
{ "\012S\011elect...", INPUT_KEY_s, NULL, menu_machine_select, menu_machine_detail, 0 },
|
||||
diff --git a/ui/widget/options.c b/ui/widget/options.c
|
||||
index ea2e997..3a7fd3b 100644
|
||||
--- a/ui/widget/options.c
|
||||
+++ b/ui/widget/options.c
|
||||
@@ -303,6 +303,8 @@ static void widget_bw_tv_click( void );
|
||||
static void widget_option_bw_tv_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
static void widget_pal_tv2x_click( void );
|
||||
static void widget_option_pal_tv2x_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
+static void widget_full_screen_click( void );
|
||||
+static void widget_option_full_screen_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
static void widget_confirm_actions_click( void );
|
||||
static void widget_option_confirm_actions_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
static void widget_statusbar_click( void );
|
||||
@@ -330,8 +332,6 @@ static void widget_printer_click( void );
|
||||
static void widget_option_printer_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
static void widget_zxprinter_click( void );
|
||||
static void widget_option_zxprinter_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
-static void widget_speccyboot_click( void );
|
||||
-static void widget_option_speccyboot_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
static void widget_specdrum_click( void );
|
||||
static void widget_option_specdrum_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show );
|
||||
static void widget_spectranet_click( void );
|
||||
@@ -448,10 +448,11 @@ static widget_option_entry options_general[] = {
|
||||
{ "RS-232 \012h\001andshake", 13, INPUT_KEY_h, NULL, NULL, widget_rs232_handshake_click, widget_option_rs232_handshake_draw },
|
||||
{ "Black and white T\012V\001", 14, INPUT_KEY_v, NULL, NULL, widget_bw_tv_click, widget_option_bw_tv_draw },
|
||||
{ "\012P\001AL-TV use TV2x effect", 15, INPUT_KEY_p, NULL, NULL, widget_pal_tv2x_click, widget_option_pal_tv2x_draw },
|
||||
- { "\012C\001onfirm actions", 16, INPUT_KEY_c, NULL, NULL, widget_confirm_actions_click, widget_option_confirm_actions_draw },
|
||||
- { "Show status\012b\001ar", 17, INPUT_KEY_b, NULL, NULL, widget_statusbar_click, widget_option_statusbar_draw },
|
||||
- { "Snap \012j\001oystick prompt", 18, INPUT_KEY_j, NULL, NULL, widget_joy_prompt_click, widget_option_joy_prompt_draw },
|
||||
- { "Late t\012i\001mings", 19, INPUT_KEY_i, NULL, NULL, widget_late_timings_click, widget_option_late_timings_draw },
|
||||
+ { "Full \012s\001creen", 16, INPUT_KEY_s, NULL, NULL, widget_full_screen_click, widget_option_full_screen_draw },
|
||||
+ { "\012C\001onfirm actions", 17, INPUT_KEY_c, NULL, NULL, widget_confirm_actions_click, widget_option_confirm_actions_draw },
|
||||
+ { "Show status\012b\001ar", 18, INPUT_KEY_b, NULL, NULL, widget_statusbar_click, widget_option_statusbar_draw },
|
||||
+ { "Snap \012j\001oystick prompt", 19, INPUT_KEY_j, NULL, NULL, widget_joy_prompt_click, widget_option_joy_prompt_draw },
|
||||
+ { "Late t\012i\001mings", 20, INPUT_KEY_i, NULL, NULL, widget_late_timings_click, widget_option_late_timings_draw },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
@@ -466,10 +467,9 @@ static widget_option_entry options_peripherals_general[] = {
|
||||
{ "In\012t\001erface 2", 6, INPUT_KEY_t, NULL, NULL, widget_interface2_click, widget_option_interface2_draw },
|
||||
{ "Emulate \012p\001rinters", 7, INPUT_KEY_p, NULL, NULL, widget_printer_click, widget_option_printer_draw },
|
||||
{ "\012Z\001X Printer", 8, INPUT_KEY_z, NULL, NULL, widget_zxprinter_click, widget_option_zxprinter_draw },
|
||||
- { "Speccy\012B\001oot interface", 9, INPUT_KEY_b, NULL, NULL, widget_speccyboot_click, widget_option_speccyboot_draw },
|
||||
- { "Spec\012D\001rum interface", 10, INPUT_KEY_d, NULL, NULL, widget_specdrum_click, widget_option_specdrum_draw },
|
||||
- { "Spectra\012n\001et", 11, INPUT_KEY_n, NULL, NULL, widget_spectranet_click, widget_option_spectranet_draw },
|
||||
- { "Spe\012c\001tranet disable", 12, INPUT_KEY_c, NULL, NULL, widget_spectranet_disable_click, widget_option_spectranet_disable_draw },
|
||||
+ { "Spec\012D\001rum interface", 9, INPUT_KEY_d, NULL, NULL, widget_specdrum_click, widget_option_specdrum_draw },
|
||||
+ { "Spectra\012n\001et", 10, INPUT_KEY_n, NULL, NULL, widget_spectranet_click, widget_option_spectranet_draw },
|
||||
+ { "Spe\012c\001tranet disable", 11, INPUT_KEY_c, NULL, NULL, widget_spectranet_disable_click, widget_option_spectranet_disable_draw },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
@@ -685,6 +685,8 @@ widget_options_finish( widget_finish_state finished )
|
||||
|
||||
/* If we exited normally, actually set the options */
|
||||
if( finished == WIDGET_FINISHED_OK ) {
|
||||
+ int needs_hard_reset;
|
||||
+
|
||||
/* Get a copy of current settings */
|
||||
settings_info original_settings;
|
||||
memset( &original_settings, 0, sizeof( settings_info ) );
|
||||
@@ -693,8 +695,7 @@ widget_options_finish( widget_finish_state finished )
|
||||
/* Apply new options */
|
||||
settings_copy( &settings_current, &widget_options_settings );
|
||||
|
||||
- int needs_hard_reset = periph_postcheck();
|
||||
-
|
||||
+ needs_hard_reset = periph_postcheck();
|
||||
if( needs_hard_reset ) {
|
||||
error = widget_do( WIDGET_TYPE_QUERY,
|
||||
"Some options need to reset the machine. Reset?" );
|
||||
@@ -1002,6 +1003,18 @@ widget_option_pal_tv2x_draw( int left_edge, int width, struct widget_option_entr
|
||||
}
|
||||
|
||||
static void
|
||||
+widget_full_screen_click( void )
|
||||
+{
|
||||
+ widget_options_settings.full_screen = ! widget_options_settings.full_screen;
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
+widget_option_full_screen_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show )
|
||||
+{
|
||||
+ widget_options_print_option( left_edge, width, menu->index, menu->text, show->full_screen );
|
||||
+}
|
||||
+
|
||||
+static void
|
||||
widget_confirm_actions_click( void )
|
||||
{
|
||||
widget_options_settings.confirm_actions = ! widget_options_settings.confirm_actions;
|
||||
@@ -1065,7 +1078,7 @@ widget_general_keyhandler( input_key key )
|
||||
|
||||
#if 0
|
||||
case INPUT_KEY_Resize: /* Fake keypress used on window resize */
|
||||
- widget_dialog_with_border( 1, 2, 30, 2 + 20 );
|
||||
+ widget_dialog_with_border( 1, 2, 30, 2 + 21 );
|
||||
widget_general_show_all( &widget_options_settings );
|
||||
break;
|
||||
#endif
|
||||
@@ -1088,7 +1101,7 @@ widget_general_keyhandler( input_key key )
|
||||
case INPUT_KEY_Down:
|
||||
case INPUT_KEY_6:
|
||||
case INPUT_JOYSTICK_DOWN:
|
||||
- if ( highlight_line + 1 < 20 ) {
|
||||
+ if ( highlight_line + 1 < 21 ) {
|
||||
new_highlight_line = highlight_line + 1;
|
||||
cursor_pressed = 1;
|
||||
}
|
||||
@@ -1102,8 +1115,8 @@ widget_general_keyhandler( input_key key )
|
||||
break;
|
||||
|
||||
case INPUT_KEY_End:
|
||||
- if ( highlight_line + 2 < 20 ) {
|
||||
- new_highlight_line = 20 - 1;
|
||||
+ if ( highlight_line + 2 < 21 ) {
|
||||
+ new_highlight_line = 21 - 1;
|
||||
cursor_pressed = 1;
|
||||
}
|
||||
break;
|
||||
@@ -1277,18 +1290,6 @@ widget_option_zxprinter_draw( int left_edge, int width, struct widget_option_ent
|
||||
}
|
||||
|
||||
static void
|
||||
-widget_speccyboot_click( void )
|
||||
-{
|
||||
- widget_options_settings.speccyboot = ! widget_options_settings.speccyboot;
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
-widget_option_speccyboot_draw( int left_edge, int width, struct widget_option_entry *menu, settings_info *show )
|
||||
-{
|
||||
- widget_options_print_option( left_edge, width, menu->index, menu->text, show->speccyboot );
|
||||
-}
|
||||
-
|
||||
-static void
|
||||
widget_specdrum_click( void )
|
||||
{
|
||||
widget_options_settings.specdrum = ! widget_options_settings.specdrum;
|
||||
@@ -1340,7 +1341,7 @@ widget_peripherals_general_keyhandler( input_key key )
|
||||
|
||||
#if 0
|
||||
case INPUT_KEY_Resize: /* Fake keypress used on window resize */
|
||||
- widget_dialog_with_border( 1, 2, 30, 2 + 13 );
|
||||
+ widget_dialog_with_border( 1, 2, 30, 2 + 12 );
|
||||
widget_peripherals_general_show_all( &widget_options_settings );
|
||||
break;
|
||||
#endif
|
||||
@@ -1363,7 +1364,7 @@ widget_peripherals_general_keyhandler( input_key key )
|
||||
case INPUT_KEY_Down:
|
||||
case INPUT_KEY_6:
|
||||
case INPUT_JOYSTICK_DOWN:
|
||||
- if ( highlight_line + 1 < 13 ) {
|
||||
+ if ( highlight_line + 1 < 12 ) {
|
||||
new_highlight_line = highlight_line + 1;
|
||||
cursor_pressed = 1;
|
||||
}
|
||||
@@ -1377,8 +1378,8 @@ widget_peripherals_general_keyhandler( input_key key )
|
||||
break;
|
||||
|
||||
case INPUT_KEY_End:
|
||||
- if ( highlight_line + 2 < 13 ) {
|
||||
- new_highlight_line = 13 - 1;
|
||||
+ if ( highlight_line + 2 < 12 ) {
|
||||
+ new_highlight_line = 12 - 1;
|
||||
cursor_pressed = 1;
|
||||
}
|
||||
break;
|
||||
diff --git a/ui/widget/pokemem.c b/ui/widget/pokemem.c
|
||||
index 8774fc0..10c925a 100644
|
||||
--- a/ui/widget/pokemem.c
|
||||
+++ b/ui/widget/pokemem.c
|
||||
@@ -183,6 +183,8 @@ widget_pokemem_print_trainer( unsigned int left_edge, unsigned int width,
|
||||
char buffer[128];
|
||||
size_t l, w;
|
||||
int colour = WIDGET_COLOUR_BACKGROUND;
|
||||
+ int x;
|
||||
+ int y;
|
||||
|
||||
if( number == highlight_line ) colour = WIDGET_COLOUR_HIGHLIGHT;
|
||||
widget_rectangle( left_edge * 8 + 1, number * 8 + 24, width * 8 - 2, 1 * 8,
|
||||
@@ -202,8 +204,8 @@ widget_pokemem_print_trainer( unsigned int left_edge, unsigned int width,
|
||||
widget_putpixel( w, number * 8 + 31, 0 );
|
||||
|
||||
/* print check */
|
||||
- int x = ( left_edge + width - 2 ) * 8 - 2;
|
||||
- int y = number * 8 + 24;
|
||||
+ x = ( left_edge + width - 2 ) * 8 - 2;
|
||||
+ y = number * 8 + 24;
|
||||
|
||||
widget_rectangle( x, y, 8, 8, colour );
|
||||
widget_print_checkbox( x, y,
|
||||
--
|
||||
2.2.2
|
||||
|
||||
Reference in New Issue
Block a user