Difference between revisions of "Source Code"

From Supremacy Wiki
Jump to: navigation, search
(Source Code)
Line 16: Line 16:
 
== Changes ==
 
== Changes ==
  
=== 2013-07-07 ===
+
see [[ChangeLog|here]]
  
Most importante changes: (http://botf2.star-trek-games.com/viewtopic.php?p=73952&sid=a00734a2370e86d0967364e537643730#p73952)
+
== some code ==
  
Fixes:
 
* system and planetary bonuses creation
 
* industry output
 
* food output
 
* research output
 
* build time refresh
 
* growth rate bonuses
 
* shipbuilding bonuses
 
* ship construction completion display
 
* numerous UI issues
 
  
Balance:
+
{|class="wikitable sortable" 
* dilithium cost of ships
+
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |where
* Orbital Battery stats
+
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |Folder
* Production Facility output and cost
+
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |File
* research field costs
+
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |Function
* ship stats in general
+
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |empty
 +
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |Description
 +
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |Custom1
 +
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |Custom2
 +
 
 +
|-
 +
|style=text-align:left|S-Core
 +
|style=text-align:center|Universe
 +
|style=text-align:center|Colony.cs
 +
|style=text-align:center|GetProductionOutput(ProductionCategory category)
 +
|style=text-align:center|
 +
|style=text-align:left|
 +
see last line, too !
 +
*Food: minimum 10
 +
*Research:
 +
                        float moraleMod = _morale.CurrentValue / (0.5f * MoraleHelper.MaxValue);
 +
                        baseOutput = (int)(moraleMod * baseOutput);
 +
*Industry: '''minimum 10 !'''
 +
                        float moraleMod = _morale.CurrentValue / (0.5f * MoraleHelper.MaxValue);
 +
                        baseOutput = (int)(moraleMod * baseOutput);
 +
*last line: return ((int)(baseOutput + (baseOutput * modifier.Efficiency)) + modifier.Bonus);
 +
|style=text-align:left|
 +
|style=text-align:left|
 +
 
 +
|-
 +
|style=text-align:left|S-Core
 +
|style=text-align:center|Universe
 +
|style=text-align:center|Colony.cs
 +
|style=text-align:center|planet.HasFoodBonus (OutputModifier)
 +
|style=text-align:center|
 +
|style=text-align:left|
 +
                        if (planet.HasFoodBonus)
 +
                        modifier.Efficiency += 0.15f;
 +
|style=text-align:left|
 +
|style=text-align:left|
 +
 
 +
|-
 +
|style=text-align:left|S-Core
 +
|style=text-align:center|Universe
 +
|style=text-align:center|Colony.cs
 +
|style=text-align:center|planet.HasEnergyBonus (OutputModifier)
 +
|style=text-align:center|
 +
|style=text-align:left|
 +
                    if (planet.HasEnergyBonus)
 +
                        modifier.Efficiency += 0.15f;
 +
|style=text-align:left|
 +
|style=text-align:left|
 +
 
 +
|-
 +
|style=text-align:left|S-ClientComp
 +
|style=text-align:center|Views\GalaxyScreen
 +
|style=text-align:center|GalaxyScreenView.cs
 +
|style=text-align:center|GalaxyScreenView()
 +
|style=text-align:center|
 +
|style=text-align:left|GalaxyView Hotkeys Definition (see [[Hotkey]]s)
 +
|style=text-align:left|
 +
|style=text-align:left|
 +
 
 +
|}
 +
 
 +
 
 +
== Visual C# 2010 ==
 +
 
 +
build in [http://www.microsoft.com/downloads/dlx/en-us/ThankYou.aspx?FamilyID=75568AA6-8107-475D-948A-EF22627E57A5 VS2010] with .NET 4.0. You may need the [http://en.csharp-online.net/Download_Free_Microsoft_Visual_CSharp_.NET#Download_Microsoft_Visual_Studio_Async_Community_Technology_Preview_.28CTP.29 C# Async CTP].
 +
 
 +
<img>http://supremacy.square7.ch/wiki-files/images/Supremacy-MicrosoftVisualC2010Express.jpg</img>
 +
 
 +
== .Net ==
 +
 
 +
you should use latest [http://www.microsoft.com/net .Net-version] (2014: version 4.5.1)

Revision as of 14:42, 11 January 2014

Source Code

  • last source code https://bitbucket.org/mstrobel/supremacy/overview (Visual C# Studio 2010)
    • Mike's Post: build in VS2010 with .NET 4.0. You may need the C# Async CTP. http://botf2.star-trek-games.com/viewtopic.php?p=70790#p70790
    • http://botf2.star-trek-games.com/viewtopic.php?p=70781#p70781 Supremacy.Game.GameEngine is where you'll find most of the game logic. That's where most of the turn processing happens.
      • The SupremacyCore project is where you'll find the foundation of the game.
      • SupremacyService is just the game server (all the important bits it interacts with are in SupremacyCore).
      • SupremacyClientComponents is UI infrastructure.
      • SupremacyUI and SupremacyWPF are older UI infrastructure stuff, much of which has been phased out and replaced by newer and better stuff in SupremacyClientComponents. The most interesting stuff in SupremacyUI is GalaxyGridPanel, which draws the galactic map. It also has the spinning planet views.
      • Supremacy.Xna is where the XNA/3D stuff is located--it's not used heavily yet, but it has some effects for the invasion screen, a newer star renderer, a 3D spinning ship renderer, etc.
      • Supremacy.Scripting is an expression language parser/compiler.
      • SupremacyClient is the main graphical client and has most of the game screen implementations.

Changes

see here

some code

where Folder File Function empty Description Custom1 Custom2
S-Core Universe Colony.cs GetProductionOutput(ProductionCategory category)

see last line, too !

  • Food: minimum 10
  • Research:
                       float moraleMod = _morale.CurrentValue / (0.5f * MoraleHelper.MaxValue);
                       baseOutput = (int)(moraleMod * baseOutput);
  • Industry: minimum 10 !
                       float moraleMod = _morale.CurrentValue / (0.5f * MoraleHelper.MaxValue);
                       baseOutput = (int)(moraleMod * baseOutput);
  • last line: return ((int)(baseOutput + (baseOutput * modifier.Efficiency)) + modifier.Bonus);
S-Core Universe Colony.cs planet.HasFoodBonus (OutputModifier)
                       if (planet.HasFoodBonus)
                       modifier.Efficiency += 0.15f;
S-Core Universe Colony.cs planet.HasEnergyBonus (OutputModifier)
                   if (planet.HasEnergyBonus)
                       modifier.Efficiency += 0.15f;
S-ClientComp Views\GalaxyScreen GalaxyScreenView.cs GalaxyScreenView() GalaxyView Hotkeys Definition (see Hotkeys)


Visual C# 2010

build in VS2010 with .NET 4.0. You may need the C# Async CTP.

.Net

you should use latest .Net-version (2014: version 4.5.1)