Skip to content

Resolve whole-fork modularization findings - #481

Merged
Jackriip merged 11 commits into
masterfrom
fix/full-modularization
Oct 17, 2026
Merged

Jackriip merged 11 commits into
masterfrom
fix/full-modularization

Conversation

@Jackriip

@Jackriip Jackriip commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

Master's modularization check still finds 503 problems across the fork. Some are Voidcrew code written inside tg files. The rest are Voidcrew edits to tg files whose VOIDCREW EDIT markers are missing, unpaired or in the wrong place. This clears all of them, so the check now passes on the whole fork, not only on new changes. It also fixes the ship data siphon's window, which could not open. Nothing else changes in play.

What changes

Voidcrew code moved out of tg files. Standalone Voidcrew procs, overrides, variables and constants that were still written inside tg files now live in new files under voidcrew/. The tg files keep only the calls and values that have to stay there.

Fork files moved out of tg folders.

  • The ship purchase economy database, transaction helpers and admin verbs, and the legacy shuttle panel, move under voidcrew/modules/.
  • The prisoner photo test, plus two Voidcrew tests split out of tg test files, move to voidcrew/modules/unit_tests/.
  • The five planet maps move from _maps/map_files/voidcrew/ to _maps/voidcrew/planets/.
  • The ship data siphon window, the ship categories preferences page and the window layout test move into tgui/packages/voidcrew_tgui/. The modular ship setup panel of the shuttle manipulator becomes its own ModularShipConfig component.

Markers on the hooks that stay. Tg files that keep a Voidcrew hook get their missing markers added and their unpaired START/END markers fixed. Markers that sat inside multi-line macros move outside them.

Fixed. The ship data siphon's window was in a folder the interface loader never searches, so the console could not open it. It now sits with the other Voidcrew interfaces.

Why it's good for the game

Voidcrew code in its own folders, with every remaining hook marked, keeps tg merges small and makes fork changes easy to find. With the whole fork clean, the modularization check flags only new problems.

