joncampbell123 / dosbox-x

DOSBox-X fork of the DOSBox project
GNU General Public License v2.0
2.67k stars 378 forks source link

help menu items unaccessible #2877

Open saintfrater opened 3 years ago

saintfrater commented 3 years ago

Describe the bug Any "help" menu's items bellow "DOS commands" sub-menu are unaccessible, the "DOS commands" sub-menu is draw over the menu.

To Reproduce Steps to reproduce the behavior:

  1. start DosBox-X with menu visible
  2. Click on 'help'
  3. Scroll down to 'DOSBox-X homepage' (or any menu bellow 'DOS commands'
  4. See 'DOS commands' submenu in front of the help menu

Expected behavior access to any items bellow the "DOS commands" sub-menu

Screenshots image

image

Environment (please complete the following information):

saintfrater commented 3 years ago

` [sdl] fullscreen = false fulldouble = false fullresolution = 1024x768 windowresolution = original windowposition = 10,35 display = 2 output = surface videodriver = maximize = false autolock = true autolock_feedback = none clip_mouse_button = right clip_key_modifier = shift clip_paste_bios = default clip_paste_speed = 30 sensitivity = 100 raw_mouse_input = false usesystemcursor = false mouse_emulation = locked mouse_wheel_key = 0 waitonerror = true priority = higher,normal mapperfile = mapper-0.82.9.map mapperfile_sdl1 = mapperfile_sdl2 = usescancodes = auto overscan = 0 titlebar = showbasic = true showdetails = false showmenu = true

[log] logfile = E:\Logs\dosbox.log vga = false vgagfx = false vgamisc = false int10 = false sblaster = false dma_control = false fpu = false cpu = debug paging = false fcb = false files = false ioctl = false exec = false dosmisc = false pit = false keyboard = false pic = false mouse = false bios = false gui = false misc = false io = false pci = false sst = false int21 = false fileio = false debuggerrun = debugger

[dosbox] language = title = fastbioslogo = false disable graphical splash = false startbanner = true bannercolortheme = default dpi aware = auto quit warning = auto working directory option = default working directory default = show advanced options = false resolve config path = true hostkey = mapper mapper send key = ctrlaltdel ime = auto synchronize time = false keyboard hook = false weitek = false bochs debug port e9 = false machine = svga_et4000 captures = capture autosave = saveslot = 1 savefile = saveremark = true forceloadstate = false compresssaveparts = true skip encoding unchanged frames = false capture chroma format = auto capture format = default shell environment size = 0 private area size = 32768 a20 = mask turn off a20 gate on boot = true cbus bus clock = std10 isa bus clock = std8.3 pci bus clock = std33.3 call binary on reset = unhandled irq handler = call binary on boot = rom bios allocation max = 0 rom bios minimum size = 0 irq delay ns = -1 iodelay = -1 iodelay16 = -1 iodelay32 = -1 acpi = off acpi rsd ptr location = auto acpi sci irq = -1 acpi iobase = 0 acpi reserved size = 0 memsize = 128 memsizekb = 0 dos mem limit = 0 isa memory hole at 512kb = false reboot delay = -1 memalias = 0 nocachedir = true freesizecap = cap leading colon write protect image = true locking disk image mount = true unmask keyboard on int 16 read = true int16 keyboard polling undocumented cf behavior = false allow port 92 reset = true enable port 92 = true enable 1st dma controller = true enable 2nd dma controller = true allow dma address decrement = true enable 128k capable 16-bit dma = auto enable dma extra page registers = true dma page registers write-only = false cascade interrupt never in service = false cascade interrupt ignore in service = auto enable slave pic = true enable pc nmi mask = true allow more than 640kb base memory = false enable pci bus = true

[render] frameskip = 0 alt render = false aspect = true char9 = false euro = -1 doublescan = true scaler = normal2x forced glshader = none pixelshader = none xbrz slice = 16 xbrz fixed scale factor = 0 xbrz max scale factor = 0 autofit = true monochrome_pal = green

[pc98] pc-98 BIOS copyright string = false pc-98 int 1b fdc timer wait = false pc-98 pic init to read isr = true pc-98 fm board = auto pc-98 fm board irq = 0 pc-98 fm board io port = 0 pc-98 sound bios = false pc-98 load sound bios rom file = true pc-98 buffer page flip = false pc-98 enable 256-color planar = true pc-98 enable 256-color = true pc-98 enable 16-color = true pc-98 enable grcg = true pc-98 enable egc = true pc-98 enable 188 user cg = true pc-98 start gdc at 5mhz = false pc-98 allow scanline effect = true pc-98 bus mouse = true pc-98 video mode = pc-98 timer always cycles = auto pc-98 timer master frequency = 0 pc-98 allow 4 display partition graphics = -1 pc-98 force ibm keyboard layout = auto pc-98 show graphics layer on initialize = true

[dosv] dosv = off fontxsbcs = fontxsbcs16 = fontxsbcs24 = fontxdbcs = fontxdbcs14 = fontxdbcs24 = gbk = false yen = false del = true fepcontrol = both vtext = svga vtext2 = xga

[video] vmemdelay = 0 vmemsize = -1 vmemsizekb = 0 enable 8-bit dac = true high intensity blinking = true svga lfb base = 0 pci vga = true vga attribute controller mapping = auto vga bios use rom image = false vga bios rom image = vga bios size override = 0 video bios dont duplicate cga first half rom font = false video bios always offer 14-pixel high rom font = false video bios always offer 16-pixel high rom font = false video bios enable cga second half rom font = true forcerate = sierra ramdac = true sierra ramdac lock 565 = false page flip debug line = false vertical retrace poll debug line = false cgasnow = true vga 3da undefined bits = 4 rom bios 8x8 CGA font = true rom bios video parameter table = true int 10h points at vga bios = true unmask timer on int 10 setmode = false vesa bank switching window mirroring = false vesa bank switching window range check = true vesa zero buffer on get information = true vesa set display vsync = -1 vesa lfb base scanline adjust = 0 vesa map non-lfb modes to 128kb region = false ega per scanline hpel = true allow hpel effects = false allow hretrace effects = false hretrace effect weight = 4.00 vesa modelist cap = 0 vesa modelist width limit = 1280 vesa modelist height limit = 1024 vesa vbe put modelist in vesa information = false vesa vbe 1.2 modes are 32bpp = true allow low resolution vesa modes = true allow explicit 24bpp vesa modes = false allow high definition vesa modes = false allow unusual vesa modes = false allow 32bpp vesa modes = true allow 24bpp vesa modes = true allow 16bpp vesa modes = true allow 15bpp vesa modes = true allow 8bpp vesa modes = true allow 4bpp vesa modes = true allow 4bpp packed vesa modes = false allow tty vesa modes = true double-buffered line compare = false ignore vblank wraparound = false ignore extended memory bit = false enable vga resize delay = false resize only on vga active display width increase = false vga palette update on full load = true ignore odd-even mode in non-cga modes = false

[vsync] vsyncmode = off vsyncrate = 75

[cpu] core = normal fpu = true segment limits = true double fault = true reset on triple fault = true always report double fault = false always report triple fault = false allow lmsw to exit protected mode = auto report fdiv bug = false enable msr = true enable cmpxchg8b = true ignore undefined msr = false interruptible rep string op = -1 dynamic core cache block size = 32 cputype = 486_prefetch cycles = 32000 cycleup = 10 cycledown = 20 cycle emulation percentage adjust = 0 turbo = false use dynamic core with paging on = auto ignore opcode 63 = true apmbios = true apmbios pnp = false apmbios version = auto apmbios allow realmode = true apmbios allow 16-bit protected mode = true apmbios allow 32-bit protected mode = true integration device = false integration device pnp = false isapnpbios = true realbig16 = false

[keyboard] aux = true allow output port reset = true controllertype = auto auxdevice = intellimouse

[ttf] font = fontbold = fontital = fontboit = colors = outputswitch = auto winperc = 60 ptsize = 0 lins = 0 cols = 0 wp = wpbg = -1 wpfg = 7 bold = true italic = true underline = true strikeout = false char512 = true printfont = true autodbcs = true autoboxdraw = true halfwidthkana = true blinkc = true

[voodoo] voodoo_card = auto voodoo_maxmem = true glide = false lfb = full_noaux splash = true

[mixer] nosound = false sample accurate = false swapstereo = false rate = 44100 blocksize = 1024 prebuffer = 25

[midi] mpu401 = intelligent mpubase = 0 mididevice = default midiconfig = samplerate = 44100 mpuirq = -1 mt32.romdir = mt32.model = auto mt32.reverse.stereo = false mt32.verbose = false mt32.thread = false mt32.chunk = 16 mt32.prebuffer = 32 mt32.partials = 32 mt32.dac = 0 mt32.analog = 2 mt32.output.gain = 100 mt32.reverb.mode = auto mt32.reverb.output.gain = 100 mt32.reverb.time = 5 mt32.reverb.level = 3 mt32.rate = 44100 mt32.src.quality = 2 mt32.niceampramp = true fluid.driver = default fluid.soundfont = fluid.samplerate = 48000 fluid.gain = .2 fluid.polyphony = 256 fluid.cores = default fluid.periods = default fluid.periodsize = default fluid.reverb = yes fluid.chorus = yes fluid.reverb.roomsize = .61 fluid.reverb.damping = .23 fluid.reverb.width = .76 fluid.reverb.level = .57 fluid.chorus.number = 3 fluid.chorus.level = 1.2 fluid.chorus.speed = .3 fluid.chorus.depth = 8.0 fluid.chorus.type = 0

[sblaster] sbtype = none sbbase = 220 irq = 7 mindma = -1 irq hack = none dma = 1 hdma = 5 dsp command aliases = true pic unmask irq = false enable speaker = false enable asp = false disable filtering = false dsp write buffer status must return 0x7f or 0xff = false pre-set sbpro stereo = false sbmixer = true oplmode = auto adlib force timer overflow on detect = false oplemu = default oplrate = 44100 oplport = retrowave_bus = serial retrowave_spi_cs = 0,6 retrowave_port = hardwarebase = 220 force dsp auto-init = false force goldplay = false goldplay = true goldplay stereo = true dsp require interrupt acknowledge = auto dsp write busy delay = -1 blaster environment variable = true sample rate limits = true instant direct dac = false stereo control with sbpro only = true dsp busy cycle rate = -1 dsp busy cycle always = -1 dsp busy cycle duty = -1 io port aliasing = true

[gus] gus = true autoamp = false unmask dma = false ignore channel count while active = false pic unmask irq = false startup initialized = false dma enable on dma control polling = false clear dma tc irq if excess polling = false force master irq enable = false gus panning table = default gusrate = 44100 gus fixed render rate = false gusmemsize = -1 gus master volume = 0.00 gusbase = 240 gusirq = 5 gusdma = 1 irq hack = none gustype = max ultradir = C:\ULTRASND

[innova] innova = false samplerate = 22050 sidbase = 280 quality = 0

[speaker] pcspeaker = true pcspeaker clock gate enable at startup = false initial frequency = -1 pcrate = 44100 tandy = auto tandyrate = 44100 disney = false ps1audio = off ps1audiorate = 22050

[joystick] joysticktype = auto timed = true autofire = false swap34 = false buttonwrap = false joy1deadzone1 = 0.25 joy1deadzone2 = 0.25 joy2deadzone1 = 0.25 joy1response1 = 1.00 joy1response2 = 1.00 joy2response1 = 1.00 joy1axis0 = 0 joy1axis1 = 1 joy1axis2 = 2 joy1axis3 = 3 joy1axis4 = 4 joy1axis5 = 5 joy1axis6 = 6 joy1axis7 = 7 joy2axis0 = 0 joy2axis1 = 1 joy2axis2 = 2 joy2axis3 = 3 joy2axis4 = 4 joy2axis5 = 5 joy2axis6 = 6 joy2axis7 = 7

[mapper] joy1deadzone0- = 0.60 joy1deadzone0+ = 0.60 joy1deadzone1- = 0.60 joy1deadzone1+ = 0.60 joy1deadzone2- = 0.60 joy1deadzone2+ = 0.60 joy1deadzone3- = 0.60 joy1deadzone3+ = 0.60 joy1deadzone4- = 0.60 joy1deadzone4+ = 0.60 joy1deadzone5- = 0.60 joy1deadzone5+ = 0.60 joy1deadzone6- = 0.60 joy1deadzone6+ = 0.60 joy1deadzone7- = 0.60 joy1deadzone7+ = 0.60 joy2deadzone0- = 0.60 joy2deadzone0+ = 0.60 joy2deadzone1- = 0.60 joy2deadzone1+ = 0.60 joy2deadzone2- = 0.60 joy2deadzone2+ = 0.60 joy2deadzone3- = 0.60 joy2deadzone3+ = 0.60 joy2deadzone4- = 0.60 joy2deadzone4+ = 0.60 joy2deadzone5- = 0.60 joy2deadzone5+ = 0.60 joy2deadzone6- = 0.60 joy2deadzone6+ = 0.60 joy2deadzone7- = 0.60 joy2deadzone7+ = 0.60

[serial] serial1 = dummy serial2 = dummy serial3 = disabled serial4 = disabled serial5 = disabled serial6 = disabled serial7 = disabled serial8 = disabled serial9 = disabled phonebookfile = phonebook-dosbox-x.txt

[parallel] parallel1 = printer parallel2 = disabled parallel3 = disabled parallel4 = disabled parallel5 = disabled parallel6 = disabled parallel7 = disabled parallel8 = disabled parallel9 = disabled dongle = false

[printer] printer = true dpi = 360 width = 85 height = 110 printoutput = png multipage = false device = - docpath = . fontpath = FONTS openwith = openerror = printdbcs = auto shellhide = false timeout = 0

[dos] xms = true xms handles = 0 shell configuration as commands = false hma = true hma allow reservation = true hard drive data rate limit = -1 drive z is remote = auto drive z expand path = true drive z hide files = /TEXTUTIL\25.COM /TEXTUTIL\28.COM /TEXTUTIL\50.COM hma minimum allocation = 0 ansi.sys = true log console = false dos sda size = 0 hma free space = 34816 cpm compatibility mode = auto share = false file access tries = 0 network redirector = false minimum dos initial private segment = 0 minimum mcb segment = 0 minimum mcb free = 0 enable dummy device mcb = false maximum environment block size on exec = -1 additional environment block size on exec = -1 enable a20 on windows init = false zero memory on xms memory allocation = false ems = true vcpi = true unmask timer on disk io = false zero int 67h if no ems = true zero unused int 68h = false emm386 startup active = false zero memory on ems memory allocation = false ems system handle memory size = 384 ems system handle on even megabyte = false umb = true umb start = 0 umb end = 0 kernel allocation in umb = false keep umb on boot = false keep private area on boot = auto private area in umb = true quick reboot = false ver = 6.22 lfn = auto automount = true automountall = false mountwarning = true autoa20fix = true autoloadfix = true autofixwarning = true startcmd = false starttranspath = false startwait = true startquiet = false startincon = assoc attrib chcp copy dir echo for ftype help if set type ver vol xcopy int33 = true int33 hide host cursor if interrupt subroutine = true int33 hide host cursor when polling = false int33 disable cell granularity = false int 13 extensions = true biosps2 = true int15 wait force unmask irq = true int15 mouse callback does not preserve registers = false keyboardlayout = BE dbcs = true filenamechar = true collating and uppercase = true con device use int 16h to detect keyboard input = true zero memory on int 21h memory allocation = false dos clipboard device enable = false dos clipboard device name = CLIP$ dos clipboard api = true

[ipx] ipx = false

[ne2000] ne2000 = false nicbase = 300 nicirq = 3 macaddr = AC:DE:48:88:99:AA backend = auto

[ethernet, pcap] realnic = list timeout = default

[ethernet, slirp] restricted = false disable_host_loopback = false mtu = 0 mru = 0 ipv4_network = 10.0.2.0 ipv4_netmask = 255.255.255.0 ipv4_host = 10.0.2.2 ipv4_nameserver = 10.0.2.3 ipv4_dhcp_start = 10.0.2.15

[ide, primary] enable = true pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, secondary] enable = true pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, tertiary] enable = false pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, quaternary] enable = false pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, quinternary] enable = false pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, sexternary] enable = false pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, septernary] enable = false pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[ide, octernary] enable = false pnp = true irq = 0 io = 0 altio = 0 int13fakeio = false int13fakev86io = false enable pio32 = false ignore pio32 = false cd-rom spinup time = 0 cd-rom spindown timeout = 0 cd-rom insertion delay = 0

[fdc, primary] enable = false pnp = true irq = 0 io = 0 dma = -1 int13fakev86io = false instant mode = false auto-attach to int 13h = true mode = ps2 chip = 82077aa

[4dos] rem = This section is the 4DOS.INI file, if you use 4DOS as the command shell

[config] rem = This section is DOS's CONFIG.SYS file, not all CONFIG.SYS options supported break = off numlock = shell = dos = high, umb fcbs = 100 files = 200 country = lastdrive = z set path = Z:\ set prompt = $P$G set temp = install = installhigh = device = devicehigh =

[autoexec] @echo off mount c e:\01-DosBox\DiskC -freesize 512 -nocachedir mount F E:\Sources\Dos-dev -freesize 512 -nocachedir KeyB BE SET ULTRADIR=C:\ULTRASND SET ULTRASND=240,1,1,5,5 SET PROPATS=C:\INSTGUS\PPL160 PATH =Z:\;C:\DOS;C:\NC;F:\BC\BIN;F:\BP7\BIN;C:\BIN c: C:\ULTRASND\ULTRINIT.EXE `

Dobby233Liu commented 3 years ago

You should try the latest version of dosbox-x first, a similar problem has been fixed for Linux previously.

saintfrater commented 3 years ago

I've tryed with the 0.83.17 without success (in fact the provided screenshots where made with 0.83.17) :

image

Dobby233Liu commented 3 years ago

I have no idea then

maron2000 commented 3 years ago

It's because your window size(width) is too small. If you make it significantly small, there will be items which will not be displayed in the first place. The screenshot below is an extreme case of small window size. We need to display menu items outside of the window, like in Windows SDL1 version, but I don't know whether it is possible in SDL2.

SDL2_smallsized_window

Dobby233Liu commented 3 years ago

We need to display menu items outside of the window, like in Windows SDL1 version, but I don't know whether it is possible in SDL2.

The SDL1 fork used by dosbox-x lets it use native Windows menus. I don't believe you can do that in normal SDL2. Also I heard that this project won't fork SDL2 in any way.

joncampbell123 commented 3 years ago

This project won't fork SDL2 because SDL2 is in active development.

SDL1 was not in active development, so it was appropriate to take the code and modify as needed.

Dobby233Liu commented 3 years ago

This project won't fork SDL2 because SDL2 is in active development.

SDL1 was not in active development, so it was appropriate to take the code and modify as needed.

Thanks for clarifying