Should SDL be used as the GUI instead of Ogre?

Programmers discuss here anything related to FreeOrion programming. Primarily for the developers to discuss.

Moderator: Committer

Message
Author
User avatar
adrian_broher
Programmer
Posts: 1156
Joined: Fri Mar 01, 2013 9:52 am
Location: Germany

Re: Should SDL be used as the GUI instead of Ogre?

#76 Post by adrian_broher »

Chriss wrote:
Vezzra wrote:
Chriss wrote:I kinda got lost now - how far along is the boost 1.56 support in trunk?
In trunk? None. Switching to SDL and upgrade of dependencies is done in the SDL branch. And we're most likely not going to upgrade to boost 1.56, but 1.55, due to a bug in 1.56 that would require us to patch boost to be able to use it.
Let's say arch adds the missing includes for serialization to work. What are the chances of me being able to compile a FO branch with 1.56 in the near future? I am not sure if I can stay on 1.55 for months... It's not really a supported constellation in Arch. Boost versions seem to take a couple of months at least.
Could you please open a dedicated thread for this issue Chriss? It's hard to track such issues if they just reported in some unrelated thread.
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Should SDL be used as the GUI instead of Ogre?

#77 Post by Vezzra »

Geoff the Medio wrote:Here's what I was working on before realizing I'd be adding dependencies the old SDKs wouldn't meet. Probably won't immediately apply or compile...
Yep, lot of rejected/misapplied chunks in Message.cpp due to all the "Combat..." functions gone, SaveLoad.cpp and Serialize.h however applied just fine.

I've tried to manually apply the misapplied chunks (all the rejected ones have been for funtions that had been removed). Surprisingly, building went without a hitch. Starting a test game however failed, after launching a quickstart game the FO window just went blank and nothing happened. According to the logs an error occurred during message extraction, causing the server to disconnect and leaving the client hanging.

Server log:

Code: Select all

2014-09-18 12:44:37,572 DEBUG Server : Logger initialized
2014-09-18 12:44:37,573 DEBUG Server : v0.4.4+ [SVN 7721] Xcode 0511
2014-09-18 12:44:37,573 DEBUG Server : (ServerFSM) Idle
2014-09-18 12:44:37,573 DEBUG Server : FreeOrion server waiting for network events
2014-09-18 12:44:38,357 DEBUG Server : ServerNetworking::AcceptConnection : connected to new player
2014-09-18 12:44:39,321 DEBUG Server : Server received message from player id: -1 of type Host SP Game and size 141
2014-09-18 12:44:39,321 DEBUG Server : (ServerFSM) Idle.HostSPGame
2014-09-18 12:44:39,322 ERROR Server : ExtractMessageData(const Message& msg, SinglePlayerSetupData& setup_data) failed!  Message:
[lot of gibberish]
Error: invalid signature
2014-09-18 12:44:39,322 DEBUG Server : (ServerFSM) ~Idle
2014-09-18 12:44:39,322 DEBUG Server : ServerApp::~ServerApp
2014-09-18 12:44:39,322 DEBUG Server : ServerApp::CleanupAIs() telling AIs game is ending
2014-09-18 12:44:39,322 DEBUG Server : ServerApp::CleanupAIs() killing 0 AI clients.
2014-09-18 12:44:39,322 ERROR Server : main() caught exception(std::exception): std::exception
Client log:

Code: Select all

2014-09-18 12:44:22,525 DEBUG Client : Logger initialized
2014-09-18 12:44:22,525 DEBUG Client : v0.4.4+ [SVN 7721] Xcode 0511
2014-09-18 12:44:22,525 ERROR Client : StringTable_::Load failed to read file at path: /Users/user/SoftwareProjekte/FO/FreeOrionSDK/Xcode/build/Test/FreeOrion.app/Contents/Resources/default/stringtables/en.txt
2014-09-18 12:44:23,664 DEBUG Client : OpenAL initialized. Version 1.1Renderer SoftwareVendor Apple Computer Inc.
Extensions: AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE AL_EXT_float32 AL_EXT_STATIC_BUFFER AL_EXT_SOURCE_NOTIFICATIONS

2014-09-18 12:44:24,014 DEBUG Client : ProductionWindow:  app-width: 1024 ; windowed width: 1024
2014-09-18 12:44:24,026 DEBUG Client : DesignWnd::MainPanel::ReregisterDesigns
2014-09-18 12:44:24,063 ERROR Client : /Users/user/SoftwareProjekte/FO/sdk/Xcode/build/Test/FreeOrion.app/Contents/Resources/default/ship_parts.txt:49:11: Parse error.  Expected real number expression here:

Part
    name = "SR_WEAPON_1_1"
    description = "SR_WEAPON_1_1_DESC"
    class = ShortRange
    damage = 3
           ^
    ROF = 1
    range = 50
    mountableSlotTypes = External
    buildcost = 20 * (1 + 0.01 * ShipDesignsOwned empire = Source.Owner)
    buildtime = 1

