8
.gitignore
vendored
8
.gitignore
vendored
@@ -19,7 +19,6 @@ logs/
|
|||||||
/annotations/out/
|
/annotations/out/
|
||||||
/net/build/
|
/net/build/
|
||||||
/tools/build/
|
/tools/build/
|
||||||
/core/build/
|
|
||||||
/tests/build/
|
/tests/build/
|
||||||
/server/build/
|
/server/build/
|
||||||
changelog
|
changelog
|
||||||
@@ -143,13 +142,6 @@ nb-configuration.xml
|
|||||||
/local.properties
|
/local.properties
|
||||||
.gradle/
|
.gradle/
|
||||||
gradle-app.setting
|
gradle-app.setting
|
||||||
/build/
|
|
||||||
/android/build/
|
|
||||||
/core/build/
|
|
||||||
/desktop/build/
|
|
||||||
/html/build/
|
|
||||||
/ios/build/
|
|
||||||
/ios-moe/build/
|
|
||||||
|
|
||||||
## OS Specific
|
## OS Specific
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
|||||||
@@ -115,12 +115,12 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||||||
return ClassName.get(c).box();
|
return ClassName.get(c).box();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TypeVariableName getTVN(TypeParameterElement element) {
|
public static TypeVariableName getTVN(TypeParameterElement element){
|
||||||
String name = element.getSimpleName().toString();
|
String name = element.getSimpleName().toString();
|
||||||
List<? extends TypeMirror> boundsMirrors = element.getBounds();
|
List<? extends TypeMirror> boundsMirrors = element.getBounds();
|
||||||
|
|
||||||
List<TypeName> boundsTypeNames = new ArrayList<>();
|
List<TypeName> boundsTypeNames = new ArrayList<>();
|
||||||
for (TypeMirror typeMirror : boundsMirrors) {
|
for (TypeMirror typeMirror : boundsMirrors){
|
||||||
boundsTypeNames.add(TypeName.get(typeMirror));
|
boundsTypeNames.add(TypeName.get(typeMirror));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,11 +137,11 @@ public abstract class BaseProcessor extends AbstractProcessor{
|
|||||||
if(imports != null){
|
if(imports != null){
|
||||||
String rawSource = file.toString();
|
String rawSource = file.toString();
|
||||||
Seq<String> result = new Seq<>();
|
Seq<String> result = new Seq<>();
|
||||||
for (String s : rawSource.split("\n", -1)) {
|
for(String s : rawSource.split("\n", -1)){
|
||||||
result.add(s);
|
result.add(s);
|
||||||
if (s.startsWith("package ")) {
|
if (s.startsWith("package ")){
|
||||||
result.add("");
|
result.add("");
|
||||||
for (String i : imports) {
|
for (String i : imports){
|
||||||
result.add(i);
|
result.add(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,12 +27,12 @@ uniform vec3 u_rcampos;
|
|||||||
uniform mat4 u_invproj;
|
uniform mat4 u_invproj;
|
||||||
uniform vec3 u_light;
|
uniform vec3 u_light;
|
||||||
|
|
||||||
vec2 rayIntersection(vec3 p, vec3 dir, float radius) {
|
vec2 rayIntersection(vec3 p, vec3 dir, float radius){
|
||||||
float b = dot(p, dir);
|
float b = dot(p, dir);
|
||||||
float c = dot(p, p) - radius * radius;
|
float c = dot(p, p) - radius * radius;
|
||||||
|
|
||||||
float d = b * b - c;
|
float d = b * b - c;
|
||||||
if (d < 0.0) {
|
if(d < 0.0){
|
||||||
return vec2(MAX, -MAX);
|
return vec2(MAX, -MAX);
|
||||||
}
|
}
|
||||||
d = sqrt(d);
|
d = sqrt(d);
|
||||||
@@ -43,7 +43,7 @@ vec2 rayIntersection(vec3 p, vec3 dir, float radius) {
|
|||||||
return vec2(near, far);
|
return vec2(near, far);
|
||||||
}
|
}
|
||||||
|
|
||||||
float miePhase(float g, float c, float cc) {
|
float miePhase(float g, float c, float cc){
|
||||||
float gg = g * g;
|
float gg = g * g;
|
||||||
|
|
||||||
float a = (1.0 - gg) * (1.0 + cc);
|
float a = (1.0 - gg) * (1.0 + cc);
|
||||||
@@ -55,20 +55,20 @@ float miePhase(float g, float c, float cc) {
|
|||||||
return 1.5 * a / b;
|
return 1.5 * a / b;
|
||||||
}
|
}
|
||||||
|
|
||||||
float rayleighPhase(float cc) {
|
float rayleighPhase(float cc){
|
||||||
return 0.75 * (1.0 + cc);
|
return 0.75 * (1.0 + cc);
|
||||||
}
|
}
|
||||||
|
|
||||||
float density(vec3 p) {
|
float density(vec3 p){
|
||||||
return exp(-(length(p) - u_innerRadius) * (4.0 / (u_outerRadius - u_innerRadius)));
|
return exp(-(length(p) - u_innerRadius) * (4.0 / (u_outerRadius - u_innerRadius)));
|
||||||
}
|
}
|
||||||
|
|
||||||
float optic(vec3 p, vec3 q) {
|
float optic(vec3 p, vec3 q){
|
||||||
vec3 step = (q - p) / fNumOutScatter;
|
vec3 step = (q - p) / fNumOutScatter;
|
||||||
vec3 v = p + step * 0.5;
|
vec3 v = p + step * 0.5;
|
||||||
|
|
||||||
float sum = 0.0;
|
float sum = 0.0;
|
||||||
for (int i = 0; i < numOutScatter; i++) {
|
for(int i = 0; i < numOutScatter; i++){
|
||||||
sum += density(v);
|
sum += density(v);
|
||||||
v += step;
|
v += step;
|
||||||
}
|
}
|
||||||
@@ -76,7 +76,7 @@ float optic(vec3 p, vec3 q) {
|
|||||||
return sum;
|
return sum;
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 inScatter(vec3 o, vec3 dir, vec2 e, vec3 l) {
|
vec3 inScatter(vec3 o, vec3 dir, vec2 e, vec3 l){
|
||||||
float len = (e.y - e.x) / fNumInScatter;
|
float len = (e.y - e.x) / fNumInScatter;
|
||||||
vec3 step = dir * len;
|
vec3 step = dir * len;
|
||||||
vec3 p = o + dir * e.x;
|
vec3 p = o + dir * e.x;
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ bool cont(vec2 T, vec2 v){
|
|||||||
id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base));
|
id(T + vec2(step, 0) * v, base) || id(T + vec2(-step, 0) * v, base));
|
||||||
}
|
}
|
||||||
|
|
||||||
void main() {
|
void main(){
|
||||||
|
|
||||||
vec2 t = v_texCoords.xy;
|
vec2 t = v_texCoords.xy;
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ uniform mat4 u_trans;
|
|||||||
varying vec4 v_col;
|
varying vec4 v_col;
|
||||||
varying vec4 v_position;
|
varying vec4 v_position;
|
||||||
|
|
||||||
void main() {
|
void main(){
|
||||||
gl_Position = u_proj * u_trans * a_position;
|
gl_Position = u_proj * u_trans * a_position;
|
||||||
v_col = a_color;
|
v_col = a_color;
|
||||||
v_position = a_position;
|
v_position = a_position;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ bool cont(vec2 T, vec2 v){
|
|||||||
id(T + vec2(step, -step) * v, base) || id(T + vec2(-step, step) * v, base));
|
id(T + vec2(step, -step) * v, base) || id(T + vec2(-step, step) * v, base));
|
||||||
}
|
}
|
||||||
|
|
||||||
void main() {
|
void main(){
|
||||||
vec2 coords = (v_texCoords.xy - u_uv) / (u_uv2 - u_uv);
|
vec2 coords = (v_texCoords.xy - u_uv) / (u_uv2 - u_uv);
|
||||||
vec2 t = v_texCoords.xy;
|
vec2 t = v_texCoords.xy;
|
||||||
vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y);
|
vec2 v = vec2(1.0/u_texsize.x, 1.0/u_texsize.y);
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ public abstract class BulletType extends Content{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void hitTile(Bullet b, Building tile, float initialHealth){
|
public void hitTile(Bullet b, Building tile, float initialHealth){
|
||||||
if(makeFire) {
|
if(makeFire){
|
||||||
Fires.create(tile.tile);
|
Fires.create(tile.tile);
|
||||||
}
|
}
|
||||||
hit(b);
|
hit(b);
|
||||||
@@ -249,7 +249,7 @@ public abstract class BulletType extends Content{
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void init(Bullet b){
|
public void init(Bullet b){
|
||||||
if(pierceCap >= 1) {
|
if(pierceCap >= 1){
|
||||||
pierce = true;
|
pierce = true;
|
||||||
//pierceBuilding is not enabled by default, because a bullet may want to *not* pierce buildings
|
//pierceBuilding is not enabled by default, because a bullet may want to *not* pierce buildings
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -142,7 +142,7 @@ abstract class BulletComp implements Timedc, Damagec, Hitboxc, Teamc, Posc, Draw
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if(type.pierceCap != -1 && collided.size >= type.pierceCap) {
|
if(type.pierceCap != -1 && collided.size >= type.pierceCap){
|
||||||
remove();
|
remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ public class LoadRenderer implements Disposable{
|
|||||||
new Bar("s_proc#", OS.cores / 16f, OS.cores < 4),
|
new Bar("s_proc#", OS.cores / 16f, OS.cores < 4),
|
||||||
new Bar("c_aprog", () -> assets != null, () -> assets.getProgress(), () -> false),
|
new Bar("c_aprog", () -> assets != null, () -> assets.getProgress(), () -> false),
|
||||||
new Bar("g_vtype", graphics.getGLVersion().type == Type.GLES ? 0.5f : 1f, graphics.getGLVersion().type == Type.GLES),
|
new Bar("g_vtype", graphics.getGLVersion().type == Type.GLES ? 0.5f : 1f, graphics.getGLVersion().type == Type.GLES),
|
||||||
new Bar("s_mem#", () -> true, () -> Core.app.getJavaHeap() / 1024f / 1024f / 200f, () -> Core.app.getJavaHeap() > 1024*1024*110),
|
new Bar("s_mem#", () -> true, () -> Core.app.getJavaHeap() / 1024f / 1024f / 200f, () -> Core.app.getJavaHeap() > 1024 * 1024 * 110),
|
||||||
new Bar("v_ver#", () -> Version.build != 0, () -> Version.build == -1 ? 0.3f : (Version.build - 103f) / 10f, () -> !Version.modifier.equals("release")),
|
new Bar("v_ver#", () -> Version.build != 0, () -> Version.build == -1 ? 0.3f : (Version.build - 103f) / 10f, () -> !Version.modifier.equals("release")),
|
||||||
new Bar("s_osv", OS.isWindows ? 0.35f : OS.isLinux ? 0.9f : OS.isMac ? 0.5f : 0.2f, OS.isMac),
|
new Bar("s_osv", OS.isWindows ? 0.35f : OS.isLinux ? 0.9f : OS.isMac ? 0.5f : 0.2f, OS.isMac),
|
||||||
new Bar("v_worlds#", () -> Vars.control != null && Vars.control.saves != null, () -> Vars.control.saves.getSaveSlots().size / 30f, () -> Vars.control.saves.getSaveSlots().size > 30),
|
new Bar("v_worlds#", () -> Vars.control != null && Vars.control.saves != null, () -> Vars.control.saves.getSaveSlots().size / 30f, () -> Vars.control.saves.getSaveSlots().size > 30),
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ public class DatabaseDialog extends BaseDialog{
|
|||||||
UnlockableContent unlock = (UnlockableContent)array.get(i);
|
UnlockableContent unlock = (UnlockableContent)array.get(i);
|
||||||
|
|
||||||
Image image = unlocked(unlock) ? new Image(unlock.icon(Cicon.medium)).setScaling(Scaling.fit) : new Image(Icon.lock, Pal.gray);
|
Image image = unlocked(unlock) ? new Image(unlock.icon(Cicon.medium)).setScaling(Scaling.fit) : new Image(Icon.lock, Pal.gray);
|
||||||
list.add(image).size(8*4).pad(3);
|
list.add(image).size(8 * 4).pad(3);
|
||||||
ClickListener listener = new ClickListener();
|
ClickListener listener = new ClickListener();
|
||||||
image.addListener(listener);
|
image.addListener(listener);
|
||||||
if(!Vars.mobile && unlocked(unlock)){
|
if(!Vars.mobile && unlocked(unlock)){
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ public class PlanetDialog extends BaseDialog implements PlanetInterfaceRenderer{
|
|||||||
//planet selection
|
//planet selection
|
||||||
new Table(t -> {
|
new Table(t -> {
|
||||||
t.right();
|
t.right();
|
||||||
if(content.planets().count(p -> p.accessible) > 1) {
|
if(content.planets().count(p -> p.accessible) > 1){
|
||||||
t.table(Styles.black6, pt -> {
|
t.table(Styles.black6, pt -> {
|
||||||
//TODO localize
|
//TODO localize
|
||||||
pt.add("[accent]Planets[]");
|
pt.add("[accent]Planets[]");
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ public class PlacementFragment extends Fragment{
|
|||||||
|
|
||||||
for(int i = 0; i < blockSelect.length; i++){
|
for(int i = 0; i < blockSelect.length; i++){
|
||||||
if(Core.input.keyTap(blockSelect[i])){
|
if(Core.input.keyTap(blockSelect[i])){
|
||||||
if(i > 9) { //select block directionally
|
if(i > 9){ //select block directionally
|
||||||
Seq<Block> blocks = getUnlockedByCategory(currentCategory);
|
Seq<Block> blocks = getUnlockedByCategory(currentCategory);
|
||||||
Block currentBlock = getSelectedBlock(currentCategory);
|
Block currentBlock = getSelectedBlock(currentCategory);
|
||||||
for(int j = 0; j < blocks.size; j++){
|
for(int j = 0; j < blocks.size; j++){
|
||||||
|
|||||||
@@ -110,7 +110,7 @@ public class TractorBeamTurret extends BaseTurret{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float efficiency() {
|
public float efficiency(){
|
||||||
return super.efficiency() * coolant;
|
return super.efficiency() * coolant;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public class ArmoredConveyor extends Conveyor{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock) {
|
public boolean blends(Tile tile, int rotation, int otherx, int othery, int otherrot, Block otherblock){
|
||||||
return otherblock.outputsItems() && blendsArmored(tile, rotation, otherx, othery, otherrot, otherblock);
|
return otherblock.outputsItems() && blendsArmored(tile, rotation, otherx, othery, otherrot, otherblock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -254,7 +254,7 @@ public class Conveyor extends Block implements Autotiler{
|
|||||||
noSleep();
|
noSleep();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean pass(Item item) {
|
public boolean pass(Item item){
|
||||||
if(next != null && next.team == team && next.acceptItem(this, item)){
|
if(next != null && next.team == team && next.acceptItem(this, item)){
|
||||||
next.handleItem(this, item);
|
next.handleItem(this, item);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -433,7 +433,7 @@ public class LogicBlock extends Block{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawSelect() {
|
public void drawSelect(){
|
||||||
Groups.unit.each(u -> u.controller() instanceof LogicAI ai && ai.controller == this, unit -> {
|
Groups.unit.each(u -> u.controller() instanceof LogicAI ai && ai.controller == this, unit -> {
|
||||||
Drawf.square(unit.x, unit.y, unit.hitSize, unit.rotation + 45);
|
Drawf.square(unit.x, unit.y, unit.hitSize, unit.rotation + 45);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ public class PowerDiode extends Block{
|
|||||||
float frontStored = frontGraph.getBatteryStored() / frontGraph.getTotalBatteryCapacity();
|
float frontStored = frontGraph.getBatteryStored() / frontGraph.getTotalBatteryCapacity();
|
||||||
|
|
||||||
// try to send if the back side has more % capacity stored than the front side
|
// try to send if the back side has more % capacity stored than the front side
|
||||||
if(backStored > frontStored) {
|
if(backStored > frontStored){
|
||||||
// send half of the difference
|
// send half of the difference
|
||||||
float amount = backGraph.getBatteryStored() * (backStored - frontStored) / 2;
|
float amount = backGraph.getBatteryStored() * (backStored - frontStored) / 2;
|
||||||
// prevent sending more than the front can handle
|
// prevent sending more than the front can handle
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class Pump extends LiquidBlock{
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawPlace(int x, int y, int rotation, boolean valid) {
|
public void drawPlace(int x, int y, int rotation, boolean valid){
|
||||||
Tile tile = world.tile(x, y);
|
Tile tile = world.tile(x, y);
|
||||||
if(tile == null) return;
|
if(tile == null) return;
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class Reconstructor extends UnitBlock{
|
|||||||
stats.add(Stat.output, table -> {
|
stats.add(Stat.output, table -> {
|
||||||
table.row();
|
table.row();
|
||||||
for(var upgrade : upgrades){
|
for(var upgrade : upgrades){
|
||||||
float size = 8*3;
|
float size = 8 * 3;
|
||||||
if(upgrade[0].unlockedNow() && upgrade[1].unlockedNow()){
|
if(upgrade[0].unlockedNow() && upgrade[1].unlockedNow()){
|
||||||
table.image(upgrade[0].icon(Cicon.small)).size(size).padRight(4).padLeft(10).scaling(Scaling.fit).right();
|
table.image(upgrade[0].icon(Cicon.small)).size(size).padRight(4).padLeft(10).scaling(Scaling.fit).right();
|
||||||
table.add(upgrade[0].localizedName).left();
|
table.add(upgrade[0].localizedName).left();
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ task copyAssets(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
delete{
|
delete{
|
||||||
delete fileTree('assets') {
|
delete fileTree('assets'){
|
||||||
include '**/*.ogg'
|
include '**/*.ogg'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -554,7 +554,7 @@ public class ApplicationTests{
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
void allBlockTest(){
|
void allBlockTest(){
|
||||||
Tiles tiles = world.resize(256*3 + 20, 10);
|
Tiles tiles = world.resize(256 * 3 + 20, 10);
|
||||||
|
|
||||||
world.beginMapLoad();
|
world.beginMapLoad();
|
||||||
for(int x = 0; x < tiles.width; x++){
|
for(int x = 0; x < tiles.width; x++){
|
||||||
|
|||||||
Reference in New Issue
Block a user