Difference between revisions of "Source Code"

From BotF2-Wiki
Jump to: navigation, search
(== Visual Studio Express 2013 == use latest version (Express version is free) http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop)
(some code)
Line 30: Line 30:
 
! 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;" |Custom1
 
! bgcolor="#dadada" style="border:4px solid #999999;padding:0.2em;padding-top:0.2em;" |Custom2
 
! 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|Game
 +
|style=text-align:center|GameEngine.cs
 +
|style=text-align:center|DoProduction(GameContext game)
 +
|style=text-align:center|
 +
|style=text-align:left|
 +
Raw Materials, Deuterium, Dilithium is collected cross over all colonies and used by all colonies
 +
|style=text-align:left|
 +
|style=text-align:left|
 +
 +
|-
 +
|style=text-align:left|S-Core
 +
|style=text-align:center|Game
 +
|style=text-align:center|GameEngine.cs
 +
|style=text-align:center|DoShipProduction(GameContext game)
 +
|style=text-align:center|
 +
|style=text-align:left|
 +
 +
|style=text-align:left|
 +
|style=text-align:left|
 +
 +
|-
 +
|style=text-align:left|S-Core
 +
|style=text-align:center|Orbital
 +
|style=text-align:center|Shipyard.cs
 +
|style=text-align:center|GetBuildOutput(int slot)
 +
|style=text-align:center|
 +
|style=text-align:left|
 +
just selects output (active?) and bonus (BonusType.PercentShipBuilding)
 +
|style=text-align:left|
 +
|style=text-align:left|
  
 
|-
 
|-
Line 85: Line 119:
  
 
|}
 
|}
 
  
 
== Visual Studio Express 2013 ==
 
== Visual Studio Express 2013 ==

Revision as of 12:28, 13 January 2014

Source Code

  • last source code https://bitbucket.org/mstrobel/BotF2/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 BotF2.Game.GameEngine is where you'll find most of the game logic. That's where most of the turn processing happens.
      • The BotF2Core project is where you'll find the foundation of the game.
      • BotF2Service is just the game server (all the important bits it interacts with are in BotF2Core).
      • BotF2ClientComponents is UI infrastructure.
      • BotF2UI and BotF2WPF are older UI infrastructure stuff, much of which has been phased out and replaced by newer and better stuff in BotF2ClientComponents. The most interesting stuff in BotF2UI is GalaxyGridPanel, which draws the galactic map. It also has the spinning planet views.
      • BotF2.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.
      • BotF2.Scripting is an expression language parser/compiler.
      • BotF2Client is the main graphical client and has most of the game screen implementations.

Changes

see here or https://bitbucket.org/mstrobel/BotF2/commits/branch/default

some code

where Folder File Function empty Description Custom1 Custom2


S-Core Game GameEngine.cs DoProduction(GameContext game)

Raw Materials, Deuterium, Dilithium is collected cross over all colonies and used by all colonies

S-Core Game GameEngine.cs DoShipProduction(GameContext game)
S-Core Orbital Shipyard.cs GetBuildOutput(int slot)

just selects output (active?) and bonus (BonusType.PercentShipBuilding)

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 Studio Express 2013

use latest version (Express version is free) http://www.visualstudio.com/downloads/download-visual-studio-vs#d-express-windows-desktop

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)