Author Topic: FB Alpha MDI (WIP)  (Read 7722 times)

Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
FB Alpha MDI (WIP)
« on: October 17, 2010, 05:32:55 AM »
I been working on upgrading the current SDI (Single Document Interface) UI of FBA to a MDI (Multi Document Interface) UI.

The main reason for this is to enable new advanced application features like the new DWM (Desktop Window Manager) improvements I made to eliminate problems with the Frameskipping / Stuttering on Windows 7. FBA is running perfectly now without dropping any frame, both Windowed and Fullscreen, it is 60 FPS, even without Vsync / Triplebuffer.

I had to make a research because I didn't have any experience coding MDI applications, but after some time I was able to get it up and running without problems :).

Here you have some screenshots.

Later I will post more details , Imma go to bed now, I been having lot of work lately  :redface:

SeeYaa!
 :biggrin:

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FB Alpha MDI (WIP)
« Reply #1 on: October 18, 2010, 03:28:52 AM »
Nice work Cap - this has some potential for some interesting things. :)
Account of Barry Harris; the traitor.
Send me an e-mail at barry@fbalpha.com letting me know how big of a piece of sh** I am.

Offline Huggybaby

  • Jr. Member
  • **
  • Posts: 91
  • Karma: +2/-0
Re: FB Alpha MDI (WIP)
« Reply #2 on: October 18, 2010, 04:30:04 PM »
Quote
eliminate problems with the Frameskipping / Stuttering on Windows 7. FBA is running perfectly now without dropping any frame, both Windowed and Fullscreen, it is 60 FPS, even without Vsync / Triplebuffer.
That alone is enough for a new release!

Offline iq_132

  • Administrator
  • *****
  • Posts: 3725
  • Karma: +411/-0
  • Definitely not Dink!
    • NeoSource
Re: FB Alpha MDI (WIP)
« Reply #3 on: October 18, 2010, 07:57:56 PM »
Nice work Cap - this has some potential for some interesting things. :)

Proper multiple screen support?


Offline FerchogtX

  • FBNeo Dev
  • ******
  • Posts: 375
  • Karma: +7/-0
  • FB Alpha Team ;)
    • FB Alpha Plus! Web Site
Re: FB Alpha MDI (WIP)
« Reply #4 on: October 18, 2010, 08:02:09 PM »
Multiple screen support... sounds pretty good :P... this can also raise the posibilities, you can play more than 1 game at onece... or even having CPS2 games + neogeo multislot in another child window.

Pretty cool cap!!!!!!!!!!!!!

See ya!!! :D

Good and evil co-exist because of the balance, lies are not part of it...

FB Alpha Plus! site infos updated, see the latest info clicking on my profile link...

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FB Alpha MDI (WIP)
« Reply #5 on: October 19, 2010, 03:12:47 AM »
We could also offer palette and tile viewing in different windows. Maybe update the cheat search to output to a window rather than the cumbersome method currently used, etc. :)
Account of Barry Harris; the traitor.
Send me an e-mail at barry@fbalpha.com letting me know how big of a piece of sh** I am.

Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: FB Alpha MDI (WIP)
« Reply #6 on: October 19, 2010, 03:27:52 AM »
Thanks guys!! ^^ I have most of the code very organized and separated the most I could from 'scrn.cpp'. Everything that has to do with the MDI is on a new source file 'mdi.cpp', to make things even more organized I might create a 'mdi.h' (header) so we only have to include it at 'burner.h' once.

At this moment the new child window (video window) is working fine, and handle all the window messages like, Right Click (compact window), Left Double Click (Fullscreen mode), WM_SIZE and other essential messages. All of these are not handled on 'scrn.cpp' since It may cause some conflicts while intercepting the same stuff (Menu messages and other application messages are still handled at 'scrn.cpp').

