Announcement

Collapse
No announcement yet.

Status SDL client

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Status SDL client

    Rafal Bursig has posted a status report on the SDL client. Here's the current status of things that work now, things that don't work to things that should work in the future.




    Hi all

    Ok... here are some info about my work on SDL Client (many people ask
    about it)

    Client is playable ( almost ) even in muliplayer. Should be build
    without any errors ( ok.. current debug=yes will break becouse I don't
    commit some remove log.h patch from some files but debug=some and
    debug=no will go )

    Still some dlgs are missed but we can play without it ( or not ).

    Bugs:
    - Log window is draw above nations dlg becouse I made there ugly hack
    and don't have time to correct it ( rewrite nations dlg )
    - There is some bug in move window with scrollbar code but fixing it
    wont be easy and require some changes in widget system.
    - Next problem is log window, I try found this @#$%^$^ bug for many
    weaks and still something missing
    - more

    Some new future (for those people that don't know)
    - some client comand line options ( ok... 2 comnads: start fullscreen
    800x600 and events in other thread for linux/beos )
    - scallable minimap.
    - use of mmx1 instruction (where avilable and only when build from
    source) - I have some mmx1 code for SDL lib, if someone want it then
    just say

    Dlgs that work :
    - Connect Dlg.
    - Option Dlg.
    - City Dlg.
    - Worklist Dlg.
    - City Rep.
    - Units Rep.
    - Players Rep.
    - Intel. Dlg.
    - Diplomacy Dlg.
    - Economy Rep.
    - Science Rep.
    - Top 5 Cities.
    - Wonders of Word.
    - News.
    - Demography
    - Find City.
    - Units Dlgs (caravans, settlers, spys/diplomats, etc )
    - more ( those that I forgot here and don't write in TODO part )

    As I know there is no problem with win32 port of this client. Per have
    better info about it.

    BIG TODO :
    - CMA Dlg. ( initial work )
    - Goto City Dlg.
    - Airlift City Dlg.
    - Help Dlg. (need new graphics)
    - SpaceShip Dlg. (need new graphics)
    - Nuke Explosion. (need new graphics)
    - Correct, clean and finish deluxe tilesets (need new graphics)

    with some new code in cvs:
    - add support for units gold unkeep. (city dlg. units dlg)
    - add support for borders in minimap . (minimap)
    - update_conn_list_dialog - mabe after Client/server auth. pach I make
    some batte.net like dialog (witch chat , players list and setup server,
    start game,join server/chnge chanel and disconnect buttons ) where
    pubservers will work as chat chanels. Problem : server settings API.

    widget sytem:
    - fix move window with scrollbar ( scrollbar->min and scrollbar->max
    aren't change by move_window code )
    - add better key support (menu kebard control and more - this wont be
    easy but I made some first steps for it)

    Small TODO :
    - update timeout label.
    - turn done button animation.
    - rewrite connection dlg.
    - rewrite nations dlg. ( legend support )
    - rewrite options dlg.
    - rewrite or remove log window.
    - rewrite tech goals dlg (make it like next tech to reserach dlg.)
    - add reserched techs status dlg.

    - put_city_workers - ???
    - put_cross_overlay_tile - ???

    Long term TODO :
    - add sound support to widgets system (buttons pressed , open window,
    etc ).
    - add chat subwindow/subsystem.
    - rewrite "Top 5 Cities" and "Wonders of Word" net protocol - server
    shouldn't send strings only ids. I need know what wonders icon and what
    nation color use for "Wonders of Word" , what wonders have "Top 5
    Cities" , etc. After that rewrite those dlgs.
    - split gui_stuff.c to sub files. (each widget type should have own
    file)
    - add support for units animation. (need new graphics: move, commbat,
    work, etc)
    - split tileset code to map tileset and rest.
    - add default worklist widget to new city name dlg.
    - start new game from strat menu, run server as :
    * other thread ?
    * other proces
    * telnet/ssh to other PC and run server
    - load game from start menu. (see run server as)
    - add load/save via client options.
    - show unload order icon only when ship is loaded.
    - better demography ( graphs )
    - units report in city rep. ( garrison report )
    - citizens report in city rep. ( happynes )
    - more ...

    About much things I forgot say here
    I think that there are many bugs but most of them will show with better
    testing and for that I need YOU

    Have fun and don't call me if your cpu will burn.

    yours lazy
    Rafal

    In short, we now have a running (and playable) SDL alpha. Get ready to start betatesting (some compiling required)
    Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

    Elie A. Shneour Skeptical Inquirer

  • #2
    I have made a win32 binary of the latest SDL client. You can download it from here. Enjoy, and do report those bugs! There are lots of them and we want 'em all squished!

    Comment


    • #3
      Thanks Per I've already downloaded it the moment I spotted your post about it on the mailing list.

      First try:
      I've tried it out under win98. I set up the civserver as localhost (set aifill to 7) and start up SDL client. So far so good, but the the moment I connect to the server the SDL client crashes.

      CIVCLIENT caused an invalid page fault in
      module SDL.DLL at 0167:100239db.
      Registers:
      EAX=00fd2170 CS=0167 EIP=100239db EFLGS=00010202
      EBX=00fd21e0 SS=016f ESP=00e9f860 EBP=00e9f878
      ECX=00fd21e0 DS=016f ESI=00000000 FS=1ac7
      EDX=00fc1fc0 ES=016f EDI=00fd21b0 GS=1b8e
      Bytes at CS:EIP:
      80 7e 05 01 74 3f 8a 46 04 38 47 04 74 1d 8b 45
      Stack dump:
      00000000 00fc1fc0 00fd2170 00fc1fc0 00fd2170 00e9f928 00e9f8b8 100242a9 00fd2170 00fc1fc0 00fc1fc0 00fc1fc0 00002424 00000007 20000000 00e9f8d0
      Will try some experimenting later today...

      P.S
      Why is the deluxe tileset also loaded for the civserver when you click on the civserver shortcut on the desktop?

      D:\games\freeciv\sdl\test\civserver.exe -t deluxe
      Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

      Elie A. Shneour Skeptical Inquirer

      Comment


      • #4
        Code travels fast in this world. There's also an SDL port for RISC OS out.


        And there goes your free time....




        It's a lazy Sunday afternoon and a typically quiet Summer period looms as developers busy themselves with projects that need completing in time for the Autumn shows. So in order to avoid a mass twiddling of thumbs, the Unix Porting Project has struck again with an SDL-based Freeciv port.

        Freeciv is a free, turn based multiplayer strategy game that's based on the commercial 'Civilization II' game. Basically, think TEK 1608 but instead of destroying civilisation with tanks and missiles, you're building it up. Literally, building it up from sending out settlers to founding cities to forming armies and crafting your mark in history.

        The previous RISC OS port of Freeciv used X11 and an X Server to display the game. However, this version (1.14.1) uses libSDL so the game runs as a native application and is therefore faster. LibSDL was ported to RISC OS by Alan Buckley.

        Freeciv is playable and certainly not slow on this editor's StrongARM RiscPC although the game is quite responsive on an XScale Iyonix. There's lots of online documentation and guides to help new players to get into the game plus the game interface itself is intuitive. The in-game graphics are very cutesy and colourful with lots of nice transparency effects thrown in for good measure - be sure to run Freeciv in at least a 32,000 colour desktop. There's also a remarkably large range of races and other options to start each game with.
        Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

        Elie A. Shneour Skeptical Inquirer

        Comment


        • #5
          Some nice screenshots of the SDL client (if only I could get the thing running myself right now ....oh well )




          Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

          Elie A. Shneour Skeptical Inquirer

          Comment


          • #6
            Originally posted by CapTVK
            I've tried it out under win98. I set up the civserver as localhost (set aifill to 7) and start up SDL client. So far so good, but the the moment I connect to the server the SDL client crashes.
            It is possible that win98 is just too old. I know this is the case with the GTK+ client.

            Originally posted by CapTVK
            Why is the deluxe tileset also loaded for the civserver when you click on the civserver shortcut on the desktop?
            Oops. Yes, this is wrong. Sorry about this. You need to edit the link for it to work.

            Comment


            • #7
              Per,

              Unfortunately I only have Linux and Win98 installed on PC right now. I won't be able to playtest it then.

              Oops. Yes, this is wrong. Sorry about this. You need to edit the link for it to work.
              Well, that's one 'bug' down
              Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

              Elie A. Shneour Skeptical Inquirer

              Comment


              • #8
                Found another one!

                Good news, got it running under Win98...and found out why I couldn't get it to run (another bug).

                The reason that the SDL client crashes has something to with setting options in civserver included with the client. I usually set the no of civs by hand with for example: set aifill 7. When I try to log in at this point with the SDL client it always crashes under Win98.
                Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

                Elie A. Shneour Skeptical Inquirer

                Comment


                • #9
                  Per,

                  I guess this is a proper bug. Should I post these bugreports at rt.freeciv.org?
                  Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

                  Elie A. Shneour Skeptical Inquirer

                  Comment


                  • #10
                    I might have spoken to soon at this point. Apparently setting the gamescreen resolution also is a factor when trying to connect the client to the server. So aifill may not be the cause at all. I'll do a couple of experiments first
                    Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

                    Elie A. Shneour Skeptical Inquirer

                    Comment


                    • #11
                      I can get the SDI version to work, but only if I manually start the server and then connect to it. The client options to start a new game, or load a game are disabled. Is this a bug?

                      Also, various dialogs seem to be moveable. By left clicking on their titles, they turn into a black outline (which is therefore very difficult to see on an unexplored map). But to fix the dialog, I seem to have to press both the left and right mouse buttons at the same time. Is this a bug (middle mouse button has no effect)? Is there a key press I could use instead?

                      Enemy cities names (coloured boxes with city name and country) do not appear when the city is first found, but are shown on the next turn. Is this a bug?

                      Comment


                      • #12
                        Originally posted by maubp
                        I can get the SDI version to work, but only if I manually start the server and then connect to it. The client options to start a new game, or load a game are disabled. Is this a bug?
                        That's still listed as longterm TODO goal. For the moment we'll have to make do with setting the civserver directly.

                        Also, various dialogs seem to be moveable. By left clicking on their titles, they turn into a black outline (which is therefore very difficult to see on an unexplored map). But to fix the dialog, I seem to have to press both the left and right mouse buttons at the same time. Is this a bug (middle mouse button has no effect)? Is there a key press I could use instead?
                        I've experienced that bug a few times and I believe it's been mentioned before. Wasn't aware that you can make it disappear by pressing LMB&RMB however, thanks.

                        Enemy cities names (coloured boxes with city name and country) do not appear when the city is first found, but are shown on the next turn. Is this a bug?
                        I'm not sure if it's a bug or not. It might have something to do with updating the next turn.
                        Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

                        Elie A. Shneour Skeptical Inquirer

                        Comment


                        • #13
                          Originally posted by CapTVK
                          That's still listed as longterm TODO goal. For the moment we'll have to make do with setting the civserver directly.
                          I assume you don't mean this TODO list, http://www.freeciv.org/todo.html

                          Is there a status/list of known bugs for the Windows SDL client? Should I be looking at the client-win32 or the client-sdl queue on http://rt.freeciv.org/

                          Thanks for your comments

                          Comment


                          • #14
                            No, it's Rafal's own TODO list (although he could use an extra hand i guess ) at the top of this thread.

                            Posting at the right que is just a question of pigeonholing: SDL related goes into SDL, win32 into win32 etc....
                            Skeptics should forego any thought of convincing the unconvinced that we hold the torch of truth illuminating the darkness. A more modest, realistic, and achievable goal is to encourage the idea that one may be mistaken. Doubt is humbling and constructive; it leads to rational thought in weighing alternatives and fully reexamining options, and it opens unlimited vistas.

                            Elie A. Shneour Skeptical Inquirer

                            Comment


                            • #15
                              Originally posted by CapTVK
                              No, it's Rafal's own TODO list (although he could use an extra hand i guess ) at the top of this thread.
                              Oh, yes. So it is - my mistake.

                              ( why is there no embarrassed smilie on this forum? )

                              Posting at the right que is just a question of pigeonholing: SDL related goes into SDL, win32 into win32 etc....
                              I guess what I'm asking is where should bugs in this win32 SDL client be reported (under SDL or under win32?)

                              P.S. For anyone else wondering, SDL means this version of Freeciv uses the "Simple DirectMedia Layer" graphics library, see here http://www.libsdl.org

                              Comment

                              Working...
                              X