Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REVIEW-READY] removes simulated turfs (and asteroid station) #16026

Merged
merged 18 commits into from Apr 4, 2016

Conversation

duncathan
Copy link
Contributor

Disclaimer: this PR removes asteroid station. Reasons include:

  • Ass is unmaintained
  • Ass is incompatible with TGM due to a byond bug
  • Ass is incompatible with lavaland
  • It would take another hour of work to update ass to work properly with this PR and frankly with the other reasons there already I seriously am not feeling like putting the effort in

If somebody wants to put in the work to fix Ass themselves, you're more than welcome to - ping me in #coderbus (I'll be there as Dunc|Mobile or Dunc2) and I can let you know what needs to be done.


oh god this is gonna be painful

ok so here's the plan:

  • kill the turf/simulated path
  • make space turfs have one static, immutable (effectively) gas mixture
  • use our newfound path freedom to move vars for closed turfs to turf/wall and vars for open turfs to turf/open or something
  • deal with the infinite merge conflicts this will give me
  • test the fuck out of it

Closes #16061

@duncathan duncathan added Atmos Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts labels Mar 10, 2016
@ChangelingRain
Copy link
Contributor

Amazing.

@GunHog
Copy link
Contributor

GunHog commented Mar 10, 2016

What benefit does this provide?

@duncathan
Copy link
Contributor Author

@GunHog

  • kills snowflake handling of space turfs by LINDA
  • minimizes turf vars that go unused by a particular type
    • for instance, air is a var only used by open turfs, but still held by all simulated turfs. this change (does not yet, but) will make air only held by all open turfs
  • removes the redundancy of turf/simulated because there are only two other children of turf, both of which can handle themselves (as with my space changes already done)

@phil235
Copy link
Contributor

phil235 commented Mar 11, 2016

How are we even supposed to review a PR with 100k line changes?

@optimumtact
Copy link
Member

git remote add dunc https://github.com/duncathan/-tg-station
git fetch --all
git checkout master
git merge upstream/master
git push

git diff dunc/turf -- code/

you can also git diff dunc/turf -- code/game/turfs/

it would help if his codebase was up to date

@ChangelingRain
Copy link
Contributor

@duncathan
Copy link
Contributor Author

I fucked something up; box has about 60000 whitespace changes. But yea the vast majority of the pr is maps, because just about every map instance has to be changed.

@GunHog
Copy link
Contributor

GunHog commented Mar 11, 2016

How are we even supposed to review a PR with 100k line changes?

It is hilarious that you are the one to say this!

…o turfs

Conflicts:
	_maps/RandomRuins/SpaceRuins/asteroid4.dmm
	_maps/RandomRuins/SpaceRuins/spacebar.dmm
	_maps/RandomZLevels/Academy.dmm
	_maps/RandomZLevels/beach.dmm
	_maps/RandomZLevels/caves.dmm
	_maps/RandomZLevels/research.dmm
	_maps/RandomZLevels/snowdin.dmm
	_maps/RandomZLevels/spacebattle.dmm
	_maps/RandomZLevels/undergroundoutpost45.dmm
	_maps/RandomZLevels/wildwest.dmm
	_maps/map_files/AsteroidStation/AsteroidStation.dmm
	_maps/map_files/BirdStation/BirdStation.dmm
	_maps/map_files/DreamStation/dreamstation04.dmm
	_maps/map_files/DreamStation/z5.dmm
	_maps/map_files/EfficiencyStation/EfficiencyStation.dmm
	_maps/map_files/MetaStation/MetaStation.v41I.dmm
	_maps/map_files/MiniStation/MiniStation.dmm
	_maps/map_files/TgStation/tgstation.2.1.3.dmm
	_maps/map_files/generic/z4.dmm
	_maps/map_files/generic/z5.dmm
	_maps/map_files/generic/z6.dmm
	_maps/templates/lavaland_surface_prisoner_crash.dmm
	_maps/templates/lavaland_surface_seed_vault.dmm
	_maps/templates/lavaland_surface_ufo_crash.dmm
	code/game/asteroid.dm
	code/game/atoms.dm
	code/game/gamemodes/cult/runes.dm
	code/game/gamemodes/malfunction/Malf_Modules.dm
	code/game/machinery/computer/arcade.dm
	code/game/objects/structures/lattice.dm
	code/game/turfs/simulated/floor/fancy_floor.dm
	code/game/turfs/simulated/floor/misc_floor.dm
	code/game/turfs/simulated/floor/plasteel_floor.dm
	code/game/turfs/simulated/walls_misc.dm
	code/game/turfs/turf.dm
	code/modules/events/spacevine.dm
	code/modules/mining/mine_turfs.dm
	code/modules/mob/living/living.dm
	code/modules/mob/living/silicon/robot/robot.dm
	code/modules/mob/living/simple_animal/bot/cleanbot.dm
	code/modules/mob/living/simple_animal/bot/mulebot.dm
	code/modules/mob/mob_movement.dm
…o turfs

Conflicts:
	code/game/gamemodes/nuclear/nuclearbomb.dm
@lzimann
Copy link
Contributor

lzimann commented Mar 12, 2016

i think someone is going insane, good luck

@Cheridan Cheridan added the Priority: CRITICAL We really messed up label Mar 15, 2016
@theOperand
Copy link
Contributor

absolute madman

@kyrahabattoir
Copy link
Contributor

So non open turfs will only track thermal energy going through them right?

@duncathan
Copy link
Contributor Author

Well technically it's temperature they track, but thermal energy is easily calculated by multiplying temperature and heat capacity.

@KazeEspada
Copy link
Contributor

