Author Topic: FB Alpha 0.2.96.91 Release  (Read 40755 times)

Offline Lemonzest

  • Newbies
  • *
  • Posts: 33
  • Karma: +0/-0
Re: FB Alpha 0.2.96.91 Release
« Reply #15 on: August 08, 2008, 06:20:49 AM »
I would be very happy if netplay returned in the official builds :)

Offline LittleKaneda

  • Jr. Member
  • **
  • Posts: 55
  • Karma: +1/-0
Re: FB Alpha 0.2.96.91 Release
« Reply #16 on: August 08, 2008, 06:41:34 AM »
Use the official release - I tidied the warning already.

You mean the one from your site? I did but I'm still getting the same warning, and now a clock skew warning which sounds like my fault but I haven't learned how to fix that yet.  :redface:

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FB Alpha 0.2.96.91 Release
« Reply #17 on: August 08, 2008, 06:55:29 AM »
You mean the one from your site? I did but I'm still getting the same warning, and now a clock skew warning which sounds like my fault but I haven't learned how to fix that yet.  :redface:

Seems I missed that one actually - I got the other two. It's harmless anyway and fixed in my build now.
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.

kev

  • Guest
Re: FB Alpha 0.2.96.91 Release
« Reply #18 on: August 08, 2008, 07:45:46 AM »
no problem... [?]...I said clearly that I didn't understand what you mean by 'dynamically loaded'... hoping you may explain a little more but no problem if you just lost interest ^^U

BTW, the stuff I wrote about 'crappy closed source builds' wasn't refering to your build xD, you release the source everytime so there is no issue  :p

Finally, Im gonna test a modification I made to be able to select the Kaillera Client DLL from anywhere on the PC and save the path into the fba.ini, if everything goes right i will post the code here too ^^

SeeYaa!
 :biggrin:

(Basically . . ) Dynamic loading means you use LoadLibaray instead of statically linking the .dll/.lib to the exe. I thought that the initial kallieria build of fba had dynamic loading but I can't find an example.  MSDN has some stuff: http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx


http://msdn.microsoft.com/en-us/library/ms686944(VS.85).aspx

Offline 0746

  • Expert
  • *****
  • Posts: 108
  • Karma: +2/-0
Re: FB Alpha 0.2.96.91 Release
« Reply #19 on: August 08, 2008, 08:34:04 AM »
I'm not particuarly well-versed on netplay at all - if someone wants to volunteer to do it properly (using kaillera or whatever else is out there currently) in the official tree then please volunteer. :) The only stipulation I will make is that the emulator should not need a dll to be present in order to run normally, nor should it include any netplay library as an object. Anyone up for it?

Didn't mean to offend anyone in any way. Those things are a result of lack of documentation on Official kaillera's parts.

In Captain CPS-X's language... what I meant was something relocating Init_Network and Kaillera_Shutdown(); call from AppInit/Kaillera_Shutdown(); to DoNetGame. From what I can remember from the top of my head...among others were replacing inputs with default input when kailleraModifyPlayValues returns 0... and there were a few things that makes some drivers less deterministic during netplay e.g. some settings like using the c core instead of asm or the 60hz refresh rate etc... They aren't big deals. Worthless sprouts of some newb who spent too much time with kaillera. Statistically, FBA being used for netplay directly is extremely rare so it doesn't matter =)
« Last Edit: August 08, 2008, 08:38:09 AM by 0746 »

Offline CaptainCPS

  • FBNeo Dev
  • ******
  • Posts: 1513
  • Karma: +127/-0
  • FB Alpha Team
    • CaptainCPS's Home
Re: FB Alpha 0.2.96.91 Release
« Reply #20 on: August 08, 2008, 08:41:04 AM »
(Basically . . ) Dynamic loading means you use LoadLibaray instead of statically linking the .dll/.lib to the exe. I thought that the initial kallieria build of fba had dynamic loading but I can't find an example.  MSDN has some stuff: http://msdn.microsoft.com/en-us/library/ms684175(VS.85).aspx


http://msdn.microsoft.com/en-us/library/ms686944(VS.85).aspx


Ohhh! I see, thanX KEV ^^! Well in the code I posted it's using Dynamic Loading it seems because I compared codes from MSDN and its basically the same thing, check this from 'src\kaillera\client\net.cpp'

Quote

