Factorio HD Age: Modpack


This modpack bundles all of the Factorio HD Age mods for the Base Game and the Space Age DLC. It doesn't contain any content itself. It only references to the other Factorio HD Age mods as required dependencies. A total of at least 13 GB of VRAM is recommended.

Mod packs
a month ago
2.0
13.4K
Factorio: Space Age Icon Space Age Mod
Transportation Logistics Trains Combat Armor Enemies Environment Mining Fluids Logistic network Circuit network Power Storage

g Scaling of entity positions is breaking other mods

2 days ago
(updated 2 days ago)

Error

Failed to load mods: Error while loading entity prototype "aop-advanced-assembling-machine" (assembling-machine): PipeConnectionDefinition: position must be inside of entity bounding box. position={-1.000, -2.000}, leftTop={-1.949, -1.949}, rightBottom={1.949, 1.949}
Modifications: Age of Production › Factorio HD Age: Base Game - Logistics › Factorio HD Age: Base Game - Production › Bottleneck Lite › Exteros' QoL System › PlanetsLib

Posted on github: https://github.com/Ingo-Igel/Factorio_HD_Age_and_Factorio_QoL_Age/issues/2

Mod that breaks: https://mods.factorio.com/mod/Age-of-Production

Related: https://github.com/AndreusAxolotl/Age-of-Production/issues/54

Investigation

The v2.0.0 "new faster loading method" introduced a bug affecting mods with machines that have edge pipe connections (like Age of Production).

Cause: In texture-loading.lua (in both logistics and production mod modules), the adjustDataDotRaw() function scales ALL position fields found in tables containing .png paths:

local pos = pathed_data["position"]
if type(pos) == "table" and type(pos[1]) == "number" and type(pos[2]) == "number" then
    pathed_data["position"] = { floor(pos[1] * val_sf), floor(pos[2] * val_sf) }
end

Since v2.0.0 now traverses all of data.raw (including modded entities), this can inadvertently modify pipe connection positions when mods reference base game pipe graphics.

Suggested fix: Add a path check to skip scaling position fields inside fluid_boxes or pipe_connections structures, as these are entity positions, not texture sprite positions.

22 hours ago
(updated 11 hours ago)

Hi, I'm trying to reproduce the error, but I can't seem to do so.
When all the listet Mods.

Modifications: Age of Production › Factorio HD Age: Base Game - Logistics › Factorio HD Age: Base Game - Production › Bottleneck Lite › Exteros' QoL System › PlanetsLib

The machine that appears in your error message is displayed in the game as follows:

As I assumed, the textures of the pipe connections are now being displayed in HD and in the correct positions.
What you mention as a possible cause of the error is intentional, since the texture of the pipe connections is also loaded in HD in the same way.
I suspect that, for whatever reason, another mod changed the positions afterwards and that it is not due to Age of Production or my HD mods, or a combination of all three.

To help me narrow down the cause of the error, could you please list all mods that were active when the error message appears?
It would also be helpful, if you could perform a counter-test by activating only the mods listed in the error message to see if the error still occurs.

13 hours ago

Hey, thanks for the response.

Here's the list in the order they are loaded in the logs.

belt-visualizer 2.0.2
OilOutpostPlanner 1.6.7
AutoDeconstruct 1.0.10
Automatic_Train_Painter 2.0.1
AutoSwitchTechs 1.8.1
BeltThreadUpgrades 1.4.4
DiscoScience 2.0.1
even-distribution 2.0.2
factorio_hd_age_base_game_base 2.0.0
factorio_hd_age_base_game_decorative 2.0.0
factorio_hd_age_base_game_enemies_nauvis 2.0.0
factorio_hd_age_base_game_logistics 2.0.0
factorio_hd_age_base_game_military 2.0.0
factorio_hd_age_base_game_production 2.0.0
factorio_hd_age_base_game_railway 2.0.0
factorio_hd_age_base_game_terrain_nauvis 2.0.0
FilterHelper 0.2.22
informatron 0.4.0
inventory-repair 20.0.3
light-overhaul 0.2.2
mining-patch-planner 1.7.14
nixie-tubes 2.0.9
RailSignalPlanner 2.0.3
RealisticReactorGlow 1.200.7
Shortcuts-ick 2.0.7
train-trails 1.1.1
Warehousing 1.0.3
BottleneckLite 1.3.4
circuit_visualizer 2.0.2
factorio_hd_age_elevated_rails 2.0.0
factorio_hd_age_modpack_base_game_only 2.0.0
factorio_hd_age_modpack_base_game_optional 2.0.0
factorio_hd_age_quality 2.0.0
nanobots-refined 4.0.6
PipeVisualizer-Updated 2.4.4
RateCalculator 3.3.7
Accumulator-V2 1.0.6
comfortable-loader 1.4.2
EditorExtensions 2.5.2
electric-tiles 1.2.10
Exteros-QoL-System 0.1.4
factorio_hd_age_space_age_base 2.0.0
factorio_hd_age_space_age_decorative 2.0.0
factorio_hd_age_space_age_enemies_gleba 2.0.0
factorio_hd_age_space_age_enemies_vulcanus 2.0.0
factorio_hd_age_space_age_logistics 2.0.0
factorio_hd_age_space_age_military 2.0.0
factorio_hd_age_space_age_production 2.0.0
factorio_hd_age_space_age_terrain_aquilo 2.0.0
factorio_hd_age_space_age_terrain_fulgora 2.0.0
factorio_hd_age_space_age_terrain_gleba 2.0.0
factorio_hd_age_space_age_terrain_vulcanus 1.1.2
galore_lib 1.6.2
logistics-insights 1.0.9
no-minimap-on-platforms 1.0.3
PlanetsLib 1.15.1
Better_Starmap_Background 2.2.0
blueprint-sandboxes 3.2.2
SolarMatrix 1.0.6
vanilla_galore_continued 1.2.6
visible-planets 1.6.1
space_age_galore 1.5.6
Age-of-Production 1.8.0
factorio_hd_age_modpack 2.0.0
factorio_hd_age_modpack_optional 2.0.0
13 hours ago

I suspected it was probably something related to squeak through (within Exteros' QoL System) given that seemed like the most likely mod to mess with things. I disabled that mod and it started working. I wonder why it doesn't work with your minimal setup of mods though.

11 hours ago

Thanks for the list! I'll take a look at it tomorrow.

Based on what you've found and the mods you're using, I'd also guess that it's the Exteros QoL system, where values are being changed by overwriting them with absolute values rather than modifying them by a factor.

I don't know why this doesn't cause any errors in my minimal test, but I suppose some settings could influence it.

New response