CVS Commit Info

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

Moderator: Committer

Message
Author
tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#31 Post by tzlaine »

Files Affected:
EmpireManager.h
ServerEmpireManager.cpp
ServerEmpireManager.h
ClientUI.cpp
ClientUI.h
FleetWindow.cpp
GalaxyMapScreen.cpp
GalaxyMapScreen.h
GalaxySetupWnd.cpp
GalaxySetupWnd.h
IntroScreen.cpp
IntroScreen.h
MapWnd.cpp
MapWnd.h
ServerConnectWnd.h
SystemIcon.cpp
SystemIcon.h
ClientApp.h
HumanClientApp.cpp
HumanClientApp.h
Message.cpp
Message.h
NetworkCore.h
ServerNetworkCore.h
NetworkDoc.txt
ServerApp.cpp
ServerApp.h
ClientUniverse.cpp
ClientUniverse.h
Planet.h
FPopCenter.cpp
PopCenter.h
ProdCenter.cpp
ProdCenter.h
ServerUniverse.cpp
ServerUniverse.h
Ship.h
System.h
UniverseObject.cpp
UniverseObject.h
Process.h

Pupose of Change:
To get a working start sequence. Now you can hit "single player" and select your galaxy, and a new one will be generated at the server, and sent to and displayed at your client.

Tyreth
FreeOrion Lead Emeritus
Posts: 885
Joined: Thu Jun 26, 2003 6:23 am
Location: Australia

#32 Post by Tyreth »

Files Affected:
UI/About.cpp
UI/About.h
default/credits.xml
default/eng_stringtable.txt

Purpose of Change:
Added some functionality to the About window, will complete soon. Feel free to add your entry to the credits.xml file if it hasn't been already. We'll do a proper, exhaustive list at a later date. I'll probably ask the doc team to do it.

Will also use a proper xml format for each entry soon.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#33 Post by tzlaine »

Files Affected:
ClientUI.cpp
ClientUI.h
GalaxyMapScreen.cpp
GalaxyMapScreen.h
IntroScreen.cpp
IntroScreen.h
MapWnd.cpp
MapWnd.h
SystemIcon.cpp
HumanClientApp.cpp
ClientUniverse.cpp
ClientUniverse.h
Planet.cpp
Planet.h
ServerUniverse.cpp
ServerUniverse.h
System.cpp
System.h
UniverseObject.cpp
UniverseObject.h
eng_stringtable.txt

Files Added:
SidePanel.h
SidePanel.cpp

farming.png
industry.png
mining.png
pop.png
research.png

barren1.png
barren2.png
barren3.png
desert1.png
desert2.png
desert3.png
ocean1.png
ocean2.png
ocean3.png
radiated1.png
radiated2.png
radiated3.png
rock1.png
rock2.png
rock3.png
terran1.png
terran2.png
terran3.png
toxic1.png
toxic2.png
toxic3.png
tundra1.png
tundra2.png
tundra3.png

Pupose of Change:
The side panel is here! Click on a star to see its info, or click anywhere but a star to remove the side panel from view. I had to change a lot of code in other areas to get everything to work, so that's why the list above is so long. In order for this code to work, you need to update your copy of the GG libs and headers, either from the newly updated WindowsKit.zip if you're a Windows user, or from the sourceforge sources if you're a Linux user.

ClientUI.cpp
Simplified the screen-switching code and removed some demo code.

ClientUI.h
Same as ClientUI.cpp, but also changed as many #includes to forward declarations as possible.

GalaxyMapScreen.h
GalaxyMapScreen.cpp
Removed and consolidated with MapWnd.

IntroScreen.cpp
Added code to clean up background image used by IntroScreen in IntroScreen's dtor.
IntroScreen.h

MapWnd.h
MapWnd.cpp
Removed demo code, simplified and improved dragging and rendering code. MapWnd now draws its data directly from the Universe.

SystemIcon.cpp
Removed unneeded rendering code, including a dependency on now-removed GalaxyMapScreen.h

HumanClientApp.cpp Moved the resposibility for initializing a new turn from the UI's screen-switching code to the calling code in the app core.

ClientUniverse.h
ClientUniverse.cpp
Made ClientUniverse non-copyable to avoid future problems with temporaries.

Planet.h
Planet.cpp
Corrected typo in the size of a huge planet, and removed system ID info from Planet (since Planet is a UniverseObject and thus already has that information elsewhere).

ServerUniverse.h
ServerUniverse.cpp
Corrected universe generation code to insert planets in specific orbits.

System.h
System.cpp
Reintroduced FindObjects() and FindObjectIDs, changed int Insert(UniverseObject* obj) to behave as its documentation indicates, and simplified and clarified the output of XMLEncode().

UniverseObject.h
UniverseObject.cpp
Changed references to owning Systems from System*s to ints, to match the ownership idiom used in System.h.

eng_stringtable.txt
Added strings needed for new SidePanel code.

EDIT: Forgot to mention updating GG.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#34 Post by tzlaine »

Files Affected:
MapWnd.h/MapWnd.cpp
Added nebulae, zooming with the mouse wheel, and functions to turn system names on or off.

SystemIcon.h/SystemIcon.cpp
Made several changes to accomdate changes in MapWnd.

config.xml
Added a bits-per-pixel parameter.

HumanClientApp.cpp
Added support for a bits-per-pixel parameter in config.xml, and added code that instantiates SDL's OpenGL color buffers based on it. This means that 24/32 bpp is now possible, and I have it set as the default in config.xml. If you receive an SDL error message at app startup, try setting bpp to 16 instead of 32 (that's what it was before, so it should work for you if it ever did before).

starfield1.png
starfield2.png
starfield3.png
Improved graphics using POV-Ray.


FilesAdded:
nebula1.png
nebula2.png
nebula3.png
nebula4.png
nebula5.png


Purpose of Change:
MapWnd now supports zooming with the mouse wheel, which allows for MUCH easier navigation around the map using mouse drags, and now there are nebulae(!) and better starfield backgrounds, both thanks to POV-Ray.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#35 Post by tzlaine »

Files Affected:

ClientUI.cpp
Added initialization code missing from the XMLElement ctor.

MapWnd.cpp
Added a hack also used in the GG code that keeps the compiler from complaining when it sees the boost cstdint.hpp header (affects Windows code only).


Purpose of Change:
This should fix the problems that Josh was reporting in the help thread; all windows users should be able to use the latest sources after this code update. Note that this code now uses v1.30.2 of boost, so you need to download it from http://prdownloads.sourceforge.net/boos ... 1.30.2.zip and unzip it in your root directory, so it should end up as C:\boost-1.30.2 (or something very similar). Of course, Linux users need to upgrade their version of boost as well.

There is a known issue with the code as it executes on Windows. The mouse wheel does not appear to work correctly; I'll try to fix this soon. For now, just don't zoom out.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#36 Post by tzlaine »

Files Affected:

HumanClientApp.cpp
Added code to FinalCleanup() that sends GAME_END message to server before exiting, so the app doesn't leave a running server and a lot of AIs on exit.

ServerNetworkCore.cpp
Changed mesage handling code to verify that the sender's id in each message matches the sender id for the port on which the message arrives, to prevent sender id spoofing.


Purpose of Change:
Now when you close the app, in either single player or hosting-multiplayer modes, the app should dispose of the server and AI clients.

Tyreth
FreeOrion Lead Emeritus
Posts: 885
Joined: Thu Jun 26, 2003 6:23 am
Location: Australia

#37 Post by Tyreth »

Files affected:
UI/About.cpp
UI/About.h
default/COPYING (added)
default/credits.xml (removed)
default/credits.txt (added)

Purpose of change:
About screen now shows the license and credits from text files.

jbarcz1
Creative Contributor
Posts: 226
Joined: Thu Jun 26, 2003 4:33 pm
Location: Baltimore, MD

#38 Post by jbarcz1 »

Files Affected
HumanClientApp.cpp
Ship.cpp
ServerApp.cpp
ServerUniverse.cpp
chmain.cpp

Purpose of Change

HumanClientApp.cpp
- added initialization of empire data when game start message is received.

Ship.cpp
- fixed problem with XML encoding/decoding

ServerApp.cpp
- Empire data is now sent with Game start message

ServerUniverse.cpp
- enabled creation of starting fleets for each empire (it was #if'd out)

chmain.cpp
- added exception traps to aid in debugging
Empire Team Lead

jbarcz1
Creative Contributor
Posts: 226
Joined: Thu Jun 26, 2003 4:33 pm
Location: Baltimore, MD

#39 Post by jbarcz1 »

Files Affected
ServerApp.cpp
ServerEmpireManager.cpp
Empire.cpp

Purpose of Change
Changed the call to CreateUniverse in ServerApp so that the correct number of empires would be generated. This fixed the bug in which the server would report Bad Empire IDs. Empire.cpp had one of its XMLEncode's modified because it was omitting a member.
Empire Team Lead

Tyreth
FreeOrion Lead Emeritus
Posts: 885
Joined: Thu Jun 26, 2003 6:23 am
Location: Australia

#40 Post by Tyreth »

Files affected:
UI/About.cpp
Empire/EmpireManager.h

Purpose of changes:
The about dialog had a segfault when hitting done. For me it did not occur while I was viewing the credits. So I added a line on the done button to display credits before closing, which solved the segfault. So I suspect the fault isn't with the about dialog code. Zach, do you have any idea why this would happen?

EmpireManager.h was missing a declaration which was choking my compilation:
static const std::string SITREP_UPDATE_TAG;

Tyreth
FreeOrion Lead Emeritus
Posts: 885
Joined: Thu Jun 26, 2003 6:23 am
Location: Australia

#41 Post by Tyreth »

Files affected:
Empire/EmpireManager.cpp
Empire/EmpireManager.h

Purpose of changes:
Removed the redundant SITREP_UPDATE_TAG at jbarcz1's request.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#42 Post by tzlaine »

Files affected:
MapWnd.cpp
Altered code to use the new Random.h code.

ClientUniverse.h
ClientUniverse.cpp
Removed MIN_STAR_DISTANCE (a similar parameter is now used directly in the ServerUniverse's universe generation code), removed Insert() (which should not be possible with a ClientUniverse), and removed NearestSystem() methods.

ServerUniverse.h
ServerUniverse.cpp
Rewrote the universe generation code. All generation is now enabled. Minimum system and home system separation are now achieved efficiently and are completely configurable by changing a single parameter each. Also, the generation code now uses the new boost.random number generators from Random.h.

UniverseObject.h
UniverseObject.cpp
Changed the MIN_SHIP_ID and MAX_SHIP_ID static members to int from unsigned int to prevent warnings and bugs due to signed/unsigned comparison.

Files added:
Random.h
A few convenient functions and functors that make use of the lovely boost.random library.

Purpose of changes:
General improvement, debugging, and integration of the universe and empire generation and the start-of-game sequence.

tzlaine
Programming Lead Emeritus
Posts: 1092
Joined: Thu Jun 26, 2003 1:33 pm

#43 Post by tzlaine »

Files affected:
CUIDrawUtil.h
CUIDrawUtil.cpp
Added a function to render a fleet icon and another to detect clicks within a fleet icon's area.

SystemIcon.h
SystemIcon.cpp
Added support for fleet icon buttons and reaction to the new UniverseObject StateChanged signal.

ProdCenter.cpp
Added missing initialization code to ctors.

ServerUniverse.cpp
Corrected an error that caused objects to be deleted before they were remove from their containing Systems.

Fleet.cpp
Fleet.h
Planet.cpp
Planet.h
Ship.h
System.cpp
System.h
UniverseObject.cpp
UniverseObject.h
Added a signal to UniverseObject and all subclasses that allows each object to notify anyone who cares that it has been altered, such as a UI class that may be displaying it.

Purpose of changes:
To get the fleet icons in place and to correct some problems with the universe generation. Also, a UniverseObject state-change signal was needed to alert the main map when a system, etc. changed, so this was added.

Tyreth
FreeOrion Lead Emeritus
Posts: 885
Joined: Thu Jun 26, 2003 6:23 am
Location: Australia

#44 Post by Tyreth »

Files affected:
UI/About.cpp

Purpose of change:
Text properly wraps and graphics fit with theme using CUIMultiEdit

Yoghurt
Programmer
Posts: 376
Joined: Sat Jun 28, 2003 8:17 pm
Location: Heidelberg, Germany

#45 Post by Yoghurt »

Files affected:
All Makefile.am
autogen.sh
configure.ac

Files added:
cvs
mkauto.sh
createMakefile.pl

Purpose: Updated the build-system. Should now be nearly automatic. See this post

Locked