2014-09-18 12:44:24,072 DEBUG Client : BasesListBox::Populate
2014-09-18 12:44:24,072 DEBUG Client : BasesListBox::PopulateWithSavedDesigns
2014-09-18 12:44:24,211 ERROR Client : PlayMusic: unable to open file /Users/user/SoftwareProjekte/FO/FreeOrionSDK/Xcode/build/Test/FreeOrion.app/Contents/Resources/default/data/sound/artificial_intelligence_v3.ogg I/O Error. Aborting

2014-09-18 12:44:24,211 DEBUG Client : Limited FPS to 60
2014-09-18 12:44:24,234 DEBUG Client : OpenGL Version Number: 2.1
2014-09-18 12:44:24,235 DEBUG Client : (HumanClientFSM) IntroMenu
2014-09-18 12:44:24,235 DEBUG Client : HumanClientApp::KillServer()
2014-09-18 12:44:24,235 DEBUG Client : ClientNetworking::SetPlayerID: player id set to: -1
2014-09-18 12:44:24,263 DEBUG Client : HumanClientApp::HandleFocusChange()
2014-09-18 12:44:30,473 ERROR Client : PlaySound: OpenAL ERROR: Invalid Value
2014-09-18 12:44:30,704 ERROR Client : PlaySound: OpenAL ERROR: Invalid Value
2014-09-18 12:44:37,353 ERROR Client : PlaySound: OpenAL ERROR: Invalid Value
2014-09-18 12:44:37,353 DEBUG Client : HumanClientApp::StartServer: /Users/user/SoftwareProjekte/FO/sdk/Xcode/build/Test/FreeOrion.app/Contents/Executables/freeoriond
2014-09-18 12:44:38,356 DEBUG Client : ClientNetworking::ConnectToServer : attempting to connect to server at 127.0.0.1
2014-09-18 12:44:38,356 DEBUG Client : tcp::resolver::iterator host_name: 127.0.0.1  address: 127.0.0.1  port: 12346
2014-09-18 12:44:38,357 DEBUG Client : ClientNetworking::ConnectToServer : connected to server
2014-09-18 12:44:38,357 DEBUG Client : ClientNetworking::ConnectToServer : starting networking thread
2014-09-18 12:44:38,357 DEBUG Client : HumanClientApp::NewSinglePlayerGame : Connected to server
2014-09-18 12:44:39,321 DEBUG Client : (HumanClientFSM) IntroMenu.HostSPGameRequested
2014-09-18 12:44:39,321 DEBUG Client : (HumanClientFSM) ~IntroMenu
2014-09-18 12:44:39,321 DEBUG Client : (HumanClientFSM) WaitingForSPHostAck
2014-09-18 12:44:39,322 DEBUG Client : ClientNetworking::NetworkingThread() : Networking thread will be terminated due to disconnect exception "End of file"
2014-09-18 12:44:39,337 DEBUG Client : HumanClientApp::DisconnectedFromServer
2014-09-18 12:44:39,337 ERROR Client : HumanClientFSM : A Disconnection event was passed to the HumanClientFSM.  This event is illegal in the FSM's current state.  It is being ignored.
2014-09-18 12:46:06,513 DEBUG Client : HumanClientApp::HandleFocusChange()
2014-09-18 12:48:02,914 DEBUG Client : HumanClientApp::HandleFocusChange()
2014-09-18 12:48:12,310 DEBUG Client : HumanClientApp::HandleFocusChange()
2014-09-18 12:48:16,661 DEBUG Client : HumanClientApp::HandleFocusChange()
I've recreated the patch for the SDL branch at rev 7721 and attached it, so you can check if I got everything right.
Attachments

[The extension patch has been deactivated and can no longer be displayed.]


User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Should SDL be used as the GUI instead of Ogre?

#78 Post by Geoff the Medio »

I'm not at all surprised that some messages wouldn't be encoded / decoded correctly... I didn't expect that all of the encoding and decoding were properly and consistently adjusted in both locations.

The point of the patch posting, was, I think, just to see if it would start for you and would it pull in the zlib-enabled iostreams boost libraries as dependencies. (Did it?)

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Should SDL be used as the GUI instead of Ogre?

#79 Post by Vezzra »

Geoff the Medio wrote:The point of the patch posting, was, I think, just to see if it would start for you and would it pull in the zlib-enabled iostreams boost libraries as dependencies. (Did it?)
Well, if I don't link the iostreams lib I get lot of link errors, all of them boost::iostreams::zlib... or similar symbols not found.

If I do link it, FO builds fine, I can start the app and get to the main menu (starting a game will fail). So yes, this patch obviously causes FO to require zlib-enabled iostreams on OSX.

Post Reply