From 6232359c73b0ab8e372ae201e816118ee1dbb37b Mon Sep 17 00:00:00 2001 From: croza Date: Wed, 10 Aug 2011 23:23:34 +0100 Subject: [PATCH 1/3] Some bugfixes, and the new Reda and Renu files. --- Parser.py | 28 +++ RR2.py | 9 +- data/config/main.cfg | 10 +- data/config/walls.cfg | 30 ++++ data/maps/ten/maps/Cror.map | 12 +- data/maps/ten/maps/Reda.map | 1 + data/maps/ten/maps/Renu.map | Bin 0 -> 100 bytes data/models/world/dirt.egg | 267 ----------------------------- data/models/world/ecseam.egg | 267 ----------------------------- data/models/world/ground.blend | Bin 130132 -> 0 bytes data/models/world/ground.egg | 61 ------- data/models/world/hardrock.blend | Bin 145488 -> 0 bytes data/models/world/hardrock.egg | 267 ----------------------------- data/models/world/lava.egg | 62 ------- data/models/world/looserock.egg | 267 ----------------------------- data/models/world/oreseam.egg | 267 ----------------------------- data/models/world/rechargeseam.egg | 267 ----------------------------- data/models/world/solidrock.blend | Bin 140864 -> 0 bytes data/models/world/solidrock.egg | 267 ----------------------------- data/models/world/water.egg | 62 ------- gameMain.py | 234 +++++++++---------------- mapLoader.py | 19 ++ modelLoader.py | 10 +- stratCam.py | 75 +++++++- tools/mapConverter.py | 75 ++++++-- 25 files changed, 318 insertions(+), 2239 deletions(-) create mode 100644 data/maps/ten/maps/Reda.map create mode 100644 data/maps/ten/maps/Renu.map delete mode 100644 data/models/world/dirt.egg delete mode 100644 data/models/world/ecseam.egg delete mode 100644 data/models/world/ground.blend delete mode 100644 data/models/world/ground.egg delete mode 100644 data/models/world/hardrock.blend delete mode 100644 data/models/world/hardrock.egg delete mode 100644 data/models/world/lava.egg delete mode 100644 data/models/world/looserock.egg delete mode 100644 data/models/world/oreseam.egg delete mode 100644 data/models/world/rechargeseam.egg delete mode 100644 data/models/world/solidrock.blend delete mode 100644 data/models/world/solidrock.egg delete mode 100644 data/models/world/water.egg diff --git a/Parser.py b/Parser.py index 6043093..3fa5c69 100644 --- a/Parser.py +++ b/Parser.py @@ -14,6 +14,9 @@ def __init__(self): self.unitConfig = ConfigParser.ConfigParser() self.unitConfig.read(self.mainConfig.get('main', 'unit_config_file')) + self.objectConfig = ConfigParser.ConfigParser() + self.objectConfig.read(self.mainConfig.get('main', 'object_config_file')) + self.loadConfigs() def loadConfigs(self): @@ -38,6 +41,7 @@ def isNumber(number): # Run for all, test to see if it is a number, and returns self.user = {} self.wall = {} self.unit = {} + self.object = {} for section in self.mainConfig.sections(): data = {} @@ -62,6 +66,12 @@ def isNumber(number): # Run for all, test to see if it is a number, and returns for option in self.unitConfig.options(section): data[isNumber(option)] = isNumber(self.unitConfig.get(section, option)) self.unit[section] = unitClasses(data) + + for section in self.objectConfig.sections(): + data = {} + for option in self.objectConfig.options(section): + data[isNumber(option)] = isNumber(self.objectConfig.get(section, option)) + self.object[section] = objectClasses(data) print 'END OF PARSER.PY!' @@ -77,6 +87,9 @@ def __init__(self, dictionary):#, name): self.drillTime = dictionary['drilltime'] self.conductor = dictionary['conductor'] self.texture = dictionary['texture'] + self.selectable = dictionary['select'] + self.dynamite = dictionary['dynamite'] + self.reinforce = dictionary['reinforce'] class unitClasses: def __init__(self, dictionary):#, name): @@ -92,3 +105,18 @@ def __init__(self, dictionary):#, name): self.digMulti = dictionary['digmulti'] self.reinforceMulti = dictionary['reinforcemulti'] self.shovelMulti = dictionary['shovelmulti'] + +class objectClasses: + def __init__(self, dictionary): + self.pickup = dictionary['pickup'] + self.eValue = dictionary['evalue'] + self.oValue = dictionary['ovalue'] + self.stableTime = dictionary['stabletime'] + self.charge = dictionary['charge'] + self.decharge = dictionary['decharge'] +#pickup: yes +#evalue: 0 +#ovalue: 0 +#stabletime: none +#charge: energy_crystal +#decharge: none \ No newline at end of file diff --git a/RR2.py b/RR2.py index 8554d9a..bb46237 100644 --- a/RR2.py +++ b/RR2.py @@ -4,7 +4,7 @@ import gameMain import stratCam import fpsTest -import something2 +import something4 parserClass = Parser.Parser() @@ -14,7 +14,8 @@ gameMain = gameMain.world(parserClass, mapLoaderClass, modelLoaderClass) -stratCam.CameraHandler(modelLoaderClass.mapX, modelLoaderClass.mapY, +stratCam.CameraHandler(parserClass, mapLoaderClass, modelLoaderClass, gameMain, + modelLoaderClass.mapX, modelLoaderClass.mapY, parserClass.userConfig.getfloat("control", "scrollborder"), parserClass.userConfig.getfloat("control", "zoominspeed"), parserClass.userConfig.getfloat("control", "zoomoutspeed"), @@ -22,6 +23,8 @@ parserClass.userConfig.getfloat("control", "zoommin")) #f = fpsTest.thirdPerson(parserClass, gameMain, mapLoaderClass, modelLoaderClass) -#s = something2.Nodes(mapLoaderClass, 10, 10) +#s = something4.grid(mapLoaderClass) +#s1 = something4.aStar(s.landMesh, mapLoaderClass) +#s1.moveTo((14,30)) run() \ No newline at end of file diff --git a/data/config/main.cfg b/data/config/main.cfg index 34fff70..2957f72 100644 --- a/data/config/main.cfg +++ b/data/config/main.cfg @@ -9,10 +9,11 @@ [main] includes: None tilesize: 64 -testing_map: data\maps\converted\ +testing_map: data\maps\ten\ wall_config_file: data\config\walls.cfg unit_config_file: data\config\unit.cfg user_config_file: data\config\user.cfg +object_config_file: data\config\object.cfg [wall_types] 0: ground @@ -29,4 +30,9 @@ user_config_file: data\config\user.cfg 11: recharge_seam [units] -0: rockraider \ No newline at end of file +0: rockraider + +[objects] +1: energy_crystal +2: ore +3: empty_crystal \ No newline at end of file diff --git a/data/config/walls.cfg b/data/config/walls.cfg index 70cc208..0011fbc 100644 --- a/data/config/walls.cfg +++ b/data/config/walls.cfg @@ -23,6 +23,9 @@ speed_coef: 1 drillTime: none conductor: no texture: data/models/world/textures/ground.png +select: yes +dynamite: 3 +reinforce: none [solid_rock] fullName: Solid Rock @@ -34,6 +37,9 @@ speed_coef: 0 drillTime: none conductor: no texture: data/models/world/textures/solidrock.png +select: no +dynamite: no +reinforce: none [hard_rock] fullName: Hard Rock @@ -45,6 +51,9 @@ speed_coef: 0 drillTime: 10 conductor: no texture: data/models/world/textures/hardrock.png +select: yes +dynamite: yes +reinforce: 3 [loose_rock] fullName: Loose Rock @@ -56,6 +65,9 @@ speed_coef: 0 drillTime: 4 conductor: no texture: data/models/world/textures/looserock.png +select: yes +dynamite: yes +reinforce: 3 [dirt] fullName: Dirt @@ -67,6 +79,9 @@ speed_coef: 0 drillTime: 4 conductor: no texture: data/models/world/textures/dirt.png +select: yes +dynamite: yes +reinforce: 3 [lava] fullName: Lava @@ -78,6 +93,9 @@ speed_coef: 1 drillTime: none conductor: no texture: data/models/world/textures/lava.png +select: no +dynamite: yes +reinforce: none [ore_seam] fullName: Ore Seam @@ -89,6 +107,9 @@ speed_coef: 0 drillTime: 10 conductor: no texture: data/models/world/textures/UNSET.png +select: yes +dynamite: yes +reinforce: none [water] fullName: Water @@ -100,6 +121,9 @@ speed_coef: 1 drillTime: none conductor: no texture: data/models/world/textures/water.png +select: no +dynamite: no +reinforce: none [energy_crystal_seam] fullName: Energy Crystal Seam @@ -111,6 +135,9 @@ speed_coef: 0 drillTime: 10 conductor: no texture: data/models/world/textures/ecseam.png +select: yes +dynamite: yes +reinforce: none [recharge_seam] fullName: Recharge Seam @@ -122,3 +149,6 @@ speed_coef: 0 drillTime: 4 conductor: no texture: data/models/world/textures/UNSET.png +select: yes +dynamite: no +reinforce: none \ No newline at end of file diff --git a/data/maps/ten/maps/Cror.map b/data/maps/ten/maps/Cror.map index e70fee9..96e5fff 100644 --- a/data/maps/ten/maps/Cror.map +++ b/data/maps/ten/maps/Cror.map @@ -1 +1,11 @@ -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 \ No newline at end of file +22222222221111111111 + + + + + + + + + +  \ No newline at end of file diff --git a/data/maps/ten/maps/Reda.map b/data/maps/ten/maps/Reda.map new file mode 100644 index 0000000..07ffea4 --- /dev/null +++ b/data/maps/ten/maps/Reda.map @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/data/maps/ten/maps/Renu.map b/data/maps/ten/maps/Renu.map new file mode 100644 index 0000000000000000000000000000000000000000..d878312d49fcfe6142e094cc3703f2469ca9a602 GIT binary patch literal 100 fcmX}Zw*de!2mqjTd1C>? literal 0 HcmV?d00001 diff --git a/data/models/world/dirt.egg b/data/models/world/dirt.egg deleted file mode 100644 index 9af7f43..0000000 --- a/data/models/world/dirt.egg +++ /dev/null @@ -1,267 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - DIRT.001 { - "./textures/dirt.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { DIRT.001 } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { DIRT.001 } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { DIRT.001 } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { DIRT.001 } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { DIRT.001 } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { DIRT.001 } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} \ No newline at end of file diff --git a/data/models/world/ecseam.egg b/data/models/world/ecseam.egg deleted file mode 100644 index cf40caa..0000000 --- a/data/models/world/ecseam.egg +++ /dev/null @@ -1,267 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - SOLIDROCK.001 { - "./textures/ecseam.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} diff --git a/data/models/world/ground.blend b/data/models/world/ground.blend deleted file mode 100644 index 11a1b716478f7dbcd28933794ecebfe8b7278ed4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130132 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 { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - GroundTex { - "./textures/ground.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Plane { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Plane { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 1 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 3 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - } - { - { GroundTex } - { 0.000000 -0.000000 1.000000 - } - { 0 1 2 3 { Plane } } - } -} diff --git a/data/models/world/hardrock.blend b/data/models/world/hardrock.blend deleted file mode 100644 index 37fcb2996aea37ecacbbbcd6994a90649f191edc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 145488 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 B;a30v diff --git a/data/models/world/hardrock.egg b/data/models/world/hardrock.egg deleted file mode 100644 index 2ca55d2..0000000 --- a/data/models/world/hardrock.egg +++ /dev/null @@ -1,267 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - HARDROCK.001 { - "./textures/hardrock.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { HARDROCK.001 } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { HARDROCK.001 } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { HARDROCK.001 } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { HARDROCK.001 } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { HARDROCK.001 } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { HARDROCK.001 } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} diff --git a/data/models/world/lava.egg b/data/models/world/lava.egg deleted file mode 100644 index 01b7b4c..0000000 --- a/data/models/world/lava.egg +++ /dev/null @@ -1,62 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Untitled { - "./textures/lava.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Plane { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Plane { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 1 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 3 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - } - { - { Untitled } - { 0.000000 -0.000000 1.000000 - } - { 0 1 2 3 { Plane } } - } -} \ No newline at end of file diff --git a/data/models/world/looserock.egg b/data/models/world/looserock.egg deleted file mode 100644 index d379995..0000000 --- a/data/models/world/looserock.egg +++ /dev/null @@ -1,267 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - LOOSEROCK.001 { - "./textures/looserock.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { LOOSEROCK.001 } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { LOOSEROCK.001 } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { LOOSEROCK.001 } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { LOOSEROCK.001 } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { LOOSEROCK.001 } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { LOOSEROCK.001 } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} diff --git a/data/models/world/oreseam.egg b/data/models/world/oreseam.egg deleted file mode 100644 index b24e303..0000000 --- a/data/models/world/oreseam.egg +++ /dev/null @@ -1,267 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - SOLIDROCK.001 { - "./textures/oreseam.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} diff --git a/data/models/world/rechargeseam.egg b/data/models/world/rechargeseam.egg deleted file mode 100644 index 6a0ee69..0000000 --- a/data/models/world/rechargeseam.egg +++ /dev/null @@ -1,267 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - SOLIDROCK.001 { - "./textures/rechargeseam.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { SOLIDROCK.001 } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} diff --git a/data/models/world/solidrock.blend b/data/models/world/solidrock.blend deleted file mode 100644 index 17a60036f0b9168596b5ee127ecc7ef788d6a5dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140864 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