Upstream tg files touched (309)
  • code/__DEFINES/admin.dm
  • code/__DEFINES/dcs/signals/signals_atom/signals_atom_movement.dm
  • code/__DEFINES/explosions.dm
  • code/__DEFINES/reagents.dm
  • code/__DEFINES/tgs.dm
  • code/__DEFINES/wiremod.dm
  • code/__HELPERS/_lists.dm
  • code/__HELPERS/areas.dm
  • code/__HELPERS/logging/attack.dm
  • code/__HELPERS/logging/mob.dm
  • code/__HELPERS/paths/jps.dm
  • code/__HELPERS/priority_announce.dm
  • code/__HELPERS/radiation.dm
  • code/__HELPERS/shuttle.dm
  • code/_globalvars/logging.dm
  • code/_onclick/click.dm
  • code/_onclick/hud/alert.dm
  • code/_onclick/hud/blob_overmind.dm
  • code/_onclick/hud/hud.dm
  • code/_onclick/hud/human.dm
  • code/_onclick/hud/new_player.dm
  • code/_onclick/hud/parallax/parallax.dm
  • code/_onclick/hud/rendering/plane_master_group.dm
  • code/_onclick/hud/rendering/plane_masters/_plane_master.dm
  • code/_onclick/hud/rendering/render_plate.dm
  • code/_onclick/hud/screen_objects.dm
  • code/_onclick/hud/screentip.dm
  • code/_onclick/observer.dm
  • code/_onclick/other_mobs.dm
  • code/controllers/configuration/entries/game_options.dm
  • code/controllers/subsystem/air.dm
  • code/controllers/subsystem/area_contents.dm
  • code/controllers/subsystem/atoms.dm
  • code/controllers/subsystem/explosions.dm
  • code/controllers/subsystem/job.dm
  • code/controllers/subsystem/lighting.dm
  • code/controllers/subsystem/mapping.dm
  • code/controllers/subsystem/minor_mapping.dm
  • code/controllers/subsystem/networks/research.dm
  • code/controllers/subsystem/pathfinder.dm
  • code/controllers/subsystem/radiation.dm
  • code/controllers/subsystem/shuttle.dm
  • code/controllers/subsystem/statpanel.dm
  • code/controllers/subsystem/ticker.dm
  • code/controllers/subsystem/tts.dm
  • code/controllers/subsystem/weather.dm
  • code/datums/actions/mobs/charge.dm
  • code/datums/alarm.dm
  • code/datums/components/chasm.dm
  • code/datums/components/crafting/crafting.dm
  • code/datums/components/irradiated.dm
  • code/datums/components/orbiter.dm
  • code/datums/components/overlay_lighting.dm
  • code/datums/components/singularity.dm
  • code/datums/components/spawner.dm
  • code/datums/components/tether.dm
  • code/datums/elements/decals/_decal.dm
  • code/datums/elements/turf_transparency.dm
  • code/datums/elements/weather_listener.dm
  • code/datums/helper_datums/teleport.dm
  • code/datums/mapgen/biomes/_biome.dm
  • code/datums/mapgen/CaveGenerator.dm
  • code/datums/materials/basemats.dm
  • code/datums/mind/_mind.dm
  • code/datums/records/record.dm
  • code/datums/screentips/atom_context.dm
  • code/datums/shuttles/_shuttle.dm
  • code/datums/station_alert.dm
  • code/datums/storage/storage.dm
  • code/datums/storage/subtypes/others/bag_of_holding.dm
  • code/datums/weather/weather.dm
  • code/datums/weather/weather_types/ash_storm.dm
  • code/datums/weather/weather_types/floor_is_lava.dm
  • code/datums/weather/weather_types/rain_storm.dm
  • code/datums/weather/weather_types/sand_storm.dm
  • code/datums/weather/weather_types/snow_storm.dm
  • code/game/area/areas.dm
  • code/game/atom/_atom.dm
  • code/game/atom/atom_defense.dm
  • code/game/machinery/computer/apc_control.dm
  • code/game/machinery/computer/atmos_alert.dm
  • code/game/machinery/computer/camera.dm
  • code/game/machinery/computer/communications.dm
  • code/game/machinery/computer/crew.dm
  • code/game/machinery/doors/airlock.dm
  • code/game/machinery/doors/airlock_electronics.dm
  • code/game/machinery/doors/firedoor.dm
  • code/game/machinery/doors/windowdoor.dm
  • code/game/machinery/embedded_controller/airlock_controller.dm
  • code/game/machinery/status_display.dm
  • code/game/movable_luminosity.dm
  • code/game/objects/effects/decals/crayon.dm
  • code/game/objects/items.dm
  • code/game/objects/items/devices/scanners/gas_analyzer.dm
  • code/game/objects/items/devices/scanners/t_scanner.dm
  • code/game/objects/items/rcd/RCD.dm
  • code/game/objects/items/rcd/RHD.dm
  • code/game/objects/items/rcd/RPD.dm
  • code/game/objects/items/stacks/medical.dm
  • code/game/objects/items/stacks/stack.dm
  • code/game/objects/items/tanks/tanks.dm
  • code/game/objects/items/tools/painter/decal_painter.dm
  • code/game/objects/obj_defense.dm
  • code/game/objects/structures/crates_lockers/closets.dm
  • code/game/objects/structures/grille.dm
  • code/game/objects/structures/lattice.dm
  • code/game/objects/structures/lavaland/ore_vent.dm
  • code/game/objects/structures/mystery_box.dm
  • code/game/objects/structures/shower.dm
  • code/game/objects/structures/tables_racks.dm
  • code/game/objects/structures/window.dm
  • code/game/shuttle_engines.dm
  • code/game/sound/sound.dm
  • code/game/turfs/change_turf.dm
  • code/game/turfs/closed/minerals.dm
  • code/game/turfs/closed/wall/misc_walls.dm
  • code/game/turfs/closed/wall/reinf_walls.dm
  • code/game/turfs/closed/walls.dm
  • code/game/turfs/open/_open.dm
  • code/game/turfs/open/floor.dm
  • code/game/turfs/open/floor/fancy_floor.dm
  • code/game/turfs/open/grass.dm
  • code/game/turfs/open/river.dm
  • code/game/turfs/open/space/space.dm
  • code/game/turfs/open/space/transit.dm
  • code/modules/admin/admin_fax_panel.dm
  • code/modules/admin/verbs/adminpm.dm
  • code/modules/antagonists/abductor/equipment/glands/heal.dm
  • code/modules/antagonists/heretic/magic/rust_construction.dm
  • code/modules/asset_cache/assets/rcd.dm
  • code/modules/atmospherics/environmental/LINDA_fire.dm
  • code/modules/atmospherics/environmental/LINDA_system.dm
  • code/modules/atmospherics/environmental/LINDA_turf_tile.dm
  • code/modules/atmospherics/machinery/atmosmachinery.dm
  • code/modules/atmospherics/machinery/components/components_base.dm
  • code/modules/atmospherics/machinery/components/unary_devices/machine_connector.dm
  • code/modules/atmospherics/machinery/datum_pipeline.dm
  • code/modules/atmospherics/machinery/pipes/pipes.dm
  • code/modules/atmospherics/machinery/portable/scrubber.dm
  • code/modules/awaymissions/signpost.dm
  • code/modules/bitrunning/areas.dm
  • code/modules/bitrunning/server/map_handling.dm
  • code/modules/bitrunning/server/obj_generation.dm
  • code/modules/bitrunning/server/signal_handlers.dm
  • code/modules/bitrunning/server/util.dm
  • code/modules/bitrunning/util/virtual_megafauna.dm
  • code/modules/bitrunning/virtual_domain/domains/ash_drake.dm
  • code/modules/bitrunning/virtual_domain/domains/blood_drunk_miner.dm
  • code/modules/bitrunning/virtual_domain/domains/bubblegum.dm
  • code/modules/bitrunning/virtual_domain/domains/colossus.dm
  • code/modules/bitrunning/virtual_domain/domains/hierophant.dm
  • code/modules/bitrunning/virtual_domain/domains/psyker_zombies.dm
  • code/modules/bitrunning/virtual_domain/domains/wendigo.dm
  • code/modules/cargo/exports/large_objects.dm
  • code/modules/cargo/exports/manifest.dm
  • code/modules/cargo/exports/materials.dm
  • code/modules/cargo/exports/sheets.dm
  • code/modules/cargo/materials_market.dm
  • code/modules/cargo/order.dm
  • code/modules/cargo/packs/_packs.dm
  • code/modules/client/preferences.dm
  • code/modules/client/preferences/screentips.dm
  • code/modules/client/preferences_savefile.dm
  • code/modules/client/verbs/ooc.dm
  • code/modules/clothing/clothing.dm
  • code/modules/clothing/glasses/engine_goggles.dm
  • code/modules/clothing/head/hardhat.dm
  • code/modules/clothing/head/hat.dm
  • code/modules/clothing/suits/utility.dm
  • code/modules/error_handler/error_handler.dm
  • code/modules/error_handler/error_viewer.dm
  • code/modules/events/wormholes.dm
  • code/modules/experisci/experiment/handlers/experiment_handler.dm
  • code/modules/experisci/experiment/physical_experiments.dm
  • code/modules/experisci/experiment/types/scanning.dm
  • code/modules/experisci/experiment/types/scanning_fish.dm
  • code/modules/fishing/sources/_fish_source.dm
  • code/modules/food_and_drinks/machinery/smartfridge.dm
  • code/modules/jobs/job_types/_job.dm
  • code/modules/jobs/job_types/ai.dm
  • code/modules/jobs/job_types/prisoner.dm
  • code/modules/library/bibles.dm
  • code/modules/lighting/lighting_object.dm
  • code/modules/lighting/lighting_turf.dm
  • code/modules/loadout/loadout_menu.dm
  • code/modules/logging/log_holder.dm
  • code/modules/lootpanel/_lootpanel.dm
  • code/modules/lootpanel/contents.dm
  • code/modules/mapping/map_template.dm
  • code/modules/mapping/mapping_helpers.dm
  • code/modules/mapping/reader.dm
  • code/modules/mapping/ruins.dm
  • code/modules/mapping/space_management/space_reservation.dm
  • code/modules/mining/aux_base.dm
  • code/modules/mining/fulton.dm
  • code/modules/mining/lavaland/mining_loot/megafauna/legion.dm
  • code/modules/mining/machine_redemption.dm
  • code/modules/mining/machine_silo.dm
  • code/modules/mining/ores_coins.dm
  • code/modules/mob/dead/new_player/new_player.dm
  • code/modules/mob/dead/observer/observer.dm
  • code/modules/mob/living/basic/lavaland/legion/legion.dm
  • code/modules/mob/living/basic/lavaland/legion/spawn_legions.dm
  • code/modules/mob/living/basic/tree.dm
  • code/modules/mob/living/basic/trooper/pirate.dm
  • code/modules/mob/living/basic/trooper/trooper.dm
  • code/modules/mob/living/carbon/human/species_types/golems.dm
  • code/modules/mob/living/carbon/inventory.dm
  • code/modules/mob/living/carbon/life.dm
  • code/modules/mob/living/living.dm
  • code/modules/mob/living/login.dm
  • code/modules/mob/living/silicon/ai/ai.dm
  • code/modules/mob/living/silicon/ai/ai_say.dm
  • code/modules/mob/living/silicon/ai/robot_control.dm
  • code/modules/mob/living/silicon/robot/robot.dm
  • code/modules/mob/living/simple_animal/hostile/hostile.dm
  • code/modules/mob/living/simple_animal/hostile/megafauna/_megafauna.dm
  • code/modules/mob/living/simple_animal/hostile/mining_mobs/mining_mobs.dm
  • code/modules/mob/living/simple_animal/simple_animal.dm
  • code/modules/mob/mob.dm
  • code/modules/mod/mod_activation.dm
  • code/modules/mod/mod_theme.dm
  • code/modules/mod/modules/modules_supply.dm
  • code/modules/mod/modules/modules_visor.dm
  • code/modules/modular_computers/file_system/programs/budgetordering.dm
  • code/modules/modular_computers/file_system/programs/radar.dm
  • code/modules/modular_computers/file_system/programs/secureye.dm
  • code/modules/modular_computers/file_system/programs/sm_monitor.dm
  • code/modules/power/cable.dm
  • code/modules/power/singularity/dark_matter_singularity.dm
  • code/modules/power/singularity/emitter.dm
  • code/modules/power/singularity/reality_tear.dm
  • code/modules/power/singularity/singularity.dm
  • code/modules/power/smes.dm
  • code/modules/power/tesla/energy_ball.dm
  • code/modules/power/turbine/turbine.dm
  • code/modules/projectiles/gun.dm
  • code/modules/reagents/chemistry/equilibrium.dm
  • code/modules/reagents/chemistry/holder/holder.dm
  • code/modules/reagents/chemistry/holder/reactions.dm
  • code/modules/reagents/chemistry/machinery/chem_heater.dm
  • code/modules/reagents/chemistry/reagents/food_reagents.dm
  • code/modules/reagents/chemistry/reagents/reaction_agents_reagents.dm
  • code/modules/reagents/reagent_containers.dm
  • code/modules/reagents/reagent_containers/dropper.dm
  • code/modules/reagents/reagent_containers/hypospray.dm
  • code/modules/research/designs.dm
  • code/modules/research/designs/autolathe/security_designs.dm
  • code/modules/research/designs/comp_board_designs.dm
  • code/modules/research/designs/machine_designs.dm
  • code/modules/research/destructive_analyzer.dm
  • code/modules/research/machinery/_production.dm
  • code/modules/research/part_replacer.dm
  • code/modules/research/techweb/_techweb_node.dm
  • code/modules/research/techweb/nodes/medbay_nodes.dm
  • code/modules/research/techweb/nodes/mining_nodes.dm
  • code/modules/research/techweb/nodes/service_nodes.dm
  • code/modules/security_levels/keycard_authentication.dm
  • code/modules/shuttle/mobile_port/mobile_port.dm
  • code/modules/shuttle/mobile_port/shuttle_move.dm
  • code/modules/shuttle/mobile_port/shuttle_move_callbacks.dm
  • code/modules/shuttle/mobile_port/variants/custom/custom_consoles.dm
  • code/modules/shuttle/shuttle.dm
  • code/modules/shuttle/shuttle_consoles/navigation_computer.dm
  • code/modules/shuttle/stationary_port/port_types.dm
  • code/modules/shuttle/stationary_port/stationary_port.dm
  • code/modules/spells/spell_types/jaunt/bloodcrawl.dm
  • code/modules/spells/spell_types/jaunt/ethereal_jaunt.dm
  • code/modules/spells/spell_types/tower_of_babel.dm
  • code/modules/surgery/experimental_dissection.dm
  • code/modules/surgery/healing.dm
  • code/modules/surgery/organs/internal/heart/heart_anomalock.dm
  • code/modules/surgery/surgery.dm
  • code/modules/surgery/surgery_step.dm
  • code/modules/unit_tests/_unit_tests.dm
  • code/modules/unit_tests/designs.dm
  • code/modules/unit_tests/missing_icons.dm
  • code/modules/unit_tests/operating_table.dm
  • code/modules/unit_tests/simple_animal_freeze.dm
  • code/modules/unit_tests/spell_jaunt.dm
  • code/modules/unit_tests/spell_shapeshift.dm
  • code/modules/vehicles/mecha/mech_fabricator.dm
  • code/modules/wiremod/components/ntnet/ntnet_receive.dm
  • code/modules/wiremod/components/ntnet/ntnet_send.dm
  • code/modules/wiremod/components/ntnet/ntnet_send_literal.dm
  • code/modules/wiremod/components/utility/nfc_receive.dm
  • code/modules/wiremod/components/utility/nfc_send_literal.dm
  • code/modules/wiremod/core/component.dm
  • code/modules/wiremod/core/integrated_circuit.dm
  • code/modules/wiremod/core/port.dm
  • code/modules/wiremod/dcs_components/component_add_port.dm
  • tgstation.dme
  • tgui/packages/tgui/drag.ts
  • tgui/packages/tgui/interfaces/BankMachine.tsx
  • tgui/packages/tgui/interfaces/CameraConsole.tsx
  • tgui/packages/tgui/interfaces/ChemHeater.tsx
  • tgui/packages/tgui/interfaces/CommunicationsConsole/Main.tsx
  • tgui/packages/tgui/interfaces/CommunicationsConsole/types.ts
  • tgui/packages/tgui/interfaces/NtosSkillTracker.jsx
  • tgui/packages/tgui/interfaces/OreSilo.tsx
  • tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/index.tsx
  • tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/loadout/ItemDisplay.tsx
  • tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx
  • tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/index.ts
  • tgui/packages/tgui/interfaces/PreferencesMenu/types.ts
  • tgui/packages/tgui/interfaces/ShuttleManipulator.jsx
  • tgui/packages/tgui/interfaces/StripMenu.tsx
  • tgui/packages/tgui/interfaces/Techweb/nodes/TechNode.tsx
  • tgui/packages/tgui/layouts/Window.tsx

Changelog

🆑
fix: The ship data siphon's control window opens.
/:cl:

@Jackriip
Jackriip marked this pull request as ready for review October 17, 2026 20:10
@Jackriip
Jackriip merged commit 0c87384 into master Oct 17, 2026
4 checks passed
@Jackriip
Jackriip deleted the fix/full-modularization branch October 17, 2026 21:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant