Friday Facts #197 - Chugging along

Regular reports on Factorio development.
Post Reply

User avatar
DerivePi
Filter Inserter
Filter Inserter
Posts: 505
Joined: Thu May 29, 2014 4:51 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by DerivePi »

And I was just looking for a sample outline of class inheritance for a project (how the "is_a" rule is applied in a real production). Are different template implementations (ex. class dialog<>) considered inheritance though?

TheVeteraNoob
Long Handed Inserter
Long Handed Inserter
Posts: 69
Joined: Wed Jul 20, 2016 2:20 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by TheVeteraNoob »

So when is recursive blueprints getting added to the base game.

Zool
Fast Inserter
Fast Inserter
Posts: 105
Joined: Fri Jul 10, 2015 6:55 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by Zool »

This ... recursive fab ... is ... INSANE !!!!

Koub
Global Moderator
Global Moderator
Posts: 7175
Joined: Fri May 30, 2014 8:54 am
Contact:

Re: Friday Facts #197 - Chugging along

Post by Koub »

I wholeheartedly hope the recursive blueprints bill be added into vanilla, just to be able to do such automation crasiness without mods :)
Koub - Please consider English is not my native language.

User avatar
5thHorseman
Smart Inserter
Smart Inserter
Posts: 1193
Joined: Fri Jun 10, 2016 11:21 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by 5thHorseman »

For 0.16 Twinsen has assigned himself a lot of these 'Fix the GUI' tasks, so no doubt there will be some interesting FFF material from him coming soon.
Yessssssssssssssssss

mOoEyThEcOw
Inserter
Inserter
Posts: 22
Joined: Fri Mar 17, 2017 11:27 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by mOoEyThEcOw »

DerivePi wrote:And I was just looking for a sample outline of class inheritance for a project (how the "is_a" rule is applied in a real production). Are different template implementations (ex. class dialog<>) considered inheritance though?
Generally no, if you look at the doxygen picture they posted the templates have a blue dotted line which means "variation_of" and the yellow line which means "is_a" points to the base class of the template (eg "Foo<T>"), and the specialized template (ed "Foo<Bar>"). Templates are tricky, due to the raw power of C++ templates (they are turing complete at compile time... sort of like very complex esoteric lisp macros basically (lisp macros are written in lisp, C++ templates are their own language)) a specialized template can't be considered "is_a" to any shared thing (even the base class technically) because the specialized template might be a wildly different class (including having different base classes). It's best to think of a specialized template as a completely separate class from any other specialized template of the same template.

Some people do do things like `template <typename T> class Foo<T> : Foo<void> {...};` and then specialize `Foo<void>` (or a similar variation) to get the "is_a" behavior from specialized templates. Though it's really better to just use a `FooBase` class rather than mucking around with a `Foo<void>` class which is just asking for trouble.

doc
Long Handed Inserter
Long Handed Inserter
Posts: 96
Joined: Mon Mar 28, 2016 3:52 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by doc »

Super chuffed to see the mod I started mentioned for the 2nd time in a community spotlight! Big props to justarandomgeek for keeping it going and DaveMcW for his ridiculous creation!

And great news that GUI will be getting some love soon, hopefully this will have a lot of benefits for modders too.

YokoZar
Burner Inserter
Burner Inserter
Posts: 13
Joined: Sat May 06, 2017 3:29 am
Contact:

Re: Friday Facts #197 - Chugging along

Post by YokoZar »

I really appreciate the blog post, stabilizing releases is always some of the most exciting work for me in Software.

Hopefully this savegame-destroying UI issue hasn't slipped past all of your radars before someone on the dev side made an actual decision about it: viewtopic.php?f=6&t=47857 (a moderator kept it out of the bug forum)

User avatar
Alice3173
Fast Inserter
Fast Inserter
Posts: 118
Joined: Sun Apr 24, 2016 11:35 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by Alice3173 »

there will be an additional 3-4 bodies (live) in the office
Thanks for specifying they're live. I was worried you guys were intending to convert to a mortuary.

webkilla
Inserter
Inserter
Posts: 48
Joined: Sun May 11, 2014 4:17 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by webkilla »

.15 stable release soon?


YES!

ibeatbabybiters
Inserter
Inserter
Posts: 30
Joined: Sun Apr 30, 2017 7:14 pm
Contact:

Re: Friday Facts #197 - Chugging along

Post by ibeatbabybiters »

You say that GUI inheritance tree is complex? I think you have never seen enterprise "quality" code before :D
Usually I don't beat babies, but when I do I beat baby biters.

User avatar
Ranakastrasz
Smart Inserter
Smart Inserter
Posts: 2124
Joined: Thu Jun 12, 2014 3:05 am
Contact:

Re: Friday Facts #197 - Chugging along

Post by Ranakastrasz »

I looked at the diagram, from the top. Said, oh, around 30 classes. Glanced to the root, saw a line leading away.....

Scrolled down.

Started screaming....

Dear god, that's a lot of classes.


And I thought my amateur Unity project was complex. Heh.

I doubt there is less than 200 classes there. Geeze.
My Mods:
Modular Armor Revamp - V16
Large Chests - V16
Agent Orange - V16
Flare - V16
Easy Refineries - V16

Post Reply

Return to “News”