Suggested repaths:
Plating path really means: You can put a tile on it. Not sure what to call it though. turf/open/base?
Asteroid path really means: You can hit it with a shovel to get sand. Should probably be called digable. turf/open/base/digable?

@imtakingabreakdontatme
Copy link
Contributor

@duncathan

Can you please repath lava to something other than plating while you are doing this? That was a silly idea on my part

@Bawhoppen
Copy link
Contributor

how much longer on this shit I want to change maps

@duncathan
Copy link
Contributor Author

I hope to be finished by the end of next week

@Bawhoppen
Copy link
Contributor

@dunc when I click the files changed it literally lags, you maniac

@duncathan
Copy link
Contributor Author

it's only gonna get worse
not too much worse, but still pretty bad

@PKPenguin321
Copy link
Contributor

400k line changes
jesus dicks

215 files changed

R I P
I
P

@duncathan
Copy link
Contributor Author

this is why we have mapping freezes, kids

@duncathan
Copy link
Contributor Author

i'm free.

we're all free.

@GunHog
Copy link
Contributor

GunHog commented Apr 4, 2016

You are not free until you fix all the bugs and exploits our wonderful QA team (the players) find and report!

@Razoozle
Copy link
Contributor

Razoozle commented Apr 4, 2016

This is broken. ;-;

@optimumtact
Copy link
Member

Please report bugs via the issue tracker

@Razoozle
Copy link
Contributor

Razoozle commented Apr 5, 2016

Actually, this works fine with 510. I was using 509.

@optimumtact
Copy link
Member

@Ultimate-Chimera are you running windows and linux, and if linux, did you have bygex installed?

@Razoozle
Copy link
Contributor

Razoozle commented Apr 5, 2016

@optimumtact Windows.

@Incoming5643
Copy link
Contributor

Literally every round is ending in a hyper pressurized Armageddon, can we revert this already?

@optimumtact
Copy link
Member

no

@Kevak
Copy link

Kevak commented Jul 22, 2016

I desire pictures of the mapchange.

@optimumtact
Copy link
Member

This didn't have any visible changes to maps, it just rewrote underlying atmos turf technology

@imtakingabreakdontatme
Copy link
Contributor

it ruined the game don't port it

@SamHPurp
Copy link
Contributor

SamHPurp commented Apr 2, 2017

God help me, I'm considering porting this to Para.

@duncathan
Copy link
Contributor Author

@SamHPurp find me on #coderbus (Dunc or Dunc|Mobile) if you need help, which I'm sure you will. This task is a monster

@SamHPurp
Copy link
Contributor

SamHPurp commented Apr 2, 2017

@duncathan I'm keen to get Lavaland ported, and this is the major barrier in us doing so.

@imtakingabreakdontatme
Copy link
Contributor

@SamHPurp

You'd probably be better off just rebasing and then readding your features than trying to catch up on years of turf/atmos/lighting changes for porting large projects

@imtakingabreakdontatme
Copy link
Contributor

This PR was pretty broken and required a ton of follow up

@SamHPurp
Copy link
Contributor

SamHPurp commented Apr 2, 2017

@KorPhaeron confidence inspiring

@imtakingabreakdontatme
Copy link
Contributor

Not trying to stop you since getting lavaland on every server would be a point of pride for me, just trying to set realistic expectations. 2 years of refactors to the basic building blocks of the game ported piece by piece sounds like a fucking nightmare

@SamHPurp
Copy link
Contributor

SamHPurp commented Apr 2, 2017

@KorPhaeron Aye. Sounds painful and tedious. Not impossible, I just need to define a healthy workflow of Paracode, the PRs and current TG code I think.....

@optimumtact
Copy link
Member

You can do it, if you believe in yourself

@LemonInTheDark
Copy link
Member

he couldn't do it

@duncathan
Copy link
Contributor Author

can't blame him tbh

@Kiyahitayika
Copy link

Kiyahitayika commented Jan 20, 2021

God help me, I'm considering porting this to Para.

God help me, I'm considering porting this to Scorpio, a Paradise downstream server.

Great starting point: we don't have Asteroid Station to remove.
Update: I'ma need to borrow some of your atmos. Thank you o__o;;
Update: Ahhh, minerals.
Update: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH: ScorpioStation/ScorpioStation#332

This PR was pretty broken and required a ton of follow up

To this point, I think what is really required to port the open/closed turf model is the understanding of the concept. This week, I learned turfs! Open turfs allow atmos, Closed turfs do not. Simulated turfs on Paracode are destructible, removable, dismantlable, etc.. Unsimulated turfs are not. Right. Two different systems.

Aye. Sounds painful and tedious. Not impossible, I just need to define a healthy workflow of Paracode, the PRs and current TG code I think.....

So, what is one to do? Identify the properties open and closed and set those types up. Shift simulated floors to open and simulated walls to closed.

Identify the differences between simulated and unsimulated. Create a subset using a boolean flag for indestructible_turf for open and closed turfs that were previously unsimulated.

This is going to need a LOT of testing and my Paracode PR will ever get merged, but it was fun. Wait, did I just make space turf . . . uh oh . . .

@Kiyahitayika
Copy link

Kiyahitayika commented Jan 30, 2021

You don't need a healthy workflow, just an unhealthy habit of using coding as stress-relief ;--;

UPDATE: Use a subtype, not a boolean flag. Place overrides on those subtypes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Priority: CRITICAL We really messed up
Projects
None yet
Development

Successfully merging this pull request may close these issues.

~~~ SEMI-FREEZE UNDERWAY; READ DESCRIPTION ~~~