--- Log opened Tue Feb 04 00:00:46 2014 |
00:36 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code |
00:36 | | mode/#code [+o himi] by ChanServ |
01:04 | | Harlow [harlow@Nightstar-2kn67a.cc.il.us] has joined #code |
01:05 | | Derakon[AFK] is now known as Derakon |
01:06 | | Harlow [harlow@Nightstar-2kn67a.cc.il.us] has quit [[NS] Quit: Leaving] |
01:27 | | You're now known as TheWatcher[T-2] |
01:30 | | You're now known as TheWatcher[zZzZ] |
02:22 | | Derakon [Derakon@Nightstar-cb57nb.ca.comcast.net] has quit [Client exited] |
02:30 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
02:37 | | Derakon [Derakon@Nightstar-cb57nb.ca.comcast.net] has joined #code |
02:37 | | mode/#code [+ao Derakon Derakon] by ChanServ |
02:52 | | Derakon [Derakon@Nightstar-cb57nb.ca.comcast.net] has quit [Client exited] |
02:59 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
03:05 | | Turaiel is now known as Turaiel[Offline] |
04:12 | | Orthia [orthianz@Nightstar-5m8.1ee.224.119.IP] has quit [Ping timeout: 121 seconds] |
04:13 | | Orthia [orthianz@Nightstar-5m8.1ee.224.119.IP] has joined #code |
04:13 | | mode/#code [+o Orthia] by ChanServ |
04:15 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
04:27 | | Turaiel[Offline] is now known as Turaiel |
04:38 | | Kindamoody[zZz] is now known as Kindamoody |
04:49 | <~Vornicus> | Okay, okay, okay. I want to be able to hand out a game object and have that game object respond to queries. I do /not/ want to have to muck around in the object in order to get to the data. |
04:50 | <~Vornicus> | But this goes deeper; I also have objects subordinate to the game object and I don't want to have to muck with them, either |
04:56 | | Derakon [Derakon@Nightstar-cb57nb.ca.comcast.net] has joined #code |
04:56 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:59 | <~Vornicus> | So. In order to build the queries I have to include things like "get_money(player_name)" and "get_resources(player_name)" |
05:10 | | Derakon is now known as Derakon[AFK] |
05:25 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
05:30 | | RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
05:31 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
06:16 | | macdjord|slep is now known as macdjord |
06:21 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: BED] |
06:26 | | ErikMesoy|sleep is now known as ErikMesoy |
06:34 | | macdjord [macdjord@Nightstar-c0i1dq.cable.rogers.com] has quit [[NS] Quit: "Too long have night and day warred, their false dichotomy plaguing this land. No more. I come now to put them both down, to usher in a new era of balance and peace. For now is the time of... /Twilight/. *And the Dusk shall Reign Eternal.*"] |
06:49 | | macdjord [macdjord@Nightstar-c0i1dq.cable.rogers.com] has joined #code |
07:20 | | Turaiel is now known as Turaiel[Offline] |
07:36 | | Kindamoody is now known as Kindamoody|afk |
08:03 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds] |
08:29 | | Kindamoody|afk is now known as Kindamoody |
08:35 | | Kindamoody is now known as Kindamoody|out |
08:50 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
09:31 | | You're now known as TheWatcher |
09:36 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [[NS] Quit: reboot] |
09:39 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code |
09:39 | | mode/#code [+ao McMartin McMartin] by ChanServ |
09:46 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
09:46 | | mode/#code [+o himi] by ChanServ |
11:13 | | thalass [thalass@Nightstar-q7lt2g.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
11:26 | <@TheWatcher> | ... how did this code even work? |
11:26 | <@TheWatcher> | Like seriously, this shouldn't have actually worked at all. |
11:26 | <@TheWatcher> | WTF |
11:30 | | Orthia [orthianz@Nightstar-5m8.1ee.224.119.IP] has quit [Ping timeout: 121 seconds] |
11:34 | | Vornotron [Vorn@Nightstar-sn7kve.sd.cox.net] has joined #code |
11:35 | < Shiz> | it didn't |
11:36 | | Vornicus [Vorn@Nightstar-sn7kve.sd.cox.net] has quit [Ping timeout: 121 seconds] |
11:37 | | Orthia [orthianz@Nightstar-5m8.1ee.224.119.IP] has joined #code |
11:37 | | mode/#code [+o Orthia] by ChanServ |
11:39 | <@TheWatcher> | It did. |
11:39 | <@TheWatcher> | Although I must admit I am now scared to go and look at the live system |
11:40 | <@TheWatcher> | Just in case my discovery has made it so that it no longer works. |
11:52 | | Vornotron [Vorn@Nightstar-sn7kve.sd.cox.net] has quit [Connection reset by peer] |
12:14 | | Xon [Xon@Nightstar-j72.ku7.252.119.IP] has quit [Ping timeout: 121 seconds] |
12:15 | | Xon [Xon@Nightstar-j72.ku7.252.119.IP] has joined #code |
12:21 | | Xon [Xon@Nightstar-j72.ku7.252.119.IP] has quit [Ping timeout: 121 seconds] |
12:21 | | Xon [Xon@Nightstar-j72.ku7.252.119.IP] has joined #code |
12:28 | | Netsplit *.net <-> *.split quits: @Orthia, @Tarinaky, @gnolam, @Tamber, @himi, @McMartin, Red_Queen, @Reiv, @Syloq, @PinkFreud, (+1 more, use /NETSPLIT to show all of them) |
12:45 | | JustBob [justbob@Nightstar-5smtnf.or.comcast.net] has quit [Ping timeout: 121 seconds] |
12:47 | | Turaiel[Offline] [Brandon@Nightstar-vku52k.resnet.mtu.edu] has quit [Ping timeout: 121 seconds] |
12:47 | | abudhabi_ [abudhabi@Nightstar-fd1.39v.247.94.IP] has quit [Operation timed out] |
12:47 | | Netsplit *.net <-> *.split quits: @iospace, Typherix, @Derakon[AFK], @froztbyte, macdjord, @jerith, @ToxicFrog, @Alek |
12:48 | | Netsplit over, joins: Reiver, PinkFreud, Tamber, himi, McMartin, gnolam, macdjord, Tarinaky, Syloq |
12:48 | | Turaiel[Offline] [Brandon@Nightstar-vku52k.resnet.mtu.edu] has joined #code |
12:48 | | Netsplit over, joins: @Reiv, @Orthia, Red_Queen |
12:48 | | ServerMode/#code [+ooooaooooo PinkFreud himi Tarinaky Tamber McMartin McMartin gnolam Syloq Reiv Orthia] by *.Nightstar.Net |
12:49 | | Netsplit over, joins: iospace |
12:49 | | mode/#code [+o iospace] by ChanServ |
12:49 | | JustBob [justbob@Nightstar-l9n.v54.237.71.IP] has joined #code |
12:49 | | Netsplit over, joins: ToxicFrog, jerith, froztbyte, Alek |
12:49 | | Netsplit over, joins: &Derakon[AFK] |
12:49 | | ServerMode/#code [+aooaoao ToxicFrog ToxicFrog Alek jerith jerith Derakon[AFK] Derakon[AFK]] by *.Nightstar.Net |
12:49 | | mode/#code [+o froztbyte] by ChanServ |
12:50 | | JustBob is now known as NSGuest43579 |
12:51 | | Netsplit over, joins: Typherix |
12:52 | | NSGuest43579 [justbob@Nightstar-l9n.v54.237.71.IP] has quit [[NS] Quit: ] |
12:52 | | JustBob [justbob@Nightstar-5smtnf.or.comcast.net] has joined #code |
12:53 | | abudhabi_ [abudhabi@Nightstar-7nkq9k.de] has joined #code |
13:51 | <@Tarinaky> | I'd forgotten how much of a pita it is to try to divine the meaning of some C++ code by reading it. |
13:57 | | * Tarinaky boggles, wait what... |
14:02 | <@Tarinaky> | I'm not familiar with this kind of... thing... in C++ https://gist.github.com/anonymous/a619c516ea739abd90f4 |
14:02 | <@Tarinaky> | I'm not entirely sure what it says. |
14:04 | < Xon> | Tarinaky, in-line initialization of a structure from some pointer to a struct/class |
14:04 | <@Tarinaky> | It doesn't specify a type for the struct. |
14:05 | <@Tarinaky> | And the 'foo: bar,' lines confuse me. |
14:05 | <@TheWatcher> | struct log_GPS is profaby defined elsehwere - that's creating one called pkt |
14:05 | < Xon> | yeah |
14:05 | <@TheWatcher> | and the foo: bar is saying "set field foo of pkt to the value bar" |
14:06 | <@Tarinaky> | Oh derp. |
14:06 | <@Tarinaky> | Right. I'd not seen : used in that way in C++ beore. |
14:06 | <@TheWatcher> | Yeah, it's hilarious rare IME |
14:06 | < Xon> | that's new syntax isn't it? |
14:06 | < Xon> | or very old |
14:06 | | * Tarinaky goes grep for log_GPS |
14:06 | < Xon> | one of the two =p |
14:06 | <@TheWatcher> | It's very old |
14:07 | <@TheWatcher> | the new syntax is .field = value |
14:08 | < Xon> | isn't hat syntax for C rather than C++? |
14:09 | | * Tarinaky is, for her disseration, struggling to understand /someone elses code/ |
14:09 | <@Tarinaky> | Because I figured, hey, it's an important skill to be able to show I can do right. |
14:10 | <@Tarinaky> | And it means I can launch straight in to doing something awesome rather than doing loads of boilerplate. |
14:10 | <@Tarinaky> | And I am a complete idiot please shoot me kthx |
14:10 | < Xon> | often, boilerplate is easier to write than to understand someone elses code unless the interface to it is really well documented |
14:11 | <@Tarinaky> | I'm supposed to be adding some sort of auto-abort algorithm to a UAV, based on its remaining battery life and how the wind-conditions are affecting progress. |
14:12 | < Xon> | lol |
14:12 | <@Tarinaky> | I think I have a vague idea how this module's working anyway. |
14:13 | <@Tarinaky> | No, wait, no I don't. |
14:13 | <@Tarinaky> | :/ |
14:13 | < Xon> | yeah, that does explain why you are trying to figure out how the GPS logging works |
14:14 | <@Tarinaky> | I'm trying to figure out the logging in general. |
14:14 | <@Tarinaky> | GPS logging was just the first one. |
14:16 | < Xon> | good luck |
14:16 | < Xon> | most embedded programming is just horrible |
14:17 | <@TheWatcher> | If you'd prefer something less sanity-breaking, I have lots of perl code in my github!~ |
14:17 | <@Tarinaky> | Agreed. My 'out' is I can do a proof of concept in Python. |
14:17 | <@Tarinaky> | But I'd like to at least try to make it work. |
14:18 | <@Tarinaky> | Since there's plenty of Science! to be done to actually make a sensible algorithm. |
14:26 | < Xon> | TheWatcher, no thanks. it took years for work to get rid of some of thier sanity breaking perl code which I had to maintain |
14:28 | < Shiz> | @Tarinaky â I'm not familiar with this kind of... thing... in C++ https://gist.github.com/anonymous/a619c516ea739abd90f4 |
14:28 | < Shiz> | tell whoever wrote that to stop usingheinous GNU extensions |
14:28 | < Shiz> | and use the standard .field = value syntax instead |
14:28 | <@Tarinaky> | No. You tell them. |
14:28 | <@Tarinaky> | It's the Ardupilot project. |
14:33 | | * gnolam flails at his lack of artistic skills. |
14:33 | <@Tarinaky> | Try holding the brush carefully, like a pencil, instead of flailing it around. |
14:34 | <@TheWatcher> | I dunno |
14:34 | <@Tarinaky> | Unless you're doing an impression of the artist from SPACED |
14:34 | <@TheWatcher> | Looking at some 'art' these days, nigh-epileptic flailing with paint seems to be quite acceptable. |
14:35 | <@Tarinaky> | In whcih case you need to be naked and coating your penis in paint before running at the canvas screaming. |
14:37 | | * Tarinaky glares at this code for implementing abject oriented techniques / code replication. |
14:38 | <@Tarinaky> | https://gist.github.com/anonymous/69492c0ade7d1d076416 |
14:38 | <@Tarinaky> | Can anyone see a good reason why that shouldn't be a do-while? |
14:40 | <@Tarinaky> | Ah wait, I see one. |
14:40 | <@Tarinaky> | Header has a different constant. |
14:41 | <@Tarinaky> | NNot sure i it's a good reason but it is at least a reason. |
14:41 | <&ToxicFrog> | "DataFlash_Class"? |
14:42 | <@TheWatcher> | Tarinaky: I'm willing to bet on not a good reason. |
14:43 | <@Tarinaky> | ToxicFrog: I tink this namespace contains methods for writing to the SSD onboard. It's just it has some deffault Log_Write_X methods that're common to the different types of UAV the code supports. |
14:44 | <@Tarinaky> | And apparently I might have to leave because the internet is being awful here. |
14:44 | <&ToxicFrog> | Right, but why _Class? |
14:44 | <@Tarinaky> | idk. |
14:45 | <@Tarinaky> | It's outside the scope of this project to refactor it. |
14:50 | | * TheWatcher is entirely filled with hate for character encoding issues. |
14:58 | < ErikMesoy> | Utter bullshit and shitty code at work today. :-( |
14:58 | < ErikMesoy> | At least it pays the bills for me to come and fix it. |
14:59 | < ErikMesoy> | Start with the folders "Taxes year 2010", "Taxation year 2011", "Taxation 2012". Inconsistent naming fucks up alphabetical ordering and prevents some kinds of automatization. |
14:59 | < ErikMesoy> | The first two are located on the company website under the namespaces /taxes_2010 and /accounting_2011 |
14:59 | < ErikMesoy> | More inconsistency, but the third isn't even in the same category of mistake. It's just not even wrong: /confirmed_version |
15:00 | < ErikMesoy> | Then there's the BigCo Buzzword Operations Manglement folder, which is located at /bigco_buzzword_operations_management. Yes, it's spelled wrong in the displayed title and right in the address. (No, it's not literally "Manglement". All these are originally in Norwegian.) |
15:00 | < Xon> | wat |
15:00 | < ErikMesoy> | Xon: I'm fixing document archives for a large Norwegian company. |
15:00 | < Xon> | oh dear |
15:01 | < Xon> | good luck with that one |
15:01 | < ErikMesoy> | I see frequent WTFs like that, which result in me exclaiming "That's not even wrong". |
15:01 | < Xon> | heh |
15:01 | < ErikMesoy> | 2+2=4 is right, 2+2=8 is wrong, 2+2="grønnsaker" is the WTF of someone who seems to have no idea what they're doing. |
15:02 | < ErikMesoy> | But the prize for terrible namespace selection goes to the Spanish Oil Operations folder. |
15:02 | < ErikMesoy> | No, it's not located at /spanish_oil_operations, nor at anything to do with Spain, oil, or folder. |
15:02 | < ErikMesoy> | It's located at /news.aspx |
15:03 | < ErikMesoy> | Which means the main page for the Spanish Oil Operations folder is at something like big-company.com/internal-workspaces/news.aspx/default.aspx |
15:03 | <@TheWatcher> | :watman: |
15:04 | < ErikMesoy> | Na na na na na na na watman? |
15:04 | <@TheWatcher> | http://pygospasprofession.files.wordpress.com/2013/07/watman.jpg |
15:05 | <@TheWatcher> | (via |
15:05 | <@TheWatcher> | https://www.destroyallsoftware.com/talks/wat ) |
15:05 | < ErikMesoy> | I'm more familiar with the wat woman: http://www.theroundtable85.com/wp-content/uploads/2013/02/wat.jpg |
15:06 | < ErikMesoy> | This is at the same company where I kept finding links to v a while ago (presumably someone tried to hit Ctrl-v and just hit v instead and happily carried on) |
15:08 | < ErikMesoy> | I remarked to my coworker that the bright side of this is that the place must have a pretty good GUI or the point-and-click sort in order to hide these shitty folder addresses from people so well that nobody's been interested in fixing it for years. |
15:09 | < ErikMesoy> | He commented that while that might be the case, the appropriate course of action then was for the folders to be located at numerical global-ID addresses or the like, rather than have names which sometimes relate to the content and sometimes not. |
15:09 | <@TheWatcher> | Hah |
15:09 | < ErikMesoy> | So I pointed him to the "Sale of property at Someroad 4" folder, where someone had perhaps tried implementing that. The folder with that name was located at /b39-g6h3 |
15:10 | < ErikMesoy> | Nothing else is addressed with this scheme. |
15:10 | <@TheWatcher> | More like that people just work with it because that's how it is. |
15:10 | <@gnolam> | Tarinaky: sadly, coating my penis in paint and running into a canvas isn't really a viable option for creating usable icons. |
15:13 | <@TheWatcher> | Never underestimate the capability of admin staff to implement and maintain absolutely bugfuck insane, twisted, and inconsistent practices that'd make the blind idiot god Azathoth himself say "I say, steady on". |
15:14 | < ErikMesoy> | Hah |
15:16 | < ErikMesoy> | TheWatcher: http://vk.com/video1678620_163231929 Is that the same Wat talk? Your link gave me a media error. |
15:16 | <@TheWatcher> | Yeah, it is |
15:16 | < Xon> | javascript is horrible as langauges go =\ |
15:16 | < Xon> | I want my damn tooling! |
15:17 | < Xon> | (that said C/C++ has lots of kooky wierdness) |
15:19 | < ErikMesoy> | "What /should/ array plus array be?" :D |
15:21 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code |
15:21 | | mode/#code [+o celticminstrel] by ChanServ |
15:24 | <&ToxicFrog> | ErikMesoy: typeerror |
15:26 | < ErikMesoy> | ToxicFrog: Well, one could make a case for [] on the grounds of array concatenation. But I'm pretty sure the result shouldn't be empty string. :D |
15:52 | < RichyB> | Python does [] + [] == [], [1] + [2] == [1,2] # which is defensible |
15:55 | <@Tarinaky> | 15:10 <@gnolam> Tarinaky: sadly, coating my penis in paint and running into a canvas isn't really a viable option for creating usable icons. << I dispute the factual basis for this claim. |
15:56 | <@Tarinaky> | There're algorithms to turn a raster image into a vector image. |
15:57 | <@Tarinaky> | Anyway, you missed the screaming bit. You have to get really angry or upset about the thing you're trying to dipict. |
15:57 | <@Tarinaky> | Otherwise it isn't art. |
15:57 | < Shiz> | RichyB: it's not only defensible, it's the only sane behaviour i can think of |
15:57 | | * Tarinaky ducks. |
15:58 | <@Tarinaky> | Shiz: Throwing an exception would be a sane behavior. |
15:58 | < RichyB> | Shiz, well, raising TypeError is also a valid result, assuming that you have some other method like an array.concat or a ++ operator. |
15:58 | < Shiz> | for what reason |
15:58 | < RichyB> | For arrays aren't numbers. |
15:58 | <&ToxicFrog> | Shiz: addition is not concatenation. |
15:58 | <@Tarinaky> | It's not insane and it's not strictly addition. |
15:58 | < Shiz> | nobody said + is solely for numeric addition |
15:59 | <&ToxicFrog> | So, here's the thing. Is [1] + [2] [1,2] or [3]? |
15:59 | < Shiz> | [1, 2], obviously |
15:59 | <&ToxicFrog> | You can argue it both ways, as well as arguing that it should be a type error. |
15:59 | <&ToxicFrog> | Why is that "obvious"? |
15:59 | <&ToxicFrog> | I don't think it is. |
16:00 | < ErikMesoy> | Because concatenation is guaranteed not to be a type error? |
16:00 | <@Tarinaky> | Some people /do/ actually say that '+' is soley for numeric addition. |
16:00 | | * Shiz always uses list.extend, but that's besides the question |
16:00 | <&ToxicFrog> | If anything, [3] is more obvious, because it's consistent with how vector addition works elsewhere. |
16:00 | <@Tarinaky> | Just because it isn't in Python, and concatenation is reasonable behavior, doesn't mean that typeerror is unreasonable. |
16:01 | < Shiz> | fair |
16:01 | | * TheWatcher args, hairpulls |
16:01 | | * Tarinaky makes a mental note of the vector addition case for next time this argument happens. |
16:02 | <@TheWatcher> | "Spreadsheet::ParseExcel will return all character strings in UTF-8 regardless of the encoding used by Excel." - utter bollocks |
16:02 | < ErikMesoy> | :watman: |
16:02 | < Shiz> | TheWatcher: I think that's very convenient as long as ConstructExcel or whatever will convert it back properly |
16:02 | < Shiz> | :P |
16:03 | <&ToxicFrog> | ErikMesoy: unless you're using a language that imposes type constraints on collections; List[Int] + List[String] is either a compile time type error or the generally unuseful List[Object] if + is concatenation. |
16:04 | <@Tarinaky> | I'm sure there must be some language out there that'd use promotion to create a List[String] out of it. |
16:04 | <@Tarinaky> | Not that this is a good thing. |
16:05 | <@Tarinaky> | That said, in the python case you'd have a List[Object] because you always have a List[Object] |
16:05 | <@Tarinaky> | And we were talking about Python. |
16:06 | | * ErikMesoy just mumbles that [1]+['a'] = [1, 'a'] is mutually predictable to [1]+[2] = [1,2]. But a language that does [1]+[2]=[3] doesn't make it obvious what [1]+['a'] will return. |
16:06 | < ErikMesoy> | Tarinaky: We were talking about generalizations, I thought. |
16:07 | <@Tarinaky> | Well, in general, if we have a non-Pythonic type system then there's some extra data and constaints. |
16:08 | <@Tarinaky> | Because most languages have the arbitrary restriction that all the elements of an array to be the same type. |
16:08 | <@Tarinaky> | Which leaves the type inference of [1]+['a'] ambiguous. |
16:09 | <@Tarinaky> | Should it promote 1 to the character '1' or cast 'a' to an integer representing its bytewise value. |
16:09 | <@Tarinaky> | So the programmer is expected to provide some extra information to distinguish between the two. |
16:10 | <@Tarinaky> | i.e. manually promote or cast the values such that they become the same type. |
16:10 | < ErikMesoy> | Nitwit's answer: it should return ['b'] |
16:12 | <@Tarinaky> | Defense: While I've described the restriction as arbitrary I fully recognise that it's very useful in practice. |
16:12 | <@Tarinaky> | For a variety of reasons. |
16:13 | <@Tarinaky> | Err, and by array I meant list. I herped a derp. |
16:14 | <&ToxicFrog> | Tarinaky: were we talking about Python? It started as a discussion of Javascript. |
16:14 | <&ToxicFrog> | ErikMesoy: ITYM "PHP's Answer" |
16:15 | < ErikMesoy> | ToxicFrog: Wasn't that what I said? |
16:43 | | Turaiel[Offline] is now known as Turaiel |
16:55 | <@Tamber> | *zing* |
16:55 | <@Tamber> | (Belatedly.) |
17:30 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
18:24 | | thalass [thalass@Nightstar-q7lt2g.bigpond.net.au] has joined #code |
18:32 | | Kindamoody|out is now known as Kindamoody |
19:26 | | Vornicus [Vorn@Nightstar-sn7kve.sd.cox.net] has joined #code |
19:26 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
19:33 | | Kindamoody is now known as Kindamoody[zZz] |
20:33 | | Turaiel is now known as Turaiel[Offline] |
20:33 | | Turaiel[Offline] is now known as Turaiel |
21:26 | <&ToxicFrog> | API design: still hard. |
21:30 | <~Vornicus> | damn right |
21:30 | | * ToxicFrog is waiting for a build and trying to figure out a non-terrible API for realizing map objects in libss1 |
21:31 | <@TheWatcher> | Should be swordfighting on deskchairs~ |
21:31 | <&ToxicFrog> | Each object has class properties (read from three different locations in the gamesys) and instance properties (read from two different chunks in the map data) |
21:32 | <&ToxicFrog> | At the moment I'm leaning towards implementing a class heirarchy that knows how to read the gamesys - i.e. Object knows how to read the common instance properties, Weapon inherits Object and knows how to read weapon category properties, etc |
21:33 | <&ToxicFrog> | Object also knows how to read entries in the common object instance properties table, and the subclasses all know how to read the category-specific instance properties tables in the map data |
21:33 | <@TheWatcher> | Oh yeah, have you seen that guy who has been writing a SS1 -> Dark Mod map converter? |
21:33 | <&ToxicFrog> | And then you call ss1.gamesys.init("objprop.dat") to load the gamesys, which gets you all the class properties. |
21:33 | <&ToxicFrog> | Then, when loading the map, you call ss1.gamesys.create_objects(<map object information chunk list>) |
21:34 | <&ToxicFrog> | This feels ugly, because now the gamesys library is responsible for loading parts of the map data. |
21:34 | <&ToxicFrog> | But if the map library is responsible for that, the gamesys class heirarchy gets duplicated. |
21:34 | <&ToxicFrog> | Which is also ugly. |
21:34 | <&ToxicFrog> | TheWatcher: I vaguely heard about it a while ago. |
21:37 | <@TheWatcher> | https://www.systemshock.org/index.php?topic=6045.msg65059#msg65059 has some screenshots, later on (#46) there's a map to try, too. |
21:37 | <&ToxicFrog> | (Darkmod is Dark-for-Unreal, yes?) |
21:37 | <@TheWatcher> | Dark for Doom3 |
21:37 | <&ToxicFrog> | Aah |
21:38 | <&ToxicFrog> | ...those screenshots all look vertically stretched. |
21:38 | <&ToxicFrog> | I wonder if something is off with the vertical scaling factor for the conversion. |
21:38 | <~Vornicus> | yeah, they do |
21:39 | <~Vornicus> | (this is something I wouldn't expect to notice; I played System Shock once, ten years ago) |
21:39 | <~Vornicus> | (god, it's been way too long) |
21:41 | <&ToxicFrog> | (time for a replay!) |
21:42 | <&ToxicFrog> | TheWatcher: I don't have doom3, so that's a problem~ |
21:43 | <&ToxicFrog> | Looking at more screenshots, I'm now not sure if it's a problem with the map conversion itself, or something unheamy in Doom3's renderer. |
21:53 | <&ToxicFrog> | 71 classes to write. There has got to be a better way to do this. |
21:56 | <~Vornicus> | Yeah, that seems a bit big |
21:57 | <&ToxicFrog> | Hmm. Most of these don't actually need any smarts. |
21:57 | <&ToxicFrog> | They just need a few vstruct definitions. |
21:58 | <&ToxicFrog> | Object needs two (gamesys and map), category classes also need two, subcategory classes need one (and that one is often extremely terse, sometimes a single field) |
21:58 | <&ToxicFrog> | So I can probably get away with an Object class, and then a table mapping typeID => struct definitions. |
22:02 | <@TheWatcher> | TF: actually, no longer. Dark Mod is standalone. |
22:02 | <&McMartin> | 13:34 <&ToxicFrog> I wonder if something is off with the vertical scaling factor for the conversion. |
22:03 | <&McMartin> | Was the original System Shock run on 320x200 screens, aka, the ones where the pixels are the wrong size? |
22:06 | <~Vornicus> | It also ran on macs; those always had square pixels |
22:06 | <~Vornicus> | I know I ran it natively at 640x480 |
22:09 | | ErikMesoy is now known as ErikMesoy|sleep |
22:12 | <~Vornicus> | and it looks stretched to me, and why can i not spell stretched |
22:20 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
22:24 | | celticminstrel [celticminst@Nightstar-mhtogh.dsl.bell.ca] has joined #code |
22:24 | | mode/#code [+o celticminstrel] by ChanServ |
22:57 | <&ToxicFrog> | McMartin: it supported both non-square and square pixel resolutions. |
22:58 | <&ToxicFrog> | I've only ever played it at square resolutions - 640x480, 800x600 or 1024x768. |
23:12 | | Red_Queen [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
23:12 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
23:25 | | Orth [Orthia@Nightstar-5m8.1ee.224.119.IP] has joined #code |
23:40 | | Syloq [Syloq@Nightstar-mbk.c3p.254.173.IP] has quit [Z-Lined: Your IP range has been attempting to connect too many times in too short a duration. Wait a while, and you will be able to connect.] |
23:45 | | SyloqAgain [Syloq@Nightstar-mbk.c3p.254.173.IP] has joined #code |
23:46 | | SyloqAgain is now known as Syloq |
23:46 | | mode/#code [+o Syloq] by ChanServ |
--- Log closed Wed Feb 05 00:00:49 2014 |