RF2 Update: Player class and crude movement

Discuss the development of Reality Factory 2
User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Fri Dec 11, 2009 2:09 pm

Well it needs to be usable on all platforms. DirectSound will work on all sound cards for Windows, OpenAL obviously doesn't, FMOD may or may not so two dll's are going to be needed. Give the user the choice of OpenAL/FMOD (depending on which you decide to use) OR DirectSound as Neoaxis does (You choose the dll on startup). It is interesting to note that NeoAxis have dropped FMOD in favour of OpenAL for their latest release, although I don't know the reasons why. But as for the licence, if the user chooses FMOD for their commercial game then they have to pay FMOD the fee, it's nothing to do with RF2 at all provided that it is made clear in the RF2 licence.

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Re: RF2 Update: Player class and crude movement

Post by Jay » Fri Dec 11, 2009 4:51 pm

Ah well, i didn't think of the possibility of using OpenAL and DirectSound together. That one would be the best, i think. When we use FMOD, which is more of a complete package than DirectSound is (from looking at the features), it could become difficult from a design perspective. Either build our own version of the features that FMOD has, or having two 'sound drivers' that cannot do the same thinghs.(Like we have it with graphics drivers in RF now, the OpenGL driver is outdated in comparision to the DX driver, this is not nice). AND we have to update both and easily can have doubled code. OpenAL seems to be more "lightweight" and therefore it becomes easier to build a 'wrapper' around those two that then either interfaces to OpenAL or DirectSound (abstract base class SoundInterface which then is either DirectSoundInterface or OpenALInterface). Then we interface to that wrapper through another class (SoundManager) and do the actual work.

Also, no license fee problems.

Also, bernie, do you have the debug dlls of directsound installed on your computer? I have read something strange in a german forum with OpenAL and the directsound debug dlls combined. If you have not, try to get them, and try again. (If in doubt, just install all the dx debug libraries. This is a really wild guess and it is probable that nothing changes at all)
Everyone can see the difficult, but only the wise can see the simple.
-----

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Fri Dec 11, 2009 8:41 pm

Just to be clear...both libraries (OpenAL and FMOD) use DirectSound as it's sound interface API on a Windows platform. This is why I find Bernie's issue to be interesting. I'm thinking Bernie's issue might be caused by EAX.

DirectSound is a low level API in which you would have to implement all the stuff that FMOD supports. OpenAL is a generic audio interface for all platforms. It's API resembles that of OpenGL and is open source.

Jay, RF2 code does not have a lick of code from RF1. It's all new code and needs to be maintained just like RF1 does. One of the goals of RF2 is to be cross platform, but I don't consider that a must have. It's more of a nice to have. I am developing this on Windows and making it as generic as possible so that if someone wants to attempt a Linux or Mac port, they can. Unfortunately, Windows is the platform that is most supported for PC gaming with Mac being a very distant second.

That being said...what I suggested was to create a generic API which has pure abstract classes. Then anyone can create their own API by deriving from those classes. I would create a DirectSound API using that interface. If someone wanted to create an OpenAL or FMOD interface, they could derive from the same interfaces. Like a "Sound driver". This is what NeoAxis does. If I give the user an option through this method (like Genesis does with the DX and OpenGL drivers), the maintenance would be minimal.
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Fri Dec 11, 2009 9:29 pm

Just confirming here that NeoAxis works ok in both DirectX AND OpenAL modes with latest release of NA 0.83. so it doesn't appear to be an OpenAL problem.

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Fri Dec 11, 2009 9:37 pm

It has to be EAX then. Let me remove EAX from the mix and see if that helps you out.
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Fri Dec 11, 2009 10:34 pm

My card supports EAX effects and they are enabled in the audio console. Although I didn't have an eax.dll but I downloaded one I found. Maybe that's the offending item.

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Fri Dec 11, 2009 10:36 pm

Ok. Download the latest one from Creative.
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Fri Dec 11, 2009 11:43 pm

Right, what I get now is... if I try to run from vc8 I get can't run main script message box up and then I click ok and the pc freezes black screen have to power off to get out of it. If I run from the RFOgre_d.exe from the bin folder I get the RF2 logo then I get a screen with a huge ninja Legs. The debug info is: Creating component actor. Then Material - Examples/Ninja then a straight line cursor vertical "|" and freezes but I can get out with escape key and a crash. So we are getting a bit nearer.

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Sat Dec 12, 2009 3:17 am

I know about the escape key crash. So you have been running it from the IDE. You have to set your working directory in the debug preferences of the project.
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Sat Dec 12, 2009 12:01 pm

I know about the escape key crash. So you have been running it from the IDE. You have to set your working directory in the debug preferences of the project.
Yes Ive done that but it still hangs in both vc9 and IDE at the same point ie just after it loads the ninja matrerial. The only key that does anything is the escape key when I run from IDE I can only get out of it when running from vc9 is by powering off.

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Sat Dec 12, 2009 4:45 pm

Delete the rfogre.cfg file and use Windowed mode for now (select FullScreen: No). I will fix that stupid crash next.
Many Bothans died to bring you this signature....

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Re: RF2 Update: Player class and crude movement

Post by Jay » Mon Dec 14, 2009 3:46 pm

Am i getting this right, the OpenAL does not cause the crash but something else? If so, then we can stay at OpenAL, would be perfectly ok for me.
Everyone can see the difficult, but only the wise can see the simple.
-----

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Mon Dec 14, 2009 4:19 pm

OpenaL is not causing the crash it was a bad eax.exe file that has now been fixed with a new download. Paradox knows about the escape key crash and is fixing that, but don't know what is causing it to hang. I can't run from vc9 because it hangs and I cant get out of it unless I power off. Going to windowed mode is no help because the keyboard and mouse don't work once the program is running. The escape key only works if I run from IDE.

User avatar
paradoxnj
RF2 Dev Team
Posts: 1328
Joined: Wed Mar 01, 2006 7:37 pm
Location: Brick, NJ
Contact:

Re: RF2 Update: Player class and crude movement

Post by paradoxnj » Mon Dec 14, 2009 10:37 pm

@Bernie, when that happens try using Alt-Tab or Alt-F4 to close the window. You cannot type you Working Directory in VC. You have to browse to it. It should contain the full path including drive letter to the path where the RFOgre.exe is.

@Jay, I already switched back to OpenAL. I love version control. :)
Many Bothans died to bring you this signature....

User avatar
bernie
RF Moderator
Posts: 1249
Joined: Tue Nov 15, 2005 10:07 am
Location: Ireland

Re: RF2 Update: Player class and crude movement

Post by bernie » Tue Dec 15, 2009 4:04 pm

I did browse to the working directory. Alt F4 or Alt tab doesn't work the keyboard is frozen. The only key that works is escape if I run from IDE. The program freezes at the same point in RFogre if I run from VC or from IDE but I can at least get out of it if I run from IDE.

Post Reply