Merge remote-tracking branch 'origin/v9' into v9

This commit is contained in:
Anuken
2026-09-12 12:30:52 -04:00
42 changed files with 76 additions and 4 deletions
+1
View File
@@ -534,6 +534,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Перамяшчэнне па X
editor.shifty = Перамяшчэнне па Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Избор на планета
editor.shiftx = Наклони по X
editor.shifty = Наклони по Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Selecció de planeta
editor.shiftx = Desplaça en l’eix X
editor.shifty = Desplaça en l’eix Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Výběr planety
editor.shiftx = Posun X
editor.shifty = Posun Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Verschieben X
editor.shifty = Verschieben Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Priorizar: Por Nombre
editor.filters.prioritize.custom = Priorizar: Personalizados
editor.filters.prioritize.builtin = Priorizar: Integrados
editor.filters.prioritize.recent = Priorizar: Modificado Recientemente
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Selección del Planeta
editor.shiftx = Trasladar X
editor.shifty = Trasladar Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Siirrä X-akselin suunnassa
editor.shifty = Siirrä Y-akselin suunnassa
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift ang X
editor.shifty = Shift ang Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Priorité : Nom
editor.filters.prioritize.custom = Priorité : cartes personnalisées
editor.filters.prioritize.builtin = Priorité : cartes intégrées
editor.filters.prioritize.recent = Priorité : Modifiés récemment
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Sélection de planète
editor.shiftx = Décalage X
editor.shifty = Décalage Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Előnyben részesítés: Név szerint
editor.filters.prioritize.custom = Előnyben részesítés: Egyénileg készítettek szerint
editor.filters.prioritize.builtin = Előnyben részesítés: Beépítettek szerint
editor.filters.prioritize.recent = Előnyben részesítés: Utoljára módosítottak szerint
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Bolygóválasztás
editor.shiftx = X-eltolás
editor.shifty = Y-eltolás
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritas: Nama
editor.filters.prioritize.custom = Prioritas: Kustom
editor.filters.prioritize.builtin = Prioritas: Bawaan
editor.filters.prioritize.recent = Prioritas: Baru saja disunting
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Pemilihan Planet
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Sposta X
editor.shifty = Sposta Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = 惑星の選択
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = X축 밀기
editor.shifty = Y축 밀기
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Przesunięcie X
editor.shifty = Przesunięcie Y
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Deslocar X
editor.shifty = Deslocar Y
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Mover no eixo X
editor.shifty = Mover no eixo Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Приоритет: По алфавиту
editor.filters.prioritize.custom = Приоритет: Пользовательские
editor.filters.prioritize.builtin = Приоритет: Встроенные
editor.filters.prioritize.recent = Приоритет: Недавно изменённые
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Выбор планеты
editor.shiftx = Сдвиг по X
editor.shifty = Сдвиг по Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Pomeri X
editor.shifty = Pomeri Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = จัดความสำคัญ: ชื่
editor.filters.prioritize.custom = จัดความสำคัญ: กำหนดเอง
editor.filters.prioritize.builtin = จัดความสำคัญ: ค่าเริ่มต้น
editor.filters.prioritize.recent = จัดความสำคัญ: แก้ไขล่าสุด
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = เลือกดาวเคราะห์
editor.shiftx = เลื่อน X
editor.shifty = เลื่อน Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = Shift X
editor.shifty = Shift Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Planet Selection
editor.shiftx = X Ekseninde Kaydır
editor.shifty = Y Ekseninde Kaydır
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Планети
editor.shiftx = Зміщення за віссю X
editor.shifty = Зміщення за віссю Y
+1
View File
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = Chọn Hành Tinh
editor.shiftx = Dịch theo X
editor.shifty = Dịch theo Y
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = 优先级:名称
editor.filters.prioritize.custom = 优先级:自定义
editor.filters.prioritize.builtin = 优先级:内置
editor.filters.prioritize.recent = 优先级:最近修改
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = 选择星球
editor.shiftx = X 轴平移
editor.shifty = Y 轴平移
@@ -529,6 +529,7 @@ editor.filters.prioritize.name = Prioritize: Name
editor.filters.prioritize.custom = Prioritize: Custom
editor.filters.prioritize.builtin = Prioritize: Built-In
editor.filters.prioritize.recent = Prioritize: Recently Modified
editor.filters.prioritize.played = Prioritize: Recently Played
editor.filters.planetselect = 行星選擇
editor.shiftx = X位移
editor.shifty = Y位移
+16
View File
@@ -118,6 +118,22 @@ public class Fx{
Draw.scl = p;
}),
//water equivalent of wreck decals - Effect.decal() doesn't render on liquids
unitDrown = new Effect(3600f, e -> {
if(!(e.data instanceof TextureRegion reg)) return;
Draw.z(Layer.scorch);
mixcol(e.color, 1f);
alpha(0.85f * (1f - Mathf.curve(e.fin(), 0.98f)));
rect(reg, e.x, e.y, e.rotation);
reset();
//small ripples drifting over the debris, so the water still reads as moving on top of it
if(Mathf.chanceDelta(0.02f)){
Fx.ripple.at(e.x + Mathf.range(reg.width / 3f), e.y + Mathf.range(reg.height / 3f), 0.6f, e.color);
}
}),
unitSpirit = new Effect(17f, e -> {
if(!(e.data instanceof Position to)) return;
+3
View File
@@ -440,6 +440,9 @@ public class Control implements ApplicationListener, Loadable{
if(settings.getBool("savecreate") && !world.isInvalidMap() && !playtest){
control.saves.addSave(map.name() + " " + new SimpleDateFormat("MMM dd h:mm", Locale.getDefault()).format(new Date()));
}
if(!world.isInvalidMap() && !playtest){
map.setLastPlayed();
}
Events.fire(Trigger.newGame);
//booted out of map, resume editing
+1
View File
@@ -108,6 +108,7 @@ public class Logic implements ApplicationListener{
state.rules.allowEditRules = false;
state.rules.allowEditWorldProcessors = false;
state.rules.worldProcessorPlayerLink = false;
state.rules.logicUnitDeconstruct = true;
if(state.getPlanet().enemyInfiniteItems){
state.rules.waveTeam.rules().infiniteResources = true;
+10 -1
View File
@@ -929,11 +929,20 @@ abstract class UnitComp implements Healthc, Physicsc, Hitboxc, Statusc, Teamc, I
}
if(!headless && type.createScorch){
Tile deathTile = world.tileWorld(x, y);
//decals don't render on liquids, so wreckage sinks instead of leaving a mark on top
boolean sinks = deathTile != null && !deathTile.floor().hasSurface();
Color sinkColor = sinks ? deathTile.floor().mapColor : null;
for(int i = 0; i < type.wreckRegions.length; i++){
if(type.wreckRegions[i].found()){
float range = type.hitSize /4f;
Tmp.v1.rnd(range);
Effect.decal(type.wreckRegions[i], x + Tmp.v1.x, y + Tmp.v1.y, rotation - 90);
if(sinks){
Fx.unitDrown.at(x + Tmp.v1.x, y + Tmp.v1.y, rotation - 90, sinkColor, type.wreckRegions[i]);
}else{
Effect.decal(type.wreckRegions[i], x + Tmp.v1.x, y + Tmp.v1.y, rotation - 90);
}
}
}
}
+8
View File
@@ -83,6 +83,14 @@ public class Map implements Comparable<Map>, Publishable{
Core.settings.put("hiscore" + file.nameWithoutExtension() + tags.get("steamid", ""), score);
}
public long getLastPlayed(){
return Core.settings.getLong("lastplayed" + file.nameWithoutExtension() + tags.get("steamid", ""), 0);
}
public void setLastPlayed(){
Core.settings.put("lastplayed" + file.nameWithoutExtension() + tags.get("steamid", ""), Time.millis());
}
/** Returns the result of applying this map's rules to the specified gamemode.*/
public Rules applyRules(Gamemode mode){
//mode specific defaults have been applied
@@ -44,7 +44,8 @@ public abstract class MapListDialog extends BaseDialog{
name(Structs.comparing(Map::name)),
custom(Structs.comps(Structs.comparingBool(m -> !m.custom), Structs.comparingLong(m -> -m.file.lastModified()))),
builtin(Structs.comps(Structs.comparingBool(m -> m.custom), Structs.comparingLong(m -> -m.file.lastModified()))),
recent(Structs.comps(Structs.comparingLong(m -> -m.file.lastModified()), Structs.comparing(Map::name)));
recent(Structs.comps(Structs.comparingLong(m -> -m.file.lastModified()), Structs.comparing(Map::name))),
played(Structs.comps(Structs.comparingLong(m -> -m.getLastPlayed()), Structs.comparing(Map::name)));
final Comparator<Map> comparator;
@@ -254,7 +255,7 @@ public abstract class MapListDialog extends BaseDialog{
tab.table(t -> {
t.add("@editor.filters.priorities").padBottom(6f).row();
t.table(Tex.button, right -> {
TextureRegionDrawable[] icons = {Icon.fileText, Icon.players, Icon.hammer, Icon.play};
TextureRegionDrawable[] icons = {Icon.fileText, Icon.players, Icon.hammer, Icon.play, Icon.eyeSmall};
for(int i = 0; i < MapPriority.all.length; i++){
var prio = MapPriority.all[i];
@@ -54,7 +54,6 @@ public class GenericCrafter extends Block{
super(name);
update = true;
solid = true;
hasItems = true;
ambientSound = Sounds.loopMachine;
sync = true;
ambientSoundVolume = 0.03f;