Changeset 548

Show
Ignore:
Timestamp:
05/20/08 12:40:51 (8 months ago)
Author:
LeoD
Message:

removed object type skeletons

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/run/defend.cfg

    r544 r548  
    3838     
    3939    // object's team colors glow 
    40     objects_glow = 1 
     40    objects_glow = 0 
  • trunk/src/defend/Graphics.d

    r547 r548  
    22 
    33import tango.io.Stdout; 
     4import tango.math.Math; 
    45 
    56import gen.core.TaskManager; 
  • trunk/src/defend/objects/Core.d

    r543 r548  
    16631663{ 
    16641664private: 
    1665     // Object type loaders and skeletons 
     1665    // Object type loaders 
    16661666    alias ObjectTypeInfo delegate() ObjectTypeLoader; 
    16671667    ObjectTypeLoader[object_type_t] objectTypeLoaders; 
    16681668    ObjectTypeInfo[object_type_t] objectTypeSkeletons; 
    16691669 
    1670     // Technology loaders and skeletons 
     1670    // Technology loaders 
    16711671    alias Technology delegate() TechLoader; 
    16721672    TechLoader[tech_t] techLoaders; 
    1673     Technology[tech_t] techSkeletons; 
    16741673 
    16751674    // Civilisations 
     
    16911690    } 
    16921691 
    1693     // Create object type and technology skeletons with the loaders 
    1694     final void loadSkeletons(GameObjectManager from, object_type_t[] types, 
    1695                              tech_t[] techs) 
    1696     { 
    1697         // Object types 
    1698         foreach(t; types) 
    1699         { 
    1700             if(!(t in objectTypeSkeletons)) 
    1701             { 
    1702                 //synchronized(Stdout) Stdout(t).newline; 
    1703                  
    1704                 with(objectTypeSkeletons[t] = objectTypeLoaders[t]()) 
    1705                 { 
    1706                     gameObjects = from; 
    1707                     objectType = t; 
    1708                 } 
    1709             } 
    1710         } 
    1711  
    1712         // Technologies 
    1713         foreach(t; techs) 
    1714         { 
    1715             if(!(t in techSkeletons)) 
    1716             { 
    1717                 with(techSkeletons[t] = techLoaders[t]()) 
    1718                 { 
    1719                     gameObjects = from; 
    1720                     techType = t; 
    1721                 } 
    1722             } 
    1723         } 
    1724     } 
    1725  
    1726     // Dispose all skeletons 
    1727     final void unload() 
    1728     { 
    1729         // Object types 
    1730         { 
    1731             object_type_t[] todo; 
    1732          
    1733             foreach(key, val; objectTypeSkeletons) 
    1734                 todo ~= key; 
    1735                  
    1736             foreach(key; todo) 
    1737             { 
    1738                 auto object = objectTypeSkeletons[key]; 
    1739                 delete object; 
    1740                  
    1741                 objectTypeSkeletons.remove(key); 
    1742             } 
    1743         } 
    1744  
    1745         // Technologies 
    1746         { 
    1747             tech_t[] todo; 
    1748          
    1749             foreach(key, val; techSkeletons) 
    1750                 todo ~= key; 
    1751                  
    1752             foreach(key; todo) 
    1753             { 
    1754                 auto object = techSkeletons[key]; 
    1755                 delete object; 
    1756                  
    1757                 techSkeletons.remove(key); 
    1758             } 
    1759         } 
    1760     } 
    1761  
    17621692    // Load a civilisation 
    17631693    final Civ loadCiv(GameObjectManager from, player_id_t player, char[] type) 
     
    17661696        auto ti = civTypeList[type]; 
    17671697         
    1768         // First, load all needed skeletons 
    1769         loadSkeletons(from, ti.objectTypes, ti.techs); 
    1770  
    17711698        auto result = new Civ; 
    17721699        result.typeInfo = ti; 
    17731700        result.owner = player; 
    17741701 
    1775         // Copy the object type skeleton
     1702        // Create object type
    17761703        foreach(t; ti.objectTypes) 
    17771704        { 
    1778             with(result.objectTypes[t] = objectTypeSkeletons[t].dup
     1705            with(result.objectTypes[t] = objectTypeLoaders[t]()
    17791706            { 
    17801707                owner = player; 
    1781  
    1782                 assert(gameObjects is from)
     1708                gameObjects = from; 
     1709                objectType = t
    17831710            } 
    17841711        } 
    17851712 
    1786         // Copy the technology skeleton
     1713        // Create technologie
    17871714        foreach(t; ti.techs) 
    17881715        { 
    1789             with(result.techs[t] = techSkeletons[t].dup
     1716            with(result.techs[t] = techLoaders[t]()
    17901717            { 
    17911718                owner = player; 
    1792  
    1793                 assert(gameObjects is from)
     1719                gameObjects = from; 
     1720                techType = t
    17941721            } 
    17951722        } 
     
    18241751 
    18251752        civTypeList[ti.name] = ti; 
     1753    } 
     1754     
     1755    // Unload 
     1756    void unload() 
     1757    { 
     1758     
    18261759    } 
    18271760} 
  • trunk/src/gen/rend/Renderer.d

    r546 r548  
    174174 
    175175    void setUniform(char[] name, int value); 
     176    void setUniform(char[] name, vec2 value); 
    176177    void setUniform(char[] name, vec3 value); 
     178    void setUniform(char[] name, vec4 value); 
    177179    void setUniform(char[] name, mat4 value); 
    178180} 
  • trunk/src/gen/rend/opengl/Shader.d

    r544 r548  
    220220    } 
    221221     
     222    override void setUniform(char[] name, vec2 value) 
     223    { 
     224        glUniform2fARB(uniformHandle(name), value.tuple); 
     225    } 
     226     
    222227    override void setUniform(char[] name, vec3 value) 
    223228    { 
     
    225230    } 
    226231     
     232    override void setUniform(char[] name, vec4 value) 
     233    { 
     234        glUniform4fARB(uniformHandle(name), value.tuple); 
     235    } 
     236     
    227237    override void setUniform(char[] name, mat4 value) 
    228238    { 
  • trunk/src/gen/scene/ParticleSystem.d

    r541 r548  
    2727    mixin MLinkedList!(Particle); 
    2828 
    29     vec3 position
    30     vec3 velocity
    31     vec3 acceleration
    32     vec4 color
    33     float age
    34     float size
     29    vec3 position = vec3.zero
     30    vec3 velocity = vec3.zero
     31    vec3 acceleration = vec3.zero
     32    vec4 color = vec4.zero
     33    float age = 0
     34    float size = 0
    3535    bool alive; 
    3636}