nobody will be playing across 2 screens unless your game natively supports it. The difference between eyefinity and multi monitor setups is that eyefinity merges all screens into 1 single resolution. A traditional multi monitor setup is still just 1920*1080 + another 1920*1080, and running anything in full screen will only see it occupy 1 display (this includes your dbpro program). The exception is running the program in window mode and dragging the window across the 2 screens
So forget about coding for 2 screens. And you would know how many screens there are just by checking for multiples of 1.6 or 1.78 (rounded) as these are 16:10 and 16:9 respectively. So if it's 3.6 it would be 2 monitors, 4.9 is 3 monitors and so on. Some people run slightly iffy resolutions such as 1880*940 (they might be running on a TV and use this to prevent screen cropping), so manually checking for resolutions doesn't work. But checking for aspect ratio will, as long as you add in a bit of leeway
I still think the user option is your best bet. Then go in and replace all your current Xpos image/sprite positioning commands with a seperate function in order to keep things neat and clean. Have the function check a global variable to see if it needs to offset
i.e.
global eyefinity as boolean
eyefinity=1
// paste sprite 1,screen width()/2, screen height()-50
// replace it with....
paste sprite 1,OffsetX(screen width()/2), screen height()-50
function OffsetX(resolution)
if eyefinity
if resolution=>screen width()/2 then resolution=resolution-screen width()/3
if resolution<screen width()/2 then resolution=resolution+screen width()/3
endif
endfunction resolution
the function will check if it's in eyefinity mode, if it's not it'll just return whichever position you originally specified. If it is then it'll offset coordinates accordingly.
Don't use the offset if you are intending to position something within the middle of the screen, such as a crosshair, otherwise it'll be offset too much. You could certainly make the function smarter by using percentages, more checks and so on