int Init_Network(void)
{
   Kaillera_HDLL = LoadLibrary("kailleraclient.dll");

   if (Kaillera_HDLL != NULL)
   {
      Kaillera_Get_Version = (int (WINAPI *)(char *version)) GetProcAddress(Kaillera_HDLL, "_kailleraGetVersion@4");
      Kaillera_Init = (int (WINAPI *)()) GetProcAddress(Kaillera_HDLL, "_kailleraInit@0");
      Kaillera_Shutdown = (int (WINAPI *)()) GetProcAddress(Kaillera_HDLL, "_kailleraShutdown@0");
      Kaillera_Set_Infos = (int (WINAPI *)(kailleraInfos *infos)) GetProcAddress(Kaillera_HDLL, "_kailleraSetInfos@4");
      Kaillera_Select_Server_Dialog = (int (WINAPI *)(HWND parent)) GetProcAddress(Kaillera_HDLL, "_kailleraSelectServerDialog@4");
      Kaillera_Modify_Play_Values = (int (WINAPI *)(void *values, int size)) GetProcAddress(Kaillera_HDLL, "_kailleraModifyPlayValues@8");
      Kaillera_Chat_Send = (int (WINAPI *)(char *text)) GetProcAddress(Kaillera_HDLL, "_kailleraChatSend@4");
      Kaillera_End_Game = (int (WINAPI *)()) GetProcAddress(Kaillera_HDLL, "_kailleraEndGame@0");

      if ((Kaillera_Get_Version != NULL) && (Kaillera_Init != NULL) && (Kaillera_Shutdown != NULL) && (Kaillera_Set_Infos != NULL) && (Kaillera_Select_Server_Dialog != NULL) && (Kaillera_Modify_Play_Values != NULL) && (Kaillera_Chat_Send != NULL) && (Kaillera_End_Game != NULL))
      {         
         Kaillera_Init();
         Kaillera_Initialised = 1;
         return 0;
      }

      FreeLibrary(Kaillera_HDLL);
   } else {
   }

   Kaillera_Get_Version = Empty_Kaillera_Get_Version;
   Kaillera_Init = Empty_Kaillera_Init;
   Kaillera_Shutdown = Empty_Kaillera_Shutdown;
   Kaillera_Set_Infos = Empty_Kaillera_Set_Infos;
   Kaillera_Select_Server_Dialog = Empty_Kaillera_Select_Server_Dialog;
   Kaillera_Modify_Play_Values = Empty_Kaillera_Modify_Play_Values;
   Kaillera_Chat_Send = Empty_Kaillera_Chat_Send;
   Kaillera_End_Game = Empty_Kaillera_End_Game;

   Kaillera_Initialised = 0;
   return 1;
}

So I think everything is cool, right?  :biggrin:

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 0.2.96.91 Release
« Reply #21 on: August 08, 2008, 08:58:46 AM »
Ohhh! I see, thanX KEV ^^! Well in the code I posted it's using Dynamic Loading it seems because I compared codes from MSDN and its basically the same thing, check this from 'src\kaillera\client\net.cpp'

So I think everything is cool, right?  :biggrin:

SeeYaa!
 :biggrin:

Yup - it is dynamically linked. I moved the calls as recommended by 0746 though - extract the attached into ./src/burner/win32.

The difference now is that the library is only loaded when starting a netgame, and is killed straight after closing the game - keeps resources free when they're not needed.
« Last Edit: August 08, 2008, 09:00:24 AM by Treble Winner »
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 0.2.96.91 Release
« Reply #22 on: August 08, 2008, 09:52:58 AM »
Yup - it is dynamically linked. I moved the calls as recommended by 0746 though - extract the attached into ./src/burner/win32.

The difference now is that the library is only loaded when starting a netgame, and is killed straight after closing the game - keeps resources free when they're not needed.

Cool! ^^ I've tested it and works perfectly  :cool:

btw, there is a little thing that needs to be edited in 'scrn.cpp' ^^U (I was the one who wrote the message stuff so I feel responsible for it xD)...

FIND THIS >>>>

Quote

MessageBox(hScrnWnd, _T("You need the KAILLERACLIENT.DLL file in order to use this feature. You will need to restart FBA after placing the DLL."), _T("FB Alpha Info"), MB_OK);


REPLACE WITH >>>>

Quote

MessageBox(hScrnWnd, _T("You need the 'kailleraclient.dll' file in order to use this feature."), _T("FB Alpha Info"), MB_OK);


The new message looks better and with the final modifications that you made there is no need for the user to restart FBA after placing the dll in the directory.  :biggrin:

PS: I modified the 'scrn.cpp' file myself with this little text update so you don't really have to bother editing it again ^^, it's attached  :wink:

SeeYaa!
 :biggrin:

Offline 0746

  • Expert
  • *****
  • Posts: 108
  • Karma: +2/-0