YNoQ 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 { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Material { - diffr {0.800000011921} - diffg {0.800000011921} - diffb {0.800000011921} - specr {0.25} - specg {0.25} - specb {0.25} - shininess {12.5} -} - Solid_Rock_Tex { - "./textures/solidrock.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Cube { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Cube { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 1 { - 2.0 -2.0 0.0 - { - 1.000000 0.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 0.000000 1.000000 0.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 3 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { -0.707107 0.000000 -0.000000 } - } - } - 4 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 5 { - -1.99999988079 2.0 4.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 6 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.000000 -0.707107 -0.000000 } - } - } - 7 { - 1.9999986887 -2.00000119209 4.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 8 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 0.000000 0.707107 -0.707107 } - { -0.000000 -0.707107 -0.707107 } - } - } - 9 { - 2.00000095367 1.99999892712 4.0 - { - 1.000000 0.000000 - { -0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 10 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 11 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 12 { - 2.0 -2.0 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 13 { - 1.9999986887 -2.00000119209 4.0 - { - 1.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 14 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 1.000000 - { 0.707107 -0.000000 -0.707107 } - { -0.707107 0.000000 -0.707107 } - } - } - 15 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 1.000000 - { 0.000000 -0.000000 -1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - 16 { - -2.00000023842 -1.99999964237 0.0 - { - 0.000000 0.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 17 { - -2.00000071526 -1.99999928474 4.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 -1.000000 } - { 0.000000 1.000000 -0.000000 } - } - } - 18 { - -1.99999988079 2.0 4.0 - { - 1.000000 1.000000 - { 0.000000 0.000000 -1.000000 } - { 0.000000 1.000000 0.000000 } - } - } - 19 { - -1.99999928474 2.00000071526 0.0 - { - 0.000000 1.000000 - { 0.000000 0.707107 -0.707107 } - { 0.000000 0.707107 0.707107 } - } - } - 20 { - 2.00000095367 1.99999892712 4.0 - { - 0.000000 0.000000 - { 0.707107 -0.000000 0.707107 } - { -0.707107 0.000000 0.707107 } - } - } - 21 { - 2.0 1.99999988079 0.0 - { - 1.000000 0.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 22 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 1.000000 - { 0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 0.000000 } - } - } - 23 { - -1.99999988079 2.0 4.0 - { - 0.000000 1.000000 - { -0.000000 -0.000000 1.000000 } - { -1.000000 0.000000 -0.000000 } - } - } - } - { - { Solid_Rock_Tex } - { Material } - { 0.000000 0.000000 -1.000000 - } - { 0 1 2 3 { Cube } } - } - { - { Solid_Rock_Tex } - { Material } - { 0.000000 -0.000000 1.000000 - } - { 4 5 6 7 { Cube } } - } - { - { Solid_Rock_Tex } - { Material } - { 1.000000 -0.000000 0.000000 - } - { 8 9 10 11 { Cube } } - } - { - { Solid_Rock_Tex } - { Material } - { -0.000000 -1.000000 -0.000000 - } - { 12 13 14 15 { Cube } } - } - { - { Solid_Rock_Tex } - { Material } - { -1.000000 0.000000 -0.000000 - } - { 16 17 18 19 { Cube } } - } - { - { Solid_Rock_Tex } - { Material } - { 0.000000 1.000000 0.000000 - } - { 20 21 22 23 { Cube } } - } -} diff --git a/data/models/world/water.egg b/data/models/world/water.egg deleted file mode 100644 index 09866bf..0000000 --- a/data/models/world/water.egg +++ /dev/null @@ -1,62 +0,0 @@ - { Z-up } - - { "Egg laid by Chicken for Blender, version R91" } - - Untitled { - "./textures/water.png" - saved-result { 1 } - envtype { MODULATE } - minfilter { LINEAR } - magfilter { LINEAR } - wrap { REPEAT } -} - Plane { - { - { - 2.000000 0.000000 0.000000 0.000000 - 0.000000 2.000000 0.000000 0.000000 - 0.000000 0.000000 2.000000 0.000000 - 0.000000 0.000000 0.000000 1.000000 - } - } - Plane { - 0 { - 2.0 1.99999988079 0.0 - { - 0.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 1 { - -1.99999928474 2.00000071526 0.0 - { - 1.000000 0.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 2 { - -2.00000023842 -1.99999964237 0.0 - { - 1.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - 3 { - 2.0 -2.0 0.0 - { - 0.000000 1.000000 - { 1.000000 -0.000000 0.000000 } - { -0.000000 -1.000000 -0.000000 } - } - } - } - { - { Untitled } - { 0.000000 -0.000000 1.000000 - } - { 0 1 2 3 { Plane } } - } -} \ No newline at end of file diff --git a/gameMain.py b/gameMain.py index 6fc889b..ec61855 100644 --- a/gameMain.py +++ b/gameMain.py @@ -1,10 +1,9 @@ from direct.showbase.DirectObject import DirectObject -from pandac.PandaModules import AmbientLight, DirectionalLight, VBase4, VBase3, TextNode +from pandac.PandaModules import AmbientLight, DirectionalLight, VBase4, VBase3, TextNode, PointLight import direct.directbase.DirectStart from direct.gui.OnscreenText import OnscreenText from direct.task.Task import Task from pandac.PandaModules import Point2 -from pandac.PandaModules import CollisionHandlerEvent, CollisionNode, CollisionSphere, CollisionTraverser, BitMask32, CollisionRay, CollisionHandlerQueue from direct.interval.IntervalGlobal import * @@ -31,91 +30,18 @@ def __init__(self, parserClass, mapLoaderClass, modelLoaderClass): self.mapY = mapLoaderClass.mapConfigParser.getint("map", "height") self.accept("escape", sys.exit) - self.accept("s", self.randomChange, [parserClass, mapLoaderClass, modelLoaderClass]) - self.accept("mouse1", self.mouseClick, [mapLoaderClass]) - self.accept("q", self.changeTile, [mapLoaderClass.tileArray[self.tileSelected[1]][self.tileSelected[0]], 0, parserClass, modelLoaderClass, mapLoaderClass]) - print 'END OF GAMEMAIN.PY!' - - ############################################### - - - - #** Collision events ignition - base.cTrav = CollisionTraverser() - collisionHandler = CollisionHandlerEvent() - self.collisionHandler2 = CollisionHandlerQueue() - - #** Setting the ray collider - see step5.py for details - pickerNode=CollisionNode('mouseraycnode') - - pickerNP=base.camera.attachNewNode(pickerNode) - - self.pickerRay=CollisionRay() - pickerNode.addSolid(self.pickerRay) - - base.cTrav.showCollisions(render) - - #** This is new stuff: we set here a so called 'tag' for the ray - its purpose is to make the ray recognizable in a different event pattern matching situation from what we are used to use so far. Just note the first parameter is the main object grouping. See details below setting the patterns. - pickerNode.setTag('rays','ray1') - base.cTrav.addCollider(pickerNP, self.collisionHandler2) - - taskMgr.add(self.rayupdate, "blah") - - self.entries = [] - -# def mouseClick(self, status): -# if status == 'down': -# pickingEnabledOject.setScale(.9) -# snipstuff.info_message("You clicked '%s'!"%pickingEnabledOject.getName()) - -# if status == 'up': -# pickingEnabledOject.setScale(1.0) -# def destroyWall(self, firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass): -# if (self.tileSelected != (0,0)): -# self.changeTile(firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass) - - def rayupdate(self, task): - if base.mouseWatcherNode.hasMouse(): - self.entries = [] - for i in range(self.collisionHandler2.getNumEntries()): - entry = self.collisionHandler2.getEntry(i) - self.entries.append(entry) - self.entries.sort(lambda x,y: cmp(y.getSurfacePoint(render).getZ(), - x.getSurfacePoint(render).getZ())) - -# if (len(self.entries)>0): -# print self.entries[0].getIntoNode().getName() - - mpos=base.mouseWatcherNode.getMouse() - # this function will set our ray to shoot from the actual camera lenses off the 3d scene, passing by the mouse pointer position, making magically hit what is pointed by it in the 3d space - self.pickerRay.setFromLens(base.camNode, mpos.getX(),mpos.getY()) - return task.cont - - def mouseClick(self, mapLoaderClass): - if (len(self.entries)>0): - x = int(self.entries[0].getIntoNode().getName()[len(self.entries[0].getIntoNode().getName())-6:len(self.entries[0].getIntoNode().getName())-4]) - y = int(self.entries[0].getIntoNode().getName()[len(self.entries[0].getIntoNode().getName())-2:]) - - - if (mapLoaderClass.tileArray[y][x].walkable == True) or (mapLoaderClass.tileArray[y][x].drillTime != None): - print self.tileSelected - mapLoaderClass.tileArray[self.tileSelected[1]][self.tileSelected[0]].model.setColor(1,1,1,1) - - mapLoaderClass.tileArray[y][x].model.setColor(0.5,1,0.5,1) - self.tileSelected = (x, y) - - else: - self.tileSelected = (0,0) -# pos = Point2(base.mouseWatcherNode.getMouse()) -# pos.setX(pos.getX()*1.33) -# -# p3 = base.cam.getRelativePoint(render, point3d) -# -# print pos, p3 +## p = loader.loadModel('data/models/units/HS/HS2') +# p.reparentTo(render) +# p.setPos(10,10,10) +# plight = PointLight('plight') +# plight.setColor(VBase4(0.8, 0.8, 0.8, 1)) +# plnp = render.attachNewNode(plight) +# plnp.setPos(10, 20, 0) +# render.setLight(plnp) - ############################################################################### + print 'END OF GAMEMAIN.PY!' def tskCheckWalls(self, mapLoaderClass, parserClass, modelLoaderClass): for row in mapLoaderClass.tileArray: @@ -149,89 +75,87 @@ def tskCheckWalls(self, mapLoaderClass, parserClass, modelLoaderClass): (tile.solidMap[1] == False and tile.solidMap[3] == True and tile.solidMap[5] == True and - tile.solidMap[7] == False) or + tile.solidMap[7] == False)): - (tile.modelName[0:4] == 'none')): +# (tile.modelName[0:13] == 'solid no work')): self.changeTile(tile, 0, parserClass, modelLoaderClass, mapLoaderClass) return Task.cont - def randomChange(self, parserClass, mapLoaderClass, modelLoaderClass): - x = random.randint(1,8) - y = random.randint(1,8) - -# seq = Sequence() -# seq.append(Func(mapLoaderClass.tileArray[y][x].model.setColor, (0,1,0,1))) -# seq.append(Wait(1)) -# seq.append(Func(self.changeTile, mapLoaderClass.tileArray[y][x], 1, parserClass, modelLoaderClass, mapLoaderClass)) - -# seq.start() - - mapLoaderClass.tileArray[y][x] = self.changeTile(mapLoaderClass.tileArray[y][x], random.randint(0,1), parserClass, modelLoaderClass, mapLoaderClass) - - def changeTile(self, firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass): - def changer(firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass): - firstTile.model.detachNode() - - posX = firstTile.posX # Setting up values to be transferred to the next tile - posY = firstTile.posY - posZ = firstTile.posZ - cornerMap = firstTile.cornerMap - solidMap = firstTile.solidMap - - finalTileData = parserClass.wall[parserClass.main['wall_types'][finalTileNumber]] - - if (finalTileData.solid == False): - solidMap[4] == False - - elif (finalTileData.solid == True): - solidMap[4] == True - - finalTile = copy.copy(finalTileData) - finalTile.posX = posX - finalTile.posY = posY - finalTile.posZ = posZ - finalTile.cornerMap = cornerMap - finalTile.solidMap = solidMap - - finalTile.model = modelLoaderClass.makeModel(finalTile)#, mapLoaderClass) # From here on is reparenting and positioning the tile to the right place - - finalTile.model.reparentTo(render) - finalTile.model.setPos(finalTile.posX, finalTile.posY, 0) - finalTile.model.setCollideMask(0x1) - - tex = loader.loadTexture(finalTile.texture) - finalTile.model.setTexture(tex, 1) - - print finalTile.solid - return finalTile - +# def changeTile(self, firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass): +# def changer(firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass): +# firstTile.model.detachNode() +# +# posX = firstTile.posX # Setting up values to be transferred to the next tile +# posY = firstTile.posY +# posZ = firstTile.posZ +# cornerMap = firstTile.cornerMap +# solidMap = firstTile.solidMap +# +# finalTileData = parserClass.wall[parserClass.main['wall_types'][finalTileNumber]] +# +# if (finalTileData.solid == False): +# solidMap[4] == False +# +# elif (finalTileData.solid == True): +# solidMap[4] == True +# +# finalTile = copy.copy(finalTileData) +# finalTile.posX = posX +# finalTile.posY = posY +# finalTile.posZ = posZ +# finalTile.cornerMap = cornerMap +# finalTile.solidMap = solidMap +# +# finalTile.model = modelLoaderClass.makeModel(finalTile)#, mapLoaderClass) # From here on is reparenting and positioning the tile to the right place +# +# finalTile.model.reparentTo(render) +# finalTile.model.setPos(finalTile.posX, finalTile.posY, 0) +# finalTile.model.setCollideMask(0x1) +# +# tex = loader.loadTexture(finalTile.texture) +# finalTile.model.setTexture(tex, 1) +# +# print finalTile.solid +# return finalTile +# mapLoaderClass.tileArray[firstTile.posY/4][firstTile.posX/4] = changer(firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass) self.reloadSurround(mapLoaderClass.tileArray[firstTile.posY/4][firstTile.posX/4], mapLoaderClass, modelLoaderClass, parserClass) - def mineWall(self, unitNumber, firstTile, parserClass, modelLoaderClass, mapLoaderClass): + def mineWall(self, firstTile, parserClass, modelLoaderClass, mapLoaderClass): def changer(firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoaderClass): firstTile.model.detachNode() - posX = firstTile.posX # Setting up values to be transferred to the next tile - posY = firstTile.posY - posZ = firstTile.posZ - cornerMap = firstTile.cornerMap - solidMap = firstTile.solidMap +# posX = firstTile.posX # Setting up values to be transferred to the next tile +# posY = firstTile.posY +# posZ = firstTile.posZ +# cornerMap = firstTile.cornerMap +# solidMap = firstTile.solidMap +# reda = firstTile.reda +# renu = firstTile.renu finalTileData = parserClass.wall[parserClass.main['wall_types'][finalTileNumber]] +# finalTile = copy.copy(finalTileData) +# finalTile.posX = posX +# finalTile.posY = posY +# finalTile.posZ = posZ +# finalTile.cornerMap = cornerMap +# finalTile.solidMap = solidMap + + finalTile = copy.copy(parserClass.wall[parserClass.main['wall_types'][finalTileNumber]]) + finalTile.posX = firstTile.posX + finalTile.posY = firstTile.posY + finalTile.posZ = firstTile.posZ + finalTile.cornerMap = firstTile.cornerMap + finalTile.solidMap = firstTile.solidMap + finalTile.reda = 0 + finalTile.renu = 0 + if (finalTileData.solid == False): - solidMap[4] == False + finalTile.solidMap[4] == False elif (finalTileData.solid == True): - solidMap[4] == True - - finalTile = copy.copy(finalTileData) - finalTile.posX = posX - finalTile.posY = posY - finalTile.posZ = posZ - finalTile.cornerMap = cornerMap - finalTile.solidMap = solidMap + finalTile.solidMap[4] == True finalTile.model = modelLoaderClass.makeModel(finalTile)#, mapLoaderClass) # From here on is reparenting and positioning the tile to the right place @@ -242,7 +166,13 @@ def changer(firstTile, finalTileNumber, parserClass, modelLoaderClass, mapLoader tex = loader.loadTexture(finalTile.texture) finalTile.model.setTexture(tex, 1) - +# if (firstTile.cror % 2 == 1): +# print str((firstTile.cror + 1)/2)+' energy crystals' +# else: +# print str(firstTile.cror / 2)+' ore' +# + print parserClass.main['objects'][firstTile.reda], firstTile.renu + # print parserClass.object[parserClass.main['objects'][firstTile.reda]] return finalTile mapLoaderClass.tileArray[firstTile.posY/4][firstTile.posX/4] = changer(firstTile, 0, parserClass, modelLoaderClass, mapLoaderClass) diff --git a/mapLoader.py b/mapLoader.py index b5df271..1413e40 100644 --- a/mapLoader.py +++ b/mapLoader.py @@ -36,11 +36,17 @@ def ganerate_tile_array(self, ParserClass): surf = open(self.mapDir+"maps/Surf.map", "r") high = open(self.mapDir+"maps/High.map", "r") + reda = open(self.mapDir+"maps/Reda.map", "r") + renu = open(self.mapDir+"maps/Renu.map", "r") wallData = surf.read() # Turning the map file into a string mapFiles.append(wallData) highData = high.read() mapFiles.append(highData) + redaData = reda.read() + mapFiles.append(redaData) + renuData = renu.read() + mapFiles.append(renuData) for mapFile in mapFiles: if (len(mapFile) != (self.width*self.height)): @@ -53,6 +59,7 @@ def ganerate_tile_array(self, ParserClass): Ypos = 0 for tilenum in range(self.width * self.height): + print tilenum tilenum = tilenum +1 # Helps with maths (can't remeber how, but it does) wallStr = binascii.hexlify(wallData[tilenum-1]) # Converts the hex into a two character sting @@ -61,9 +68,17 @@ def ganerate_tile_array(self, ParserClass): highStr = binascii.hexlify(highData[tilenum-1]) # Same, but for the High.map file highInt = int('0x'+highStr, 0) + redaStr = binascii.hexlify(redaData[tilenum-1]) + redaInt = int('0x'+redaStr, 0) + + renuStr = binascii.hexlify(renuData[tilenum-1]) + renuInt = int('0x'+renuStr, 0) + if (tilenum == 0): # For only the first tile of the map (because otherwise everything is 1 char long) tempClass = copy.copy(ParserClass.wall[ParserClass.main['wall_types'][wallInt]]) tempClass.posZ = highInt + tempClass.reda = redaInt + tempClass.renu = renuInt row.append(tempClass) tilenum += 1 @@ -71,6 +86,8 @@ def ganerate_tile_array(self, ParserClass): elif (tilenum % self.width != 0): # If it is not the end of the row tempClass = copy.copy(ParserClass.wall[ParserClass.main['wall_types'][wallInt]]) tempClass.posZ = highInt + tempClass.reda = redaInt + tempClass.renu = renuInt row.append(tempClass) tilenum += 1 @@ -78,6 +95,8 @@ def ganerate_tile_array(self, ParserClass): elif (Xpos % self.width == 0): # If it is the end of the row tempClass = copy.copy(ParserClass.wall[ParserClass.main['wall_types'][wallInt]]) tempClass.posZ = highInt + tempClass.reda = redaInt + tempClass.renu = renuInt row.append(tempClass) tiles.append(row) diff --git a/modelLoader.py b/modelLoader.py index 7f28316..1eb6f50 100644 --- a/modelLoader.py +++ b/modelLoader.py @@ -434,18 +434,10 @@ def makeOtherCorner(v0, v1, v2, v3, v4, v5): tileData.solidMap[8] == True): # Another corner south and east makeOtherCorner(vertex7, vertex7, vertex1, vertex2, vertex2, vertex5) tileData.modelName = 'solid corner2 south, east '+x+', '+y - - elif (tileData.solidMap[1] == False and - tileData.solidMap[3] == False and - tileData.solidMap[5] == True and - tileData.solidMap[7] == True and - tileData.solidMap[8] == True): # A corner with solids north, and east - makeCorner(vertex5, vertex5, vertex6, vertex0, vertex2) - tileData.modelName = 'solid corner1 north, east '+x+', '+y else: makeFlat(vertex0, vertex2, vertex4, vertex6) - tileData.modelName = 'solid shouldn\'t work '+x+', '+y + tileData.modelName = 'solid no work '+x+', '+y geom = Geom(data) try: diff --git a/stratCam.py b/stratCam.py index 8891c66..1b40e11 100644 --- a/stratCam.py +++ b/stratCam.py @@ -9,6 +9,8 @@ from pandac.PandaModules import Point3,Vec3,Vec4,BitMask32 from direct.task.Task import Task +from pandac.PandaModules import CollisionHandlerEvent, CollisionNode, CollisionSphere, CollisionTraverser, BitMask32, CollisionRay, CollisionHandlerQueue + # Last modified: 10/2/2009 # This class takes over control of the camera and sets up a Real Time Strategy game type camera control system. The user can move the camera three # ways. If the mouse cursor is moved to the edge of the screen, the camera will pan in that direction. If the right mouse button is held down, the @@ -31,7 +33,7 @@ class CameraHandler(DirectObject.DirectObject): - def __init__(self, mapWidth, mapHeight, scrollborder, zoomInSpeed, zoomOutSpeed, zoomMax, zoomMin): + def __init__(self, parserClass, mapLoaderClass, modelLoaderClass, mainClass, mapWidth, mapHeight, scrollborder, zoomInSpeed, zoomOutSpeed, zoomMax, zoomMin): self.zoomMax = zoomMax self.zoomMin = zoomMin @@ -89,10 +91,77 @@ def __init__(self, mapWidth, mapHeight, scrollborder, zoomInSpeed, zoomOutSpeed, self.accept("wheel_down",lambda : self.adjustCamDist(zoomOutSpeed)) # sets up the camera handler to detet when the mouse wheel is rolled upwards and uses a lambda function to call the - # adjustCamDist function with the argument 1.1 + # adjustCamDist function with the argument 1.1 # + + ######### + + self.tileSelected = (0,0) + + #** Collision events ignition + base.cTrav = CollisionTraverser() + collisionHandler = CollisionHandlerEvent() + self.collisionHandler2 = CollisionHandlerQueue() + + pickerNode=CollisionNode('mouseraycnode') + + pickerNP=base.camera.attachNewNode(pickerNode) + + self.pickerRay=CollisionRay() + pickerNode.addSolid(self.pickerRay) + + base.cTrav.showCollisions(render) + + # The ray tag + pickerNode.setTag('rays','ray1') + base.cTrav.addCollider(pickerNP, self.collisionHandler2) + + self.accept("mouse1", self.mouseClick, [mapLoaderClass]) + self.accept("q", self.mineWall, [parserClass, modelLoaderClass, mapLoaderClass, mainClass]) + + taskMgr.add(self.rayupdate, "blah") + + ########## taskMgr.add(self.camMoveTask,'camMoveTask') - # sets the camMoveTask to be run every frame + # sets the camMoveTask to be run every frame + + ########## + + def rayupdate(self, task): + if base.mouseWatcherNode.hasMouse(): + self.entries = [] + for i in range(self.collisionHandler2.getNumEntries()): + entry = self.collisionHandler2.getEntry(i) + self.entries.append(entry) + self.entries.sort(lambda x,y: cmp(y.getSurfacePoint(render).getZ(), + x.getSurfacePoint(render).getZ())) + + mpos=base.mouseWatcherNode.getMouse() + # this function will set our ray to shoot from the actual camera lenses off the 3d scene, passing by the mouse pointer position, making magically hit what is pointed by it in the 3d space + self.pickerRay.setFromLens(base.camNode, mpos.getX(),mpos.getY()) + return task.cont + + def mineWall(self, parserClass, modelLoaderClass, mapLoaderClass, mainClass): + if (self.tileSelected != (0,0)): + mainClass.mineWall(mapLoaderClass.tileArray[self.tileSelected[1]][self.tileSelected[0]], parserClass, modelLoaderClass, mapLoaderClass) + + def mouseClick(self, mapLoaderClass): + if (len(self.entries)>0): + x = int(self.entries[0].getIntoNode().getName()[len(self.entries[0].getIntoNode().getName())-6:len(self.entries[0].getIntoNode().getName())-4]) + y = int(self.entries[0].getIntoNode().getName()[len(self.entries[0].getIntoNode().getName())-2:]) + + + if (mapLoaderClass.tileArray[y][x].selectable == True): + mapLoaderClass.tileArray[self.tileSelected[1]][self.tileSelected[0]].model.setColor(1,1,1,1) + + mapLoaderClass.tileArray[y][x].model.setColor(0.5,1,0.5,1) + self.tileSelected = (x, y) + + else: + mapLoaderClass.tileArray[self.tileSelected[1]][self.tileSelected[0]].model.setColor(1,1,1,1) + self.tileSelected = (0,0) + +# print self.tileSelected def turnCameraAroundPoint(self, deltaX, deltaY): # This function performs two important tasks. First, it is used for the camera orbital movement that occurs when the diff --git a/tools/mapConverter.py b/tools/mapConverter.py index fa30b1b..f034c89 100644 --- a/tools/mapConverter.py +++ b/tools/mapConverter.py @@ -13,8 +13,9 @@ X = int(raw_input("Please enter the width of the map (note that it is one more than what you put into the creator's size to be): ")) Y = int(raw_input("Please enter the height of the map (same as with the width, one more than what you think it is: ")) + #mapFiles = ['Cror.map', 'Dugg.map', 'Emrg.map', 'Erod.map', 'Fall.map', 'High.map', 'Path.map', 'Surf.map', 'Tuto.map'] -mapFiles = ['Surf.map', 'High.map'] +mapFiles = ['Surf.map', 'High.map', 'Cror.map'] #otherFiles = ['ObjectList.ol'] def ifExist(file2): @@ -32,16 +33,14 @@ def to_binary(hex_string): # hex_string being hex(int); it will be dealt with he ints = [int(hex_string[i:i+2], 16) for i in range(0,len(hex_string),2)] return struct.pack('B' * len(ints), *ints) - + tempFile = open(directory+file2) tempData = tempFile.read() - -# if (len(tempData) != 2*(X*Y)+16): -# raise "This file has a bad length." + print len(tempData) tempData = tempData[14:] tempData = tempData[:len(tempData)-(2*X)] - #print tempData.encode("hex") + print len(tempData) endList = [] # tempFile will be read, and the bits needed will be stored here endFile = '' @@ -49,19 +48,64 @@ def to_binary(hex_string): # hex_string being hex(int); it will be dealt with he tempX = 1 charNumber = 1 - for i in range(len(tempData)): # Cuts the file up into relevant sections (a list of numbers) - if (i % 2 == 0): - if (i % X == 0): - pass - else: - something = to_binary(hex(int('0x'+tempData[i].encode("hex"), 0))) - endList.append(something) - #endList.append(int('0x'+tempData[i].encode("hex"), 0)) + if (file2 == 'Cror.map'): + for i in range(len(tempData)): # Cuts the file up into relevant sections (a list of numbers) + if (i % 2 == 0): + if (i % X == 0): + print 'yay' + pass + else: # formula for resources: ore = number/2 ec = number+1/2 + if (int('0x'+tempData[i].encode("hex"), 0) == 0): # None + something = to_binary(hex(0)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 1) or (int('0x'+tempData[i].encode("hex"), 0) == 3): # 1 energy crystal + something = to_binary(hex(1)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 2) or (int('0x'+tempData[i].encode("hex"), 0) == 4): # 1 ore + something = to_binary(hex(2)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 5) or (int('0x'+tempData[i].encode("hex"), 0) == 7): # 3 energy crystals + something = to_binary(hex(5)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 6) or (int('0x'+tempData[i].encode("hex"), 0) == 8): # 3 ore + something = to_binary(hex(6)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 9) or (int('0x'+tempData[i].encode("hex"), 0) == 11): # 5 energy crystals + something = to_binary(hex(9)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 10) or (int('0x'+tempData[i].encode("hex"), 0) == 12) or (int('0x'+tempData[i].encode("hex"), 0) == 16): # 5 ore + something = to_binary(hex(10)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 13) or (int('0x'+tempData[i].encode("hex"), 0) == 19): # 11 energy crystals + something = to_binary(hex(21)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 14) or (int('0x'+tempData[i].encode("hex"), 0) == 20): # 11 ore + something = to_binary(hex(22)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 17) or (int('0x'+tempData[i].encode("hex"), 0) == 23): # 25 energy crystals + something = to_binary(hex(49)) + + elif (int('0x'+tempData[i].encode("hex"), 0) == 18) or (int('0x'+tempData[i].encode("hex"), 0) == 24): # 25 ore + something = to_binary(hex(50)) + + else: + something = to_binary(hex(int('0x'+tempData[i].encode("hex"), 0))) + endList.append(something) + #print len(endList) + else: + for i in range(len(tempData)): # Cuts the file up into relevant sections (a list of numbers) + if (i % 2 == 0): + if (i % X == 0): + pass + else: + something = to_binary(hex(int('0x'+tempData[i].encode("hex"), 0))) + endList.append(something) + #print something, tempData[i] for value in endList: endFile = endFile+str(value) - #print endFile + print len(endFile) return endFile @@ -72,6 +116,7 @@ def makeFile(fileData, name): os.makedirs(directory2) newFileDir = open(directory2+name, "w") + print len(newFile) newFileDir.write(newFile) def makeConfig(): From 8af8ca61f96238b7c8550743cf440dcc79db24d9 Mon Sep 17 00:00:00 2001 From: je007 Date: Tue, 16 Aug 2011 12:51:27 -0700 Subject: [PATCH 2/3] made game a couple milliseconds faster per cycle(changed collision list to a single item, also used built-in sorting of collision events. --- stratCam.py | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/stratCam.py b/stratCam.py index 1b40e11..eef92b1 100644 --- a/stratCam.py +++ b/stratCam.py @@ -129,15 +129,13 @@ def __init__(self, parserClass, mapLoaderClass, modelLoaderClass, mainClass, map def rayupdate(self, task): if base.mouseWatcherNode.hasMouse(): - self.entries = [] - for i in range(self.collisionHandler2.getNumEntries()): - entry = self.collisionHandler2.getEntry(i) - self.entries.append(entry) - self.entries.sort(lambda x,y: cmp(y.getSurfacePoint(render).getZ(), - x.getSurfacePoint(render).getZ())) - + self.entry=0 + self.collisionHandler2.sortEntries() + if self.collisionHandler2.getNumEntries()>0: + self.entry=self.collisionHandler2.getEntry(0) mpos=base.mouseWatcherNode.getMouse() - # this function will set our ray to shoot from the actual camera lenses off the 3d scene, passing by the mouse pointer position, making magically hit what is pointed by it in the 3d space + # this function will set our ray to shoot from the actual camera lenses off the 3d scene, passing by the mouse pointer position, + # making magically hit what is pointed by it in the 3d space self.pickerRay.setFromLens(base.camNode, mpos.getX(),mpos.getY()) return task.cont @@ -146,9 +144,9 @@ def mineWall(self, parserClass, modelLoaderClass, mapLoaderClass, mainClass): mainClass.mineWall(mapLoaderClass.tileArray[self.tileSelected[1]][self.tileSelected[0]], parserClass, modelLoaderClass, mapLoaderClass) def mouseClick(self, mapLoaderClass): - if (len(self.entries)>0): - x = int(self.entries[0].getIntoNode().getName()[len(self.entries[0].getIntoNode().getName())-6:len(self.entries[0].getIntoNode().getName())-4]) - y = int(self.entries[0].getIntoNode().getName()[len(self.entries[0].getIntoNode().getName())-2:]) + if (self.entry!=0): + x = int(self.entry.getIntoNode().getName()[len(self.entry.getIntoNode().getName())-6:len(self.entry.getIntoNode().getName())-4]) + y = int(self.entry.getIntoNode().getName()[len(self.entry.getIntoNode().getName())-2:]) if (mapLoaderClass.tileArray[y][x].selectable == True): @@ -328,4 +326,4 @@ def camMoveTask(self, task): self.my=mpos.getY() # The old mouse positions are updated to the current mouse position as the final step. - return task.cont \ No newline at end of file + return task.cont From cc14022c3c2078736a0cec168f2a686ea3d0275d Mon Sep 17 00:00:00 2001 From: je007 Date: Tue, 16 Aug 2011 12:52:35 -0700 Subject: [PATCH 3/3] made game a couple milliseconds faster per cycle(changed collision list to a single item, also used built-in sorting of collision events. --- RR2.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RR2.py b/RR2.py index bb46237..4757885 100644 --- a/RR2.py +++ b/RR2.py @@ -4,7 +4,7 @@ import gameMain import stratCam import fpsTest -import something4 +#import something4 parserClass = Parser.Parser() @@ -27,4 +27,4 @@ #s1 = something4.aStar(s.landMesh, mapLoaderClass) #s1.moveTo((14,30)) -run() \ No newline at end of file +run()