├── .clang-format ├── .github ├── FUNDING.yml └── workflows │ └── main.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── LOGO_LICENSES.md ├── README.md ├── assets ├── logos │ ├── LOGO_LICENSES.md │ ├── godot_logo_vertical_monochrome_dark_312x357.png │ ├── godot_logo_vertical_monochrome_dark_312x357.png.import │ ├── lampe_games_white.svg │ └── lampe_games_white.svg.import ├── models │ ├── kenney-spacekit │ │ ├── alien.glb │ │ ├── alien.glb.import │ │ ├── astronautA.glb │ │ ├── astronautA.glb.import │ │ ├── astronautB.glb │ │ ├── astronautB.glb.import │ │ ├── barrel.glb │ │ ├── barrel.glb.import │ │ ├── barrels.glb │ │ ├── barrels.glb.import │ │ ├── barrels_rail.glb │ │ ├── barrels_rail.glb.import │ │ ├── bones.glb │ │ ├── bones.glb.import │ │ ├── chimney.glb │ │ ├── chimney.glb.import │ │ ├── chimney_detailed.glb │ │ ├── chimney_detailed.glb.import │ │ ├── corridor.glb │ │ ├── corridor.glb.import │ │ ├── corridor_corner.glb │ │ ├── corridor_corner.glb.import │ │ ├── corridor_cornerRound.glb │ │ ├── corridor_cornerRound.glb.import │ │ ├── corridor_cornerRoundWindow.glb │ │ ├── corridor_cornerRoundWindow.glb.import │ │ ├── corridor_cross.glb │ │ ├── corridor_cross.glb.import │ │ ├── corridor_detailed.glb │ │ ├── corridor_detailed.glb.import │ │ ├── corridor_end.glb │ │ ├── corridor_end.glb.import │ │ ├── corridor_open.glb │ │ ├── corridor_open.glb.import │ │ ├── corridor_roof.glb │ │ ├── corridor_roof.glb.import │ │ ├── corridor_split.glb │ │ ├── corridor_split.glb.import │ │ ├── corridor_wall.glb │ │ ├── corridor_wall.glb.import │ │ ├── corridor_wallCorner.glb │ │ ├── corridor_wallCorner.glb.import │ │ ├── corridor_window.glb │ │ ├── corridor_window.glb.import │ │ ├── corridor_windowClosed.glb │ │ ├── corridor_windowClosed.glb.import │ │ ├── craft_cargoA.glb │ │ ├── craft_cargoA.glb.import │ │ ├── craft_cargoB.glb │ │ ├── craft_cargoB.glb.import │ │ ├── craft_miner.glb │ │ ├── craft_miner.glb.import │ │ ├── craft_racer.glb │ │ ├── craft_racer.glb.import │ │ ├── craft_speederA.glb │ │ ├── craft_speederA.glb.import │ │ ├── craft_speederB.glb │ │ ├── craft_speederB.glb.import │ │ ├── craft_speederC.glb │ │ ├── craft_speederC.glb.import │ │ ├── craft_speederD.glb │ │ ├── craft_speederD.glb.import │ │ ├── crater.glb │ │ ├── crater.glb.import │ │ ├── craterLarge.glb │ │ ├── craterLarge.glb.import │ │ ├── desk_chair.glb │ │ ├── desk_chair.glb.import │ │ ├── desk_chairArms.glb │ │ ├── desk_chairArms.glb.import │ │ ├── desk_chairStool.glb │ │ ├── desk_chairStool.glb.import │ │ ├── desk_computer.glb │ │ ├── desk_computer.glb.import │ │ ├── desk_computerCorner.glb │ │ ├── desk_computerCorner.glb.import │ │ ├── desk_computerScreen.glb │ │ ├── desk_computerScreen.glb.import │ │ ├── gate_complex.glb │ │ ├── gate_complex.glb.import │ │ ├── gate_simple.glb │ │ ├── gate_simple.glb.import │ │ ├── hangar_largeA.glb │ │ ├── hangar_largeA.glb.import │ │ ├── hangar_largeB.glb │ │ ├── hangar_largeB.glb.import │ │ ├── hangar_roundA.glb │ │ ├── hangar_roundA.glb.import │ │ ├── hangar_roundB.glb │ │ ├── hangar_roundB.glb.import │ │ ├── hangar_roundGlass.glb │ │ ├── hangar_roundGlass.glb.import │ │ ├── hangar_smallA.glb │ │ ├── hangar_smallA.glb.import │ │ ├── hangar_smallB.glb │ │ ├── hangar_smallB.glb.import │ │ ├── machine_barrel.glb │ │ ├── machine_barrel.glb.import │ │ ├── machine_barrelLarge.glb │ │ ├── machine_barrelLarge.glb.import │ │ ├── machine_generator.glb │ │ ├── machine_generator.glb.import │ │ ├── machine_generatorLarge.glb │ │ ├── machine_generatorLarge.glb.import │ │ ├── machine_wireless.glb │ │ ├── machine_wireless.glb.import │ │ ├── machine_wirelessCable.glb │ │ ├── machine_wirelessCable.glb.import │ │ ├── meteor.glb │ │ ├── meteor.glb.import │ │ ├── meteor_detailed.glb │ │ ├── meteor_detailed.glb.import │ │ ├── meteor_half.glb │ │ ├── meteor_half.glb.import │ │ ├── monorail_trackCornerLarge.glb │ │ ├── monorail_trackCornerLarge.glb.import │ │ ├── monorail_trackCornerSmall.glb │ │ ├── monorail_trackCornerSmall.glb.import │ │ ├── monorail_trackSlope.glb │ │ ├── monorail_trackSlope.glb.import │ │ ├── monorail_trackStraight.glb │ │ ├── monorail_trackStraight.glb.import │ │ ├── monorail_trackSupport.glb │ │ ├── monorail_trackSupport.glb.import │ │ ├── monorail_trackSupportCorner.glb │ │ ├── monorail_trackSupportCorner.glb.import │ │ ├── monorail_trainBox.glb │ │ ├── monorail_trainBox.glb.import │ │ ├── monorail_trainCargo.glb │ │ ├── monorail_trainCargo.glb.import │ │ ├── monorail_trainEnd.glb │ │ ├── monorail_trainEnd.glb.import │ │ ├── monorail_trainFlat.glb │ │ ├── monorail_trainFlat.glb.import │ │ ├── monorail_trainFront.glb │ │ ├── monorail_trainFront.glb.import │ │ ├── monorail_trainPassenger.glb │ │ ├── monorail_trainPassenger.glb.import │ │ ├── pipe_corner.glb │ │ ├── pipe_corner.glb.import │ │ ├── pipe_cornerDiagonal.glb │ │ ├── pipe_cornerDiagonal.glb.import │ │ ├── pipe_cornerRound.glb │ │ ├── pipe_cornerRound.glb.import │ │ ├── pipe_cornerRoundLarge.glb │ │ ├── pipe_cornerRoundLarge.glb.import │ │ ├── pipe_cross.glb │ │ ├── pipe_cross.glb.import │ │ ├── pipe_end.glb │ │ ├── pipe_end.glb.import │ │ ├── pipe_entrance.glb │ │ ├── pipe_entrance.glb.import │ │ ├── pipe_open.glb │ │ ├── pipe_open.glb.import │ │ ├── pipe_rampLarge.glb │ │ ├── pipe_rampLarge.glb.import │ │ ├── pipe_rampSmall.glb │ │ ├── pipe_rampSmall.glb.import │ │ ├── pipe_ring.glb │ │ ├── pipe_ring.glb.import │ │ ├── pipe_ringHigh.glb │ │ ├── pipe_ringHigh.glb.import │ │ ├── pipe_ringHighEnd.glb │ │ ├── pipe_ringHighEnd.glb.import │ │ ├── pipe_ringSupport.glb │ │ ├── pipe_ringSupport.glb.import │ │ ├── pipe_split.glb │ │ ├── pipe_split.glb.import │ │ ├── pipe_straight.glb │ │ ├── pipe_straight.glb.import │ │ ├── pipe_supportHigh.glb │ │ ├── pipe_supportHigh.glb.import │ │ ├── pipe_supportLow.glb │ │ ├── pipe_supportLow.glb.import │ │ ├── platform_center.glb │ │ ├── platform_center.glb.import │ │ ├── platform_corner.glb │ │ ├── platform_corner.glb.import │ │ ├── platform_cornerOpen.glb │ │ ├── platform_cornerOpen.glb.import │ │ ├── platform_cornerRound.glb │ │ ├── platform_cornerRound.glb.import │ │ ├── platform_end.glb │ │ ├── platform_end.glb.import │ │ ├── platform_high.glb │ │ ├── platform_high.glb.import │ │ ├── platform_large.glb │ │ ├── platform_large.glb.import │ │ ├── platform_long.glb │ │ ├── platform_long.glb.import │ │ ├── platform_low.glb │ │ ├── platform_low.glb.import │ │ ├── platform_side.glb │ │ ├── platform_side.glb.import │ │ ├── platform_small.glb │ │ ├── platform_small.glb.import │ │ ├── platform_smallDiagonal.glb │ │ ├── platform_smallDiagonal.glb.import │ │ ├── platform_straight.glb │ │ ├── platform_straight.glb.import │ │ ├── rail.glb │ │ ├── rail.glb.import │ │ ├── rail_corner.glb │ │ ├── rail_corner.glb.import │ │ ├── rail_end.glb │ │ ├── rail_end.glb.import │ │ ├── rail_middle.glb │ │ ├── rail_middle.glb.import │ │ ├── rock.glb │ │ ├── rock.glb.import │ │ ├── rock_crystals.glb │ │ ├── rock_crystals.glb.import │ │ ├── rock_crystalsLargeA.glb │ │ ├── rock_crystalsLargeA.glb.import │ │ ├── rock_crystalsLargeB.glb │ │ ├── rock_crystalsLargeB.glb.import │ │ ├── rock_largeA.glb │ │ ├── rock_largeA.glb.import │ │ ├── rock_largeB.glb │ │ ├── rock_largeB.glb.import │ │ ├── rocket_baseA.glb │ │ ├── rocket_baseA.glb.import │ │ ├── rocket_baseB.glb │ │ ├── rocket_baseB.glb.import │ │ ├── rocket_finsA.glb │ │ ├── rocket_finsA.glb.import │ │ ├── rocket_finsB.glb │ │ ├── rocket_finsB.glb.import │ │ ├── rocket_fuelA.glb │ │ ├── rocket_fuelA.glb.import │ │ ├── rocket_fuelB.glb │ │ ├── rocket_fuelB.glb.import │ │ ├── rocket_sidesA.glb │ │ ├── rocket_sidesA.glb.import │ │ ├── rocket_sidesB.glb │ │ ├── rocket_sidesB.glb.import │ │ ├── rocket_topA.glb │ │ ├── rocket_topA.glb.import │ │ ├── rocket_topB.glb │ │ ├── rocket_topB.glb.import │ │ ├── rocks_smallA.glb │ │ ├── rocks_smallA.glb.import │ │ ├── rocks_smallB.glb │ │ ├── rocks_smallB.glb.import │ │ ├── rover.glb │ │ ├── rover.glb.import │ │ ├── satelliteDish.glb │ │ ├── satelliteDish.glb.import │ │ ├── satelliteDish_detailed.glb │ │ ├── satelliteDish_detailed.glb.import │ │ ├── satelliteDish_large.glb │ │ ├── satelliteDish_large.glb.import │ │ ├── stairs.glb │ │ ├── stairs.glb.import │ │ ├── stairs_corner.glb │ │ ├── stairs_corner.glb.import │ │ ├── stairs_short.glb │ │ ├── stairs_short.glb.import │ │ ├── structure.glb │ │ ├── structure.glb.import │ │ ├── structure_closed.glb │ │ ├── structure_closed.glb.import │ │ ├── structure_detailed.glb │ │ ├── structure_detailed.glb.import │ │ ├── structure_diagonal.glb │ │ ├── structure_diagonal.glb.import │ │ ├── supports_high.glb │ │ ├── supports_high.glb.import │ │ ├── supports_low.glb │ │ ├── supports_low.glb.import │ │ ├── terrain.glb │ │ ├── terrain.glb.import │ │ ├── terrain_ramp.glb │ │ ├── terrain_ramp.glb.import │ │ ├── terrain_rampLarge.glb │ │ ├── terrain_rampLarge.glb.import │ │ ├── terrain_rampLarge_detailed.glb │ │ ├── terrain_rampLarge_detailed.glb.import │ │ ├── terrain_roadCorner.glb │ │ ├── terrain_roadCorner.glb.import │ │ ├── terrain_roadCross.glb │ │ ├── terrain_roadCross.glb.import │ │ ├── terrain_roadEnd.glb │ │ ├── terrain_roadEnd.glb.import │ │ ├── terrain_roadSplit.glb │ │ ├── terrain_roadSplit.glb.import │ │ ├── terrain_roadStraight.glb │ │ ├── terrain_roadStraight.glb.import │ │ ├── terrain_side.glb │ │ ├── terrain_side.glb.import │ │ ├── terrain_sideCliff.glb │ │ ├── terrain_sideCliff.glb.import │ │ ├── terrain_sideCorner.glb │ │ ├── terrain_sideCorner.glb.import │ │ ├── terrain_sideCornerInner.glb │ │ ├── terrain_sideCornerInner.glb.import │ │ ├── terrain_sideEnd.glb │ │ ├── terrain_sideEnd.glb.import │ │ ├── turret_double.glb │ │ ├── turret_double.glb.import │ │ ├── turret_single.glb │ │ ├── turret_single.glb.import │ │ ├── weapon_gun.glb │ │ ├── weapon_gun.glb.import │ │ ├── weapon_rifle.glb │ │ └── weapon_rifle.glb.import │ └── primitives │ │ ├── icosphere.obj │ │ └── icosphere.obj.import ├── translations │ ├── main_menu.csv │ ├── main_menu.csv.import │ ├── match.csv │ └── match.csv.import ├── ui │ ├── background.png │ ├── background.png.import │ ├── icons │ │ ├── AircraftFactory.png │ │ ├── AircraftFactory.png.import │ │ ├── AntiAirTurret.png │ │ ├── AntiAirTurret.png.import │ │ ├── AntiGroundTurret.png │ │ ├── AntiGroundTurret.png.import │ │ ├── CommandCenter.png │ │ ├── CommandCenter.png.import │ │ ├── Drone.png │ │ ├── Drone.png.import │ │ ├── Helicopter.png │ │ ├── Helicopter.png.import │ │ ├── ResourceA.png │ │ ├── ResourceA.png.import │ │ ├── ResourceB.png │ │ ├── ResourceB.png.import │ │ ├── Tank.png │ │ ├── Tank.png.import │ │ ├── VehicleFactory.png │ │ ├── VehicleFactory.png.import │ │ ├── Worker.png │ │ ├── Worker.png.import │ │ ├── texture_01.png │ │ └── texture_01.png.import │ └── kenney-crosshairs │ │ ├── crosshair001.png │ │ ├── crosshair001.png.import │ │ ├── crosshair002.png │ │ ├── crosshair002.png.import │ │ ├── crosshair003.png │ │ ├── crosshair003.png.import │ │ ├── crosshair004.png │ │ ├── crosshair004.png.import │ │ ├── crosshair005.png │ │ ├── crosshair005.png.import │ │ ├── crosshair006.png │ │ ├── crosshair006.png.import │ │ ├── crosshair007.png │ │ ├── crosshair007.png.import │ │ ├── crosshair008.png │ │ ├── crosshair008.png.import │ │ ├── crosshair009.png │ │ ├── crosshair009.png.import │ │ ├── crosshair010.png │ │ ├── crosshair010.png.import │ │ ├── crosshair011.png │ │ ├── crosshair011.png.import │ │ ├── crosshair012.png │ │ ├── crosshair012.png.import │ │ ├── crosshair013.png │ │ ├── crosshair013.png.import │ │ ├── crosshair014.png │ │ ├── crosshair014.png.import │ │ ├── crosshair015.png │ │ ├── crosshair015.png.import │ │ ├── crosshair016.png │ │ ├── crosshair016.png.import │ │ ├── crosshair017.png │ │ ├── crosshair017.png.import │ │ ├── crosshair018.png │ │ ├── crosshair018.png.import │ │ ├── crosshair019.png │ │ ├── crosshair019.png.import │ │ ├── crosshair020.png │ │ ├── crosshair020.png.import │ │ ├── crosshair021.png │ │ ├── crosshair021.png.import │ │ ├── crosshair022.png │ │ ├── crosshair022.png.import │ │ ├── crosshair023.png │ │ ├── crosshair023.png.import │ │ ├── crosshair024.png │ │ ├── crosshair024.png.import │ │ ├── crosshair025.png │ │ ├── crosshair025.png.import │ │ ├── crosshair026.png │ │ ├── crosshair026.png.import │ │ ├── crosshair027.png │ │ ├── crosshair027.png.import │ │ ├── crosshair028.png │ │ ├── crosshair028.png.import │ │ ├── crosshair029.png │ │ ├── crosshair029.png.import │ │ ├── crosshair030.png │ │ ├── crosshair030.png.import │ │ ├── crosshair031.png │ │ ├── crosshair031.png.import │ │ ├── crosshair032.png │ │ ├── crosshair032.png.import │ │ ├── crosshair033.png │ │ ├── crosshair033.png.import │ │ ├── crosshair034.png │ │ ├── crosshair034.png.import │ │ ├── crosshair035.png │ │ ├── crosshair035.png.import │ │ ├── crosshair036.png │ │ ├── crosshair036.png.import │ │ ├── crosshair037.png │ │ ├── crosshair037.png.import │ │ ├── crosshair038.png │ │ ├── crosshair038.png.import │ │ ├── crosshair039.png │ │ ├── crosshair039.png.import │ │ ├── crosshair040.png │ │ ├── crosshair040.png.import │ │ ├── crosshair041.png │ │ ├── crosshair041.png.import │ │ ├── crosshair042.png │ │ ├── crosshair042.png.import │ │ ├── crosshair043.png │ │ ├── crosshair043.png.import │ │ ├── crosshair044.png │ │ ├── crosshair044.png.import │ │ ├── crosshair045.png │ │ ├── crosshair045.png.import │ │ ├── crosshair046.png │ │ ├── crosshair046.png.import │ │ ├── crosshair047.png │ │ ├── crosshair047.png.import │ │ ├── crosshair048.png │ │ ├── crosshair048.png.import │ │ ├── crosshair049.png │ │ ├── crosshair049.png.import │ │ ├── crosshair050.png │ │ ├── crosshair050.png.import │ │ ├── crosshair051.png │ │ ├── crosshair051.png.import │ │ ├── crosshair052.png │ │ ├── crosshair052.png.import │ │ ├── crosshair053.png │ │ ├── crosshair053.png.import │ │ ├── crosshair054.png │ │ ├── crosshair054.png.import │ │ ├── crosshair055.png │ │ ├── crosshair055.png.import │ │ ├── crosshair056.png │ │ ├── crosshair056.png.import │ │ ├── crosshair057.png │ │ ├── crosshair057.png.import │ │ ├── crosshair058.png │ │ ├── crosshair058.png.import │ │ ├── crosshair059.png │ │ ├── crosshair059.png.import │ │ ├── crosshair060.png │ │ ├── crosshair060.png.import │ │ ├── crosshair061.png │ │ ├── crosshair061.png.import │ │ ├── crosshair062.png │ │ ├── crosshair062.png.import │ │ ├── crosshair063.png │ │ ├── crosshair063.png.import │ │ ├── crosshair064.png │ │ ├── crosshair064.png.import │ │ ├── crosshair065.png │ │ ├── crosshair065.png.import │ │ ├── crosshair066.png │ │ ├── crosshair066.png.import │ │ ├── crosshair067.png │ │ ├── crosshair067.png.import │ │ ├── crosshair068.png │ │ ├── crosshair068.png.import │ │ ├── crosshair069.png │ │ ├── crosshair069.png.import │ │ ├── crosshair070.png │ │ ├── crosshair070.png.import │ │ ├── crosshair071.png │ │ ├── crosshair071.png.import │ │ ├── crosshair072.png │ │ ├── crosshair072.png.import │ │ ├── crosshair073.png │ │ ├── crosshair073.png.import │ │ ├── crosshair074.png │ │ ├── crosshair074.png.import │ │ ├── crosshair075.png │ │ ├── crosshair075.png.import │ │ ├── crosshair076.png │ │ ├── crosshair076.png.import │ │ ├── crosshair077.png │ │ ├── crosshair077.png.import │ │ ├── crosshair078.png │ │ ├── crosshair078.png.import │ │ ├── crosshair079.png │ │ ├── crosshair079.png.import │ │ ├── crosshair080.png │ │ ├── crosshair080.png.import │ │ ├── crosshair081.png │ │ ├── crosshair081.png.import │ │ ├── crosshair082.png │ │ ├── crosshair082.png.import │ │ ├── crosshair083.png │ │ ├── crosshair083.png.import │ │ ├── crosshair084.png │ │ ├── crosshair084.png.import │ │ ├── crosshair085.png │ │ ├── crosshair085.png.import │ │ ├── crosshair086.png │ │ ├── crosshair086.png.import │ │ ├── crosshair087.png │ │ ├── crosshair087.png.import │ │ ├── crosshair088.png │ │ ├── crosshair088.png.import │ │ ├── crosshair089.png │ │ ├── crosshair089.png.import │ │ ├── crosshair090.png │ │ ├── crosshair090.png.import │ │ ├── crosshair091.png │ │ ├── crosshair091.png.import │ │ ├── crosshair092.png │ │ ├── crosshair092.png.import │ │ ├── crosshair093.png │ │ ├── crosshair093.png.import │ │ ├── crosshair094.png │ │ ├── crosshair094.png.import │ │ ├── crosshair095.png │ │ ├── crosshair095.png.import │ │ ├── crosshair096.png │ │ ├── crosshair096.png.import │ │ ├── crosshair097.png │ │ ├── crosshair097.png.import │ │ ├── crosshair098.png │ │ ├── crosshair098.png.import │ │ ├── crosshair099.png │ │ ├── crosshair099.png.import │ │ ├── crosshair100.png │ │ ├── crosshair100.png.import │ │ ├── crosshair101.png │ │ ├── crosshair101.png.import │ │ ├── crosshair102.png │ │ ├── crosshair102.png.import │ │ ├── crosshair103.png │ │ ├── crosshair103.png.import │ │ ├── crosshair104.png │ │ ├── crosshair104.png.import │ │ ├── crosshair105.png │ │ ├── crosshair105.png.import │ │ ├── crosshair106.png │ │ ├── crosshair106.png.import │ │ ├── crosshair107.png │ │ ├── crosshair107.png.import │ │ ├── crosshair108.png │ │ ├── crosshair108.png.import │ │ ├── crosshair109.png │ │ ├── crosshair109.png.import │ │ ├── crosshair110.png │ │ ├── crosshair110.png.import │ │ ├── crosshair111.png │ │ ├── crosshair111.png.import │ │ ├── crosshair112.png │ │ ├── crosshair112.png.import │ │ ├── crosshair113.png │ │ ├── crosshair113.png.import │ │ ├── crosshair114.png │ │ ├── crosshair114.png.import │ │ ├── crosshair115.png │ │ ├── crosshair115.png.import │ │ ├── crosshair116.png │ │ ├── crosshair116.png.import │ │ ├── crosshair117.png │ │ ├── crosshair117.png.import │ │ ├── crosshair118.png │ │ ├── crosshair118.png.import │ │ ├── crosshair119.png │ │ ├── crosshair119.png.import │ │ ├── crosshair120.png │ │ ├── crosshair120.png.import │ │ ├── crosshair121.png │ │ ├── crosshair121.png.import │ │ ├── crosshair122.png │ │ ├── crosshair122.png.import │ │ ├── crosshair123.png │ │ ├── crosshair123.png.import │ │ ├── crosshair124.png │ │ ├── crosshair124.png.import │ │ ├── crosshair125.png │ │ ├── crosshair125.png.import │ │ ├── crosshair126.png │ │ ├── crosshair126.png.import │ │ ├── crosshair127.png │ │ ├── crosshair127.png.import │ │ ├── crosshair128.png │ │ ├── crosshair128.png.import │ │ ├── crosshair129.png │ │ ├── crosshair129.png.import │ │ ├── crosshair130.png │ │ ├── crosshair130.png.import │ │ ├── crosshair131.png │ │ ├── crosshair131.png.import │ │ ├── crosshair132.png │ │ ├── crosshair132.png.import │ │ ├── crosshair133.png │ │ ├── crosshair133.png.import │ │ ├── crosshair134.png │ │ ├── crosshair134.png.import │ │ ├── crosshair135.png │ │ ├── crosshair135.png.import │ │ ├── crosshair136.png │ │ ├── crosshair136.png.import │ │ ├── crosshair137.png │ │ ├── crosshair137.png.import │ │ ├── crosshair138.png │ │ ├── crosshair138.png.import │ │ ├── crosshair139.png │ │ ├── crosshair139.png.import │ │ ├── crosshair140.png │ │ ├── crosshair140.png.import │ │ ├── crosshair141.png │ │ ├── crosshair141.png.import │ │ ├── crosshair142.png │ │ ├── crosshair142.png.import │ │ ├── crosshair143.png │ │ ├── crosshair143.png.import │ │ ├── crosshair144.png │ │ ├── crosshair144.png.import │ │ ├── crosshair145.png │ │ ├── crosshair145.png.import │ │ ├── crosshair146.png │ │ ├── crosshair146.png.import │ │ ├── crosshair147.png │ │ ├── crosshair147.png.import │ │ ├── crosshair148.png │ │ ├── crosshair148.png.import │ │ ├── crosshair149.png │ │ ├── crosshair149.png.import │ │ ├── crosshair150.png │ │ ├── crosshair150.png.import │ │ ├── crosshair151.png │ │ ├── crosshair151.png.import │ │ ├── crosshair152.png │ │ ├── crosshair152.png.import │ │ ├── crosshair153.png │ │ ├── crosshair153.png.import │ │ ├── crosshair154.png │ │ ├── crosshair154.png.import │ │ ├── crosshair155.png │ │ ├── crosshair155.png.import │ │ ├── crosshair156.png │ │ ├── crosshair156.png.import │ │ ├── crosshair157.png │ │ ├── crosshair157.png.import │ │ ├── crosshair158.png │ │ ├── crosshair158.png.import │ │ ├── crosshair159.png │ │ ├── crosshair159.png.import │ │ ├── crosshair160.png │ │ ├── crosshair160.png.import │ │ ├── crosshair161.png │ │ ├── crosshair161.png.import │ │ ├── crosshair162.png │ │ ├── crosshair162.png.import │ │ ├── crosshair163.png │ │ ├── crosshair163.png.import │ │ ├── crosshair164.png │ │ ├── crosshair164.png.import │ │ ├── crosshair165.png │ │ ├── crosshair165.png.import │ │ ├── crosshair166.png │ │ ├── crosshair166.png.import │ │ ├── crosshair167.png │ │ ├── crosshair167.png.import │ │ ├── crosshair168.png │ │ ├── crosshair168.png.import │ │ ├── crosshair169.png │ │ ├── crosshair169.png.import │ │ ├── crosshair170.png │ │ ├── crosshair170.png.import │ │ ├── crosshair171.png │ │ ├── crosshair171.png.import │ │ ├── crosshair172.png │ │ ├── crosshair172.png.import │ │ ├── crosshair173.png │ │ ├── crosshair173.png.import │ │ ├── crosshair174.png │ │ ├── crosshair174.png.import │ │ ├── crosshair175.png │ │ ├── crosshair175.png.import │ │ ├── crosshair176.png │ │ ├── crosshair176.png.import │ │ ├── crosshair177.png │ │ ├── crosshair177.png.import │ │ ├── crosshair178.png │ │ ├── crosshair178.png.import │ │ ├── crosshair179.png │ │ ├── crosshair179.png.import │ │ ├── crosshair180.png │ │ ├── crosshair180.png.import │ │ ├── crosshair181.png │ │ ├── crosshair181.png.import │ │ ├── crosshair182.png │ │ ├── crosshair182.png.import │ │ ├── crosshair183.png │ │ ├── crosshair183.png.import │ │ ├── crosshair184.png │ │ ├── crosshair184.png.import │ │ ├── crosshair185.png │ │ ├── crosshair185.png.import │ │ ├── crosshair186.png │ │ ├── crosshair186.png.import │ │ ├── crosshair187.png │ │ ├── crosshair187.png.import │ │ ├── crosshair188.png │ │ ├── crosshair188.png.import │ │ ├── crosshair189.png │ │ ├── crosshair189.png.import │ │ ├── crosshair190.png │ │ ├── crosshair190.png.import │ │ ├── crosshair191.png │ │ ├── crosshair191.png.import │ │ ├── crosshair192.png │ │ ├── crosshair192.png.import │ │ ├── crosshair193.png │ │ ├── crosshair193.png.import │ │ ├── crosshair194.png │ │ ├── crosshair194.png.import │ │ ├── crosshair195.png │ │ ├── crosshair195.png.import │ │ ├── crosshair196.png │ │ ├── crosshair196.png.import │ │ ├── crosshair197.png │ │ ├── crosshair197.png.import │ │ ├── crosshair198.png │ │ ├── crosshair198.png.import │ │ ├── crosshair199.png │ │ ├── crosshair199.png.import │ │ ├── crosshair200.png │ │ └── crosshair200.png.import └── voice │ └── english │ ├── ttsmaker-com-148-alayna-us │ ├── battle_control_offline.ogg │ ├── battle_control_offline.ogg.import │ ├── battle_control_online.ogg │ ├── battle_control_online.ogg.import │ ├── construction_complete.ogg │ ├── construction_complete.ogg.import │ ├── not_enough_resources.ogg │ ├── not_enough_resources.ogg.import │ ├── training.ogg │ ├── training.ogg.import │ ├── unit_lost.ogg │ ├── unit_lost.ogg.import │ ├── unit_ready.ogg │ ├── unit_ready.ogg.import │ ├── unit_under_attack.ogg │ ├── unit_under_attack.ogg.import │ ├── you_are_victorious.ogg │ ├── you_are_victorious.ogg.import │ ├── you_have_lost.ogg │ ├── you_have_lost.ogg.import │ ├── your_base_is_under_attack.ogg │ └── your_base_is_under_attack.ogg.import │ └── ttsmaker-com-2704-jackson-us │ ├── acknowledged.ogg │ ├── acknowledged.ogg.import │ ├── sir.ogg │ ├── sir.ogg.import │ ├── yes_sir.ogg │ └── yes_sir.ogg.import ├── build └── .gdignore ├── export_presets.cfg ├── icon.svg ├── icon.svg.import ├── makefile ├── media ├── .gdignore ├── banner_1400x650.png ├── logo.kra ├── logo_650x150.png └── screenshots │ ├── screenshot_1400x650.png │ ├── screenshot_2_1920x1080.png │ ├── screenshot_3_1920x1080.png │ └── screenshot_4_1920x1080.png ├── project.godot ├── source ├── Constants.gd ├── FeatureFlags.gd ├── FeatureFlags.tscn ├── Globals.gd ├── Logos.gd ├── Logos.tscn ├── Main.gd ├── Main.tscn ├── Signals.gd ├── Utils.gd ├── data-model │ ├── MatchSettings.gd │ ├── Options.gd │ └── PlayerSettings.gd ├── generic-scenes-and-nodes │ ├── 2d │ │ ├── DynamicCircle2D.gd │ │ └── DynamicCircle2D.tscn │ ├── 3d │ │ ├── Circle3D.gd │ │ ├── Circle3D.tscn │ │ ├── FadedCircle3D.gd │ │ ├── FadedCircle3D.tscn │ │ ├── MouseClickAnimation3D.gd │ │ ├── MouseClickAnimation3D.tscn │ │ ├── RectangularSelection3D.gd │ │ └── RectangularSelection3D.tscn │ └── control │ │ ├── RectangularSelection2D.gd │ │ └── RectangularSelection2D.tscn ├── main-menu │ ├── Background.tscn │ ├── Credits.gd │ ├── Credits.tscn │ ├── Loading.gd │ ├── Loading.tscn │ ├── Main.gd │ ├── Main.tscn │ ├── Options.gd │ ├── Options.tscn │ ├── Play.gd │ └── Play.tscn ├── match │ ├── AirNavigation.gd │ ├── FogOfWar.gd │ ├── IsometricCamera3D.gd │ ├── Map.gd │ ├── Map.tscn │ ├── Match.gd │ ├── Match.tscn │ ├── MatchConstants.gd │ ├── MatchSignals.gd │ ├── MatchUtils.gd │ ├── Menu.gd │ ├── Menu.tscn │ ├── Navigation.gd │ ├── Terrain.gd │ ├── TerrainNavigation.gd │ ├── debug │ │ ├── DiagnosticHud.gd │ │ ├── DiagnosticHud.tscn │ │ ├── FogOfWarManager.gd │ │ ├── FrameIncrementer.gd │ │ ├── FrameIncrementer.tscn │ │ ├── GodModeHud.gd │ │ ├── GodModeHud.tscn │ │ ├── TimeManager.gd │ │ ├── UnitsManager.gd │ │ └── VisiblePlayerManager.gd │ ├── decorations │ │ └── RockLargeA.tscn │ ├── handlers │ │ ├── ArealUnitSelectionHandler.gd │ │ ├── ArealUnitSelectionHandler.tscn │ │ ├── DoubleClickUnitSelectionHandler.gd │ │ ├── DoubleClickUnitSelectionHandler.tscn │ │ ├── MatchEndHandler.gd │ │ ├── MatchEndHandler.tscn │ │ ├── MouseClickAnimationsHandler.gd │ │ ├── MouseClickAnimationsHandler.tscn │ │ ├── UnitGroupSelectionHandler.gd │ │ ├── UnitGroupSelectionHandler.tscn │ │ ├── UnitVisibilityHandler.gd │ │ └── UnitVisibilityHandler.tscn │ ├── hud │ │ ├── Minimap.gd │ │ ├── ProductionQueue.gd │ │ ├── ProductionQueue.tscn │ │ ├── ProductionQueueElement.gd │ │ ├── ProductionQueueElement.tscn │ │ ├── Resources.gd │ │ ├── ResourcesBar.gd │ │ ├── ResourcesBar.tscn │ │ ├── UnitMenus.gd │ │ ├── UnitMenus.tscn │ │ └── unit-menus │ │ │ ├── AircraftFactoryMenu.gd │ │ │ ├── AircraftFactoryMenu.tscn │ │ │ ├── CommandCenterMenu.gd │ │ │ ├── CommandCenterMenu.tscn │ │ │ ├── GenericMenu.gd │ │ │ ├── GenericMenu.tscn │ │ │ ├── VehicleFactoryMenu.gd │ │ │ ├── VehicleFactoryMenu.tscn │ │ │ ├── WorkerMenu.gd │ │ │ └── WorkerMenu.tscn │ ├── maps │ │ ├── BigArena.tscn │ │ └── PlainAndSimple.tscn │ ├── players │ │ ├── Player.gd │ │ ├── Player.tscn │ │ ├── human │ │ │ ├── Human.gd │ │ │ ├── Human.tscn │ │ │ ├── StructurePlacementHandler.gd │ │ │ ├── StructurePlacementHandler.tscn │ │ │ ├── UnitActionsController.gd │ │ │ ├── UnitVoicesController.gd │ │ │ └── VoiceNarratorController.gd │ │ └── simple-clairvoyant-ai │ │ │ ├── AutoAttackingBattlegroup.gd │ │ │ ├── ConstructionWorksController.gd │ │ │ ├── DefenseController.gd │ │ │ ├── EconomyController.gd │ │ │ ├── IntelligenceController.gd │ │ │ ├── OffenseController.gd │ │ │ ├── SimpleClairvoyantAI.gd │ │ │ └── SimpleClairvoyantAI.tscn │ ├── resources │ │ └── materials │ │ │ ├── adversary_unit_air_to_terrain_marker.material.tres │ │ │ ├── blueprint_invalid.material.tres │ │ │ ├── blueprint_valid.material.tres │ │ │ ├── controlled_unit_air_to_terrain_marker.material.tres │ │ │ ├── resource_a.material.tres │ │ │ ├── resource_b.material.tres │ │ │ ├── structure_under_construction.material.tres │ │ │ └── terrain.material.tres │ ├── units │ │ ├── AircraftFactory.gd │ │ ├── AircraftFactory.tscn │ │ ├── AntiAirTurret.gd │ │ ├── AntiAirTurret.tscn │ │ ├── AntiGroundTurret.gd │ │ ├── AntiGroundTurret.tscn │ │ ├── CommandCenter.gd │ │ ├── CommandCenter.tscn │ │ ├── Drone.gd │ │ ├── Drone.tscn │ │ ├── Helicopter.gd │ │ ├── Helicopter.tscn │ │ ├── Structure.gd │ │ ├── Tank.gd │ │ ├── Tank.tscn │ │ ├── Unit.gd │ │ ├── VehicleFactory.gd │ │ ├── VehicleFactory.tscn │ │ ├── Worker.gd │ │ ├── Worker.tscn │ │ ├── actions │ │ │ ├── Action.gd │ │ │ ├── AttackingWhileInRange.gd │ │ │ ├── AutoAttacking.gd │ │ │ ├── CollectingResourcesSequentially.gd │ │ │ ├── CollectingResourcesWhileInRange.gd │ │ │ ├── Constructing.gd │ │ │ ├── ConstructingWhileInRange.gd │ │ │ ├── Following.gd │ │ │ ├── FollowingToReachDistance.gd │ │ │ ├── Moving.gd │ │ │ ├── MovingToUnit.gd │ │ │ └── WaitingForTargets.gd │ │ ├── non-player │ │ │ ├── ResourceA.gd │ │ │ ├── ResourceA.tscn │ │ │ ├── ResourceB.gd │ │ │ ├── ResourceB.tscn │ │ │ └── ResourceUnit.gd │ │ ├── projectiles │ │ │ ├── CannonShell.gd │ │ │ ├── CannonShell.tscn │ │ │ ├── Rocket.gd │ │ │ └── Rocket.tscn │ │ ├── structure-geometries │ │ │ ├── AircraftFactory.tscn │ │ │ ├── AntiAirTurret.tscn │ │ │ ├── AntiGroundTurret.tscn │ │ │ ├── CommandCenter.tscn │ │ │ └── VehicleFactory.tscn │ │ └── traits │ │ │ ├── AirToTerrainMarker.gd │ │ │ ├── AirToTerrainMarker.tscn │ │ │ ├── HealthBar.gd │ │ │ ├── HealthBar.tscn │ │ │ ├── Highlight.gd │ │ │ ├── Highlight.tscn │ │ │ ├── Movement.gd │ │ │ ├── Movement.tscn │ │ │ ├── MovementObstacle.gd │ │ │ ├── MovementObstacle.tscn │ │ │ ├── ProductionQueue.gd │ │ │ ├── ProductionQueue.tscn │ │ │ ├── RallyPoint.gd │ │ │ ├── RallyPoint.tscn │ │ │ ├── RotateRandomlyWhenLookingForTargetsIdle.gd │ │ │ ├── RotateRandomlyWhenLookingForTargetsIdle.tscn │ │ │ ├── Selection.gd │ │ │ ├── Selection.tscn │ │ │ ├── Sparkling.gd │ │ │ ├── Sparkling.tscn │ │ │ ├── Targetability.gd │ │ │ ├── Targetability.tscn │ │ │ └── debug │ │ │ ├── ActionCaption.gd │ │ │ └── ActionCaption.tscn │ └── utils │ │ ├── MouseClickAnimation.tscn │ │ ├── ResourceDecayAnimation.gd │ │ ├── ResourceDecayAnimation.tscn │ │ ├── ResourceUtils.gd │ │ ├── SparklingAnimation.gd │ │ ├── SparklingAnimation.tscn │ │ ├── UnitMovementUtils.gd │ │ └── UnitPlacementUtils.gd ├── resources │ └── main_menu.theme ├── shaders │ ├── 2d │ │ ├── blurr.gdshader │ │ └── white_transparent.gdshader │ └── 3d │ │ ├── air_to_terrain_marker.gdshader │ │ ├── circle.gdshader │ │ ├── detailed_fog_of_war.gdshader │ │ ├── faded_circle.gdshader │ │ ├── fog.gdshader │ │ └── simple_fog_of_war.gdshader └── utils │ ├── IconOverview.tscn │ ├── IconRenderBooth.gd │ ├── IconRenderBooth.tscn │ └── Set.gd └── tests └── manual ├── Match.gd ├── TestAllUnits.tscn ├── TestNonQuadraticMap.tscn ├── TestOneUnit.tscn ├── TestPlayerVsAI.tscn ├── TestUnitsFightingEachOther.tscn └── maps └── NonQuadratic.tscn /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | ko_fi: pawel_lampe 2 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Static checks 2 | 3 | on: 4 | push: 5 | branches: [ "main" ] 6 | pull_request: 7 | branches: [ "main" ] 8 | 9 | jobs: 10 | static-checks: 11 | name: 'Static checks' 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v3 15 | - uses: Scony/godot-gdscript-toolkit@master 16 | - run: gdformat --check source/ 17 | - run: gdlint source/ 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | .godot/ 3 | tmp/ 4 | *.translation 5 | misc/ 6 | build/ 7 | -------------------------------------------------------------------------------- /LOGO_LICENSES.md: -------------------------------------------------------------------------------- 1 | # `assets/logos/godot_logo_vertical_monochrome_dark_312x357.png` 2 | 3 | Godot Engine Logo Copyright (c) 2017 Andrea Calabró 4 | 5 | This logo is licensed under a Creative Commons Attribution 4.0 International License (CC-BY-4.0 International) https://creativecommons.org/licenses/by/4.0/. 6 | 7 | See https://github.com/godotengine/godot 8 | 9 | # `assets/logos/lampe_games_white.svg` 10 | 11 | Lampe Games Logo Copyright (c) 2022 12 | 13 | This logo is fully owned (all rights reserved) by Lampe Games and should not be used in any projects derived from original https://github.com/lampe-games/godot-open-rts project. 14 | -------------------------------------------------------------------------------- /assets/logos/LOGO_LICENSES.md: -------------------------------------------------------------------------------- 1 | # `godot_logo_vertical_monochrome_dark_312x357.png` 2 | 3 | Godot Engine Logo Copyright (c) 2017 Andrea Calabró 4 | 5 | This logo is licensed under a Creative Commons Attribution 4.0 International License (CC-BY-4.0 International) https://creativecommons.org/licenses/by/4.0/. 6 | 7 | See https://github.com/godotengine/godot 8 | 9 | # `lampe_games_white.svg` 10 | 11 | Lampe Games Logo Copyright (c) 2022 12 | 13 | This logo is fully owned (all rights reserved) by Lampe Games and should not be used in any projects derived from original https://github.com/lampe-games/godot-open-rts project. 14 | -------------------------------------------------------------------------------- /assets/logos/godot_logo_vertical_monochrome_dark_312x357.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/logos/godot_logo_vertical_monochrome_dark_312x357.png -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/alien.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/alien.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/astronautA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/astronautA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/astronautB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/astronautB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/barrel.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/barrel.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/barrels.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/barrels.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/barrels_rail.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/barrels_rail.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/bones.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/bones.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/chimney.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/chimney.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/chimney_detailed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/chimney_detailed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_corner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_corner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_cornerRound.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_cornerRound.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_cornerRoundWindow.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_cornerRoundWindow.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_cross.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_cross.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_detailed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_detailed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_end.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_end.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_open.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_open.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_roof.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_roof.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_split.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_split.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_wall.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_wall.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_wallCorner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_wallCorner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_window.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_window.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/corridor_windowClosed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/corridor_windowClosed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_cargoA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_cargoA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_cargoB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_cargoB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_miner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_miner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_racer.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_racer.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_speederA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_speederA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_speederB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_speederB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_speederC.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_speederC.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craft_speederD.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craft_speederD.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/crater.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/crater.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/craterLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/craterLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/desk_chair.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/desk_chair.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/desk_chairArms.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/desk_chairArms.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/desk_chairStool.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/desk_chairStool.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/desk_computer.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/desk_computer.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/desk_computerCorner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/desk_computerCorner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/desk_computerScreen.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/desk_computerScreen.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/gate_complex.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/gate_complex.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/gate_simple.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/gate_simple.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_largeA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_largeA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_largeB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_largeB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_roundA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_roundA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_roundB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_roundB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_roundGlass.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_roundGlass.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_smallA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_smallA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/hangar_smallB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/hangar_smallB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/machine_barrel.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/machine_barrel.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/machine_barrelLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/machine_barrelLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/machine_generator.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/machine_generator.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/machine_generatorLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/machine_generatorLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/machine_wireless.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/machine_wireless.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/machine_wirelessCable.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/machine_wirelessCable.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/meteor.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/meteor.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/meteor_detailed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/meteor_detailed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/meteor_half.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/meteor_half.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trackCornerLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trackCornerLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trackCornerSmall.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trackCornerSmall.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trackSlope.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trackSlope.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trackStraight.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trackStraight.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trackSupport.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trackSupport.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trackSupportCorner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trackSupportCorner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trainBox.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trainBox.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trainCargo.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trainCargo.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trainEnd.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trainEnd.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trainFlat.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trainFlat.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trainFront.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trainFront.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/monorail_trainPassenger.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/monorail_trainPassenger.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_corner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_corner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_cornerDiagonal.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_cornerDiagonal.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_cornerRound.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_cornerRound.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_cornerRoundLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_cornerRoundLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_cross.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_cross.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_end.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_end.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_entrance.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_entrance.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_open.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_open.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_rampLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_rampLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_rampSmall.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_rampSmall.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_ring.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_ring.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_ringHigh.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_ringHigh.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_ringHighEnd.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_ringHighEnd.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_ringSupport.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_ringSupport.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_split.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_split.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_straight.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_straight.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_supportHigh.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_supportHigh.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/pipe_supportLow.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/pipe_supportLow.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_center.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_center.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_corner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_corner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_cornerOpen.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_cornerOpen.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_cornerRound.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_cornerRound.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_end.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_end.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_high.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_high.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_large.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_large.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_long.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_long.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_low.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_low.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_side.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_side.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_small.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_small.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_smallDiagonal.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_smallDiagonal.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/platform_straight.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/platform_straight.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rail.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rail.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rail_corner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rail_corner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rail_end.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rail_end.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rail_middle.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rail_middle.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rock.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rock.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rock_crystals.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rock_crystals.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rock_crystalsLargeA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rock_crystalsLargeA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rock_crystalsLargeB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rock_crystalsLargeB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rock_largeA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rock_largeA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rock_largeB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rock_largeB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_baseA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_baseA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_baseB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_baseB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_finsA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_finsA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_finsB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_finsB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_fuelA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_fuelA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_fuelB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_fuelB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_sidesA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_sidesA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_sidesB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_sidesB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_topA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_topA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocket_topB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocket_topB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocks_smallA.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocks_smallA.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rocks_smallB.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rocks_smallB.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/rover.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/rover.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/satelliteDish.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/satelliteDish.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/satelliteDish_detailed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/satelliteDish_detailed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/satelliteDish_large.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/satelliteDish_large.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/stairs.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/stairs.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/stairs_corner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/stairs_corner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/stairs_short.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/stairs_short.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/structure.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/structure.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/structure_closed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/structure_closed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/structure_detailed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/structure_detailed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/structure_diagonal.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/structure_diagonal.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/supports_high.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/supports_high.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/supports_low.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/supports_low.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_ramp.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_ramp.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_rampLarge.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_rampLarge.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_rampLarge_detailed.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_rampLarge_detailed.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_roadCorner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_roadCorner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_roadCross.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_roadCross.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_roadEnd.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_roadEnd.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_roadSplit.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_roadSplit.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_roadStraight.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_roadStraight.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_side.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_side.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_sideCliff.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_sideCliff.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_sideCorner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_sideCorner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_sideCornerInner.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_sideCornerInner.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/terrain_sideEnd.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/terrain_sideEnd.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/turret_double.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/turret_double.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/turret_single.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/turret_single.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/weapon_gun.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/weapon_gun.glb -------------------------------------------------------------------------------- /assets/models/kenney-spacekit/weapon_rifle.glb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/models/kenney-spacekit/weapon_rifle.glb -------------------------------------------------------------------------------- /assets/models/primitives/icosphere.obj.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="wavefront_obj" 4 | importer_version=1 5 | type="Mesh" 6 | uid="uid://b4iu37hx5nsmp" 7 | path="res://.godot/imported/icosphere.obj-e49a82048b23f2140e3aa30c9b8b65ca.mesh" 8 | 9 | [deps] 10 | 11 | files=["res://.godot/imported/icosphere.obj-e49a82048b23f2140e3aa30c9b8b65ca.mesh"] 12 | 13 | source_file="res://assets/models/primitives/icosphere.obj" 14 | dest_files=["res://.godot/imported/icosphere.obj-e49a82048b23f2140e3aa30c9b8b65ca.mesh", "res://.godot/imported/icosphere.obj-e49a82048b23f2140e3aa30c9b8b65ca.mesh"] 15 | 16 | [params] 17 | 18 | generate_tangents=true 19 | scale_mesh=Vector3(1, 1, 1) 20 | offset_mesh=Vector3(0, 0, 0) 21 | optimize_mesh=true 22 | force_disable_mesh_compression=false 23 | -------------------------------------------------------------------------------- /assets/translations/main_menu.csv: -------------------------------------------------------------------------------- 1 | keys,en,pl 2 | PLAY,Play,Gra 3 | OPTIONS,Options,Opcje 4 | CREDITS,Credits,Twórcy 5 | QUIT,Quit,Wyjście 6 | BACK,Back,Wstecz 7 | CORE_CONTRIBUTORS,Core contributors,Kluczowi współtwórcy 8 | ASSETS,Assets,Treści multimedialne 9 | START,Start,Rozpocznij 10 | -------------------------------------------------------------------------------- /assets/translations/main_menu.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://dysxs8mlbjhl8" 6 | 7 | [deps] 8 | 9 | files=["res://assets/translations/main_menu.en.translation", "res://assets/translations/main_menu.pl.translation"] 10 | 11 | source_file="res://assets/translations/main_menu.csv" 12 | dest_files=["res://assets/translations/main_menu.en.translation", "res://assets/translations/main_menu.pl.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /assets/translations/match.csv.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="csv_translation" 4 | type="Translation" 5 | uid="uid://dekv0kryuknte" 6 | 7 | [deps] 8 | 9 | files=["res://assets/translations/match.en.translation", "res://assets/translations/match.pl.translation"] 10 | 11 | source_file="res://assets/translations/match.csv" 12 | dest_files=["res://assets/translations/match.en.translation", "res://assets/translations/match.pl.translation"] 13 | 14 | [params] 15 | 16 | compress=true 17 | delimiter=0 18 | -------------------------------------------------------------------------------- /assets/ui/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/background.png -------------------------------------------------------------------------------- /assets/ui/background.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://hhow7i6ntkjd" 6 | path="res://.godot/imported/background.png-be0254f702cf55c19c4800582a88ad15.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/background.png" 14 | dest_files=["res://.godot/imported/background.png-be0254f702cf55c19c4800582a88ad15.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=true 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/AircraftFactory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/AircraftFactory.png -------------------------------------------------------------------------------- /assets/ui/icons/AircraftFactory.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dvdd6mno4d5da" 6 | path="res://.godot/imported/AircraftFactory.png-c963897a451fdd16f7addff17a4af7d1.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/AircraftFactory.png" 14 | dest_files=["res://.godot/imported/AircraftFactory.png-c963897a451fdd16f7addff17a4af7d1.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/AntiAirTurret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/AntiAirTurret.png -------------------------------------------------------------------------------- /assets/ui/icons/AntiAirTurret.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cv0qk8bjjc1eo" 6 | path="res://.godot/imported/AntiAirTurret.png-e6079064ea2c9ac3ce52f55ef7c59708.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/AntiAirTurret.png" 14 | dest_files=["res://.godot/imported/AntiAirTurret.png-e6079064ea2c9ac3ce52f55ef7c59708.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/AntiGroundTurret.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/AntiGroundTurret.png -------------------------------------------------------------------------------- /assets/ui/icons/AntiGroundTurret.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bhrw5rae6vmw8" 6 | path="res://.godot/imported/AntiGroundTurret.png-1cc448dec2d0c40ed706837b720b6010.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/AntiGroundTurret.png" 14 | dest_files=["res://.godot/imported/AntiGroundTurret.png-1cc448dec2d0c40ed706837b720b6010.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/CommandCenter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/CommandCenter.png -------------------------------------------------------------------------------- /assets/ui/icons/CommandCenter.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://sc5cu0dm3sgn" 6 | path="res://.godot/imported/CommandCenter.png-e6f81ab5de6912e42ef7ef945a5ea719.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/CommandCenter.png" 14 | dest_files=["res://.godot/imported/CommandCenter.png-e6f81ab5de6912e42ef7ef945a5ea719.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/Drone.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/Drone.png -------------------------------------------------------------------------------- /assets/ui/icons/Drone.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cjtwt8jdvjor7" 6 | path="res://.godot/imported/Drone.png-5796fa5d9c0206fd2d9055b0b0d05342.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/Drone.png" 14 | dest_files=["res://.godot/imported/Drone.png-5796fa5d9c0206fd2d9055b0b0d05342.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/Helicopter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/Helicopter.png -------------------------------------------------------------------------------- /assets/ui/icons/Helicopter.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cffcxtqooabct" 6 | path="res://.godot/imported/Helicopter.png-7a514117ef6cfccd4e608cec21ef8304.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/Helicopter.png" 14 | dest_files=["res://.godot/imported/Helicopter.png-7a514117ef6cfccd4e608cec21ef8304.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/ResourceA.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/ResourceA.png -------------------------------------------------------------------------------- /assets/ui/icons/ResourceA.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://gt521dioyhp8" 6 | path="res://.godot/imported/ResourceA.png-b9f3d1f17e94f5ed0b40806bde91f33d.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/ResourceA.png" 14 | dest_files=["res://.godot/imported/ResourceA.png-b9f3d1f17e94f5ed0b40806bde91f33d.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/ResourceB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/ResourceB.png -------------------------------------------------------------------------------- /assets/ui/icons/ResourceB.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bfgqbcv4e3srx" 6 | path="res://.godot/imported/ResourceB.png-3b6194f92e70bc4550bf71ddaf812238.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/ResourceB.png" 14 | dest_files=["res://.godot/imported/ResourceB.png-3b6194f92e70bc4550bf71ddaf812238.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/Tank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/Tank.png -------------------------------------------------------------------------------- /assets/ui/icons/Tank.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://bqp6cemj1sw4" 6 | path="res://.godot/imported/Tank.png-9796638681386060597c250c1fd26685.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/Tank.png" 14 | dest_files=["res://.godot/imported/Tank.png-9796638681386060597c250c1fd26685.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/VehicleFactory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/VehicleFactory.png -------------------------------------------------------------------------------- /assets/ui/icons/VehicleFactory.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://djmjxf3ikfrri" 6 | path="res://.godot/imported/VehicleFactory.png-447d306f8b2e75b8874df08a2ea6d5e4.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/VehicleFactory.png" 14 | dest_files=["res://.godot/imported/VehicleFactory.png-447d306f8b2e75b8874df08a2ea6d5e4.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/Worker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/Worker.png -------------------------------------------------------------------------------- /assets/ui/icons/Worker.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://qw08xoss4lj0" 6 | path="res://.godot/imported/Worker.png-38aca11f7d5892d31a69c7bb2820746e.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/icons/Worker.png" 14 | dest_files=["res://.godot/imported/Worker.png-38aca11f7d5892d31a69c7bb2820746e.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/icons/texture_01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/icons/texture_01.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair001.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair001.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair001.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://ohda3esnve2o" 6 | path="res://.godot/imported/crosshair001.png-ad280f7b64a6726347e7335f29507a48.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair001.png" 14 | dest_files=["res://.godot/imported/crosshair001.png-ad280f7b64a6726347e7335f29507a48.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair002.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair002.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair002.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://dpacp6y7w2yo" 6 | path="res://.godot/imported/crosshair002.png-54ed3f54671f5081cd0b54d7f6dbadb5.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair002.png" 14 | dest_files=["res://.godot/imported/crosshair002.png-54ed3f54671f5081cd0b54d7f6dbadb5.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair003.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair003.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair003.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cgjft5rwexk1o" 6 | path="res://.godot/imported/crosshair003.png-db866447da4b114c2c0090e8e3b72696.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair003.png" 14 | dest_files=["res://.godot/imported/crosshair003.png-db866447da4b114c2c0090e8e3b72696.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair004.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair004.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair004.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://db1iqwnxvblbh" 6 | path="res://.godot/imported/crosshair004.png-322f74c0a5ba34181dd2cb9eda6b2843.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair004.png" 14 | dest_files=["res://.godot/imported/crosshair004.png-322f74c0a5ba34181dd2cb9eda6b2843.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair005.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair005.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair005.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://cn862lbf025ie" 6 | path="res://.godot/imported/crosshair005.png-43a96b455f52f68b97973e2b1a0cbb24.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair005.png" 14 | dest_files=["res://.godot/imported/crosshair005.png-43a96b455f52f68b97973e2b1a0cbb24.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair006.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair006.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair006.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c7s0sbsr6f5qb" 6 | path="res://.godot/imported/crosshair006.png-8d365c829baf8f6c7f417f9614cd7dc9.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair006.png" 14 | dest_files=["res://.godot/imported/crosshair006.png-8d365c829baf8f6c7f417f9614cd7dc9.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair007.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair007.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair007.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://der4yhmsxxj6k" 6 | path="res://.godot/imported/crosshair007.png-ac5171e42340bdab386efa928f5862bd.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair007.png" 14 | dest_files=["res://.godot/imported/crosshair007.png-ac5171e42340bdab386efa928f5862bd.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair008.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair008.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair008.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://c8gylktptvlo" 6 | path="res://.godot/imported/crosshair008.png-597ce4d6b331e626ee29eefd4e1b782a.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair008.png" 14 | dest_files=["res://.godot/imported/crosshair008.png-597ce4d6b331e626ee29eefd4e1b782a.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair009.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair009.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair009.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://crjsbr3166gcu" 6 | path="res://.godot/imported/crosshair009.png-2a60a082027ee169460333a190e27aee.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair009.png" 14 | dest_files=["res://.godot/imported/crosshair009.png-2a60a082027ee169460333a190e27aee.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair010.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair010.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair010.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://d0hde7d3twlhn" 6 | path="res://.godot/imported/crosshair010.png-b3705597025ce5edd45377f459ba32d9.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair010.png" 14 | dest_files=["res://.godot/imported/crosshair010.png-b3705597025ce5edd45377f459ba32d9.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair011.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair011.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair011.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://csfswp14mn2aj" 6 | path="res://.godot/imported/crosshair011.png-5c0ec0328a6d47892a3baa042b365b41.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair011.png" 14 | dest_files=["res://.godot/imported/crosshair011.png-5c0ec0328a6d47892a3baa042b365b41.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair012.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair012.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair013.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair013.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair014.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair014.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair015.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair015.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair016.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair016.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair017.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair017.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair018.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair018.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair019.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair019.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair020.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair020.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair021.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair021.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair022.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair022.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair023.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair023.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair024.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair025.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair025.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair026.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair026.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair027.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair027.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair028.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair028.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair029.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair029.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair030.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair030.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair031.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair031.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair032.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair032.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair033.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair033.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair034.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair034.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair035.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair035.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair036.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair036.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair037.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair037.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair038.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair038.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair039.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair039.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair040.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair040.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair041.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair041.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair042.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair042.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair043.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair043.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair044.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair044.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair045.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair045.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair046.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair046.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair047.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair047.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair048.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair048.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair049.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair049.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair050.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair050.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair050.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://jsw52l75cma" 6 | path="res://.godot/imported/crosshair050.png-591e37eeb3bfc40a129f5753edc661c5.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair050.png" 14 | dest_files=["res://.godot/imported/crosshair050.png-591e37eeb3bfc40a129f5753edc661c5.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair051.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair052.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair052.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair053.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair053.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair054.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair054.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair055.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair055.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair056.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair056.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair057.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair057.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair058.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair058.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair059.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair059.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair060.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair060.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair061.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair061.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair062.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair062.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair063.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair063.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair064.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair064.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair065.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair065.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair066.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair066.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair067.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair067.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair068.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair068.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair069.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair069.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair070.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair070.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair071.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair071.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair072.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair072.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair073.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair073.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair074.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair074.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair075.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair075.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair076.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair076.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair077.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair077.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair078.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair078.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair079.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair079.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair080.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair081.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair081.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair082.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair082.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair083.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair083.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair084.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair084.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair085.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair085.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair086.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair086.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair087.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair087.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair088.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair088.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair089.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair089.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair090.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair090.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair091.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair091.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair092.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair092.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair093.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair093.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair094.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair094.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair095.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair095.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair096.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair096.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair097.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair097.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair098.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair098.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair099.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair099.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair100.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair101.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair101.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair102.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair102.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair103.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair103.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair104.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair104.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair105.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair105.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair106.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair106.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair107.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair107.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair108.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair108.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair109.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair109.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair110.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair110.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair111.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair111.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair112.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair112.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair113.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair113.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair114.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair115.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair115.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair116.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair116.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair117.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair117.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair118.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair118.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair119.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair119.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair120.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair121.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair121.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair122.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair122.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair123.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair123.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair124.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair124.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair125.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair125.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair126.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair126.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair127.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair127.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair128.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair129.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair129.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair130.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair130.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair131.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair131.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair132.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair132.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair133.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair133.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair134.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair134.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair135.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair135.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair135.png.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="texture" 4 | type="CompressedTexture2D" 5 | uid="uid://jjqu1vhohdi" 6 | path="res://.godot/imported/crosshair135.png-5270eb4aab116f92e78e16b33eb30908.ctex" 7 | metadata={ 8 | "vram_texture": false 9 | } 10 | 11 | [deps] 12 | 13 | source_file="res://assets/ui/kenney-crosshairs/crosshair135.png" 14 | dest_files=["res://.godot/imported/crosshair135.png-5270eb4aab116f92e78e16b33eb30908.ctex"] 15 | 16 | [params] 17 | 18 | compress/mode=0 19 | compress/high_quality=false 20 | compress/lossy_quality=0.7 21 | compress/hdr_compression=1 22 | compress/normal_map=0 23 | compress/channel_pack=0 24 | mipmaps/generate=false 25 | mipmaps/limit=-1 26 | roughness/mode=0 27 | roughness/src_normal="" 28 | process/fix_alpha_border=true 29 | process/premult_alpha=false 30 | process/normal_map_invert_y=false 31 | process/hdr_as_srgb=false 32 | process/hdr_clamp_exposure=false 33 | process/size_limit=0 34 | detect_3d/compress_to=1 35 | -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair136.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair136.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair137.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair137.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair138.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair138.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair139.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair139.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair140.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair140.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair141.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair141.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair142.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair142.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair143.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair143.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair144.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair145.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair145.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair146.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair146.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair147.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair147.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair148.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair148.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair149.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair149.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair150.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair151.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair151.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair152.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair153.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair153.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair154.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair154.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair155.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair155.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair156.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair156.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair157.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair157.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair158.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair158.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair159.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair159.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair160.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair160.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair161.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair161.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair162.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair162.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair163.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair163.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair164.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair164.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair165.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair165.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair166.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair166.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair167.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair168.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair168.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair169.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair169.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair170.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair170.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair171.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair171.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair172.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair173.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair173.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair174.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair174.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair175.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair175.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair176.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair176.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair177.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair177.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair178.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair178.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair179.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair179.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair180.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair181.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair181.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair182.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair182.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair183.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair183.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair184.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair184.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair185.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair185.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair186.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair186.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair187.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair187.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair188.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair188.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair189.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair189.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair190.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair190.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair191.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair191.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair192.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair193.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair193.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair194.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair194.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair195.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair195.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair196.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair197.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair197.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair198.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair198.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair199.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair199.png -------------------------------------------------------------------------------- /assets/ui/kenney-crosshairs/crosshair200.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/ui/kenney-crosshairs/crosshair200.png -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_offline.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_offline.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_offline.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://ddtrv31j3lni1" 6 | path="res://.godot/imported/battle_control_offline.ogg-d7de703e8fffb69f247a00f69de5066f.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_offline.ogg" 11 | dest_files=["res://.godot/imported/battle_control_offline.ogg-d7de703e8fffb69f247a00f69de5066f.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_online.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_online.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_online.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://cqyuiukp0jpkm" 6 | path="res://.godot/imported/battle_control_online.ogg-602a25967ba7c9b410570d5e4d82a8c9.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/battle_control_online.ogg" 11 | dest_files=["res://.godot/imported/battle_control_online.ogg-602a25967ba7c9b410570d5e4d82a8c9.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/construction_complete.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/construction_complete.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/construction_complete.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://jk5xwuxb0x2s" 6 | path="res://.godot/imported/construction_complete.ogg-30ee79637c6aa815479b4a38d6f0fbce.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/construction_complete.ogg" 11 | dest_files=["res://.godot/imported/construction_complete.ogg-30ee79637c6aa815479b4a38d6f0fbce.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/not_enough_resources.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/not_enough_resources.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/not_enough_resources.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://cntfkd8y1iudw" 6 | path="res://.godot/imported/not_enough_resources.ogg-29c4927b8b6d3809455d69df22b7c86a.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/not_enough_resources.ogg" 11 | dest_files=["res://.godot/imported/not_enough_resources.ogg-29c4927b8b6d3809455d69df22b7c86a.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/training.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/training.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/training.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://c85ts7agy2sil" 6 | path="res://.godot/imported/training.ogg-0eae0da7bdce4e46fb3eaf9d198c9c4a.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/training.ogg" 11 | dest_files=["res://.godot/imported/training.ogg-0eae0da7bdce4e46fb3eaf9d198c9c4a.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/unit_lost.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/unit_lost.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/unit_lost.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://dcy5b3ecjtncb" 6 | path="res://.godot/imported/unit_lost.ogg-cc49266157839013cfd9afb802677b41.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/unit_lost.ogg" 11 | dest_files=["res://.godot/imported/unit_lost.ogg-cc49266157839013cfd9afb802677b41.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/unit_ready.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/unit_ready.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/unit_ready.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://b5vfqh0n4ekhp" 6 | path="res://.godot/imported/unit_ready.ogg-ad7e6272c6a82a1ec443672fc70b6282.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/unit_ready.ogg" 11 | dest_files=["res://.godot/imported/unit_ready.ogg-ad7e6272c6a82a1ec443672fc70b6282.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/unit_under_attack.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/unit_under_attack.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/unit_under_attack.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://coe1sb56utt6p" 6 | path="res://.godot/imported/unit_under_attack.ogg-b306abe04d46c472a0aa94a433d1bedf.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/unit_under_attack.ogg" 11 | dest_files=["res://.godot/imported/unit_under_attack.ogg-b306abe04d46c472a0aa94a433d1bedf.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/you_are_victorious.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/you_are_victorious.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/you_are_victorious.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://bjisvgbykq7j7" 6 | path="res://.godot/imported/you_are_victorious.ogg-1a67406aabf02a3d3abcc5890564f60d.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/you_are_victorious.ogg" 11 | dest_files=["res://.godot/imported/you_are_victorious.ogg-1a67406aabf02a3d3abcc5890564f60d.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/you_have_lost.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/you_have_lost.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/you_have_lost.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://c4r8tcyebk6up" 6 | path="res://.godot/imported/you_have_lost.ogg-729a92ae345e33080bc21458886d291c.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/you_have_lost.ogg" 11 | dest_files=["res://.godot/imported/you_have_lost.ogg-729a92ae345e33080bc21458886d291c.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/your_base_is_under_attack.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-148-alayna-us/your_base_is_under_attack.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-148-alayna-us/your_base_is_under_attack.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://cf08a0rjt213l" 6 | path="res://.godot/imported/your_base_is_under_attack.ogg-51d7f2f7b2136d4c832e9d75c51baf0c.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-148-alayna-us/your_base_is_under_attack.ogg" 11 | dest_files=["res://.godot/imported/your_base_is_under_attack.ogg-51d7f2f7b2136d4c832e9d75c51baf0c.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-2704-jackson-us/acknowledged.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-2704-jackson-us/acknowledged.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-2704-jackson-us/acknowledged.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://bsjvas4pvroyg" 6 | path="res://.godot/imported/acknowledged.ogg-5fff374e5512672b9d5f5c693ed13004.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-2704-jackson-us/acknowledged.ogg" 11 | dest_files=["res://.godot/imported/acknowledged.ogg-5fff374e5512672b9d5f5c693ed13004.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-2704-jackson-us/sir.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-2704-jackson-us/sir.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-2704-jackson-us/sir.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://bwm6pme2uqhx1" 6 | path="res://.godot/imported/sir.ogg-25b8e23def37081469f292ded525c22b.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-2704-jackson-us/sir.ogg" 11 | dest_files=["res://.godot/imported/sir.ogg-25b8e23def37081469f292ded525c22b.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-2704-jackson-us/yes_sir.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/assets/voice/english/ttsmaker-com-2704-jackson-us/yes_sir.ogg -------------------------------------------------------------------------------- /assets/voice/english/ttsmaker-com-2704-jackson-us/yes_sir.ogg.import: -------------------------------------------------------------------------------- 1 | [remap] 2 | 3 | importer="oggvorbisstr" 4 | type="AudioStreamOggVorbis" 5 | uid="uid://d0wug5587wvqr" 6 | path="res://.godot/imported/yes_sir.ogg-c697b7c95dbb546e1e62b85bc05a1e56.oggvorbisstr" 7 | 8 | [deps] 9 | 10 | source_file="res://assets/voice/english/ttsmaker-com-2704-jackson-us/yes_sir.ogg" 11 | dest_files=["res://.godot/imported/yes_sir.ogg-c697b7c95dbb546e1e62b85bc05a1e56.oggvorbisstr"] 12 | 13 | [params] 14 | 15 | loop=false 16 | loop_offset=0 17 | bpm=0 18 | beat_count=0 19 | bar_beats=4 20 | -------------------------------------------------------------------------------- /build/.gdignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/build/.gdignore -------------------------------------------------------------------------------- /makefile: -------------------------------------------------------------------------------- 1 | all: lint format-check shaders-format-check 2 | version = "0.9.0" 3 | 4 | format-check: 5 | find source/ -name '*.gd' | xargs gdformat --check 6 | 7 | shaders-format-check: 8 | find source/ -name '*.gdshader' | xargs clang-format --style=file --dry-run -Werror 9 | 10 | lint: 11 | find source/ -name '*.gd' | xargs gdlint 12 | 13 | cc: 14 | find source/ -name '*.gd' | xargs gdradon cc 15 | 16 | todo: 17 | ack ' todo' -i source/ 18 | 19 | release-linux: 20 | godot4 --export-release "Linux/X11" "build/Open_RTS_$(version)_linux64.bin" 21 | 22 | release-macos: 23 | godot4 --export-release "macOS" "build/Open_RTS_$(version)_osx64.zip" 24 | 25 | release-windows: 26 | godot4 --export-release "Windows Desktop" "build/Open_RTS_$(version)_windows64.exe" 27 | 28 | release: release-linux release-macos release-windows 29 | -------------------------------------------------------------------------------- /media/.gdignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/.gdignore -------------------------------------------------------------------------------- /media/banner_1400x650.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/banner_1400x650.png -------------------------------------------------------------------------------- /media/logo.kra: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/logo.kra -------------------------------------------------------------------------------- /media/logo_650x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/logo_650x150.png -------------------------------------------------------------------------------- /media/screenshots/screenshot_1400x650.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/screenshots/screenshot_1400x650.png -------------------------------------------------------------------------------- /media/screenshots/screenshot_2_1920x1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/screenshots/screenshot_2_1920x1080.png -------------------------------------------------------------------------------- /media/screenshots/screenshot_3_1920x1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/screenshots/screenshot_3_1920x1080.png -------------------------------------------------------------------------------- /media/screenshots/screenshot_4_1920x1080.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/media/screenshots/screenshot_4_1920x1080.png -------------------------------------------------------------------------------- /source/FeatureFlags.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | @export_group("Game") 4 | @export var show_logos_on_startup = true 5 | @export var save_user_files_in_tmp = false 6 | 7 | @export_group("Match") 8 | @export var allow_resources_deficit_spending = false 9 | @export var handle_match_end = true 10 | @export var show_minimap = true 11 | @export var allow_navigation_rebaking = true 12 | 13 | @export_group("Match/Debug") 14 | @export var frame_incrementer = false 15 | @export var god_mode = false 16 | -------------------------------------------------------------------------------- /source/FeatureFlags.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://bh75puclpfc1a"] 2 | 3 | [ext_resource type="Script" path="res://source/FeatureFlags.gd" id="1_wihie"] 4 | 5 | [node name="FeatureFlags" type="Node"] 6 | script = ExtResource("1_wihie") 7 | god_mode = true 8 | -------------------------------------------------------------------------------- /source/Globals.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | const Options = preload("res://source/data-model/Options.gd") 4 | 5 | var options = ( 6 | load(Constants.OPTIONS_FILE_PATH) 7 | if ResourceLoader.exists(Constants.OPTIONS_FILE_PATH) 8 | else Options.new() 9 | ) 10 | var god_mode = false 11 | var cache = {} 12 | 13 | 14 | func _unhandled_input(event): 15 | if event.is_action_pressed("toggle_god_mode"): 16 | _toggle_god_mode() 17 | 18 | 19 | func _toggle_god_mode(): 20 | if not FeatureFlags.god_mode: 21 | return 22 | god_mode = not god_mode 23 | if god_mode: 24 | Signals.god_mode_enabled.emit() 25 | else: 26 | Signals.god_mode_disabled.emit() 27 | -------------------------------------------------------------------------------- /source/Logos.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | 3 | @onready var _animation_player = find_child("AnimationPlayer") 4 | 5 | 6 | func _ready(): 7 | if not FeatureFlags.show_logos_on_startup: 8 | queue_free() 9 | return 10 | _animation_player.animation_finished.connect(func(_animation_name): queue_free()) 11 | _animation_player.play("animate_logos") 12 | -------------------------------------------------------------------------------- /source/Main.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | 3 | @onready var _logos = find_child("Logos") 4 | 5 | 6 | func _ready(): 7 | _logos.tree_exited.connect( 8 | get_tree().change_scene_to_file.bind("res://source/main-menu/Main.tscn") 9 | ) 10 | -------------------------------------------------------------------------------- /source/Main.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://b7cvevvcnfbmy"] 2 | 3 | [ext_resource type="Script" path="res://source/Main.gd" id="1_i28sw"] 4 | [ext_resource type="PackedScene" uid="uid://bqdvfvr3qyoom" path="res://source/Logos.tscn" id="2_b3u07"] 5 | 6 | [node name="Main" type="Control"] 7 | layout_mode = 3 8 | anchors_preset = 15 9 | anchor_right = 1.0 10 | anchor_bottom = 1.0 11 | grow_horizontal = 2 12 | grow_vertical = 2 13 | script = ExtResource("1_i28sw") 14 | 15 | [node name="Logos" parent="." instance=ExtResource("2_b3u07")] 16 | layout_mode = 1 17 | -------------------------------------------------------------------------------- /source/Signals.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | # notifications 4 | signal god_mode_enabled 5 | signal god_mode_disabled 6 | -------------------------------------------------------------------------------- /source/data-model/MatchSettings.gd: -------------------------------------------------------------------------------- 1 | extends Resource 2 | 3 | enum Visibility { PER_PLAYER, ALL_PLAYERS, FULL } 4 | 5 | @export var players: Array[Resource] = [] 6 | @export var visibility = Visibility.PER_PLAYER 7 | @export var visible_player = 0 8 | -------------------------------------------------------------------------------- /source/data-model/PlayerSettings.gd: -------------------------------------------------------------------------------- 1 | extends Resource 2 | 3 | @export var color = Color.BLUE 4 | @export var controller = Constants.PlayerType.SIMPLE_CLAIRVOYANT_AI 5 | @export var spawn_index_offset = 0 6 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/2d/DynamicCircle2D.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends Node2D 3 | 4 | @export var color = Color.WHITE 5 | @export var radius = 15 6 | 7 | 8 | func _draw(): 9 | draw_circle(Vector2(0, 0), radius, color) 10 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/2d/DynamicCircle2D.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://clbjgy724q2si"] 2 | 3 | [ext_resource type="Script" path="res://source/generic-scenes-and-nodes/2d/DynamicCircle2D.gd" id="1_2qq62"] 4 | 5 | [node name="DynamicCircle2D" type="Node2D"] 6 | script = ExtResource("1_2qq62") 7 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/3d/Circle3D.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://doixk58lw6coo"] 2 | 3 | [ext_resource type="Script" path="res://source/generic-scenes-and-nodes/3d/Circle3D.gd" id="1_l65r6"] 4 | 5 | [node name="Circle3D" type="Node3D"] 6 | script = ExtResource("1_l65r6") 7 | render_priority = null 8 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/3d/FadedCircle3D.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://ct3aeixgpxl65"] 2 | 3 | [ext_resource type="Script" path="res://source/generic-scenes-and-nodes/3d/FadedCircle3D.gd" id="1_mbhwa"] 4 | 5 | [node name="FadedCircle3D" type="Node3D"] 6 | script = ExtResource("1_mbhwa") 7 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/3d/MouseClickAnimation3D.gd: -------------------------------------------------------------------------------- 1 | extends Node3D 2 | @onready var _animation_player = find_child("AnimationPlayer") 3 | 4 | 5 | func _ready(): 6 | _animation_player.animation_finished.connect(_on_animation_finished) 7 | _animation_player.play("fade_out") 8 | 9 | 10 | func _on_animation_finished(_animation): 11 | queue_free() 12 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/3d/RectangularSelection3D.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://co800e4shs7bh"] 2 | 3 | [ext_resource type="Script" path="res://source/generic-scenes-and-nodes/3d/RectangularSelection3D.gd" id="1_1ahea"] 4 | 5 | [node name="RectangularSelection3D" type="Node3D"] 6 | script = ExtResource("1_1ahea") 7 | -------------------------------------------------------------------------------- /source/generic-scenes-and-nodes/control/RectangularSelection2D.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://dk7sa3fkyxks5"] 2 | 3 | [ext_resource type="Script" path="res://source/generic-scenes-and-nodes/control/RectangularSelection2D.gd" id="1_588rg"] 4 | 5 | [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t80q7"] 6 | bg_color = Color(0.6, 0.6, 0.6, 0) 7 | border_width_left = 2 8 | border_width_top = 2 9 | border_width_right = 2 10 | border_width_bottom = 2 11 | border_color = Color(1, 1, 1, 1) 12 | 13 | [node name="RectangularSelection2D" type="Panel"] 14 | offset_right = 40.0 15 | offset_bottom = 40.0 16 | mouse_filter = 2 17 | theme_override_styles/panel = SubResource("StyleBoxFlat_t80q7") 18 | script = ExtResource("1_588rg") 19 | -------------------------------------------------------------------------------- /source/main-menu/Background.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://dij5xr8swlfdx"] 2 | 3 | [ext_resource type="Texture2D" uid="uid://hhow7i6ntkjd" path="res://assets/ui/background.png" id="1_4p0cv"] 4 | 5 | [node name="Background" type="TextureRect"] 6 | self_modulate = Color(1, 1, 1, 0.5) 7 | anchors_preset = 15 8 | anchor_right = 1.0 9 | anchor_bottom = 1.0 10 | grow_horizontal = 2 11 | grow_vertical = 2 12 | texture = ExtResource("1_4p0cv") 13 | expand_mode = 1 14 | stretch_mode = 6 15 | -------------------------------------------------------------------------------- /source/main-menu/Credits.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | 3 | @onready var _rich_text_label = find_child("RichTextLabel") 4 | 5 | 6 | func _ready(): 7 | _rich_text_label.text = ( 8 | _rich_text_label 9 | . text 10 | . replace("CORE_CONTRIBUTORS", tr("CORE_CONTRIBUTORS")) 11 | . replace("ASSETS", tr("ASSETS")) 12 | ) 13 | 14 | 15 | func _on_back_button_pressed(): 16 | get_tree().change_scene_to_file("res://source/main-menu/Main.tscn") 17 | -------------------------------------------------------------------------------- /source/main-menu/Main.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | 3 | 4 | func _on_play_button_pressed(): 5 | get_tree().change_scene_to_file("res://source/main-menu/Play.tscn") 6 | 7 | 8 | func _on_options_button_pressed(): 9 | get_tree().change_scene_to_file("res://source/main-menu/Options.tscn") 10 | 11 | 12 | func _on_credits_button_pressed(): 13 | get_tree().change_scene_to_file("res://source/main-menu/Credits.tscn") 14 | 15 | 16 | func _on_quit_button_pressed(): 17 | get_tree().quit() 18 | -------------------------------------------------------------------------------- /source/main-menu/Options.gd: -------------------------------------------------------------------------------- 1 | extends Control 2 | 3 | @onready var _screen = find_child("Screen") 4 | @onready var _mouse_movement_restricted = find_child("MouseMovementRestricted") 5 | 6 | 7 | func _ready(): 8 | _mouse_movement_restricted.button_pressed = Globals.options.mouse_restricted 9 | _screen.selected = Globals.options.screen 10 | 11 | 12 | func _on_mouse_movement_restricted_pressed(): 13 | Globals.options.mouse_restricted = _mouse_movement_restricted.button_pressed 14 | ResourceSaver.save(Globals.options, Constants.OPTIONS_FILE_PATH) 15 | 16 | 17 | func _on_screen_item_selected(index): 18 | Globals.options.screen = { 19 | 0: Globals.options.Screen.FULL, 20 | 1: Globals.options.Screen.WINDOW, 21 | }[index] 22 | ResourceSaver.save(Globals.options, Constants.OPTIONS_FILE_PATH) 23 | 24 | 25 | func _on_back_button_pressed(): 26 | get_tree().change_scene_to_file("res://source/main-menu/Main.tscn") 27 | -------------------------------------------------------------------------------- /source/match/Map.gd: -------------------------------------------------------------------------------- 1 | @tool 2 | extends Node3D 3 | 4 | # TODO: add editor-only 2nd pass shader to 'Terrain' mesh highlighting map boundries 5 | 6 | const EXTRA_MARGIN = 2 7 | 8 | @export var size = Vector2(50, 50): 9 | set(a_size): 10 | size = a_size 11 | find_child("Terrain").mesh.size = size + Vector2(EXTRA_MARGIN, EXTRA_MARGIN) * 2 12 | find_child("Terrain").mesh.center_offset = Vector3(size.x, 0.0, size.y) / 2.0 13 | 14 | 15 | func get_topdown_polygon_2d(): 16 | return [Vector2(0, 0), Vector2(size.x, 0), size, Vector2(0, size.y)] 17 | -------------------------------------------------------------------------------- /source/match/Menu.gd: -------------------------------------------------------------------------------- 1 | extends CanvasLayer 2 | 3 | 4 | func _ready(): 5 | hide() 6 | 7 | 8 | func _unhandled_input(event): 9 | if ( 10 | event.is_action_pressed("toggle_match_menu") 11 | and ((not visible and not get_tree().paused) or (visible and get_tree().paused)) 12 | ): 13 | _toggle() 14 | 15 | 16 | func _toggle(): 17 | visible = not visible 18 | get_tree().paused = visible 19 | 20 | 21 | func _on_resume_button_pressed(): 22 | _toggle() 23 | 24 | 25 | func _on_exit_button_pressed(): 26 | MatchSignals.match_aborted.emit() 27 | await get_tree().create_timer(1.74).timeout # Give voice narrator some time to finish. 28 | get_tree().paused = false 29 | get_tree().change_scene_to_file("res://source/main-menu/Main.tscn") 30 | -------------------------------------------------------------------------------- /source/match/Terrain.gd: -------------------------------------------------------------------------------- 1 | extends StaticBody3D 2 | 3 | @onready var _collision_shape = find_child("CollisionShape3D") 4 | 5 | 6 | func _ready(): 7 | input_event.connect(_on_input_event) 8 | 9 | 10 | func update_shape(reference_mesh): 11 | _collision_shape.shape = reference_mesh.create_trimesh_shape() 12 | 13 | 14 | func _on_input_event(_camera, event, _click_position, _click_normal, _shape_idx): 15 | if ( 16 | event is InputEventMouseButton 17 | and event.button_index == MOUSE_BUTTON_RIGHT 18 | and event.pressed 19 | ): 20 | var target_point = get_viewport().get_camera_3d().get_ray_intersection(event.position) 21 | MatchSignals.terrain_targeted.emit(target_point) 22 | -------------------------------------------------------------------------------- /source/match/debug/DiagnosticHud.gd: -------------------------------------------------------------------------------- 1 | extends CanvasLayer 2 | 3 | @onready var _fps_label = find_child("FPSLabel") 4 | 5 | 6 | func _ready(): 7 | hide() 8 | 9 | 10 | func _unhandled_input(event): 11 | if event.is_action_pressed("toggle_diagnostic_mode"): 12 | visible = not visible 13 | 14 | 15 | func _physics_process(_delta): 16 | _fps_label.text = ( 17 | "{0} FPS \n".format(["%0.1f" % (Performance.get_monitor(Performance.TIME_FPS))]) 18 | + str(OS.get_processor_name()) 19 | + " \n" 20 | + str(OS.get_processor_count()) 21 | + " Threads Used \n" 22 | + str(OS.get_static_memory_usage() / int(1000000)) 23 | + " MBs of Memory Used \n" 24 | + str(RenderingServer.get_video_adapter_name()) 25 | + " " 26 | + str(RenderingServer.get_video_adapter_vendor()) 27 | + " \n" 28 | + "Using " 29 | + str(OS.get_name()) 30 | + " Operating System" 31 | ) 32 | -------------------------------------------------------------------------------- /source/match/debug/FogOfWarManager.gd: -------------------------------------------------------------------------------- 1 | extends PanelContainer 2 | 3 | @onready var _match = find_parent("Match") 4 | 5 | 6 | func _on_toggle_button_pressed(): 7 | _match.fog_of_war.visible = not _match.fog_of_war.visible 8 | _match.find_child("UnitVisibilityHandler").visible = not ( 9 | _match.find_child("UnitVisibilityHandler").visible 10 | ) 11 | -------------------------------------------------------------------------------- /source/match/debug/FrameIncrementer.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://b83l4dny3gly0"] 2 | 3 | [ext_resource type="Script" path="res://source/match/debug/FrameIncrementer.gd" id="1_coqp6"] 4 | 5 | [node name="FrameIncrementer" type="Node"] 6 | process_mode = 3 7 | script = ExtResource("1_coqp6") 8 | -------------------------------------------------------------------------------- /source/match/debug/GodModeHud.gd: -------------------------------------------------------------------------------- 1 | extends CanvasLayer 2 | 3 | 4 | func _ready(): 5 | if not Globals.god_mode: 6 | hide() 7 | Signals.god_mode_enabled.connect(show) 8 | Signals.god_mode_disabled.connect(hide) 9 | -------------------------------------------------------------------------------- /source/match/debug/TimeManager.gd: -------------------------------------------------------------------------------- 1 | extends PanelContainer 2 | 3 | 4 | func _on_time_scale_spin_box_value_changed(value): 5 | Engine.time_scale = value 6 | -------------------------------------------------------------------------------- /source/match/debug/VisiblePlayerManager.gd: -------------------------------------------------------------------------------- 1 | extends PanelContainer 2 | 3 | @onready var _match = find_parent("Match") 4 | 5 | @onready var _visible_player = find_child("VisiblePlayerSpinBox") 6 | 7 | 8 | func _ready(): 9 | await _match.ready 10 | if ( 11 | _match.settings.visibility 12 | in [_match.settings.Visibility.FULL, _match.settings.Visibility.ALL_PLAYERS] 13 | ): 14 | _visible_player.editable = false 15 | _visible_player.value = get_tree().get_nodes_in_group("players").find(_match.visible_player) 16 | _visible_player.value_changed.connect(_on_visible_player_spin_box_value_changed) 17 | 18 | 19 | func _on_visible_player_spin_box_value_changed(value): 20 | var players = get_tree().get_nodes_in_group("players") 21 | _match.visible_player = players[value] if value >= 0 and value < players.size() else null 22 | -------------------------------------------------------------------------------- /source/match/decorations/RockLargeA.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://btor1402wkw8k"] 2 | 3 | [ext_resource type="PackedScene" uid="uid://bmkhqkqc17m1b" path="res://assets/models/kenney-spacekit/rock_largeA.glb" id="1_t7kcf"] 4 | 5 | [sub_resource type="BoxShape3D" id="BoxShape3D_e8v1n"] 6 | 7 | [node name="RockLargeA" type="StaticBody3D" groups=["terrain_navigation_input"]] 8 | collision_layer = 2 9 | collision_mask = 0 10 | input_ray_pickable = false 11 | 12 | [node name="rock_largeA" parent="." instance=ExtResource("1_t7kcf")] 13 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -1.5) 14 | 15 | [node name="CollisionShape3D" type="CollisionShape3D" parent="."] 16 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.236595, 0) 17 | shape = SubResource("BoxShape3D_e8v1n") 18 | -------------------------------------------------------------------------------- /source/match/handlers/ArealUnitSelectionHandler.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://bocb7hjilvri5"] 2 | 3 | [ext_resource type="Script" path="res://source/match/handlers/ArealUnitSelectionHandler.gd" id="1_xmfnv"] 4 | 5 | [node name="ArealUnitSelectionHandler" type="Node3D"] 6 | script = ExtResource("1_xmfnv") 7 | -------------------------------------------------------------------------------- /source/match/handlers/DoubleClickUnitSelectionHandler.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://pi813oou7xim"] 2 | 3 | [ext_resource type="Script" path="res://source/match/handlers/DoubleClickUnitSelectionHandler.gd" id="1_myskc"] 4 | 5 | [node name="DoubleClickUnitSelectionHandler" type="Node3D"] 6 | script = ExtResource("1_myskc") 7 | -------------------------------------------------------------------------------- /source/match/handlers/MouseClickAnimationsHandler.gd: -------------------------------------------------------------------------------- 1 | extends Node3D 2 | 3 | const MouseClickAnimation = preload("res://source/match/utils/MouseClickAnimation.tscn") 4 | 5 | 6 | func _ready(): 7 | MatchSignals.terrain_targeted.connect(_on_terrain_targeted) 8 | 9 | 10 | func _on_terrain_targeted(target_position): 11 | if ( 12 | get_tree() 13 | . get_nodes_in_group("selected_units") 14 | . filter(func(unit): return unit.is_in_group("controlled_units")) 15 | . is_empty() 16 | ): 17 | return 18 | var node = MouseClickAnimation.instantiate() 19 | node.global_transform = Transform3D(Basis(), target_position) 20 | add_child(node) 21 | -------------------------------------------------------------------------------- /source/match/handlers/MouseClickAnimationsHandler.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://c0uxy26e4qs4w"] 2 | 3 | [ext_resource type="Script" path="res://source/match/handlers/MouseClickAnimationsHandler.gd" id="1_2s46w"] 4 | 5 | [node name="MouseClickAnimationsHandler" type="Node3D"] 6 | script = ExtResource("1_2s46w") 7 | -------------------------------------------------------------------------------- /source/match/handlers/UnitGroupSelectionHandler.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://ck6vrgdyg7hja"] 2 | 3 | [ext_resource type="Script" path="res://source/match/handlers/UnitGroupSelectionHandler.gd" id="1_jgs3c"] 4 | 5 | [node name="UnitGroupSelectionHandler" type="Node3D"] 6 | script = ExtResource("1_jgs3c") 7 | -------------------------------------------------------------------------------- /source/match/handlers/UnitVisibilityHandler.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://b8p6lcwubx1tp"] 2 | 3 | [ext_resource type="Script" path="res://source/match/handlers/UnitVisibilityHandler.gd" id="1_xi14o"] 4 | 5 | [node name="UnitVisibilityHandler" type="Node3D"] 6 | script = ExtResource("1_xi14o") 7 | -------------------------------------------------------------------------------- /source/match/hud/ProductionQueueElement.gd: -------------------------------------------------------------------------------- 1 | extends Button 2 | 3 | var queue = null 4 | var queue_element = null 5 | 6 | 7 | func _ready(): 8 | if queue == null or queue_element == null: 9 | return 10 | queue_element.changed.connect(_on_queue_element_changed) 11 | pressed.connect(func(): queue.cancel(queue_element)) 12 | text = queue_element.unit_prototype.resource_path[ 13 | queue_element.unit_prototype.resource_path.rfind("/") + 1 14 | ] 15 | find_child("Label").text = "{0}%".format([int(queue_element.progress() * 100.0)]) 16 | 17 | 18 | func _on_queue_element_changed(): 19 | find_child("Label").text = "{0}%".format([int(queue_element.progress() * 100.0)]) 20 | -------------------------------------------------------------------------------- /source/match/hud/ProductionQueueElement.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://rtkiiletj253"] 2 | 3 | [ext_resource type="Script" path="res://source/match/hud/ProductionQueueElement.gd" id="1_yaio2"] 4 | 5 | [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ar725"] 6 | 7 | [node name="ProductionQueueElement" type="Button"] 8 | custom_minimum_size = Vector2(48, 48) 9 | theme_override_styles/focus = SubResource("StyleBoxEmpty_ar725") 10 | text = "Y" 11 | script = ExtResource("1_yaio2") 12 | 13 | [node name="Label" type="Label" parent="."] 14 | layout_mode = 1 15 | anchors_preset = 15 16 | anchor_right = 1.0 17 | anchor_bottom = 1.0 18 | grow_horizontal = 2 19 | grow_vertical = 2 20 | theme_override_font_sizes/font_size = 10 21 | text = "10%" 22 | horizontal_alignment = 2 23 | vertical_alignment = 2 24 | -------------------------------------------------------------------------------- /source/match/hud/ResourcesBar.gd: -------------------------------------------------------------------------------- 1 | extends PanelContainer 2 | 3 | var player = null 4 | 5 | @onready var _resource_a_label = find_child("ResourceALabel") 6 | @onready var _resource_b_label = find_child("ResourceBLabel") 7 | @onready var _resource_a_color_rect = find_child("ResourceAColorRect") 8 | @onready var _resource_b_color_rect = find_child("ResourceBColorRect") 9 | 10 | 11 | func _ready(): 12 | _resource_a_color_rect.color = Constants.Match.Resources.A.COLOR 13 | _resource_b_color_rect.color = Constants.Match.Resources.B.COLOR 14 | 15 | 16 | func setup(a_player): 17 | assert(player == null, "player cannot be null") 18 | player = a_player 19 | _on_player_resource_changed() 20 | player.changed.connect(_on_player_resource_changed) 21 | 22 | 23 | func _on_player_resource_changed(): 24 | _resource_a_label.text = str(player.resource_a) 25 | _resource_b_label.text = str(player.resource_b) 26 | -------------------------------------------------------------------------------- /source/match/hud/unit-menus/CommandCenterMenu.gd: -------------------------------------------------------------------------------- 1 | extends GridContainer 2 | 3 | const WorkerUnit = preload("res://source/match/units/Worker.tscn") 4 | 5 | var unit = null 6 | 7 | @onready var _worker_button = find_child("ProduceWorkerButton") 8 | 9 | 10 | func _ready(): 11 | _worker_button.tooltip_text = ("{0} - {1}\n{2} HP\n{3}: {4}, {5}: {6}".format( 12 | [ 13 | tr("WORKER"), 14 | tr("WORKER_DESCRIPTION"), 15 | Constants.Match.Units.DEFAULT_PROPERTIES[WorkerUnit.resource_path]["hp_max"], 16 | tr("RESOURCE_A"), 17 | Constants.Match.Units.PRODUCTION_COSTS[WorkerUnit.resource_path]["resource_a"], 18 | tr("RESOURCE_B"), 19 | Constants.Match.Units.PRODUCTION_COSTS[WorkerUnit.resource_path]["resource_b"] 20 | ] 21 | )) 22 | 23 | 24 | func _on_produce_worker_button_pressed(): 25 | unit.production_queue.produce(WorkerUnit) 26 | -------------------------------------------------------------------------------- /source/match/hud/unit-menus/GenericMenu.gd: -------------------------------------------------------------------------------- 1 | extends GridContainer 2 | 3 | const Structure = preload("res://source/match/units/Structure.gd") 4 | 5 | var units = [] 6 | 7 | 8 | func _on_cancel_action_button_pressed(): 9 | if len(units) == 1 and units[0] is Structure and units[0].is_under_construction(): 10 | units[0].cancel_construction() 11 | return 12 | for unit in units: 13 | unit.action = null 14 | -------------------------------------------------------------------------------- /source/match/hud/unit-menus/VehicleFactoryMenu.gd: -------------------------------------------------------------------------------- 1 | extends GridContainer 2 | 3 | const TankUnit = preload("res://source/match/units/Tank.tscn") 4 | 5 | var unit = null 6 | 7 | @onready var _tank_button = find_child("ProduceTankButton") 8 | 9 | 10 | func _ready(): 11 | var tank_properties = Constants.Match.Units.DEFAULT_PROPERTIES[TankUnit.resource_path] 12 | _tank_button.tooltip_text = ("{0} - {1}\n{2} HP, {3} DPS\n{4}: {5}, {6}: {7}".format( 13 | [ 14 | tr("TANK"), 15 | tr("TANK_DESCRIPTION"), 16 | tank_properties["hp_max"], 17 | tank_properties["attack_damage"] * tank_properties["attack_interval"], 18 | tr("RESOURCE_A"), 19 | Constants.Match.Units.PRODUCTION_COSTS[TankUnit.resource_path]["resource_a"], 20 | tr("RESOURCE_B"), 21 | Constants.Match.Units.PRODUCTION_COSTS[TankUnit.resource_path]["resource_b"] 22 | ] 23 | )) 24 | 25 | 26 | func _on_produce_tank_button_pressed(): 27 | unit.production_queue.produce(TankUnit) 28 | -------------------------------------------------------------------------------- /source/match/players/Player.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://bj8c6tdt6o1yt"] 2 | 3 | [ext_resource type="Script" path="res://source/match/players/Player.gd" id="1_po52i"] 4 | 5 | [node name="Player" type="Node3D" groups=["players"]] 6 | script = ExtResource("1_po52i") 7 | -------------------------------------------------------------------------------- /source/match/players/human/Human.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/players/Player.gd" 2 | -------------------------------------------------------------------------------- /source/match/players/human/StructurePlacementHandler.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://q5w474dvts3f"] 2 | 3 | [ext_resource type="Script" path="res://source/match/players/human/StructurePlacementHandler.gd" id="1_u6cl4"] 4 | 5 | [node name="StructurePlacementHandler" type="Node3D"] 6 | script = ExtResource("1_u6cl4") 7 | 8 | [node name="FeedbackLabel3D" type="Label3D" parent="."] 9 | visible = false 10 | pixel_size = 0.0006 11 | billboard = 1 12 | no_depth_test = true 13 | fixed_size = true 14 | text = "test" 15 | -------------------------------------------------------------------------------- /source/match/resources/materials/adversary_unit_air_to_terrain_marker.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cihpauvyhfqek"] 2 | 3 | [ext_resource type="Shader" path="res://source/shaders/3d/air_to_terrain_marker.gdshader" id="1_p67ob"] 4 | 5 | [resource] 6 | render_priority = 0 7 | shader = ExtResource("1_p67ob") 8 | shader_parameter/albedo = Color(1, 0, 0, 1) 9 | shader_parameter/invisible_height = 0.0 10 | shader_parameter/visible_height = -5.0 11 | -------------------------------------------------------------------------------- /source/match/resources/materials/blueprint_invalid.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="StandardMaterial3D" format=3 uid="uid://cd6jl5bjkuo07"] 2 | 3 | [resource] 4 | transparency = 1 5 | shading_mode = 0 6 | albedo_color = Color(1, 0, 0, 0.501961) 7 | -------------------------------------------------------------------------------- /source/match/resources/materials/blueprint_valid.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="StandardMaterial3D" format=3 uid="uid://ds2314e5fnbq6"] 2 | 3 | [resource] 4 | transparency = 1 5 | shading_mode = 0 6 | albedo_color = Color(0, 1, 0, 0.501961) 7 | -------------------------------------------------------------------------------- /source/match/resources/materials/controlled_unit_air_to_terrain_marker.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="ShaderMaterial" load_steps=2 format=3 uid="uid://cyb6kpjqfdv1b"] 2 | 3 | [ext_resource type="Shader" path="res://source/shaders/3d/air_to_terrain_marker.gdshader" id="1_b56wu"] 4 | 5 | [resource] 6 | render_priority = 0 7 | shader = ExtResource("1_b56wu") 8 | shader_parameter/albedo = Color(0, 1, 0, 1) 9 | shader_parameter/invisible_height = 0.5 10 | shader_parameter/visible_height = -2.0 11 | -------------------------------------------------------------------------------- /source/match/resources/materials/resource_a.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="StandardMaterial3D" format=3 uid="uid://822ai1mlwg5d"] 2 | 3 | [resource] 4 | resource_name = "crystal" 5 | vertex_color_use_as_albedo = true 6 | albedo_color = Color(0, 0, 1, 1) 7 | metallic = 1.0 8 | -------------------------------------------------------------------------------- /source/match/resources/materials/resource_b.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="StandardMaterial3D" format=3 uid="uid://dny371ejwkesm"] 2 | 3 | [resource] 4 | resource_name = "crystal" 5 | vertex_color_use_as_albedo = true 6 | albedo_color = Color(1, 0, 0, 1) 7 | metallic = 1.0 8 | -------------------------------------------------------------------------------- /source/match/resources/materials/structure_under_construction.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="StandardMaterial3D" format=3 uid="uid://cou1pj6vy1e8m"] 2 | 3 | [resource] 4 | transparency = 1 5 | shading_mode = 0 6 | albedo_color = Color(1, 1, 1, 0.501961) 7 | -------------------------------------------------------------------------------- /source/match/resources/materials/terrain.material.tres: -------------------------------------------------------------------------------- 1 | [gd_resource type="StandardMaterial3D" format=3 uid="uid://co8vfcoqqs5i8"] 2 | 3 | [resource] 4 | vertex_color_use_as_albedo = true 5 | albedo_color = Color(0.960784, 0.745098, 0.654902, 1) 6 | metallic = 1.0 7 | -------------------------------------------------------------------------------- /source/match/units/AircraftFactory.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Structure.gd" 2 | -------------------------------------------------------------------------------- /source/match/units/AntiAirTurret.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Structure.gd" 2 | 3 | const WaitingForTargets = preload("res://source/match/units/actions/WaitingForTargets.gd") 4 | 5 | 6 | func _ready(): 7 | await super() 8 | find_child("Geometry").visible = visible 9 | visibility_changed.connect(func(): find_child("Geometry").visible = visible) 10 | if not is_constructed(): 11 | await constructed 12 | action = WaitingForTargets.new() 13 | 14 | 15 | func _set_action(action_node): 16 | if not _action_locked and action == null: 17 | super(action_node) 18 | elif action_node != null: 19 | action_node.queue_free() 20 | -------------------------------------------------------------------------------- /source/match/units/AntiGroundTurret.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Structure.gd" 2 | 3 | const WaitingForTargets = preload("res://source/match/units/actions/WaitingForTargets.gd") 4 | 5 | 6 | func _ready(): 7 | await super() 8 | find_child("Geometry").visible = visible 9 | visibility_changed.connect(func(): find_child("Geometry").visible = visible) 10 | if not is_constructed(): 11 | await constructed 12 | action = WaitingForTargets.new() 13 | 14 | 15 | func _set_action(action_node): 16 | if not _action_locked and action == null: 17 | super(action_node) 18 | elif action_node != null: 19 | action_node.queue_free() 20 | -------------------------------------------------------------------------------- /source/match/units/CommandCenter.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Structure.gd" 2 | -------------------------------------------------------------------------------- /source/match/units/Drone.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Unit.gd" 2 | -------------------------------------------------------------------------------- /source/match/units/Helicopter.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Unit.gd" 2 | 3 | const ROTOR_SPEED = 800.0 # degrees/s 4 | 5 | const WaitingForTargets = preload("res://source/match/units/actions/WaitingForTargets.gd") 6 | 7 | 8 | func _ready(): 9 | await super() 10 | action_changed.connect(_on_action_changed) 11 | action = WaitingForTargets.new() 12 | 13 | 14 | func _physics_process(delta): 15 | find_child("Rotor").rotation_degrees.y += ROTOR_SPEED * delta 16 | 17 | 18 | func _on_action_changed(new_action): 19 | if new_action == null: 20 | action = WaitingForTargets.new() 21 | -------------------------------------------------------------------------------- /source/match/units/Tank.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Unit.gd" 2 | 3 | const WaitingForTargets = preload("res://source/match/units/actions/WaitingForTargets.gd") 4 | 5 | 6 | func _ready(): 7 | await super() 8 | action_changed.connect(_on_action_changed) 9 | action = WaitingForTargets.new() 10 | 11 | 12 | func _on_action_changed(new_action): 13 | if new_action == null: 14 | action = WaitingForTargets.new() 15 | -------------------------------------------------------------------------------- /source/match/units/VehicleFactory.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Structure.gd" 2 | -------------------------------------------------------------------------------- /source/match/units/Worker.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/Unit.gd" 2 | 3 | var resource_a = 0 4 | var resource_b = 0 5 | var resources_max = null 6 | 7 | 8 | func is_full(): 9 | assert(resource_a + resource_b <= resources_max, "worker capacity was exceeded somehow") 10 | return resource_a + resource_b == resources_max 11 | -------------------------------------------------------------------------------- /source/match/units/actions/Action.gd: -------------------------------------------------------------------------------- 1 | extends Node 2 | 3 | 4 | func _to_string(): 5 | var action_script_path = get_script().resource_path 6 | var action_file_name = action_script_path.substr(action_script_path.rfind("/") + 1) 7 | var action_name = action_file_name.split(".")[0] 8 | return action_name 9 | -------------------------------------------------------------------------------- /source/match/units/actions/ConstructingWhileInRange.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/actions/Action.gd" 2 | 3 | var _target_unit = null 4 | 5 | @onready var _unit = Utils.NodeEx.find_parent_with_group(self, "units") 6 | 7 | 8 | func _init(target_unit): 9 | _target_unit = target_unit 10 | 11 | 12 | func _ready(): 13 | _target_unit.tree_exited.connect(queue_free) 14 | _target_unit.constructed.connect(queue_free) 15 | _unit.get_node("Sparkling").enable() 16 | 17 | 18 | func _exit_tree(): 19 | _unit.get_node("Sparkling").disable() 20 | 21 | 22 | func _process(delta): 23 | if ( 24 | not Utils.Match.Unit.Movement.units_adhere(_unit, _target_unit) 25 | or _target_unit.is_constructed() 26 | ): 27 | queue_free() 28 | return 29 | _target_unit.construct(delta * Constants.Match.Units.STRUCTURE_CONSTRUCTING_SPEED) 30 | -------------------------------------------------------------------------------- /source/match/units/actions/Moving.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/actions/Action.gd" 2 | 3 | var _target_position = null 4 | 5 | @onready var _unit = Utils.NodeEx.find_parent_with_group(self, "units") 6 | @onready var _movement_trait = _unit.find_child("Movement") 7 | 8 | 9 | static func is_applicable(unit): 10 | return unit.find_child("Movement") != null 11 | 12 | 13 | func _init(target_position): 14 | _target_position = target_position 15 | 16 | 17 | func _ready(): 18 | _movement_trait.move(_target_position) 19 | _movement_trait.movement_finished.connect(_on_movement_finished) 20 | 21 | 22 | func _exit_tree(): 23 | if is_inside_tree(): 24 | _movement_trait.stop() 25 | 26 | 27 | func _on_movement_finished(): 28 | queue_free() 29 | -------------------------------------------------------------------------------- /source/match/units/actions/MovingToUnit.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/actions/Moving.gd" 2 | 3 | var _target_unit = null 4 | 5 | 6 | func _init(target_unit): 7 | _target_unit = target_unit 8 | 9 | 10 | func _process(_delta): 11 | if Utils.Match.Unit.Movement.units_adhere(_unit, _target_unit): 12 | queue_free() 13 | 14 | 15 | func _ready(): 16 | _target_unit.tree_exited.connect(queue_free) 17 | _target_position = ( 18 | _target_unit.global_position_yless 19 | + ( 20 | (_unit.global_position_yless - _target_unit.global_position_yless).normalized() 21 | * _target_unit.radius 22 | ) 23 | ) 24 | super() 25 | 26 | 27 | func _on_movement_finished(): 28 | if Utils.Match.Unit.Movement.units_adhere(_unit, _target_unit): 29 | queue_free() 30 | else: 31 | _target_position = _target_unit.global_position 32 | _movement_trait.move(_target_position) 33 | -------------------------------------------------------------------------------- /source/match/units/non-player/ResourceA.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/non-player/ResourceUnit.gd" 2 | 3 | const MATERIAL_ALBEDO_TO_REPLACE = Color(0.4687, 0.944, 0.7938) 4 | const MATERIAL_ALBEDO_TO_REPLACE_EPSILON = 0.05 5 | 6 | @export var resource_a = 300: 7 | set(value): 8 | resource_a = max(0, value) 9 | if resource_a == 0: 10 | queue_free() 11 | 12 | var color = Constants.Match.Resources.A.COLOR: 13 | set(_value): 14 | pass 15 | 16 | 17 | func _ready(): 18 | _setup_mesh_colors() 19 | 20 | 21 | func _setup_mesh_colors(): 22 | # gdlint: ignore = function-preload-variable-name 23 | var material = preload(Constants.Match.Resources.A.MATERIAL_PATH) 24 | Utils.Match.traverse_node_tree_and_replace_materials_matching_albedo( 25 | self, MATERIAL_ALBEDO_TO_REPLACE, MATERIAL_ALBEDO_TO_REPLACE_EPSILON, material 26 | ) 27 | -------------------------------------------------------------------------------- /source/match/units/non-player/ResourceB.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/units/non-player/ResourceUnit.gd" 2 | 3 | const MATERIAL_ALBEDO_TO_REPLACE = Color(0.4687, 0.944, 0.7938) 4 | const MATERIAL_ALBEDO_TO_REPLACE_EPSILON = 0.05 5 | 6 | @export var resource_b = 300: 7 | set(value): 8 | resource_b = max(0, value) 9 | if resource_b == 0: 10 | queue_free() 11 | 12 | var color = Constants.Match.Resources.B.COLOR: 13 | set(_value): 14 | pass 15 | 16 | 17 | func _ready(): 18 | _setup_mesh_colors() 19 | 20 | 21 | func _setup_mesh_colors(): 22 | # gdlint: ignore = function-preload-variable-name 23 | var material = preload(Constants.Match.Resources.B.MATERIAL_PATH) 24 | Utils.Match.traverse_node_tree_and_replace_materials_matching_albedo( 25 | self, MATERIAL_ALBEDO_TO_REPLACE, MATERIAL_ALBEDO_TO_REPLACE_EPSILON, material 26 | ) 27 | -------------------------------------------------------------------------------- /source/match/units/non-player/ResourceUnit.gd: -------------------------------------------------------------------------------- 1 | extends Area3D 2 | 3 | const ResourceDecayAnimation = preload("res://source/match/utils/ResourceDecayAnimation.tscn") 4 | 5 | var radius: 6 | get: 7 | return find_child("MovementObstacle").radius 8 | var global_position_yless: 9 | get: 10 | return global_position * Vector3(1, 0, 1) 11 | 12 | 13 | func _enter_tree(): 14 | tree_exiting.connect(_animate_decay) 15 | 16 | 17 | func _animate_decay(): 18 | var decay_animation = ResourceDecayAnimation.instantiate() 19 | decay_animation.global_transform = global_transform 20 | get_parent().add_child.call_deferred(decay_animation) 21 | -------------------------------------------------------------------------------- /source/match/units/structure-geometries/AntiAirTurret.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://cm3iqdsdeo625"] 2 | 3 | [ext_resource type="PackedScene" uid="uid://bq2ttmmuk86ce" path="res://assets/models/kenney-spacekit/turret_double.glb" id="1_5u8o7"] 4 | 5 | [node name="Geometry" type="Node3D"] 6 | 7 | [node name="turret_double" parent="." instance=ExtResource("1_5u8o7")] 8 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -1.5) 9 | 10 | [node name="turret" parent="turret_double/tmpParent/turret_double2" index="0"] 11 | transform = Transform3D(1, 0, 0, 0, 0.866025, -0.5, 0, 0.5, 0.866025, 0, 0.3, -0.025) 12 | 13 | [editable path="turret_double"] 14 | -------------------------------------------------------------------------------- /source/match/units/structure-geometries/AntiGroundTurret.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://bmiqncjpgsw2e"] 2 | 3 | [ext_resource type="PackedScene" uid="uid://c6byun73jesch" path="res://assets/models/kenney-spacekit/turret_single.glb" id="1_h1t1o"] 4 | 5 | [node name="Geometry" type="Node3D"] 6 | 7 | [node name="turret_single" parent="." instance=ExtResource("1_h1t1o")] 8 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -1.5) 9 | 10 | [editable path="turret_single"] 11 | -------------------------------------------------------------------------------- /source/match/units/structure-geometries/VehicleFactory.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://inepf56pyube"] 2 | 3 | [ext_resource type="PackedScene" uid="uid://ju36oirvvb61" path="res://assets/models/kenney-spacekit/hangar_smallA.glb" id="1_5xn15"] 4 | 5 | [node name="Geometry" type="Node3D"] 6 | 7 | [node name="Transforms" type="Node3D" parent="."] 8 | transform = Transform3D(0.95, 0, 0, 0, 0.95, 0, 0, 0, 0.95, 0, 0, 0) 9 | 10 | [node name="hangar_smallA" parent="Transforms" instance=ExtResource("1_5xn15")] 11 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -2, 0, -1.5) 12 | -------------------------------------------------------------------------------- /source/match/units/traits/AirToTerrainMarker.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://b1r67ex7h3veu"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/AirToTerrainMarker.gd" id="1_w4abx"] 4 | [ext_resource type="Material" uid="uid://cyb6kpjqfdv1b" path="res://source/match/resources/materials/controlled_unit_air_to_terrain_marker.material.tres" id="2_c1nej"] 5 | 6 | [sub_resource type="CylinderMesh" id="CylinderMesh_ge34e"] 7 | top_radius = 0.05 8 | bottom_radius = 0.05 9 | height = 1.6 10 | 11 | [node name="AirToTerrainMarker" type="Node3D"] 12 | script = ExtResource("1_w4abx") 13 | 14 | [node name="MeshInstance3D" type="MeshInstance3D" parent="."] 15 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.8, 0) 16 | material_override = ExtResource("2_c1nej") 17 | mesh = SubResource("CylinderMesh_ge34e") 18 | -------------------------------------------------------------------------------- /source/match/units/traits/Highlight.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://cgsi062w5fjia"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/Highlight.gd" id="1_68q8u"] 4 | [ext_resource type="PackedScene" uid="uid://doixk58lw6coo" path="res://source/generic-scenes-and-nodes/3d/Circle3D.tscn" id="2_u8emv"] 5 | 6 | [node name="Highlight" type="Node3D"] 7 | script = ExtResource("1_68q8u") 8 | 9 | [node name="Circle3D" parent="." instance=ExtResource("2_u8emv")] 10 | width = 5.0 11 | render_priority = 1 12 | -------------------------------------------------------------------------------- /source/match/units/traits/Movement.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://ivlo0e66qocl"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/Movement.gd" id="1_15usw"] 4 | 5 | [node name="Movement" type="NavigationAgent3D"] 6 | avoidance_enabled = true 7 | max_neighbors = 1 8 | script = ExtResource("1_15usw") 9 | -------------------------------------------------------------------------------- /source/match/units/traits/MovementObstacle.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://d4cwip5hpxlmo"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/MovementObstacle.gd" id="1_myphg"] 4 | 5 | [node name="MovementObstacle" type="NavigationObstacle3D"] 6 | script = ExtResource("1_myphg") 7 | -------------------------------------------------------------------------------- /source/match/units/traits/ProductionQueue.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://cd3v6508vjcu3"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/ProductionQueue.gd" id="1_krjoq"] 4 | 5 | [node name="ProductionQueue" type="Node"] 6 | script = ExtResource("1_krjoq") 7 | -------------------------------------------------------------------------------- /source/match/units/traits/RotateRandomlyWhenLookingForTargetsIdle.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://cd66t0u7kf84j"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/RotateRandomlyWhenLookingForTargetsIdle.gd" id="1_rhsr3"] 4 | 5 | [node name="RotateRandomlyWhenLookingForTargetsIdle" type="Node"] 6 | script = ExtResource("1_rhsr3") 7 | 8 | [node name="Timer" type="Timer" parent="."] 9 | one_shot = true 10 | -------------------------------------------------------------------------------- /source/match/units/traits/Selection.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://3c1h14nqdumt"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/Selection.gd" id="1_be1f2"] 4 | [ext_resource type="PackedScene" uid="uid://ct3aeixgpxl65" path="res://source/generic-scenes-and-nodes/3d/FadedCircle3D.tscn" id="1_fvq0j"] 5 | 6 | [node name="Selection" type="Node3D"] 7 | script = ExtResource("1_be1f2") 8 | 9 | [node name="FadedCircle3D" parent="." instance=ExtResource("1_fvq0j")] 10 | inner_edge_width = 10.0 11 | render_priority = 1 12 | -------------------------------------------------------------------------------- /source/match/units/traits/Sparkling.gd: -------------------------------------------------------------------------------- 1 | extends Node3D 2 | 3 | const SparklingAnimation = preload("res://source/match/utils/SparklingAnimation.tscn") 4 | 5 | var _animation = null 6 | 7 | @onready var _unit = get_parent() 8 | 9 | 10 | func enable(): 11 | if not _animation == null: 12 | return 13 | _animation = SparklingAnimation.instantiate() 14 | _animation.transform.origin = Vector3( 15 | 0, 0, -_unit.radius - Constants.Match.Units.ADHERENCE_MARGIN_M 16 | ) 17 | add_child(_animation, true) 18 | 19 | 20 | func disable(): 21 | if _animation == null: 22 | return 23 | _animation.queue_free() 24 | _animation = null 25 | -------------------------------------------------------------------------------- /source/match/units/traits/Sparkling.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://cbbjmres24kgm"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/Sparkling.gd" id="1_tlqc1"] 4 | 5 | [node name="Sparkling" type="Node3D"] 6 | script = ExtResource("1_tlqc1") 7 | -------------------------------------------------------------------------------- /source/match/units/traits/Targetability.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://d4cm4yhtf11ur"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/Targetability.gd" id="1_75uog"] 4 | [ext_resource type="PackedScene" uid="uid://doixk58lw6coo" path="res://source/generic-scenes-and-nodes/3d/Circle3D.tscn" id="2_w8wca"] 5 | 6 | [node name="Targetability" type="Node3D"] 7 | script = ExtResource("1_75uog") 8 | 9 | [node name="Circle3D" parent="." instance=ExtResource("2_w8wca")] 10 | width = 5.0 11 | render_priority = 1 12 | -------------------------------------------------------------------------------- /source/match/units/traits/debug/ActionCaption.gd: -------------------------------------------------------------------------------- 1 | extends Label3D 2 | 3 | @onready var _unit = get_parent() 4 | 5 | 6 | func _ready(): 7 | _on_action_changed(_unit.action) 8 | _unit.action_changed.connect(_on_action_changed) 9 | _unit.action_updated.connect(_on_action_updated) 10 | 11 | 12 | func _on_action_changed(new_action): 13 | if new_action == null: 14 | text = "" 15 | else: 16 | text = str(new_action) 17 | 18 | 19 | func _on_action_updated(): 20 | text = str(_unit.action) 21 | -------------------------------------------------------------------------------- /source/match/units/traits/debug/ActionCaption.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=2 format=3 uid="uid://b80lnni2yfdyd"] 2 | 3 | [ext_resource type="Script" path="res://source/match/units/traits/debug/ActionCaption.gd" id="1_a3ucc"] 4 | 5 | [node name="ActionCaption" type="Label3D"] 6 | pixel_size = 0.0006 7 | billboard = 1 8 | no_depth_test = true 9 | fixed_size = true 10 | text = "" 11 | script = ExtResource("1_a3ucc") 12 | -------------------------------------------------------------------------------- /source/match/utils/MouseClickAnimation.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=3 format=3 uid="uid://c5e5tveu82hvk"] 2 | 3 | [ext_resource type="PackedScene" uid="uid://dpccgqxuja2b1" path="res://source/generic-scenes-and-nodes/3d/MouseClickAnimation3D.tscn" id="1_mk7wl"] 4 | [ext_resource type="Texture2D" uid="uid://c8tsarvah8jit" path="res://assets/ui/kenney-crosshairs/crosshair062.png" id="2_kyj8v"] 5 | 6 | [node name="MouseClickAnimation" instance=ExtResource("1_mk7wl")] 7 | 8 | [node name="Sprite3D" parent="." index="0"] 9 | texture = ExtResource("2_kyj8v") 10 | -------------------------------------------------------------------------------- /source/match/utils/ResourceDecayAnimation.gd: -------------------------------------------------------------------------------- 1 | extends Node3D 2 | 3 | @onready var _particles = find_child("GPUParticles3D") 4 | 5 | 6 | func _ready(): 7 | await get_tree().physics_frame # wait one frame for transform to propagate 8 | _particles.finished.connect(queue_free) 9 | _particles.emitting = true 10 | -------------------------------------------------------------------------------- /source/match/utils/SparklingAnimation.gd: -------------------------------------------------------------------------------- 1 | extends Node3D 2 | 3 | @onready var _particles = find_child("GPUParticles3D") 4 | 5 | 6 | func _ready(): 7 | await get_tree().physics_frame # wait one frame for transform to propagate 8 | _particles.emitting = true 9 | -------------------------------------------------------------------------------- /source/resources/main_menu.theme: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lampe-games/godot-open-rts/a628ad3bb6a9a903587a181a7ee3300dbf735e81/source/resources/main_menu.theme -------------------------------------------------------------------------------- /source/shaders/2d/blurr.gdshader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform float blurr_factor : hint_range(0.0, 10.0) = 2.0; 4 | uniform bool remove_alpha = true; 5 | uniform bool overlay = true; 6 | 7 | uniform sampler2D screen_texture : hint_screen_texture, filter_linear_mipmap; 8 | 9 | void fragment() 10 | { 11 | vec4 blurred_color; 12 | if (overlay) 13 | { 14 | blurred_color = textureLod(screen_texture, SCREEN_UV, blurr_factor); 15 | } 16 | else 17 | { 18 | blurred_color = textureLod(TEXTURE, UV, blurr_factor); 19 | } 20 | if (remove_alpha) 21 | { 22 | COLOR.rgb = blurred_color.rgb; 23 | } 24 | else 25 | { 26 | COLOR = blurred_color; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /source/shaders/2d/white_transparent.gdshader: -------------------------------------------------------------------------------- 1 | shader_type canvas_item; 2 | 3 | uniform sampler2D reference_texture : hint_default_white, repeat_disable; 4 | 5 | void fragment() 6 | { 7 | COLOR.a = 1.0 - textureLod(reference_texture, UV, 0.0).r; 8 | } 9 | -------------------------------------------------------------------------------- /source/shaders/3d/air_to_terrain_marker.gdshader: -------------------------------------------------------------------------------- 1 | shader_type spatial; 2 | render_mode unshaded; 3 | 4 | uniform vec4 albedo : source_color; 5 | uniform float invisible_height = 0.0; 6 | uniform float visible_height = 1.0; 7 | 8 | void fragment() 9 | { 10 | ALBEDO = albedo.rgb; 11 | vec4 model_vertex = inverse(MODEL_MATRIX) * INV_VIEW_MATRIX * vec4(VERTEX, 1.0); 12 | ALPHA = smoothstep(invisible_height, visible_height, model_vertex.y); 13 | } 14 | -------------------------------------------------------------------------------- /tests/manual/Match.gd: -------------------------------------------------------------------------------- 1 | extends "res://source/match/Match.gd" 2 | 3 | @export var allow_resources_deficit_spending = true 4 | 5 | 6 | func _ready(): 7 | find_child("MatchEndHandler").queue_free() 8 | FeatureFlags.allow_resources_deficit_spending = allow_resources_deficit_spending 9 | super() 10 | -------------------------------------------------------------------------------- /tests/manual/maps/NonQuadratic.tscn: -------------------------------------------------------------------------------- 1 | [gd_scene load_steps=4 format=3 uid="uid://d8wcem3ievht"] 2 | 3 | [ext_resource type="PackedScene" uid="uid://b7c1crf36x1li" path="res://source/match/Map.tscn" id="1_ame05"] 4 | [ext_resource type="Material" uid="uid://co8vfcoqqs5i8" path="res://source/match/resources/materials/terrain.material.tres" id="2_cl6u2"] 5 | 6 | [sub_resource type="PlaneMesh" id="PlaneMesh_0gpme"] 7 | resource_local_to_scene = true 8 | material = ExtResource("2_cl6u2") 9 | size = Vector2(104, 54) 10 | center_offset = Vector3(50, 0, 25) 11 | 12 | [node name="Map" instance=ExtResource("1_ame05")] 13 | size = Vector2(100, 50) 14 | 15 | [node name="Terrain" parent="Geometry" index="1"] 16 | mesh = SubResource("PlaneMesh_0gpme") 17 | 18 | [node name="Marker3D" type="Marker3D" parent="SpawnPoints" index="0"] 19 | transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 20, 0, 18) 20 | --------------------------------------------------------------------------------