CnCNet / xna-cncnet-client

XNA / MonoGame based client for playing classic Command & Conquer games both online and offline with a CnCNet game spawner.
Other
229 stars 91 forks source link

[Suggestion] FNA-based client #67

Open QianNangong opened 6 years ago

QianNangong commented 6 years ago

I've managed to create a FNA-based client and made it available and useable on WinXP. FNA is a crossplatform reimplementation of XNA and support WinXP! In my test, only few functions does not works. For example, load image asset from a invalid file will throw an exception, but original client will ignore it, so I have to create many 'stub' images. UseXNALinkButton will also throw an exception, I'm working on it. A good thing is that some FNA extensions is useful such as TextInputEXT.

Both WinXP and macOS use ONE client executable program without any platform-specific modifications. 2018-03-10 11 02 45 2018-03-10 10 40 43

Rampastring commented 6 years ago

I'm wondering what are the differences between FNA and MonoGame aside from platform support. Based on a quick look FNA attempts to strictly work just like XNA, while MonoGame takes a bit more liberties. I'll have to look more into FNA and decide whether it'd be beneficial / worth it to switch to it.

I'm not sure about having only one executable for all platforms. Even if it works with FNA, the client might have other functionality that only work on specific OSs and that might need some refactoring to work with only one shared executable for all platforms. But I'm open to the idea.


Lähettäjä: Li Keqingmailto:notifications@github.com Lähetetty: ‎10.‎3.‎2018 17:07 Vastaanottaja: CnCNet/xna-cncnet-clientmailto:xna-cncnet-client@noreply.github.com Kopio: Subscribedmailto:subscribed@noreply.github.com Aihe: [CnCNet/xna-cncnet-client] [Suggestion] FNA-based client (#67)

I've managed to create a FNA-based client and made it available and useable on WinXP. FNA is a crossplatform reimplementation of XNA and support WinXP! In my test, only few functions does not works. For example, load image asset from a invalid file will throw an exception, but original client will ignore it, so I have to create many 'stub' images. UseXNALinkButton will also throw an exception, I'm working on it. A good thing is that some FNA extensions is useful such as TextInputEXT.

Both WinXP and macOS use ONE client executable program without any platform-specific modifications. [2018-03-10 11 02 45]https://user-images.githubusercontent.com/4312700/37243599-395d7c72-24b7-11e8-8cab-0d5e663e8dd5.png [2018-03-10 10 40 43]https://user-images.githubusercontent.com/4312700/37243490-f74eb0aa-24b4-11e8-9ed0-7fcf8dbbeb5d.png

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/CnCNet/xna-cncnet-client/issues/67, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AJ4sBLqTWjIvVR0qm3WqDpAeXqWnoUGVks5tc-wsgaJpZM4SlTw1.

QianNangong commented 6 years ago

Thanks for your reply! The author or FNA has described about the relationship among XNA, FNA and MonoGame. https://github.com/FNA-XNA/FNA/issues/154

Metadorius commented 5 years ago

I think FNA is underrated and it's more of a replacement for XNA, not for MonoGame. Maybe this will also automatically resolve an issue with wrong cyrillic input on XNA build.