Changeset 590
- Timestamp:
- 05/31/08 08:09:13 (7 months ago)
- Files:
-
- trunk/src/defend/Main.d (modified) (2 diffs)
- trunk/src/defend/demo/Player.d (modified) (1 diff)
- trunk/src/defend/game/Game.d (modified) (2 diffs)
- trunk/src/defend/game/net/Client.d (modified) (1 diff)
- trunk/src/defend/sim/Core.d (modified) (10 diffs)
- trunk/src/defend/sim/Effector.d (modified) (1 diff)
- trunk/src/defend/sim/civ/Test.d (modified) (2 diffs)
- trunk/src/defend/sim/obj/Citizen.d (modified) (8 diffs)
- trunk/src/defend/sim/obj/Sheep.d (modified) (1 diff)
- trunk/src/defend/sim/obj/Unit.d (modified) (3 diffs)
- trunk/src/defend/terrain/Heightmap.d (modified) (1 diff)
- trunk/src/engine/scene/MeshNode.d (modified) (1 diff)
- trunk/src/engine/scene/ParticleSystem.d (modified) (1 diff)
- trunk/src/windefend.cbp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/defend/Main.d
r588 r590 45 45 } 46 46 47 import engine.util.Debug; 48 47 49 int main(char[][] args) 48 50 { … … 316 318 317 319 Thread.yield(); 320 //Thread.sleep(0.1); 318 321 319 322 timer.stop(); trunk/src/defend/demo/Player.d
r589 r590 23 23 24 24 FileConduit file; 25 float _speed = 0.3;25 float _speed = 1f; 26 26 27 27 ubyte[] dataBuffer; trunk/src/defend/game/Game.d
r589 r590 190 190 191 191 // And then the 2D objects 192 //profile!("hud.render")193 //({192 profile!("hud.render") 193 ({ 194 194 renderer.setRenderState(RenderState.DepthTest, false); 195 195 renderer.orthogonal(); … … 197 197 hud.render(); 198 198 renderer.setRenderState(RenderState.DepthTest, true); 199 //});199 }); 200 200 201 201 profile!("flip") trunk/src/defend/game/net/Client.d
r589 r590 15 15 import engine.util.Memory; 16 16 import engine.util.Profiler; 17 import engine.util.FreeList;18 17 import engine.list.Queue; 19 18 import engine.list.MoveQueue; trunk/src/defend/sim/Core.d
r589 r590 445 445 446 446 // Set a property 447 override void mulPropertyFactor(prop_type_t property, prop_t value)447 override void scalePropFactor(prop_type_t property, prop_t value) 448 448 { 449 449 propertyFactors[property] *= value; … … 670 670 671 671 StatusChange(s); 672 }673 674 // For debugging675 final void trace(lazy char[] msg)676 {677 debug678 {679 if(!selected)680 return;681 682 Trace.formatln("object {,3}: {}", id, msg);683 }684 672 } 685 673 … … 772 760 } 773 761 774 override void mulPropertyFactor(prop_type_t property, prop_t value)762 override void scalePropFactor(prop_type_t property, prop_t value) 775 763 { 776 764 propertyFactors[property] *= value; … … 913 901 } 914 902 915 // Called after simulate() has been called for each object. Must not change state.916 void afterSimulate()917 {918 //assert(!removed);919 }920 921 903 // returns if this object can be ordered by the *local* player 922 904 bool mayBeOrdered() … … 951 933 952 934 debug(gameobjects) 935 { 953 936 logger = Log.getLogger("sim.object." ~ Integer.toString(id)); 937 //logger.level = LogLevel.Info; 938 } 954 939 } 955 940 … … 1266 1251 // Delete object types and civs 1267 1252 foreach(civ; civs) 1253 { 1268 1254 if(civ is null) 1269 1255 continue; 1270 1256 else 1271 1257 civ.release(); 1258 } 1272 1259 1273 1260 typeRegister.unload(); … … 1445 1432 foreach(obj; objects) 1446 1433 obj.simulate(); 1447 1448 foreach(obj; objects) 1449 obj.afterSimulate(); 1450 1451 // TODO: Update typeInfos of each civ 1434 1452 1435 foreach(civ; civs) 1453 1436 foreach(ti; civ.objectTypes) … … 1564 1547 return object; 1565 1548 } 1566 1567 deprecated void objectDead(GameObject object)1568 {1569 // wtf is that for lol1570 ObjectDead(object);1571 }1572 1549 } 1573 1550 … … 1627 1604 { 1628 1605 if(pf != prop_t.ctFromReal!(1.0)) 1629 effected. mulPropertyFactor(i, pf);1606 effected.scalePropFactor(i, pf); 1630 1607 } 1631 1608 } … … 1636 1613 { 1637 1614 if(pf != prop_t.ctFromReal!(1.0)) 1638 effected. mulPropertyFactor(i, prop_t.ctFromReal!(1.0) / pf);1615 effected.scalePropFactor(i, prop_t.ctFromReal!(1.0) / pf); 1639 1616 } 1640 1617 } trunk/src/defend/sim/Effector.d
r581 r590 20 20 interface Effected 21 21 { 22 void mulPropertyFactor(prop_type_t, prop_t);22 void scalePropFactor(prop_type_t, prop_t); 23 23 } 24 24 trunk/src/defend/sim/civ/Test.d
r583 r590 22 22 /*with(civ.objectTypes["unit"]) 23 23 { 24 mulPropertyFactor(Unit.Property.MovementSpeed, 1);24 scalePropFactor(Unit.Property.MovementSpeed, 1); 25 25 } 26 26 27 27 with(civ.objectTypes["sheep"]) 28 28 { 29 mulPropertyFactor(Unit.Property.MovementSpeed, 1);29 scalePropFactor(Unit.Property.MovementSpeed, 1); 30 30 }*/ 31 31 … … 59 59 with(civ.objectTypes["unit"]) 60 60 { 61 mulPropertyFactor(Unit.Property.MovementSpeed, prop_t(2));61 scalePropFactor(Unit.Property.MovementSpeed, prop_t(2)); 62 62 } 63 63 } trunk/src/defend/sim/obj/Citizen.d
r589 r590 35 35 developmentSteps = 2; 36 36 canBuild = [ "house" ]; 37 properties[GameObject.Property.MaxLife] = prop_t( 500);37 properties[GameObject.Property.MaxLife] = prop_t(300); 38 38 properties[Unit.Property.Attack] = prop_t(10); 39 39 properties[Unit.Property.MovementSpeed] = prop_t(50); … … 190 190 void build(Building building) 191 191 { 192 debug( citizen)193 trace("starting to build");192 debug(gameobjects) 193 logger.trace("starting to build {}", building.id); 194 194 195 195 follow(building, &buildingReached); … … 198 198 void mine(Resource resource) 199 199 { 200 debug( citizen)201 trace("mining " ~ Integer.toString(resource.id));200 debug(gameobjects) 201 logger.trace("mining {}", resource.id); 202 202 203 203 follow(resource, &resourceReached); … … 207 207 void buildingReached() 208 208 { 209 debug(citizen)210 trace("reached building");211 212 209 status = Status.Building; 213 210 } … … 215 212 void resourceReached() 216 213 { 217 debug(citizen)218 trace("reached resource");219 220 214 status = Status.Mining; 221 215 } … … 262 256 if(building.status != Building.Status.BuildUp) 263 257 { 264 debug(gameo objects)265 logger. info("building is finished, stopping to build");258 debug(gameobjects) 259 logger.trace("building is finished, stopping to build"); 266 260 267 261 status = Unit.Status.Idle; … … 272 266 if(!isStandingNearby(building)) 273 267 { 274 debug(gameo objects)268 debug(gameobjects) 275 269 logger.warn("trying to build while not staying nearby a building"); 276 270 … … 302 296 if(resource.whacked) 303 297 { 304 debug(gameo objects)298 debug(gameobjects) 305 299 logger.info("resource is whacked, stopping to mine it"); 306 300 trunk/src/defend/sim/obj/Sheep.d
r589 r590 33 33 developmentSteps = 10; 34 34 properties[GameObject.Property.MaxLife] = prop_t(500); 35 properties[Unit.Property.Attack] = prop_t( 5);35 properties[Unit.Property.Attack] = prop_t(20); 36 36 properties[Unit.Property.MovementSpeed] = prop_t(35); 37 properties[Unit.Property.AttackSpeed] = prop_t( 50);37 properties[Unit.Property.AttackSpeed] = prop_t(10); 38 38 properties[GameObject.Property.Sight] = prop_t(20); 39 39 } trunk/src/defend/sim/obj/Unit.d
r589 r590 318 318 debug(gameobjects) 319 319 logger.spam("reached the followed object ({})", followObject.id); 320 321 // Look at our target 322 direction = getDirection(mapPos, followObject.mapRectangle.nearestPoint(mapPos)); 320 323 321 324 followCallback(); … … 356 359 followObject = object; 357 360 followCallback = callback; 358 359 if(walkPos != mapPos)360 {361 // Look at our target362 if(object.typeInfo.dimension != vec2i(1, 1))363 finalDirection = getDirection(walkPos, object.mapRectangle.nearestPoint(walkPos));364 }365 361 } 366 362 … … 735 731 if(!target) 736 732 status = Status.Idle; 737 else if(!--attackCounter) 738 { 739 // ouch :( 740 target.hurt(cast(int)cast(real)property(Property.Attack)); 741 742 resetAttackCounter(); 733 else 734 { 735 if(isStandingNearby(target)) 736 { 737 if(!--attackCounter) 738 { 739 // ouch :( 740 target.hurt(cast(int)cast(real)property(Property.Attack)); 741 742 resetAttackCounter(); 743 } 744 } 745 else 746 { 747 debug(gameobjects) 748 logger.spam("target ran away, attacking again"); 749 750 attack(target); 751 } 743 752 } 744 753 trunk/src/defend/terrain/Heightmap.d
r583 r590 1 1 module defend.terrain.Heightmap; 2 2 3 import tango. io.Stdout;3 import tango.util.log.Trace; 4 4 import tango.math.Math; 5 5 trunk/src/engine/scene/MeshNode.d
r583 r590 10 10 import engine.util.Memory; 11 11 import engine.util.Profiler; 12 import engine.util.FreeList;13 12 import engine.util.MemoryPool; 14 13 import engine.scene.Node; trunk/src/engine/scene/ParticleSystem.d
r583 r590 7 7 import engine.util.Array; 8 8 import engine.util.Singleton; 9 import engine.util.FreeList;10 9 import engine.util.MemoryPool; 11 10 import engine.math.Vector; trunk/src/windefend.cbp
r585 r590 223 223 <Unit filename="engine\util\CompileTime.d" /> 224 224 <Unit filename="engine\util\Config.d" /> 225 <Unit filename="engine\util\Debug.d" /> 225 226 <Unit filename="engine\util\FPS.d" /> 226 227 <Unit filename="engine\util\File.d" />