Re: FB Alpha 0.2.96.91 Release
« Reply #23 on: August 08, 2008, 10:01:55 AM »
I'm not particuarly well-versed on netplay at all - if someone wants to volunteer to do it properly (using kaillera or whatever else is out there currently) in the official tree then please volunteer. :) The only stipulation I will make is that the emulator should not need a dll to be present in order to run normally, nor should it include any netplay library as an object. Anyone up for it?
I don't think I'd be up for it ^_^ The type of enhancements I'm doing i.e. working with savestates which includes stuff normal savestates shouldn't contain and using them to run the gameplay at couple of times its normal speed to send input values back and forth emulation for the purpose of hiding network latency i.e. making a total mess out of FBA sources and breaking lots of emulation correctness...is just unsuitable for official FBA =)

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FB Alpha 0.2.96.91 Release
« Reply #24 on: August 08, 2008, 10:50:49 AM »
Cool! ^^ I've tested it and works perfectly  :cool:

btw, there is a little thing that needs to be edited in 'scrn.cpp' ^^U (I was the one who wrote the message stuff so I feel responsible for it xD)...

FIND THIS >>>>

REPLACE WITH >>>>

The new message looks better and with the final modifications that you made there is no need for the user to restart FBA after placing the dll in the directory.  :biggrin:

PS: I modified the 'scrn.cpp' file myself with this little text update so you don't really have to bother editing it again ^^, it's attached  :wink:

SeeYaa!
 :biggrin:

Thanks - I've changed it to a string resource so it can be localised.
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 0.2.96.91 Release
« Reply #25 on: August 08, 2008, 11:05:29 AM »
Hey Barry I started doing a research on how to implement a simple way to get files from a URL and save them to a specified directory and found a nice way to do it (haven't tried yet), you may be wondering why, and well I was thinking about a feature that when FBA looks for the preview/title/cabinet/etc of a game if the file is not present on the configured dirs it will download the needed image from a specific server, like for example : http_//fightercore.plesk3.freepgs.com/files/neosource/fba/support/titles/mvsc.png

If this feature works like I think it does, then probably it can be implemented to check for FBA updates too, like for example, downloading a temporary txt file then opening it to check the string inside for example: release_029691 and do further operations.

I just wanted to know if you like the idea so I can keep working on this or if you don't think this is good, anyway let me know what u think ^^

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 0.2.96.91 Release
« Reply #26 on: August 08, 2008, 11:17:12 AM »
I like the idea - it's just the bandwidth usage that worries me!

I've had an idea for a MAME front-end for a long-time. It would be a web-site that is navigated by the user and MAME is launched by clicking a link. This has the advantage of being cross-platform and the user would never have to update resource files.

I had even wrote a quick little browser that got around the issue of prompting and not allowing exes to run from a browser as a proof of concept. All it would need is one of these browsers for each OS that wanted to run it.

Anyway, I ramble - the point I'm making is that I never did it due to bandwidth worries. I would be very interested in your idea if we can address the bandwidth.
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 0746

  • Expert
  • *****
  • Posts: 108
  • Karma: +2/-0
Re: FB Alpha 0.2.96.91 Release
« Reply #27 on: August 08, 2008, 11:26:44 AM »
If a particular file is not available locally, then the downloading thing could download that file to that spot. This way you're caching the file you've downloaded and won't need to download it again. This sounds like a really great idea CaptainCPS-X =) The files on wherever they're hosted could be compressed as well to save extra bandwidth.

It's also possible to implement something like a central repository type things to for the automatic update thing you are talking about. If someone wrote an update script, think it'd go really well.

Offline Barry Harris

  • dontbeabarry
  • *
  • Posts: 1785
  • Karma: +0/-65535
  • I'm Barry Harris and I like to f*** people over
Re: FB Alpha 0.2.96.91 Release
« Reply #28 on: August 08, 2008, 11:51:23 AM »
If a particular file is not available locally, then the downloading thing could download that file to that spot. This way you're caching the file you've downloaded and won't need to download it again. This sounds like a really great idea CaptainCPS-X =) The files on wherever they're hosted could be compressed as well to save extra bandwidth.

It's also possible to implement something like a central repository type things to for the automatic update thing you are talking about. If someone wrote an update script, think it'd go really well.

My concern though is 50000 people downloading 2000 flyers, 2000 titles, 2000 previews, etc. You get the idea. :) Even if they only download once it's still a fair bit of bandwidth.
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.

kev

  • Guest
Re: FB Alpha 0.2.96.91 Release
« Reply #29 on: August 08, 2008, 11:58:56 AM »
If a particular file is not available locally, then the downloading thing could download that file to that spot. This way you're caching the file you've downloaded and won't need to download it again. This sounds like a really great idea CaptainCPS-X =) The files on wherever they're hosted could be compressed as well to save extra bandwidth.

It's also possible to implement something like a central repository type things to for the automatic update thing you are talking about. If someone wrote an update script, think it'd go really well.


0746: Would a customised version of okai_p2pchat or something allow flyers, etc to be distributed p2p? Not sure how workable that would be, but it would be interesting to try.