r4m0n changed the topic of #kspmodders to: Technical discussion ONLY (KSP related or not), for random shit-talking, join #shitshow (seriously)
<xShadowx> its officially, officially we cnnot use reflection either
<Asymptote> Did lawyers ever come to KSP modders?
<G-Mobile> not Squad's lawyers
<xShadowx> half the mods would die if they listened to that rule :P
<xShadowx> ksp modders have brains, and arent douches out to destroy ksp, so no
<G-Mobile> once, a while back, Sierra Nevada's lawyers issued a DMCA takedown to KerbalStuff regarding an asset mod of Dream Chaser styled parts
<xShadowx> i remember a couple years back, someone went and sent lawyers to kerbastuff over a model, but it was infringing on a design, not strictly ksp related
<xShadowx> akin to uploading a model of the enterprise from star trek
<G-Mobile> ninja'd so hard
<G-Mobile> really they had no grounds to make the claim except that this mod was really good and had well made high fidelity and accurate texture work that included some logos
<G-Mobile> but this was more of a hoo haa in the community because the dream chaser project is a clusterfuck of embezzlement and bribery. they've managed to get contracts repeatedly despite repeatedly cancelling all test flights and having no proof that a working vessel actually exists
<G-Mobile> yet they have the gall to shut down a deeply insignificant fan project
<Asymptote> Wait, the DMCA takedown to KS was because of a copyrighted asset from another modder?
<G-Mobile> no
<xShadowx> nope
<G-Mobile> trademark
<xShadowx> akin to uploading a model of the enterprise from star trek
<G-Mobile> the assets were 100% hand made
<xShadowx> paramount would jump yo ass
<Asymptote> Which IP did it trigger then?
<Asymptote> oh
<Asymptote> ok
<G-Mobile> the artist owned the copyright to their work, but it infringed on the trademark of the dreamchaser project
<Asymptote> The dream chaser cargo system?
<G-Mobile> if they want to call it that... I'd say they're dumb but sure
<Asymptote> Well shit.
<G-Mobile> it's like 10% more existant than a pure hoax
<TheKosmonaut> The dream chaser is real tho
<Asymptote> The next generation space shuttle on its way, soon(tm)
<TheKosmonaut> It is no less real than the CST orDragon 2
<TheKosmonaut> It just didn’t get selected for crewed flight
<G-Mobile> delta flier beats the oddessy every time
<G-Mobile> it's literally a space hotrod
Wetmelon has quit [Ping timeout: 183 seconds]
m4v has quit [Read error: Connection reset by peer]
m4v has joined #kspmodders
<Asymptote> xShadowx, you mentionned reflection. How is that different from a decompiler and how does that help you as a modder?
<G-Mobile> reflection is a way of accessing members that you don't have a reference to, during runtime
<G-Mobile> it's kind of like breaking into your neighbor's house
<Asymptote> Nice metaphor
<G-Mobile> imagine there's a method in an object that KSP doesn't want you to be able to access, and you really need to invoke that method
<G-Mobile> reflection lets you do that
<G-Mobile> it lets you write code that reflects upon the object structure of the program as a child reflects on their poor behavior
<G-Mobile> it's the basis of multiplayer mods
<Asymptote> Is reflection a program that you have to run simulteanously to KSP in order to access those methods?
<xShadowx> reflection is code
<G-Mobile> no, it's a feature of C#
<Asymptote> Does a lot of modders need it? Sounds like something a plugin maker could relate to, but not the guy who wants to modelize 3D part with say Blender.
<G-Mobile> no, very niche
<G-Mobile> also, it's hard to do, so kind of a high level skill
<xShadowx> rather than car.gas = 50 like you normally do, you look at the manual for the car, see gastank is <here>, and beam the gas in so to speak, bypassing all the locks etc on the tank
<G-Mobile> btw, asset mods generally don't have any code aspect
<G-Mobile> you can put a part into KSP using blender and notepad.exe if you've got things set up right
<Asymptote> xShadowx, why would I need to do that concretely? test a feature? debogging?
<G-Mobile> accessing stuff you're not supposed to be allowed to
<xShadowx> reflection is just code side, ksp has 3 sides to modding, model/texture making, plugin making to create functionality, cfg making to apply functionality to model
<G-Mobile> say it's not your car, and it has one of those locking gas caps on
<xShadowx> reflection ignores (optionally) access rights
<xShadowx> fields can be private (only access within a class), internal (only access within that assembly / that dudes mod), or public (anyone can touchy)
<xShadowx> good coders use those wisely to define what is touchy and no touchy
<xShadowx> to 'you' no real benefit (aside from being clean) to not setting all public
<xShadowx> when others come along, they can touchy it all
<xShadowx> so you set stuff private whereit should, so no touchy
<xShadowx> but then reflection ignores that
<G-Mobile> so's, with object oriented program, there's two limitations of access, first you need to have a reference to the thing, otherwise you don't even know where the car is, or that the car is, and second you need the right to access it; the big power of reflection is that it lets you search for objects and create a reference to something you normally wouldn't have a means to get, say an object inside another object that's not exposed
<G-Mobile> like, say there's an iphone in the car, you can't get in the car, you're not even sure the car exists, but you can search for the iphone, get a reference, and use it
<xShadowx> you read the manual, you see gas tank here, you beam the gas in/out and laugh :P
<G-Mobile> normally references have to be established concretely when you precompile into IL, the most common error you get is actually NRE, Null Reference Exception; you were supposed to have a reference, but you don't
<G-Mobile> the other most common being NaN, Not a Number, say you tried to add cat and 4; cat isn't a number
<G-Mobile> infinity, also isn't a number
<G-Mobile> so say you do an equation, and because of the state of something in the formula you end up with infinity; that's going to break a lot of things forwards of here because now your member that is supposed to contain a number contains infinity
<Asymptote> Are those methods (decompiling, using reflection) the ways you got a basic understanding of how KSP works internally?
<G-Mobile> nope
<G-Mobile> we just read the code
* xShadowx headdesk
<G-Mobile> which is publically available
<G-Mobile> as is the code of all published C# programs, only reduced by effective means of obfuscation
<Asymptote> Yeah, >reduced by effective means of obfuscation.
<G-Mobile> which Squad has never used
<Asymptote> Not public as in publically available on Github
<G-Mobile> I'm sure KSP is on there somewhere
<Asymptote> Ok, you really taught me something there
<G-Mobile> it's against the rules but people break rules
<Asymptote> I thought they did tbh.
<G-Mobile> which they
<xShadowx> G-Mobile: considering nubs are dumb and dont use git ignore, uploading assembly-csharp.dll etc referenced and placed into bin folder at compile time, yes ksp is on github :P
<G-Mobile> github, the world's least convenient source for accidental piracy
<xShadowx> i dunno youtube is up there too
<G-Mobile> youtube is a bit convenient
<xShadowx> github is just as convenient, but its text
<xShadowx> you can search for code by text
<xShadowx> you cant search youtube vids by words spoken
<G-Mobile> you sure? they've got that automatic closed captioning, it's "real good", they probably index that
<G-Mobile> but with github you have to find a search term that's sufficiently specific for exactly what you're trying to find
<xShadowx> fine cant search by faces seen
<xShadowx> :P
<G-Mobile> every unity game has an assemblyCsharp file
<Asymptote> They do to generate english subtitles which is text
<xShadowx> sure, but not every game has PartModule class :)
<G-Mobile> lots of KSP mods do
<xShadowx> yep which is how i find many of the mods that dont goto forums heh
<Asymptote> Github search engine returns 8 repos for "partmodule"
<xShadowx> yer doin it wrong
<G-Mobile> only eight?
<G-Mobile> I've got two repos alone with that
<xShadowx> this train is starting to annoy me
<xShadowx> hmm i wonder if theres a mode for a code based combinator XD
<xShadowx> mod*
<G-Mobile> meaning what in particular? random vessel generator?
<xShadowx> ?
<G-Mobile> what's a code based combinator?
<xShadowx> factorio, train station, tryin to use circuits to make a smart/generic station
<xShadowx> and 20 combinators just makes a mess
<xShadowx> want one thats code based, akin to computercraft in minecrap
<G-Mobile> oh, factorio trains
<xShadowx> you any good at circuits?
<G-Mobile> nah, never saw the use for them
<xShadowx> trying to make 1 station that any train can goto (well except maybe not liquids), then it compares train cargo to the station chests, if chests empty or same item, unload train, so train can leave asap, thats the easy part and done
<xShadowx> 2nd stage, inserters (when active) pull from chests to a common belt, sending out a pulse of what they grab, and a counter counts up, the warehouse down the line has inserters pulse > arith to count down, basicly it tracks what is on the belt
<Asymptote> It's getting late on this meridian line so, thanks for the technical details lads. It was very informative.
<xShadowx> then a circuit compares 'whats on belt' to 'whats in this stations chests' and enables the above inserters to pull out, if belt empty or chests same item as on the belt
<xShadowx> so the entire thing can be made with basic inserters, belts, circuits, on the belief that a train car will only ever have 1 item per car
<xShadowx> no filter inserters or bots, low power
<xShadowx> and having a generic lane that can always be busy with trains (or 2-4 generic lanes) is better than 20+ specific lanes
<xShadowx> stage 2 is what im stuck on atm
<xShadowx> single cargo stations is easy and no skill, generic stations is very compact and less rails to worry about being run over ;3
Asymptote has quit [Quit: Leaving]
Asymptote has joined #kspmodders
<G-Mobile> personally I found pretty early on that the basics had a lot of friction and were really frustrating far before the interesting parts of system design became relevant, so I went and played openttd for a while
Asymptote has quit [Ping timeout: 200 seconds]
<G-Mobile> like, it was extremely time consuming and ineffective to build a factory that could make everything, and until you can reliably make everything, it's extremely time consuming and ineffective to build much of anything
<G-Mobile> I think I can finally fall asleep
<Hyratel_> G-Mobile, different strokes but I definitely see how you mean
<xShadowx> <3 circuits
<xShadowx> they make you think, problem solve
<xShadowx> and in the end lead to better more efficient results
bsq has quit [Read error: Connection reset by peer]
LabMonkey has joined #kspmodders
StatutoryApe has quit [Ping timeout: 183 seconds]
Supernovy has joined #kspmodders
Wetmelon has joined #kspmodders
Epsilon__ is now known as Epsilon
angavrilov|phone has quit [Ping timeout: 204 seconds]
angavrilov|phone has joined #kspmodders
Glass|phone has joined #kspmodders
Addle has quit [Ping timeout: 383 seconds]
angavrilov has joined #kspmodders
Wetmelon has quit [Ping timeout: 183 seconds]
Addle has joined #kspmodders
Addle has quit [Ping timeout: 186 seconds]
Addle has joined #kspmodders
angavrilov||phone has joined #kspmodders
angavrilov|phone has quit [Ping timeout: 186 seconds]
GlsFrg|phone has joined #kspmodders
Glass|phone has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
Asymptote has joined #kspmodders
Glass|phone has joined #kspmodders
Glsfrg2|phone has joined #kspmodders
Glass|phone has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
GlsFrg|phone has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
angavrilov|phone has joined #kspmodders
Glass|phone has joined #kspmodders
Glsfrg2|phone has quit [Ping timeout: 186 seconds]
angavrilov||phone has quit [Ping timeout: 383 seconds]
GlsFrg|phone has joined #kspmodders
Glass|phone has quit [Read error: Connection reset by peer]
Orum has joined #kspmodders
GlsFrg|phone has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
Glass|phone has joined #kspmodders
GlsFrg|phone has joined #kspmodders
Glass|phone has quit [Read error: Connection reset by peer]
GlsFrg|phone has quit [Read error: Connection reset by peer]
Glass|phone has joined #kspmodders
TonyC has joined #kspmodders
Glass|phone has quit [Read error: Connection reset by peer]
Glass|phone has joined #kspmodders
smoke_fumus has joined #kspmodders
GlsFrg|phone has joined #kspmodders
Glass|phone has quit [Ping timeout: 183 seconds]
GlsFrg|phone has quit [Read error: -0x1: UNKNOWN ERROR CODE (0001)]
angavrilov|phone has quit [Read error: Connection reset by peer]
angavrilov|phone has joined #kspmodders
Rokker has quit [Quit: Connection closed for inactivity]
<Orum> so, I think the bugginess of software/firmware is directly proportionate to the developing company's revenue
r4m0n has quit [Ping timeout: 195 seconds]
Truga has quit [Ping timeout: 195 seconds]
NocnaShada has quit [Ping timeout: 195 seconds]
r4m0n has joined #kspmodders
NocnaShada has joined #kspmodders
Dazzyp has quit [Ping timeout: 195 seconds]
SilverFox has quit [Ping timeout: 195 seconds]
Orkeren has quit [Ping timeout: 195 seconds]
Orkeren__ has quit [Ping timeout: 195 seconds]
Daz has joined #kspmodders
Orkeren has joined #kspmodders
Orkeren_ has joined #kspmodders
SilverFox has joined #kspmodders
Truga has joined #kspmodders
Rokker has joined #kspmodders
TonyC1 has joined #kspmodders
TonyC has quit [Ping timeout: 200 seconds]
SilverFox has quit [Ping timeout: 204 seconds]
SilverFox has joined #kspmodders
Supernovy has quit [Quit: Goodnight.]
GlassYuri has joined #kspmodders
NocnaShada has quit [Ping timeout: 204 seconds]
NocnaShada has joined #kspmodders
Rokker has quit [Quit: Connection closed for inactivity]
Orum has quit [Ping timeout: 183 seconds]
RandomJeb has joined #kspmodders
<Greys> should youtube be a common carrier?
<RandomJeb> no
<Greys> why not?
<RandomJeb> because while a regulatory body ensuring that they stay fair and impartial in who they grant their services to, it would also make youtube a state controlled propaganda apparatus
<Greys> mmkay
<Greys> what of instead we held youtube to the same regulations as broadcast television
<RandomJeb> same issue, different vector
<RandomJeb> broadcast television is neutered, spayed and drenched in disinfectant before it is allowed to say a single peep
<Greys> so any broadcast channel is government propoganda?
<RandomJeb> step an inch out of line and you get drowned in fines until you die
<RandomJeb> pretty much yes
<Greys> atangent; if you're a war with a nation, what's to stop you from stealing the design of their guns?
<RandomJeb> their counter-intelligence defenses
<Greys> nah, just kill some dudes and take their guns
<RandomJeb> rig the guns with explosives set to trigger on user death or some kind of user input
<Greys> why?
<RandomJeb> counter-intelligence defense
<Greys> nobody did that
<RandomJeb> yeah everyone is terrible at protecting their technology
<RandomJeb> probably because doing so would cost way too much and guns are practically all the same
<RandomJeb> there is very little for the enemy to gain by duplicating your gun designs
<Greys> excelt the numerous cases where soldiers would normally kill an enemy, steal their gun, and throw away the gun they'd been given because their nation's weapon sucked
<RandomJeb> statistically insignificant personal preference
Rokker has joined #kspmodders
<SilverFox> what the fuck kind of technical talk is this
<Greys> the technical kind
angavrilov|phone has quit [Read error: Connection reset by peer]
angavrilov|phone has joined #kspmodders
angavrilov||phone has joined #kspmodders
angavrilov|phone has quit [Ping timeout: 204 seconds]
Orkeren_ has quit [Remote host closed the connection]
Orkeren_ has joined #kspmodders
angavrilov|phone has joined #kspmodders
angavrilov||phone has quit [Ping timeout: 183 seconds]
<TheKosmonaut> Indeed. This is what Ss is for greys
<TheKosmonaut> Of course. You probably have me, a channel op on ignore.
<N3X15> I have some PhD student asking me questions and I haven't touched KSP since 2013. Did they stop obfuscating the assemblies?
<Rokker> N3X15: ask in #kspmodding
<Rokker> its more active when it comes to actual modders
<TheKosmonaut> N3X15: afaik yes. Also what Rokker said
<N3X15> k
NocnaShada has quit [Ping timeout: 200 seconds]
<Greys> Asymptote you got to us without asking N3X15 first? foh shaaaaaahm
angavrilov|phone has quit [Ping timeout: 383 seconds]
<N3X15> tbh you guys seem better informed wrt modern KSP.
angavrilov|phone has joined #kspmodders
<Greys> haven't touched it in 2 years
<Greys> I think I looked at 1.0 code once
angavrilov||phone has joined #kspmodders
<Asymptote> Hello
<Asymptote> Greys, I did ask to sarbian before posting here :)
<Asymptote> and elsewhere as well
<Asymptote> I pretty much dropped my survey link on every ksp-related # at this point
<Greys> you haven't suffered #shitshow yet
<Asymptote> Nope
<Asymptote> but pls.
angavrilov|phone has quit [Ping timeout: 195 seconds]
NocnaShada has joined #kspmodders
GlassYuri has quit [Quit: Leaving]
Wetmelon has joined #kspmodders
Moistmelon has joined #kspmodders
Wetmelon has quit [Ping timeout: 183 seconds]
LabMonkey is now known as StatutoryApe
Moistmelon has quit [Ping timeout: 183 seconds]
Orum has joined #kspmodders
Orum has quit [Ping timeout: 195 seconds]
Hyratel1 has joined #kspmodders
Hyratel_ has quit [Ping timeout: 383 seconds]
smoke_fumus has quit [Quit: KVIrc 4.2.0 Equilibrium http://www.kvirc.net/]
angavrilov has quit [Remote host closed the connection]
Tank2333 has joined #kspmodders
<Tank2333> Hi
<Tank2333> No random shit talking anymore?
<Rokker> Tank2333: not in this channel
TonyC1 has quit [Ping timeout: 186 seconds]
Supernovy has joined #kspmodders
fcbayerndm has joined #kspmodders
Tank2333 has quit [Ping timeout: 186 seconds]
Tank2333 has joined #kspmodders
Asymptote has quit [Ping timeout: 204 seconds]
Snoozee is now known as Majiir
Supernovy has quit [Quit: Be back later]
Tank2333 has quit [Remote host closed the connection]
SamBelanger has joined #kspmodders
<SamBelanger> Hi
<SilverFox> hello
<SamBelanger> Guys Is what here is to talk about mods?
<SilverFox> yup, this is the place
<SamBelanger> Ok, who knows the OptionalAtmosphere (OA) mod?
<Greys> not I
<SamBelanger> ...
<SilverFox> never heard of it before
<Greys> also, not really talking about mods, but the talk of modders; we've been making changes but so few of us still play KSP. do you have a technical question? we're good at that
<SamBelanger> Mmmmm...
<SamBelanger> I have a question, is what the pre-1.3.1 (1.3.1) looks alot like the 1.3.0?
<SilverFox> yeah this isnt like, we sit here and talk about our modded setups and such like that, maybe kspofficial might have more people interested in that?
<SamBelanger> interesting...