Im doing some adjustments of code since there are some bad calculations when dragging the window on compact mode while pressing the mouse left button (menu hidden). After I adjust that piece of code I will prepare to share the code with the FB Alpha Team first, then post a Test Binary so everyone can report any bug or recommend possible features.

As Barry mentioned, this new FBA feature creates new possibilities for interesting things. Running multiple game at the same time (as FerchogtX mentioned) "could" be possible in the future, and if someone owns a big LCD / LED TV / Plasma / etc... they could play for example, Metal Slug 4 in half of the screen using GamePad 1 and the other half of the screen play Marvel vs Capcom with another input device.

Or like IQ said, maybe this could be useful for games that use Multiple Screen.

All of these possibilities will require a little bit of extra work on the code but at least this MDI core is a clean organized start  :smilie:, implementing new features should be very easy in the future.

BTW, sorry if I haven't been posting more progress constantly, I been working on irregular schedule and I'm not having much time free, but I should be ok starting the next week  :smilie:.

Stay tuned for more about these features ^^.

Technical Note:
MDI features will require at least Windows 2000 client, as specified at Microsoft Developer Network (MSDN), this shouldn't be a problem since I believe Windows 98 is 'very' obsolete and shouldn't be used to run FB Alpha, LOL.

SeeYaa!
 :biggrin:

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FB Alpha MDI (WIP)
« Reply #7 on: October 19, 2010, 12:24:20 PM »

Technical Note:
MDI features will require at least Windows 2000 client, as specified at Microsoft Developer Network (MSDN), this shouldn't be a problem since I believe Windows 98 is 'very' obsolete and shouldn't be used to run FB Alpha, LOL.

SeeYaa!
 :biggrin:

I have no issue with FBA not working on Windows 98 anymore. :)

It would also mean that we could effectively drop non-Unicode support as well.
Account of Barry Harris; the traitor.
Send me an e-mail at barry@fbalpha.com letting me know how big of a piece of sh** I am.

Offline FerchogtX

  • FBNeo Dev
  • ******
  • Posts: 375
  • Karma: +7/-0
  • FB Alpha Team ;)
    • FB Alpha Plus! Web Site
Re: FB Alpha MDI (WIP)
« Reply #8 on: October 19, 2010, 08:17:30 PM »
I have no issue with FBA not working on Windows 98 anymore. :)

It would also mean that we could effectively drop non-Unicode support as well.

At this point... I guess that 80% of the market goes with Windows XP instead of older OSes (maybe someone still uses Windows 2000... but could be very rare...) the rest are using Windows 7 (include me in that percentage) so I don't feel it will be a problem...

Anyway there is something I'm wondering about... I saw a tutorial a long time ago for coding MDI interfaces (ala Word 2000-2003) and didn't require Windows 2000 as the minimum... even office 97 handled that without problems... I need to see where I have that document (I got it somewhere in my laptop... I need to pass my compile stuff to my desktop XD...) Unless you are using NT Kernel exclusive callbacks or handlers, there shouldn't be a problem...

See ya!! :D
« Last Edit: October 19, 2010, 08:18:47 PM by FerchogtX »

Good and evil co-exist because of the balance, lies are not part of it...

FB Alpha Plus! site infos updated, see the latest info clicking on my profile link...

Offline FerchogtX

  • FBNeo Dev
  • ******
  • Posts: 375
  • Karma: +7/-0
  • FB Alpha Team ;)
    • FB Alpha Plus! Web Site
Re: FB Alpha MDI (WIP)
« Reply #9 on: October 19, 2010, 08:39:53 PM »
This:
http://www.winprog.org/tutorial/app_four.html

This is intended for older OSes... maybe it could work if you still want to maintain compatibility... is just a lil' tuto, nothing big here... Is the same I downloaded some time ago... Not a big deal if 9x compat is broken... anyway most people even don't know what does that mean...

See ya!! :D

Good and evil co-exist because of the balance, lies are not part of it...

FB Alpha Plus! site infos updated, see the latest info clicking on my profile link...