IRC log for #riftuidev on 20121228

02:15.31*** join/#riftuidev Imhothar_ (miranda@ppp-93-104-180-132.dynamic.mnet-online.de)
05:14.16*** join/#riftuidev odine (~odine@216.224.161.92)
05:57.42*** join/#riftuidev odine (~odine@216.224.161.92)
05:58.24odineoh hai there! :)
06:58.35*** join/#riftuidev odine (odine@cpe-74-77-168-188.buffalo.res.rr.com)
10:32.08*** join/#riftuidev Torhal (~torhal@c-71-207-224-241.hsd1.al.comcast.net)
13:04.10*** join/#riftuidev g0urra (~g0urra@unaffiliated/gourra)
13:58.32*** join/#riftuidev LoserCoder (~LoserCode@205.245.53.214)
14:05.32LoserCoderIs this thing on?
14:23.12*** join/#riftuidev Noshei (~quassel@c-67-161-146-244.hsd1.co.comcast.net)
15:03.02*** join/#riftuidev Baanano (~chatzilla@85.63.109.151)
15:37.18*** join/#riftuidev Imhothar (miranda@ppp-188-174-121-144.dynamic.mnet-online.de)
15:43.04ZorbaTHutyes, but the channel is often quiet, especailly in the middle of the night US time :)
15:43.19Ivnedarhi ZorbaTHut :)
15:43.23odinewho sleeps?
15:43.30ZorbaTHutheya ivnedar :)
15:45.07Ivnedarmost of the best coding time is 3am, no sleep!
15:49.52Imhotharhey, we got a few non-US people here. Should actually be a busy place during US night times
15:50.53Imhotharthough actually, night time PST like early morning here
15:52.18ImhotharZorbaTHut I was wondering: does it make any difference to the client if you call SetTexture with "Data/\UI\item_icons\bla.dds" compared to just "bla.dds"?
16:08.25IvnedarHrrm, there's no way to work out what direction player is facing is there
16:20.53ZorbaTHutimhothar, officially: use what the API provides you. unofficially: I'm pretty sure the former is converted into the latter anyway before the load occurs
16:20.59ZorbaTHutbut don't blame me if this stops being the case someday :V
16:26.15Imhotharwell, officially we only have the names from the ftp zips
16:27.07Imhotharunless you're refering to Inspect.Item.Detail().icon which has the former pattern
16:28.05Imhotharinterestingly though, the former pattern never appears in the recorded texture names
16:31.28IvnedarI noticed the item discovery file has them as item_icons\blah.dds
16:34.26BaananoZorbaTHut, I've been wondering for some days if SL quest IDs are bugged or not
16:34.57ZorbaTHutHmm. They shouldn't be, AFAIK nothing has changed in the ID system
16:35.05IvnedarBugged how?
16:35.12Baananothe thing is most SL new quests have a negative ID and their addon id starts with qFFFFFFFFABCDEFxxxxxxx
16:35.25ZorbaTHutyeah, honestly, the whole "chop off the end of the filename and use that as a unique ID" thing may be reliable enough to just use it everywhere
16:35.45ZorbaTHutoh dammit I bet I forgot to write it as an unsigned int
16:35.46ZorbaTHutsigh
16:36.01ZorbaTHutif you chop off the first eight F's it'll work. I'll fix it after the holidays.
16:36.07Ivnedaroh, yeah, those ones
16:36.09Baananothey work but you need to compare the 17 first chars instead of the 9 first ones as the docs say
16:36.26ZorbaTHut(I think you might be familiar with that issue, the same problem showed up in the item system a while back)
16:36.44Imhothardon't mention it, stil gives me nightmares
16:36.45Baananoyes, with lesser essences
16:37.13Baananoanyway, as they worked too with the FFFFFFFF prefix i wasn't sure if that was a bug
16:38.02Imhotharhow comes a signed int is serialized with 8 bytes and an unsinged just with 4. that sounds strange
16:38.28Ivnedarthey're only like that in the Inspect.Quest.Complete() results until they're cached aren't they?
16:38.34ZorbaTHutit's part of our serialization library, I believe - there aren't many people trying to serialize negative unsigned ints as hex values
16:39.07Baananoi suppose they are serialized with a %08X mask
16:39.19ZorbaTHutI believe so, yep
16:39.31ZorbaTHutwe used negative numbers for SL IDs so they wouldn't conflict with IDs in the main branch
16:39.35IvnedarqFFFFFFFF<8charid>xxxxxxxx
16:39.55Imhotharwhat will you do in the next addon? invent a third sign?
16:40.10ZorbaTHutactually, it's not really "SL" and "classic", it's "major development branch" and "main branch"
16:40.25ZorbaTHutall our new IDs are positive again, and the next time we need a major fork for dev reasons, we'll just make the fork negative :)
16:40.45Imhotharthat sounds like a horrible hack
16:40.59ZorbaTHutIt's hacky, but it's easy and reliable
16:41.09Imhothara hack is by definiton not reliable ;)
16:41.18ZorbaTHutthen it's not a hack :D
16:41.34Imhotharas long as someone remembers it...
16:42.13ZorbaTHutnote that IDs are generated automatically by our tools, so there isn't much need for memory
16:42.53Imhotharthen why the positive/negatie thing?
16:44.40ZorbaTHutthere's no global registration of IDs besides "what's in source control", and we wanted merging data from live to SL to go smoothly. Easiest solution: ensure that people working in those branches will never generate conflicting IDs.
16:45.08Imhotharwiat, you don't store quests in a database?
16:45.26Imhotharinteresting
16:45.45ZorbaTHutgeneral rule for large projects: everything in source control, everything in a format that can be merged by your source control tools
16:46.03ZorbaTHutif you can't merge sqlite or whatever, then you don't use that as the fundamental repository for data.
16:46.13ZorbaTHut(that said, nothing says you can't convert to databases as part of a build step)
16:46.28Imhotharyou can merge sql make scripts though
16:46.43Imhotharhmm
16:47.20Imhotharoh well
16:47.22ZorbaTHutbut then you're stuck writing tools that understand and output sql make scripts. and, I mean, eww. :V
16:47.24Imhotharwhat CVS are you using?
16:47.53ZorbaTHutpretty much the entire game industry uses perforce
16:47.59ZorbaTHutit's the only thing that scales up enough
16:48.38ZorbaTHut(I wish git would scale better :( )
16:48.57Imhothardoesn't git host the entire linux kernel?
16:49.08ZorbaTHutyeah, but it turns out the linux kernel is really small
16:49.16ZorbaTHutlots of files, lots of changes . . . lots of tiny files and tiny changes
16:49.29ZorbaTHutwhen you're working on games, you're looking at a single tree checkout in the dozens-to-hundreds-of-gigabytes range
16:49.38ZorbaTHutthe full repository with history can be easily dozens of *tera*bytes
16:49.46ZorbaTHutgit doesn't handle that particularly well :V
16:50.23Imhotharwell, I wouldn't use a single repository for the entire project anyways but split it up
16:50.43ZorbaTHutthat just seems like needless complexity. all the assets are part of a single project - why split the project into multiple repositories?
16:51.06ZorbaTHutsometimes it's really handy to be able to rewind to "rift as it was two weeks ago", especially when you're trying to binary-search a regression out of the repository
16:52.03ZorbaTHutten years ago people were doing all sorts of bizarre solutions where they stored what were effectively symlinks in the versioning system, which pointed at a bulk data store to hold all the old files. thankfully, we don't need that anymore, although the result has turned into "use perforce for everything"
16:53.25Imhotharwell, git submodules aren't that bad. separating code from data is a nice thing and the implied submodule commit just works as if it was there
16:53.56ZorbaTHutunfortunately git submodules don't solve the problem. you still need to check out everything to check out a git repo - git submodules just make it more difficult to work with
16:54.16ZorbaTHutand in the game industry, there isn't a clean separation between code and data. your game code is intimitely tied to the game data.
16:54.26ZorbaTHutthey're all part of a single project.
16:56.29Imhotharguess that depends. some companies use the same engine for multiple games. so there's at least a sort of logical separation there. but I don't really have experience with perforce so can't compare
16:58.02ZorbaTHutyeah, I'm actually kinda curious how they do that. but even then, I suspect that each game ends up with a mild fork of the engine, with good features backported to the canonical root version
16:58.33IvnedarHrrm, no Command.Guild.Roster.Invite ?
16:58.43ZorbaTHutprobably with the whole mess stored in a gargantuan unified repo because p4 is really good at that
16:58.57ZorbaTHut(when I worked at Google, *all* Google code was stored in a single humongous perforce repo)
17:00.03ZorbaTHutivnedar, as I recall, that's waiting for a little infrastructure work to make it harder to spam people
17:00.13ZorbaTHutthat said it may be possible to jam it into a macro
17:00.44Ivnedarwe've got a guild member who's kicked/invited several times a day, I was automating the inviting/reranking bit
17:00.51Ivnedarnot overly important
17:02.09Ivnedarthe reranking was the annoying bit and that's sorted
17:02.53ZorbaTHutexcellent :)
17:03.03ZorbaTHutthough I have to ask - why do you kick the guild member several times per day? :V
17:03.25IvnedarHe's a dorf
17:03.43ZorbaTHutfair
17:03.56IvnedarThought that'd be explanation enough :)
17:04.02IvnedarHe does ask for it though
17:20.05Ivnedaroh wow, how is it I've never noticed *.Map.*
17:33.53ZorbaTHutI'm not sure anyone's really used that API much. If you run into problems with it, let me know, there may be lurking bugs.
17:34.27Ivnedarawwh, was hoping I could get back the player facing from it, could still be useful
17:34.40ZorbaTHutthat's actually on my list of things I need to ask the designers if I can expose
17:35.34Ivnedarfor player only? or all units?
17:40.16Baananothe Map API could use some improvements :P right now I can't figure a practical use for it but to get accurate coordinates for gatherables
17:40.17ZorbaTHutall units, potentially. depends on what design says
17:40.53ZorbaTHutbaanano, is it that you're unsure of what a map API could give you, or is it missing features in the existing API?
17:42.08Baananoi'd say missing features: getting the icon texture for locations, and maybe location types
17:42.33ZorbaTHuthmm, icon texture is going to be tricky - I actually don't have that information particularly available
17:42.46ZorbaTHutlocation types could probably use some improvements though
17:43.00Baananoi have a table somewhere that says lxxxYY are gatherables, lxxxxZZ are quest givers
17:43.38ZorbaTHutyeah, one issue is that the map code is, uh . . . let's go with "bad" and leave it at that
17:43.49ZorbaTHutand so a lot of the categorization that you think should be possible is, in fact, not easily possible
17:43.57Baananoalso can't recall if invasions showed where they were heading
17:44.00ZorbaTHutstill there's probably a lot I coudl be exposing that I'm not
17:44.27Baananoand we'd need to be able to rotate the arrow textures to be able to emulate the native map
17:45.15ZorbaTHutI'm actually working on improved texture display options now, though it's a bit tricky because I'm trying to make sure I don't make an overcomplex API while also not boxing myself into a corner
17:46.02ImhotharI'm really a bit shocked ScaleForm doesn't give you some native way of specifying texture cooridnates/transformations
17:46.29ZorbaTHutkeep in mind that scaleform isn't the only issue - as usual, it's a matter of coming up with a clean API I can expose
17:46.55ZorbaTHutideally one that is also efficient
17:48.24Baananoalso, has anyone solved the problem to know if a coordinate set is in mathosia or the new map?
17:48.42BaananoI guess we could build a Scene > Zone/Map lookup
17:50.05ZorbaTHutI'm a little loathe to hand over internal map names, I guess I really need an internal-name-to-addon-identifier lookup table
17:52.02Imhotharhonestly, the most texture coordinate cases just need x/y from and x/y to, either in texels or [0;1]. Everything else can be done with a transformation matrix
17:53.05Imhotharat least for affine transformations
17:53.39Imhotharthen there's a pair of x/y for each rectangle point. which could be combined with the matrix for those really scary use cases
17:53.42ZorbaTHutI'm not gonna go into details yet, but I want to overprovide on features this time rather than underprovide
17:54.28Imhotharin the end it boils down to specifying the x/y point for each widget vertex.
17:54.50Imhotharor s/t, whichever you prefer
17:55.03Imhotharor u/v?
17:55.36ZorbaTHutu/v is traditional for texture coordinates
17:56.30Baananowill be able to tint textures too? :P
17:56.41Imhotharunless you're an OpenGL guru and talk stpr only ;)
17:57.36Imhotharoh yes please vertex colors
17:57.51Imhotharor even better! custom vertex/fragment shaders for textures
17:57.55Imhotharoh that would be fun
17:58.43Imhotharhow about convolution filters
17:58.55ImhotharI need a drink
17:58.58ZorbaTHutyou are probably not getting custom vertex and fragment shaders :V
17:59.19Imhotharnot even a code fragment? awwww
18:09.32Ivnedarshould daily quests disappear from Inspect.Quest.Complete() once reset happens?
18:14.57Baananoi think they don't
18:15.24IvnedarThey don't, was wondering if they should
18:15.44Ivnedaror if there was some other way to work out if they've been completed so far 'today' without tracking by complete event
18:16.10Baananoit'd be nice if repeatable quests disappeared once they can be repeated or even better if they had a flag or timestamp so you could figure if they can be repeated
18:19.34IvnedarI guess I was curious if the returned table is intended to be the "list of all quests ever completed" or the "list of all quests currently in the completed state"
18:31.27IvnedarAh well, sun's coming up, guess I should get some sleep in before continuing Ashora IAs
18:31.30Ivnedarbbl
20:03.44*** join/#riftuidev purl (~purl@rikers.org)
20:03.44*** topic/#riftuidev is http://pastebin.com for code snippets || PIL: http://www.lua.org/pil || Rift AddOn Policy: http://t.co/7xXd4LL || AddOn Wiki: wiki.riftui.com/ || RiftUI.com || rift.curse.com || this channel is logged, via purl || On the bright side, if the Mayans are right, this is the last Monday you'll have to deal with.
20:28.18seebsOooh, texture stuff.
20:29.40odinewhat about texture stuff?
20:29.43odinewhat i miss? :)
20:30.43seebsZorba mentioned some stuff about texture API.
20:30.50odineooOoooo
20:30.58seebsOne of the things WoW did that I actually really liked: You could request 3D model stuff.
20:31.05odine<3 tex coords
20:31.06odinenom nom
20:31.18seebsThe _Cursor addon I used there would let you basically assign any of the standard 3D spell-casting animations to the cursor.
20:32.10Baananoodine, are you working on a calendar addon?
20:32.46odinesorta in my spare time.. also using it to adjust to rifts api.. still really used to wows api
20:33.04Baananoor anyone else
20:33.35seebsI am SO not missing the WoW API.
20:33.58seebsI still shudder when I think about the effort I went to to try to make something which could determine with at least 80% reliability whether it had gotten an item out of the mail.
20:33.58Baananoi recently got permissions to the storage stuff in my guild, was thinking on doing a calendar addon, but wanted to check before if somebody else was on it
20:34.00odinei dont miss it, just some things.. i keep finding myself to use SetScript.... i loved how u could use that...
20:34.45odine....mostly for the OnHide, OnShow, cuz there is current no .Event.Visible or such
20:34.45Baananowhat's SetScript about? I haven't used the wow api
20:34.48Imhotharodine in Rift it's actually easier, just assign a funtion directly without
20:35.14Imhotharneeding any API call
20:35.18odine^ ya.. its just a habbit thing.. gotta break it
20:35.58odinebaanano: with SetScript u could do something like........ window:SetScript("OnShow", functionToCall, self)
20:36.27odineand i just keep finding myself using it lol.. like i said habbits
20:37.06Imhotharwhich in Rift is simply window.Event.Something = functiontoCall
20:37.26Baananoah, an event handler
20:38.40odinerifht but there is no Visible or Hidden in there... mostly for mouse focus, clicks... i saw in libsimplewidgets for SimpleWindows he extended it to so that if u actually clicked the close button it would trigger Event.Close
20:39.33Imhotharwell OnShow and OnHide are simply missing, that's not realted to SetScript in any way
20:40.04odineso im loooking into that possibility atm, because ill be honest, im no pro.. im amature at best hehe. and ya i know.. i want them ;)
20:40.05Baananoyeah, if you really want a VisibilityChanged you could do what LSW does
20:41.09odineya i have the onhide from LSW already, been busy havent had the time to see if i could addin an onshow type thing
20:43.49Baananoanyway, is the storage api easy to grasp? i haven't been able to get all the pieces together yet
20:44.14Baananowhat's the difference between Delete and Write permissions?
20:45.12ImhotharWrite doesn't allow you to delete an entry
20:45.42Baananobut you can modify it?
20:46.04Imhotharyah
20:46.10Imhotharbut not delete
20:47.31Imhotharodine are/were you using StorageViewer?
20:47.36ZorbaTHutwrite doesn't allow modify either, it's just add
20:47.40ZorbaTHutreally should have been named Add :V
20:48.13odineyes i use storageviewer
20:48.26Imhotharis it helpful?
20:48.44odineonce i had a basic grasp i moved on to other pars of the addon though, and yes its helpful to check how roster data is saving etc etc
20:49.30odinebut storageviewer is a lifesave once i get more back to that part of the addon :)
20:50.09Baananoit's really helpful when you mess up and need to clean the storage :P
20:50.25Imhotharwell then at least it has a purpose
20:50.33*** part/#riftuidev LoserCoder (~LoserCode@205.245.53.214)
20:52.41Baananowhat's the overhead of using multiple storage entries?
20:53.04Imhothareach storage element has a minimum size of 64
20:53.13ImhotharI think
20:58.21Baananodo you know if you can create an entry with officer write permissions without been an officer?
20:58.41ImhotharI think so
21:01.44Baananoand delete it?
21:02.00Imhotharprobably not
21:02.09Imhotharthat would kind of mitigate the permission
21:03.16Baananomy guild officers were a bit reluctant to give me those permissions, would prefer not to need them to delete bogus entries i create while testing the api
21:04.27Baananodidn't we have a dev guild somewhere?
21:05.00ImhotharWildtide and me are in one on Blightwead
21:05.11Imhotharlet me check if I can invite peoepl
21:07.16Imhotharlooks mlike
21:07.27Imhotharwhat's going on with my fingers today...
21:08.39Imhothargulid is Cry Havoc
21:08.57Baananok, let me finish a quest and i'll create a char on blightwead
21:11.40*** join/#riftuidev Thorarin (thorarin@D57DD135.static.ziggozakelijk.nl)
21:30.38ImhotharZorbaTHut what kind of string would prevent print() from being displayed?
21:31.35Imhothartrying to print() data read from storage using print("x" .. data .. "x") but only the first x shows up
21:31.50Imhotharputting it in a RiftTextfield leaves the textfield empty
21:33.17Imhotharwell riddle solved it begins with a \0
22:49.40Imhotharwoah, my Necromancer pet looks dramatically different...
22:51.02Imhotharwhen did that happen
22:55.30Imhotharwish we could equip our undead friends to change their appearance

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.