IRC log for #bzflag on 20070816

00:03.38EpyonFINALLY
00:04.25TD-LinuxEpyon, now add louman's trees
00:04.39Epyono.O?
00:05.02EpyonAh, no not yet :P
00:05.29EpyonI want the geometry definition files running first :P
00:05.52*** join/#bzflag Theme97 (n=Theme97@about/essy/phpwriter/Theme97)
00:06.45TD-Linuxthen add louman's trees.
00:06.49TD-LinuxWant me to make a fountain for yoU?
00:06.54TD-Linuxand some objects?
00:07.01TD-Linuxstreetlamps, etc?
00:07.31EpyonWould be nice, but I don't know how much time I will have left for polish :)
00:07.51TD-Linuxonce you have geometry definition files, won't it be easy?
00:08.11TD-LinuxI suppose that itself will take quite a while.
00:08.29blast007it can always be something for after the 20th ;)
00:08.46EpyonTrue :)
00:09.00EpyonAaah, that's needed!
00:09.13tannerldEpyon: cupcakes come later
00:09.20Epyon:P
00:09.43EpyonFunny, all is well except that unistd.h
00:09.51Epyononce I cut it out it compiles o.O
00:10.46EpyonFunny thats a unix header
00:17.30JeffMwell those won't work on nix
00:17.33JeffMon windows I mean
00:17.51JeffMwhat is this buffalow thing building for you anyway?
00:18.36EpyonJeffM, this seems a bug in the windows nix utils. You think it would be ok to workaroud it by supplying an empty "unistd.h" file?
00:18.49JeffM#def it
00:18.52EpyonA parser/lexer for the geometry
00:18.58JeffM#ifndef _WIN32
00:19.08JeffMwindows has unix utils?
00:19.21EpyonJeffM, I can't I don't control the lexers output file
00:19.43jude-JeffM: yup
00:19.48EpyonFound it here : http://unxutils.sourceforge.net/
00:20.06EpyonThe up side is that they are not dependent on cygwin
00:20.13JeffMeww
00:20.46JeffMwhat does this magic code need that windows does not have?
00:20.56JeffMand what does it do for you?
00:21.08EpyonWhat do you mean?
00:21.18JeffMwhat feature does this give you?
00:21.30JeffMand are all other features done?
00:21.44EpyonThe ability to seperate the definition of the grammar that generates the buildings from the code.
00:21.58JeffMin enlish please
00:22.00Epyonsee last post : http://bzflag.chaosforge.org/
00:22.02JeffMwhat does it let a end user do?
00:22.16JeffMscripting?
00:22.47EpyonHmm, how can I easily explain that :/
00:23.02JeffMif you can't explain it, how are people suposed to use it ? :)
00:23.21EpyonIt allows for a much more concise, readable, and simple way to define how buildings randomly "grow"
00:23.25JeffMI mean your not suposed to be making a world modeler
00:23.46EpyonYep, but this is a form of a L-system :)
00:23.48JeffMso defining the paramaters
00:24.04JeffMa simple paramater list won't work?
00:24.10EpyonNope.
00:24.24Winnydunno if it has been suggested, or if it even being done, but why not make the random map gen a plugin for BZWB?
00:24.47EpyonIt's a formal grammar. Try typing that readably in a computer grammar :)
00:24.57Epyoncomputer program*
00:25.41JeffMso it can execute logic?
00:25.46JeffMlike a script then
00:25.47JeffMright?
00:25.52EpyonAnyway the snippet there written is actually in the code now but using C++ instead of this grammar. It takes 80 lines and is completely unreadable.
00:25.58EpyonRight.
00:26.06JeffMthen why not just use an existing script langauge
00:26.12JeffMwhy go thru ALL this crap to do your own
00:26.13Epyon*SIGH*
00:26.18JeffMbust out lua or python
00:26.41EpyonDo they treat programs like formal grammars? Nope.
00:26.46JeffMdoes your stuff have any advantage? other then seemingly being a pain inthe ass to implemnt
00:26.51JeffMEpyon, why is that important
00:26.57JeffMif you can GET the def done, who gives a crap
00:27.05EpyonIt's... *TADAAAA* the way the academics do it ;]
00:27.15JeffMok, then you fail
00:27.33JeffMyou are in a production environment
00:27.35JeffMnot school
00:27.37JeffMthis is your JOB
00:27.52EpyonSee any paper on procedural geometry generation.
00:27.54JeffMthat text is basicly just another langauge someone has to learn
00:27.59JeffMEpyon, I don't care about papers
00:28.02JeffMI care about results
00:28.08JeffMthis is the real world
00:28.13Epyonbrlcad cares about the academic side ;]
00:28.27JeffMnot to the detrement of real world useablitlty
00:28.41JeffMand cut out the smily crap this is seriouys
00:28.56EpyonAnyway, this is not a programing language anyway, this is string rewriting.
00:29.03JeffMhonsely what useablilty features, from a real world end users does this give?
00:29.33EpyonThe ability to most simply define other building growth methods.
00:29.53JeffMusing some set of keywords/language that your making up?
00:30.10JeffMI mean that stuff in your post, looks like no language I know
00:30.57EpyonThat's the whole point.
00:31.01EpyonIt's not a language.
00:31.07EpyonImagine more "a set of rules"
00:31.15JeffMits words I have to type to describe something
00:31.18JeffMthat is a LANGUAGE
00:31.21JeffMin a general sense
00:31.26JeffMnot a programing language
00:31.32JeffMI'm an end user, NOT a programer here
00:32.04JeffMno mater what, the words and formating you use, has to be learned
00:32.18JeffMand since your not basing it off anything else, it's something totaly new that has to be learned
00:32.23EpyonOkay, let me tell you that -- typing the same ruleset that would give the same effects in Lua or any other scripting language would give you a text 10 times as large with plenty of ifs and elses.
00:32.35JeffMbut it could be done
00:32.38JeffMsize maters not
00:32.44Epyonhttp://en.wikipedia.org/wiki/L-system <- this is basicly on what it's based.
00:32.46JeffMso your doing all this to be 'slick"
00:32.55JeffMand you can't explain wy
00:32.58EpyonSize will make them unreadable, and unmaintainable.
00:32.58JeffMI understand
00:33.04JeffMis ALL other features done?
00:33.22EpyonJeffM, have you read my timeline?
00:33.25JeffMno
00:33.32JeffMthat is why I'm asking you
00:33.48EpyonI'm behind schedule, but this is a 1/2 of the rest
00:34.14JeffMwould you be further along if you had used an existing langauge?
00:34.25JeffMeven if it wouldn't have been as prety and slick?
00:34.29EpyonAnyway, once this is in place I can produce additional building styles in a tempo of say 5 per hour.
00:34.41EpyonNo I would not.
00:35.02JeffMthe application itself sould not/does not depend on data to input to it
00:35.06EpyonI would be working now on getting proper interface for the language set up :P
00:35.17EpyonWho said that?
00:35.24JeffMyou were hired to write an app
00:35.31JeffMthe app is to be used by people
00:35.38JeffMpeople can define more rules later
00:35.42EpyonSo?
00:35.52EpyonSo you tell me this :
00:35.59JeffMif the app is not done, then people can not use it
00:36.11EpyonDon't write a way for people to define more rules later. Hardcode more things inside.
00:36.14JeffMI just want to make sure your not puting off other features that need to get done.
00:36.32JeffMjust so you can make some slick demo rules
00:36.34EpyonJeffM, this is *THE* feature that was to be done.
00:36.37JeffMok
00:36.40JeffMgood enogh then
00:37.24EpyonIt's both in my Google application, as well as in my timeline, as well as what was discussed with brlcad before and during the program
00:37.36JeffMbrlcad is not the only developer in the project
00:37.44JeffMwe are suposed to treat you as a normal dev
00:37.53JeffMbrlcad is not a god
00:38.11EpyonThe purpose of this is to provide an easy and efficient way to write rules for procedural geometry. The APP not the DATA or EFFECTS.
00:38.22JeffMif your saying that the rest is done, and your doing parametric building defs from external sources, hey that's fine.
00:38.32JeffMEpyon, I understand that now
00:38.44EpyonIf you think that I should be adding louman's trees instead then go ahead, tell me that.
00:38.55JeffMnaw, leave that up to end users
00:39.13JeffMI just wanted to make sure you didn't have other outstanding issues like "oh make it save"
00:39.18JeffMor other core features
00:39.23JeffMif this is the last one, hey great
00:40.12JeffMI'm not convinced of the reasoning for making your own definition languge, but I'm not that competent on what other languages can do. it's a minor point
00:40.15EpyonIt's not the last one actually, it's the primary one. I've been laying groundwork and writing methods for it up to now.
00:40.21JeffMjust being able to define them paramatericly is good
00:40.34JeffMothers can make other interfaces instead of your current system later if needed.
00:40.46*** join/#bzflag QuantumBeep (n=QuantumB@doc-24-32-46-104.leesville.la.cebridge.net)
00:40.49JeffMwell there are no other core features that are waiting right?
00:41.03JeffMlike big ones
00:41.16TD-Linuxtrees
00:41.20DTRemenakthis is kinda the core feature, JeffM...procedural map generation.  as I understand it, he's defining his own grammar primarily in order to save himself time.
00:41.30JeffMDTRemenak, I get that
00:41.45JeffMthat's why I say it's a minor point, and if  need be, we can replace it later
00:41.52JeffMexternal rules are good
00:41.52EpyonThere is but I don't know if I'll make it. It's the road network that is defined by... another L-system :PPPPP
00:42.17JeffMtrees are just a rule to inssert a mesh
00:42.26JeffMso you need rules to get trees :)
00:42.29DTRemenakthe stuff he has left basically depends on this stage anyway
00:42.35JeffMsounds like it
00:42.48JeffMwhat I don't like is the concept of including a "blank" file
00:43.05JeffMI mean so you used a tool to generate your parser, so edit it afterwords
00:43.06EpyonJeffM, try to understand me. I could raise the visual quality of the generated maps by 400% in one day. But that would be just more and more hacks. Instead of writing hacks I want to write a way to do it cleanly in one self-sufficient system. Isn't that logical?
00:43.11JeffMit jsut means your tool sucks :)
00:43.31JeffMEpyon, I' have said that having rules is good
00:43.42JeffMand I understand what your doing
00:43.42EpyonJeffM, sure. Bison and yacc sucks.
00:43.53JeffMI may not agree with your methods, but we can replace those later if need be
00:43.55EpyonWierd that people use it anyway :P
00:43.59DTRemenakas for whether it's "the" right way to do it...well, I dunno, it's a bit beyond where I'm compotent.  I think it's certainly the right direction.
00:44.36JeffMwhat I did not like is your insitance that acedemics is more important then real world useablitly. An aswer from you of "it's faster for me this way" makes a lot more sense then you harping about brclad.
00:45.16DTRemenakacademics is what leads to real world usability.  someone needs to TRY something before it's known whether it'll work IRL or not
00:45.16EpyonJeffM, sorry I got a little angry, but frankly, what you're now saying is equal to "I don't like your project for BZFlag, i think you should do another". All I have done up to date was to do this grammar now.
00:45.33EpyonDTRemenak, see my previous post on the blog xP
00:45.48JeffMEpyon, no like your prioject, I'm just questioning one of your small implementation choices
00:45.53DTRemenakEpyon: eep, haven't been keeping up on that
00:45.55JeffMpeople will question your implementations all the time
00:46.01Epyon*small* OMG.
00:46.16EpyonIt's the core choice actually :P
00:46.19JeffMand if you can't explain it, then that makes it harder for otehrs to understand.
00:46.29DTRemenakpeople will question your core choices too :)
00:46.30JeffMremember you are part of a group
00:46.34JeffMindeed
00:46.45JeffMone day you will NOT be here to work on the code
00:47.03JeffMso it is common for other devs to try and understand the "why"
00:47.30JeffMI mean the maps your able to make parametricly are cool
00:47.43JeffMand trust me I know quite a bit about parmatric model definition ;)
00:47.48JeffMworking with solds and stuff
00:48.32JeffMif you think banging on a yack and lex system is faster for you, fine
00:48.59JeffMI just hope it dosnt' end up being a hack itself
00:49.04JeffMand unmaintainable
00:49.16JeffMunmaintainable code tends to get ripped :)
00:49.21EpyonJeffM, those are the only tools that I know well that can be used to generate a parser. And you wouldn't want me to write a parser myself would you? :P
00:49.38EpyonTHAT would be wasting time xP
00:49.42JeffMEpyon, like I said, you saying "it's faster for me" is a perfectly fine reason
00:49.46JeffMyou just never said it like that
00:50.05JeffMI know speed is of the essence for you
00:52.28EpyonI actually started writing a rule parser, but once I realised that to extend the rule language somewhere in the future I will need to code in operator priority and the like, and that writing that parser will take me at least a 4-5 days, I reverted to using yacc lex. The only thing that I didn't know is the fact that the C++ version of yacc lex on windows works and is written a LOT worse than the TP Lex/Yacc used with FreePascal :P
00:52.45DTRemenakas far as maintainability goes, yacc and friends have the advantage of being well documented and pretty widely used in their field.  granted, it's a small field, so they're something of niche tools.
00:53.13DTRemenakthe gnu commandline tools almost universally suck on windows, Epyon
00:53.24DTRemenakthat's one reason I wanted to make sure you could include
00:53.28JeffMEpyon, I care not about free pascal, mentioning it means nothing.
00:53.36EpyonDTRemenak, I didn't know that until I started to write C++ :P
00:54.01jude-heh--almost everything designed for UNIX sucks on Windoze
00:54.52DTRemenak...generated files for the other poor sobs on non-unixish systems
00:55.40EpyonI'll do that.
00:55.52jude-me too
00:56.24Epyonjude-, actually it hit me now -- what are you using to parse the bzw files?
00:56.30jude-my own code
00:56.33JeffMyeah just include the generated file, hack it up for windows.
00:56.37JeffMhow often do you change it?
00:56.40DTRemenakyup, I know...if you would have said you couldn't, I'd have said "don't do it that way" :)
00:56.41JeffMwhen you add langauge stuff?
00:56.42jude-faster than dissecting BZFlag's parser
00:56.59JeffMbzflag's parser is wierd
00:56.59EpyonJeffM, currently I'm going to work a lot on changing it :P
00:57.13JeffMEpyon, and you develop on windows or nix?
00:57.23EpyonWindows :/
00:57.34JeffMhell get the soruce to the tool, mod it to put in the #def ;)
00:57.36JeffMthat's probably faster
00:57.43DTRemenakbzflag's parser is really weird...that's the conclusion Mr.AC and I came to also :)
00:57.49EpyonWhy would I be asking all those stupid VC questions
00:58.01jude-DTRemenak: I documented the interface for my BZWParser API on my blog if you're interested :)
00:58.04*** join/#bzflag Constitution (n=Constitu@gateway.pct.civiltec.com)
00:58.09JeffMEpyon, didn't know if you had goten a nix install, and were just trying to be "nice" to windows users.
00:58.13EpyonJeffM, but that would mean that noone except me would be able to re-generate the lexer file :P
00:58.22DTRemenakyou could be trying to build it on multiple systems, to ensure you had compatibility stuff down :)
00:58.31EpyonJeffM, I don't have time to be so nice xP
00:58.34ConstitutionEpyon: I g2g shortly, but I think you mentioned yesterday that changes are needed to the server?
00:58.36JeffMEpyon, document the chaes you make to the files :)
00:58.58EpyonConstitution, I would have implemented that already but I got into a flamewar with JeffM :P
00:59.00JeffMfor a while there, I was the only one that could make fonts for BZ
00:59.11DTRemenaknot too long
00:59.12JeffMEpyon, welcome to open source on the interent
00:59.22ConstitutionEpyon: okay, just wanted to make sure I didn't need to do something before I leave
00:59.36JeffMfor this SOC, I'm playing the part of the gurmpy older developer
00:59.41JeffMevery project has one
00:59.53JeffMat some point you should just shut them out :)
00:59.58EpyonConstitution, but probably the server wont be able to recompile the project after the next commit
00:59.59DTRemenakheh, playing the part huh... :P
01:00.06JeffMI take my parts seriously
01:00.12JeffMmethod acting, etc..
01:00.30EpyonConstitution, so you might freeze recompilation until someone makes a proper makefile that recompiles the lexer and yacc files.
01:00.45Constitutionhmm, okay
01:01.33Epyonping me tommorow, or day after so we can reenable it.
01:01.58JeffMDTRemenak, I think I found that post bug you had the other day :)
01:02.02DTRemenaksweet
01:02.08Constitutionif it just *won't* compile, then the server won't have a problem
01:02.13Constitutionit will continue to use the old binary
01:02.18DTRemenakwhat's the problem?
01:02.26JeffMthou shalt not put approach features for the next op into paths for this op's approach
01:02.33DTRemenakheh
01:02.43JeffMit was tacking on the first inter op feature for the NEXT op into the approach for this op :)
01:02.47EpyonConstitution, ah cool :D
01:02.55DTRemenakthat would explain why it was noncontiguous :)
01:02.58JeffMyeah
01:03.09JeffMwe used to tack them onto the end of this ops retract
01:03.23EpyonConstitution, then I will ping you in a while to ask you if it does compile :)
01:03.30Constitutionokay, sounds good
01:03.37JeffMI was trying to put them on the next ops approach, but we haven't loaded that op yet :(
01:05.21*** join/#bzflag bryjen (n=bryjen@2002:4cb1:b40f:0:0:0:0:1)
01:05.21*** mode/#bzflag [+v bryjen] by ChanServ
01:08.25*** join/#bzflag Tedius (n=Tedius@adsl-76-205-71-13.dsl.bcvloh.sbcglobal.net)
01:18.29CIA-23BZFlag: 03dtremenak * r14913 10/trunk/bzworkbench/ (include/windows/View.h windows/View.cpp): static members need to be initialized in the source file, not the header (haven't we been over this before? ;) )
01:18.59CIA-23BZFlag: 03dtremenak * r14914 10/trunk/bzworkbench/windows/eventHandlers/selectHandler.cpp: return a value, 'cause we theoretically get called.
01:22.20JeffMyay no more 8.5 bugs
01:22.35JeffMnow to go decide what to call the Tangibility messages :)
01:22.50JeffMif this works, it should be prety damned cool :)
01:22.56CIA-23BZFlag: 03dtremenak * r14915 10/trunk/bzworkbench/MSVC/VC8/BZWorkbench.vcproj: add new files
01:23.06JeffMi'll let you do what is basicly doors for tanks
01:24.15bryjen~dict tangibility
01:24.55JeffMsee it's a real word :)
01:25.02DTRemenak~dict 1 tangible
01:25.07*** join/#bzflag Pimpi (n=frank@gondolin.pimpi.org)
01:25.10JeffMI think I can work it out so we can do material changes too
01:25.11DTRemenakbryjen: that help more?
01:25.19bryjenyes, and spelled correctly too ;)
01:25.20JeffMsolidity
01:25.30JeffMyeah I spell checked it first :)
01:25.58DTRemenakyeah, for a bit he had "tangibility" (spellchecked) and "tangable" (not) :)
01:26.13JeffMjust one function :)
01:26.33JeffMheh
01:29.12jude-DTRemenak: thanks for the additional vcproj files :)
01:29.31DTRemenaknp
01:30.03DTRemenakshould be back to actually building on windows now
01:30.31DTRemenakyou've done a pretty good job at keeping it all portable
01:30.36jude-thanks :)
01:31.08DTRemenakheh, that thanks went the wrong direction :P
01:31.57jude-??
01:32.05DTRemenakI should be thanking you
01:32.12CIA-23BZFlag: 03chaos-dev * r14916 10/trunk/bzwgen/ (bzlgen.vcproj lexer.l parser.y): Fixed the parser to compile under VC
01:32.15DTRemenakportable code is a lot easier to deal with building on multiple platforms ;)
01:32.16jude-I'm thanking you for the complement :)
01:32.31DTRemenakah.  well, you're welcome :)
01:33.25CIA-23BZFlag: 03chaos-dev * r14917 10/trunk/bzwgen/rules/ (. test.set): Preliminary import.
01:33.29jude-btw, what does "G" mean in SVN?
01:33.36DTRemenakG?
01:33.40DTRemenakumm....no clue :)
01:33.43jude-"U" means updated, "A" means added, etc
01:33.46DTRemenakyeah
01:33.59EpyonConflict?
01:34.04DTRemenakC
01:34.12bryjensvn help up says G = Merged
01:34.18EpyonI had a G somewhere too :P
01:34.44jude-that's it
01:34.50jude-thanks brygen :)
01:35.10DTRemenakUADRC are all pretty obvious.  what do they use M for, that they couldn't use it for merge?
01:35.23jude-dunno
01:35.58DTRemenakgah, now I have to build osg again...release mode this time
01:36.13*** join/#bzflag PeterBz (n=PeterBz@cpc2-derb1-0-0-cust324.lei3.cable.ntl.com)
01:37.07blast007;)
01:37.16DTRemenakI'm running out of chickens :S
01:37.35blast007Arise chicken! Arise!
01:37.56jude-make sure to hold the staff the right way :)
01:38.13PeterBzcheck out what happened to me today, ....
01:38.14PeterBzhttp://i187.photobucket.com/albums/x235/PETER_BZFlag/bzfi0182.png
01:38.54delusional_strange trivia I cant get out of my head... goats and octopii have rectangular pupils
01:41.19jude-PeterBz: put that link in the bugzilla :)
01:41.28PeterBz?
01:41.35jude-report a bug
01:42.02*** join/#bzflag Tropican8 (i=user@unaffiliated/tropican8)
01:42.41DTRemenakjust a too-deep burrow depth
01:42.42DTRemenaknot a bug
01:44.51delusional_ummm, did someone say doors for tanks?    JeffM perhaps?   looking at the commit, it seems tanagability is a typo, I'm probably wrong though  
01:45.11JeffMyou are not wrong
01:45.31delusional_doors are a dream of mine
01:45.38JeffMthey will not MOVE
01:45.41JeffMnothing rotating
01:45.48JeffMbut basicly you can set drive thru on or off in realtime
01:46.01delusional_no swinging?
01:46.05JeffMnope
01:46.13JeffMcan't have objects that rico shots, move
01:46.24delusional_well, thats twice today I got excellent news from this channel
01:46.38JeffMand you can't change shootthru dynamicly
01:46.41JeffMonly drive thru
01:46.44*** join/#bzflag VM12345 (n=VM@dhe-vpn-179-152.duhs.duke.edu)
01:46.46delusional_ah
01:47.13blast007that would make for fun mazes via a plugin  ;)
01:47.15JeffMshots don't send out updates
01:47.32JeffMyeah if I can make it so you can change the material with a message, then you can make objects apear and disapear
01:47.37JeffMand do like force field doors
01:47.48delusional_there ya go!
01:47.49JeffMI'm also making it so you can specify teams for drive thru
01:47.59delusional_nice
01:48.05JeffMso make a door that is only passable by red
01:48.17blast007JeffM: trepan had some map where object materials were tied to custom BZDB variables
01:48.27JeffMyeah I'm sure he did
01:48.29blast007was a modified bzfs, of course
01:48.36JeffMthis is a real message
01:48.41JeffMcus one var won't do it
01:48.45DTRemenaknasty hack too.  don't blame him for not committing that one :)
01:48.58JeffMevery solid world object now has an ID
01:48.58blast007yeah... from what I can tell, it must have had to resend the whole world database
01:49.13JeffMso we can use that ID in messages.
01:49.34JeffMassuming you don't have more then 65768 objects of any one type
01:49.35blast007JeffM: can the ID be specified in the map file itself?
01:49.37JeffMno
01:49.51JeffMbut from the API you can get the ID for any named objcet
01:49.56JeffMso name it something special
01:49.59blast007ah, okay, that's fine
01:50.03JeffMthen in the API get that ID, and go to town :)
01:50.15PeterBzjust a suggestion, how about making it so only certain players can go through an object,
01:50.22JeffMBZF_API unsigned int bz_findWorldObject ( const char *name );
01:50.35JeffMPeterBz, I'm doing teams, if you didn' read it
01:50.50JeffMthere is no logical reason to do per player
01:51.05JeffMtoo much to maintain for per player
01:51.22*** part/#bzflag Tropican8 (i=user@unaffiliated/tropican8)
01:51.39JeffMmostly it's an excuse to have ServerIntangibilityManager.cxx :)
01:51.45blast007:)
01:51.54delusional_no "drive over this object to open door" object
01:52.06delusional_?
01:52.29blast007delusional_: plugins are what will be used to control the drivethrough stuff, so yes, you can
01:52.32JeffMthat needs zones
01:52.34blast007just track player positions
01:52.42delusional_ok
01:52.55JeffMwell yeah, you can do collision checks in plug-ins now
01:52.58JeffMbut zones would be better
01:53.02blast007k
01:53.09a_meteoritechecking zones would be awesome
01:53.19JeffMserver size zones would not be too bad right now
01:53.20a_meteorite*if a tank is in a zone
01:53.28JeffMyou'd want to have the client send a message too
01:53.37JeffMjust to get the close edges and stuff
01:53.43delusional_yeah.. like one player sits on the zone, to open the door for another.
01:54.04PeterBzwasn't bzflag suposed to stay simple?
01:54.06JeffMyou could do that with an object right now
01:54.22JeffMPeterBz, it's not a change to the rules, it lets map devs do more stuff
01:54.26EpyonJeffM, how do I pass a file in another dir to COSFile?
01:54.28JeffMit' still simple
01:54.37JeffMEpyon, what do you mean? do a copy?
01:54.48JeffMor change what file path it points to?
01:54.53Epyonno, what slashes to use :P
01:54.56JeffMunix
01:55.13Epyon"rules/test.set"?
01:55.13JeffMsee wasn't that the better question? :)
01:55.18JeffMyeah /
01:55.19JeffMunix
01:55.22Epyonkk
01:55.26Epyonthanks
01:55.32JeffMit knows how to convert internaly based on the OS
01:56.02EpyonBTW, I can use that COSDir to get sequentialy all files in a given dir, right?
01:56.10JeffMyup
01:56.13JeffMon any OS :)
01:56.15EpyonNice :D
01:56.15a_meteoritecan't you technically use a forward slash instead of a back slash on windows?
01:56.26JeffMon some versions, yes
01:56.34a_meteoriteah
01:56.39EpyonI can use them here, and usualy I stick to them.
01:56.49a_meteoritetis easier for me, cause I'm used to nix :)
01:56.56a_meteoritealways forget where the \ key is :D
01:57.11EpyonI'm used to Windows, but / looks tidier IMHO :P
01:57.28EpyonIt's more optimistic going up then going down xP
01:58.20a_meteoriteheh
02:00.52EpyonGreat it parses :D
02:01.49JeffMis the plural of Tangibility, Tangibilities ?
02:02.24CIA-23BZFlag: 03chaos-dev * r14918 10/trunk/bzwgen/lexer.l: Added line number on error and the forgotten art to parse also negative numbers.
02:05.08*** join/#bzflag VM1234 (n=VM@adsl-065-013-159-245.sip.rdu.bellsouth.net)
02:05.19PeterBzone thing I was interested to find out was, will you fix the mouse box, the top an bottem line of both the outer box and inerbox are one pixel to the right
02:05.20delusional_palpable, corporeal... the quality of being perceivable by touch
02:05.28EpyonJeffM, does GetNextFile also return the . and .. ?
02:05.47JeffMit should skip them
02:05.56JeffMthey are not files
02:06.10EpyonOn nix everything is a file -_-
02:06.30JeffMthey are not files on all OSs
02:06.39EpyonValid point :)
02:07.07DTRemenakthey aren't even files on nix, they're just directory entries
02:21.39CIA-23BZFlag: 03JeffM2501 * r14919 10/trunk/bzflag/ (10 files in 2 dirs): send and use ServerIntangibilityManager when Tangibility is in question.
02:21.44EpyonJeffM, http://pastebin.ca/659059 do you see anything wrong here?
02:23.41JeffMyou may need a / somewhere
02:23.43JeffMI don't recall
02:23.46Epyonyyin is NULL after this o.O
02:23.55JeffMlet me check a use of it
02:24.00JeffMit's been a while :)
02:24.23EpyonIt correctly gives the name but the file.GetFile() returns NULL :/
02:24.40JeffMoh you want the file pointer?
02:24.47JeffMlike you want it to fopen it?
02:25.01JeffMusualy I use the class to do reads
02:25.13EpyonYep I want to open it
02:25.31JeffMand you want a FILE* pointer?
02:25.49JeffMor do you want the contents of the file as a big ass string?
02:25.53EpyonOk it worked :D
02:26.03JeffMthe file was open elsewhere?
02:26.17EpyonI added file.Open("r"); before GetFile xP
02:26.43EpyonStupid me, I do not know why assumed they were opened when returned :P
02:26.54JeffMyeah we need to know how to open them
02:26.58JeffMmake sure you close it too
02:28.49CIA-23BZFlag: 03chaos-dev * r14920 10/trunk/bzwgen/bzwgen.cxx: bzwgen now scans the rules directory and parses all found files. Not that that does anything yet xP
02:29.06EpyonYep I close them :)
02:29.38EpyonOk, that's it for today, I'm tired and it's 4:40 in the morning. Time for a beer and to sleep.
02:31.26bryjenJeffM: should the "if (id = 0)" at the top of src/bzfs/bzfsAPI.cxx:bz_getWorldObjectByID() be a == ?
02:31.43JeffMyeah :)
02:32.28EpyonAaah the mother of all C errors xP. It took me about half a year until I stopped doing that one on every other occasion xP
02:33.18EpyonEspecialy because I used to write if (id = 0) all my life xP
02:44.55CIA-23BZFlag: 03bryjen * r14921 10/trunk/bzflag/src/bzfs/bzfsAPI.cxx: more equal
03:19.43*** join/#bzflag PrezKennedy (n=Matt@74.86.45.130)
03:30.25EpyonThere was a flamewar between me and JeffM if you mean that one xP
03:30.43brlcadi wouldn't call that a flamewar from what I've just read
03:31.12EpyonSo what's your opinion on the topic? :)
03:31.21brlcadwhich one?
03:31.35brlcadi see a couple hours discussion
03:31.46EpyonThe "useless usage of flex/yacc" one xP
03:32.02EpyonAnd "who needs grammars"
03:32.04brlcadi care about the academic side, but it does NOT (ever) trump the practical side (at least here)
03:33.06EpyonIt's not the point, actually. I added it in the fever of discussion. I already learned the hard way that the academic results are not practical :P
03:33.45brlcadto play the devil's advocate, usage of a lexer/parser is not requisite to implementing what you needed -- there are many ways that would have been perfectly acceptible without the complexity that is introduced
03:34.14brlcadso i gather his question was more "why this approach"
03:34.57brlcadI had similar thoughts when I saw the commit, and I already knew what your goal is
03:37.47brlcadfrom the practical side, if the user needs to care about your particular new file format (ever), then the utility of the tool to the game is going to be greatly diminished -- the benefit/goal is the ability to generate detailed worlds automatically (with procedurally being the driving approach that's been sung to date)
03:38.30EpyonYep, it can be done without it. It's just a question of http://pastebin.ca/659118 versus http://pastebin.ca/659123
03:38.33brlcadthat is, a user says that they want an automatically generated world, and after a few parameters are provided, a world is available
03:39.35EpyonActually I plan to provide as much data as possible for the generator, just it's a LOT easier, cleaner and faster to do it with a dedicated grammar than in C++
03:40.12EpyonSo the "file format" from the users view may be considered as "code" that he wouldn't touch anyway.
03:42.11brlcadyes, this is true though the concerns extend to maintainers and other devs too
03:42.35EpyonActually I didn't consider allowing the user to touch those files anyway :P. For the "user" there will be a "config" file (standard variables) that he will be able to tweak to his liking. He may think about the rulesets if he's bold enough but he will be able to achieve very different flavoured results through the config files alone
03:44.16brlcadthe C++ is verbose, but it's frankly very simple to read and requires no new knowledge -- adding a custom syntax is brief but know someone has to understand the lexer/parser semantics in order to change/use it and the format is inherintly a subset of what you could do in a full fledged language
03:45.12brlcadI get the reasoning, the comments are more from the practical maintainability -- if you're going to make your own format then that is more responsibility on your part to document that format and how it's parsed/used
03:45.25brlcadand what all the limitations and usage scopes are
03:45.31EpyonWell to be honest I'm getting lost in that C++ one xP
03:45.39*** join/#bzflag JeffM (n=JeffM@unaffiliated/jeffm)
03:46.12Epyonbrlcad, you get my promise that you'll get full user-level documentation for the language :P
03:46.30EpyonAlthough not neccessarily before the 20th deadline :/
03:46.32brlcadi actually understand the C++ one right away, the condensed format leaves me with ton's of questions if I had to actually use it
03:47.33JeffMhow's it hangin brlcad
03:47.34Epyonbrlcad, actually it's quite simple once you stop thinking about it as a program and think as a grammar of consecutive operations, where the non-terminals are faces.
03:47.58brlcadJeffM: been better, headache and still recouperating from the two weeks of drunken debachery
03:50.04brlcadEpyon: that still doesn't tell me what the format requirements are, even seemingly trivialities like what the meaning of the : is, whether you can have whitespace around it, what's the arrow, are braces comments are are they labels, is it case sensitive, what are all the "operations" I have to choose from, etc etc
03:50.20brlcadof course each can be answered -- the point is that I have to ask at all
03:51.33EpyonThe counterpoint is that once answered it is easy enough that someone without programming knowledge could tinker with it after reading a guide :P
03:51.45brlcadI'm not saying it's a bad thing, but that's where there's definitely a massive tradeoff going on for the practical side (and that didn't even get into the headaches of getting cross-platform lexer/parser generation working) to where it will just need to be stellar
03:53.02brlcadif someone was tinkering with it a *lot*, then there's where the tradeoff starts to pay off .. that, however, is not the case today so it seems on the surface to be added complexity for little overall gain
03:53.42EpyonAnyway, imagine that it's hidden from the user, and take a look at the immidate effects that it will give the day after tommorow, and then we can start talking about it from the dev side :P
03:53.43brlcadi'm not saying get rid of it, you already got it in there -- but had you not had a week to go, it would be serious consideration criteria
03:55.31brlcadi mean, i would have been way more inclined to something even less condense, but more familiar/common -- like in an existing language like python or tcl or perl even
03:55.33EpyonAll i was doing up to date was to get that in finally. The mesh class is the set of tools that were needed for that, and the BuildZone class is just a test if the tools work. I planned that from the beggining so I feel kinda wierd when at the end someone tells me that "this idea is wrong" :/
03:55.53JeffMHAH, brlcad is thinking the same thing I was :)
03:56.10brlcadJeffM: just continuing your discussion from earlier, kinda in response to it
03:56.48brlcadEpyon: it's not the idea, it's the approach, which is all really just dev discussion
03:57.34brlcadshould always be able to defend your ideas on their merits, not on preference or plans, even if it seems obvious to you :)
03:57.49brlcadothers ideally will WANT to work with your code down the road
03:58.07Epyonbrlcad, I studied a lot of those papers and despite that I was seriously dissapointed in the practical (mesh-perfect) usage of it, I understood *why* all the generators were given in "grammar-form". So I knew I had to do it that way. If done in python or lua, you'd just have the same C++ mess I've pasted you (and believe me, I did a *lot* already to make that C++ readable).,
03:59.20EpyonWell the plan is to make good-enough results so the people will *want* to understand them. Once they do, they'll see that it's the better way ;]
03:59.49JeffMahh the church method
04:00.35JeffMEpyon, you forget that others will hit your code, if they don't like it, or can't use it, and still want to use your app, they'll just rip it out
04:00.47JeffMand slap a python shell on it ;)
04:01.03EpyonBut on one thing I have to confess, and agree with JeffM that it's my guilt and fault. I used this project to put the academic ways into implementation, and I was more concerned in learning and using the current research results, then treating this as a *job* to be done :/
04:01.58EpyonJeffM, with 30 rules files, it would take a lot of wasted time to translate them xP
04:02.04JeffMj00 gotz 2 p4yz t3h billz!
04:02.18brlcadi don't quite believe that the c++ couldn't be more condensed, compared to the grammar -- there's a lot of simplification that was added to that grammar that you didn't carry over
04:02.23JeffMEpyon, it would not be wasted if more people moded them after :)
04:02.34EpyonBut sure, if they want it, go ahead, I'd like to see the results :)
04:02.38JeffMremember in opensource, there is infinate time for refactoring :)
04:03.39Epyonbrlcad, maybe. But implementing it I think the grammar way anyway.
04:03.45brlcadand that refactoring will happen by dozens of people other than you that have maybe 10% the invested knowledge you had when you wrote it (sometimes you get lucky and they learn more), but almost always for their specific purpose
04:04.16JeffMand maybe others are better at python then you think and to them the lenght isn't an issue
04:04.27JeffMsome things make more sense when verbose
04:05.19EpyonSure :P. But that's also the nature of open source, that the one that has the will to do something is also the one to make the decisions xP
04:05.31brlcadyeah, -- without knowing anything about either, I definitely understand that C++ with all its verbosity but not everything I need to know to use the grammar :)
04:05.50brlcadheh, not always
04:05.57JeffMEpyon, I make such a big point about it because we have SEEN this same thing happen
04:06.03JeffMlook at stuff in our map
04:06.11JeffMit was made to be short and logical
04:06.16JeffMNOONE gets it
04:06.19JeffMand nooone uses it
04:06.26EpyonJeffM. it's not logical.
04:06.30JeffMto you
04:06.36JeffMit all makes sense to me
04:06.41brlcaddecision making is definitely not just in the folks doing the work, it's also in the folks that have *done* the work -- investment of time and effort, meritocracy and consensus, etc
04:06.42EpyonBasically because not everything follows the same rules :/
04:06.47JeffMbut not everyone knows what a normal is
04:06.50EpyonAnd the documentation is lacking :/
04:06.51JeffMor a UV coord
04:06.57JeffMeven when it' documented
04:07.11JeffMbut hey, once again, your in your defensive mode
04:07.18JeffMso there is no point in talking to you about it
04:07.24blast007activate phasers!
04:07.27EpyonOh, that *does* make sense. What doesn't is the order in which commands are issued.
04:07.52brlcadi know what a normal is .. it's something not abnormal
04:07.58JeffMheh
04:07.58EpyonxP
04:08.21EpyonAnyway... okay, I'll put it this way --
04:09.39EpyonTrust me, that I know what I'm doing. If you'll decide the 20th that I didn't, then just check that "No" box in the survey, and you'll make a big point, that will probably make me think about it twice :P
04:09.43brlcadJeffM: you've been .. busy
04:09.54EpyonYou won't loose anything anyway :P
04:10.07brlcadyes we will/would
04:10.09JeffMwow, man... you are not a team player at all are you?
04:10.17*** join/#bzflag BenUrban (n=benurban@unaffiliated/benurban)
04:10.21JeffMgood luck finding a job wit that attitude
04:10.25EpyonJeffM, point taken, I confess :(
04:10.36JeffMbrlcad, yeah, I need you to go over the font manager changes
04:10.42DTRemenakEpyon: what are you doing up at this hour anyway?  weren't you going to bed a few hours ago?
04:10.52EpyonCan't sleep.
04:11.04brlcadhe's .. busy explaining his design :)
04:11.10JeffMEpyon, I guess we are just dump people not in college. we'll go back to our holes now and bask in the glory of your perfect code that can't even be commented on.
04:11.16DTRemenakI think he'd make more sense when he's more awake :)
04:11.49EpyonI've got DSPS :/
04:11.57brlcad~dsps
04:12.27JeffMbrlcad, there were a number of bugs in the font stuff, stuff like using a full path for a font name
04:12.27JeffMso we'd only ever load the first font
04:12.27Epyonbrlcad http://en.wikipedia.org/wiki/Delayed_sleep_phase_syndrome
04:12.27JeffMthe reload was jacked
04:12.31JeffMI made it more like texture manager
04:12.44JeffMwhere on a context invalidation it just blows out all the GL fonts
04:12.52JeffMthen remakes them next time they are used
04:12.52brlcadJeffM: I knew about the first font thing, though I suspected that was a problem just in the loader
04:13.00JeffMthe loader was fine
04:13.04JeffMit was in the CALLS to the loader
04:13.05EpyonJeffM, your sarcasm was not in place considering the fact that I confessed that I had that problem.
04:13.25JeffMEpyon, sometimes things fall out of place, you gotta learn to deal with it
04:13.31brlcadhrm, that's what reload was supposed to do already
04:13.41JeffMno it was FORCING them all to be rebuilt
04:13.58JeffMbasicly getGLFont had a failsafe
04:14.04JeffMthat would return the first font it can't find it
04:14.23JeffMand we used getGLFont a lot to see if the font was in there allready
04:14.29brlcadright, forcing them in that they were actually removed and destructed
04:14.31JeffMif it wasn't it would STILL return a valid font
04:14.41brlcada bit agressive, but I was leaving that as an exercise for later
04:14.41JeffMbrlcad, you were rescanning the dir and everyitng
04:14.53brlcadyep
04:14.57JeffMall you had to do was kill the FTGL font
04:14.58brlcadcontext resets are rare :)
04:15.07JeffMthe rest was allready automatic
04:15.08brlcadhmm, there were memory issues with that
04:15.21JeffMyeah cus your clear was wrong too :)
04:15.26JeffMit's all fixed now
04:15.26EpyonJeffM, it's not that I truly believe it's the "only holy way". It's more that I want to do it this way to see wether it is, or wether all those papers were wrong xP
04:15.35brlcadokay, i'll check it out
04:15.36JeffMalso it can do both bitmap and texture fonts
04:15.45brlcadyeah, i like the bitmap fix -- good stuff
04:16.04JeffMEpyon, sure, so you push your "book" on everyone else. how is that not the same thing :)
04:16.22JeffMbrlcad, I also added a var that will let it swap to bitmaps under a specific size
04:16.30JeffMso you can get non aliased small fonts
04:16.45JeffMand I reafirmed that ATI cards suck
04:16.45EpyonJeffM, the difference is that I'm not playing Pizzaro as you're trying to suggest xP
04:17.06*** join/#bzflag tuxd00d (n=tuxinato@128.187.180.56)
04:17.48JeffMEpyon, it's mostly in how you describe it to people, you don't try to work it it out with them, you just push them off to external refs, try talking and working with people. You realy need to work on descirbing your ideas to real people. A great idea is crap if you can't explain it.
04:18.01JeffMjust remember, your not alone.
04:18.13EpyonJeffM, the problem is with describing actually :P
04:18.23JeffMand that's not meaning in a "you can get help" it's in a "we have to deal with YOU'
04:18.47JeffMEpyon, mostly you seem to assume people know all the terms you use, when in fact many don't
04:18.58EpyonJeffM, I have problems with trying to include all that I think into single IRC sentences.
04:19.04JeffMand instead of describing it in laymans terms, you shuffle them off to a link
04:19.14JeffMnow that said, you'll make a perfect college professor :)
04:19.26brlcadthere's another way to do that too in freetype land (i.e. request a non-anti-aliased font) .. but that's not exposed through ftgl so it's good to just use bitmap
04:19.27JeffMEpyon, use more then one, they are cheap :)
04:19.31EpyonJeffM, laugh, but I want to be one xP
04:19.43JeffMwelcome to the real world skip
04:19.47JeffMit's not all about what you want.
04:19.54EpyonBut it's easier to prepare a lecture, then try to describe something on the fly xP
04:19.59JeffMTHAT is why you eem pretentions
04:21.28Epyoneem?
04:21.34brlcadit's also not a matter of it being "right or wrong", it can work in variety of ways perfectly fine
04:22.05brlcadthe way you've gone doesn't really have any technical dismerit -- it's almost entirely practical aspects that were being questioned/prodded
04:23.19EpyonI am a little touchy here I must admit, and reply too much on emotional basis, but you must try to understand, that it feels really ... irritating... when someone questions the *absolute base* under which you did a 2 month project, 5 days before it's due xP
04:23.36JeffMyeah it happens
04:23.45Epyonbrlcad, well, practical aspects are the results, right? xP
04:23.47JeffMyou spend ALL that time on it, you shoudl be able to defend it
04:24.25brlcadif my goal was to make an l-system, i'd certainly look at defining the grammar for it too -- it's when I begin to think about integrating that tool into other code, having it used by others, and having other non-technical requirements that I'd then consider *way* more heavily what the impact and implications of a particular design approach is (like whether I define that grammar myself or try to find something semi-standardized, or in a language
04:24.53brlcadactually NO .. the practical aspects are very much NOT the results
04:25.15EpyonAnd it is also my anger on the papers, that they didn't work out as I thought they would.
04:25.41EpyonThis project was much experimental in nature anyway, so anything could happen, and I hope that you knew it too.
04:25.48brlcadthe practical aspects are developer buy-in (the folks that you have to work with), build system integration, code longevity (documentation, complexity), language choices, etc
04:26.19brlcadmaintainability aspects
04:26.26EpyonI never heard of using anything else then L-System generated trees, and block-built levels used in real computer games.
04:26.37JeffMwow, so basicly your saying that you coned us into paying you to just try something just for you
04:26.44brlcadif the code isn't maintainable by others, it dies with the first developer (whose interest will eventually change)
04:26.50JeffMthe point was for YOU to work on OUR project
04:27.06JeffMand learn how to work as a team, within a project that is not yours.
04:27.18EpyonJeffM, just for clarity's sake, YOU don't pay ME xP
04:27.38JeffMeffectively we do
04:27.44JeffMcus we can cause you NOT to be paid
04:28.01Epyonbrlcad, here's something for the Final survey -- point that out
04:28.15Epyon"if the code isn't maintainable by others, it dies with the first developer (whoseinterest will eventually change)"
04:28.17JeffMI mean damn, you sound like the most selfish bastard I can thing of
04:28.36EpyonJeffM, thank you, that may be near the truth actually :/
04:28.52EpyonAt least in terms of thinking about projects.
04:29.07JeffMbrlcad, I highly recomend that this is mentioned as a detrement in his review
04:29.14JeffMI mean DAMN
04:29.53JeffMI'm about ready to ask you to remove my code from your stuff
04:29.54EpyonJeffM, calm down. As for now it's you who calls me names and generaly hits me in the face, while I calmly accept it.
04:30.01a_meteoriteman, good thing I'm not getting reviewed by Jeff. mine would be stamped with "REJECTED, DAMN" and graded F
04:30.31EpyonJeffM, and you talk about me being selfish?
04:30.35JeffMno a_meteorite your not that selfish, your stuborn, but not that selfish
04:30.42JeffMEpyon, I said almost ;)
04:30.45a_meteorite:)
04:30.56JeffMEpyon, as it would be a reaction to how you seem to us
04:31.06JeffMbut does it have SPORT utility? :)
04:31.37EpyonJeffM, I'm ready to write you a script for your IRC client that adds smiles at the end of all my texts, because you seem to take all of them waaaay to seriously :P
04:31.38brlcadcertainly has low gas mileage
04:31.51JeffMyou seem to be a smart guy, and oyu ahve the drive to get the code done, that's good. but yeah people skills
04:32.27JeffMheh, you put one after most lines anyway, they have lost there meaning with you ;)
04:32.48EpyonJeffM, maybe I should use them only for the most ironic ones then -_-
04:33.18EpyonMatter of habbit though. I usualy talk with an amount of cinism or irony.
04:33.50JeffMyou can't expect text to convey that
04:34.04JeffMspecialy with menomics that are so overused they become ignored.
04:34.13EpyonBut, DAMN (my turn now), I *DO* take all you say seriously, even if sometimes I reply earlier than I take time to really think about it.
04:34.17JeffMand when people are atempting to have serious discussions, like about your project.
04:34.26JeffMI know you do
04:34.31JeffMthat's very obvious
04:34.39brlcadEpyon: interesting, hadn't known it was called DSPS .. i've just always referred to it as how many hours I'm "out of sync"
04:34.47brlcad(which is presently about 7 hours)
04:35.16JeffMI liked the book that said jetlag was your soul trying to catch up, cus souls can't travel as fast as planes :)
04:35.17Epyonbrlcad, I seem to have it really badly :/. It's 6:46 now, and I know, that I still wont sleep :/.
04:36.51brlcadwell the counter to that is that you certainly wont sleep if you don't try :)
04:37.05EpyonJeffM, brlcad, but the general point is that now it's too late. The system was designed after a lot of pain of trying to model something that resembles the research that still produces proper meshes, and it's already more than 50% implemented. It would be a lot time wasted now not to implement it :/
04:37.24*** join/#bzflag PrezKennedy (i=Matt@74.86.45.130)
04:37.36JeffMEpyon, I never asked you to change it, I started asking you why
04:37.42Epyonbrlcad, if I try to go to sleep 1h earlier then when I get sleepy, I turn around in bed for 3 hours instead.
04:37.54JeffMjust cus we question something dons't mean we hate it/ need it to change
04:38.07JeffMwe wanted a discussion on it
04:38.21brlcadyeah, it's not to hear you justify it or get you to change it
04:38.43EpyonJeffM, I know. and I started to think because of that, how to make it either hidden, or as much "user-friendly" as possible, because I noticed that there is a hole here.
04:38.46brlcadit's to understand it, and have you interact on our comments (and to keep them in mind as you keep developing it)
04:38.48JeffMit's to talk about it, discuss the benificts of other systems to show why you picked yours.
04:39.49EpyonDamn, it's all that pressure because of the deadline that makes me more agressive -_-
04:40.20JeffMas I had said, if your first answer was "cus this is faster for me" I'd have been fine, right then
04:40.25brlcadyeah, but you can't rush to the deadline without discussion -- that's a constant with development activity
04:40.32JeffMas I think that is the primary reason your doing it
04:40.44JeffMit's the fastest way for you to get the features you want and get it done.
04:41.43Epyon"<Epyon> Actually I plan to provide as much data as possible for the generator, just it's a LOTeasier, cleaner and faster to do it with a dedicated grammar than in C++"
04:42.06brlcadsorry, that's a very different statement
04:42.19JeffMyou threw other things in there
04:42.41EpyonThis one was without smileys xP
04:43.23JeffMif I was doing it, and wanted to externalise that part, I'd make it load a C++ dll
04:43.28JeffMplugins baby :)
04:43.42JeffMthats' even faster then doing a parser ;)
04:43.52*** join/#bzflag jude- (n=jude@c-68-84-206-92.hsd1.ar.comcast.net)
04:43.58brlcadI see that and it you saying the technical approach being taken is "better" .. which led into all of the warts of technical+practical merits, particularly when the practical is the driver here
04:44.28brlcadyou chose it this way because it's more practical for YOU to get your deliverable, which is a good enough reason in itself
04:44.53Epyonbrlcad, it's true though that I didn't give much thought that someone would want to understand it developing it further.
04:44.56brlcadif we talk about the bigger picture, though, that's where things are very different
04:45.14EpyonBut it's true that no one ever pointed that out :/
04:45.36brlcadEpyon: hm, I recall having that discussion way way back even before coding began
04:45.49brlcadthat was the point of all the submissions
04:45.55JeffMyou didn't know that others were going to work on it later? that is the entire point of open source.
04:46.19Epyonbrlcad, and the thing I most remembered from that discussion was that you liked the academic side of the project :)
04:46.31JeffMI mean if that's not going to happen, then the only reason to have source is cus, linux sucks at bins.
04:46.35EpyonI think we might have had a little misunderstanding :)
04:46.40brlcadif they happen to align with personal/academic/commercial goals, great -- but the driving goal has always been long-term integration with bzflag
04:46.44*** join/#bzflag Constitution (n=Constitu@71-223-53-67.phnx.qwest.net)
04:46.51JeffMEpyon, change we in that statement to "me" and your on the right track.
04:47.06brlcadsure, I love the academic side of it, but that doesn't mean that was the only thing I liked or wanted :)
04:47.25JeffMand as I said a number of times, he isn't the only developer of bzflag.
04:47.31EpyonJeffM, rarely misunderstandings happen between one person xP
04:47.50orthoxspeak for yourself
04:47.55JeffMEpyon, I think he understood what he meant.
04:48.27JeffMyou took his statements wrong, there were only 2 parties, one got it right :)
04:48.31EpyonJeffM, I also understood what I meant :P
04:48.49JeffMyeah we understood what you meant too
04:48.58JeffMand tried to tell you that you were wrong
04:49.06EpyonJeffM, now? :P
04:49.30JeffMhow many times today did I tell you that brlcad cared more about maintainablity?
04:49.44JeffMor even the other times you've brought it up
04:49.50EpyonJeffM, if what you hear is "I made a lot of bad choices" then you probably can hear that.
04:50.01JeffMthen you are wrong
04:50.21JeffMwe never said you made bad choices
04:50.29brlcadnow that's not entirely fair to say just "now" -- it may have been warped over the months, but even the wiki submission page has been very adament/explicit about the things we care about and that's been from the very beginning
04:50.29EpyonJeffM, the point is that it's too late to change most of those now, at least as far as the program now is concerned.
04:50.35JeffMok, I'm done
04:50.38JeffMyour not geting it
04:50.55JeffMsadly like many others, you only listen to yourself
04:51.01JeffMgood luck on your project
04:51.02Epyon*sigh*
04:53.52brlcadEpyon: we're not asking you to change it, it's discussion, listening to the concerns, considering what can be done about them (or not), sharing ideas, taking other peoples suggestions to mind
04:53.52EpyonJeffM, on a more serious note : what did you expect from me anyway? That I say, "Ok, you're right I will dump the parser and do it to read Lua/Python"? I know it's not it. I understand the concern, and there's not much I can do right now about it, once I started it and in my situation. Only thing I can do is try to "talk you" into the fact that things might not turn out as bad as you're trying to envision.
04:54.10JeffMEpyon, nope
04:54.32JeffMdon't worrry about it
04:54.38brlcadit's not about being right or wrong, you keep coming back to that and that is NOT the point at all
04:54.42Epyonbrlcad, I know, but I'm feeling more and more hopeless, because of the fact that most of the good points you make, I don't have time to do right.
04:55.02JeffMbrlcad, there was also a place where the font file names were being forced to lower case
04:55.21EpyonAnd that's the source of my frustration. That I can't do that perfect, so that everyone will be happy.
04:55.23brlcadyou're right, you don't have time to know.. so just do what you can and keep the comments in mind while you keep at it, that's all -- there's really not much more to it
04:56.09JeffMEpyon, what you have yet to learn in life it seems is that there is no such thing as perfection.
04:56.34EpyonI wanted to do something that everyone would be happy about and I see I failed. And that is what makes me angry, not your comments.
04:56.43brlcadEpyon: for what it's worth, a lot of the discussion tonight has basically revolved around two of the "Acceptance Criteria" that you read and agreed to before starting
04:56.48JeffMthere is no way to make everyone happy
04:56.54jude-Epyon: do *you* and *you* alone think it's good?
04:57.04brlcadnamely the "Write maintainable code" and "Write complete code" that is listed at http://my.bzflag.org/w/Google_Summer_of_Code_Acceptance
04:57.15Epyonjude-, not bad, but not *good*.
04:57.53brlcadparticularly for the lexer/parser, it probably falls under that sentance that says "that choice needs to be discussed and justified or otherwise mitigated as a concern"
04:58.15brlcadto which from what you've said, you're going to do what you can to mitigate it as a concern (by documenting it, making it easy to use, etc)
04:58.24Epyonbrlcad, unfortunately, it's now I've learned that maintainable code is more than documenation and proper code guidelines :/
04:58.57JeffMlearning is one of the goals of SoC :)
04:59.21EpyonJeffM, in term of that goal I'm a big winner -_-
05:00.43JeffMcool, so you'll take that instead of the money? :)
05:01.22EpyonJeffM, if the staff decides that I failed on the project, then that's what I'll accept.
05:01.40Epyonbrlcad knows that I didn't come here because of the money.
05:01.58blast007Epyon: it was for the chicks, right?
05:01.59JeffMyou made code, you won't fail
05:02.04JeffMand free beers
05:02.20EpyonJeffM was closer blast007 xP
05:02.26blast007hehe
05:02.41EpyonAs for chicks, I'd rather lay low for now xP
05:02.42JeffMor was it bears
05:02.46JeffMI get those mixed up
05:03.27EpyonYou can't get drunk with bears, can you xP
05:03.38JeffMyou can
05:03.42JeffMyou just have to be VERY Good
05:04.11brlcadmmm.. free bears
05:04.23blast007leash sold seperately
05:06.11jude-void where prohibited
05:07.42brlcadbatteries included
05:07.53JeffMyay, they are sending me a new dimm for the O2 :)
05:07.54EpyonAnyway, JeffM, brlcad, I feel sorry if I offended any of you, it was not my intention.
05:08.14JeffMI didn't think it was your intent, that's what suprised me
05:08.23JeffMthe line you kept going down.
05:08.27brlcadthough I did cry when jeff didn't show up to the beer bash
05:08.39EpyonJeffM, ?
05:08.48JeffMI didn't get to do anything I wanted that weekend :(
05:09.00JeffMhad to leave the lady friend early too :(
05:09.21JeffMEpyon, don't worry about it, difrent peopel see difrent things
05:09.28JeffMand text sucks for sending tone
05:09.50JeffMyour app is indeed rather cool
05:10.23JeffMand i"m sure at some point i'll cram it into a plug-in and just turn the params into a python script ;)
05:10.38JeffMwith hungarian notaiton :)
05:10.51EpyonAnyway, if I talk rashly and irrtated it's only because I am really stessed now. If you want to know, right after GSoC ends, between the 20th and 30th I need to write my Master thesis, that I havn't touched yet.
05:11.02brlcadyeah, the big when is when it's integrated into the server so it is just there for use (whether as plugin or direct)
05:11.21JeffMeverything should be a plug-in :)
05:11.33JeffMgotta turn bzfs into a loose shell framework
05:11.34jude-Epyon: what's the topic?
05:11.51Epyonjude-, I'm working on that too xP
05:12.01JeffM"furby AI, seriously WTF"
05:12.08jude-rofl
05:12.09L4m3rJeffM: I've thought about that XD
05:12.15L4m3rmodular BZFS
05:12.21JeffMit begs for it
05:12.22brlcadjude-: anyone run bzworkbench on mac os x yet?
05:12.27*** join/#bzflag SimonFlavelle (n=psychosi@CPE-58-169-65-143.vic.bigpond.net.au)
05:12.37JeffMship it wth a default plugin that loads the basics, then have the rest of the logic all modular :)
05:12.48jude-brlcad: I believe tannerld and ts have...the first ever screenie on mybzflag.net was from Mac OSX
05:12.56JeffMdo it up lightwave style :)
05:13.23jude-IIRC, it was Darwin
05:13.27Epyonjude-, but as for now "Application of procedural generated geometry/buidlings in game environments" xP
05:13.50jude-hehe
05:13.54JeffM"in the begining.. there was diablo"
05:14.01brlcadjude-: ah, cool
05:14.27jude-should just work with the default gcc, automake, etc (but OSG and FLTK might need to be built from source)
05:14.42EpyonJeffM, no, the main point being "Why academic solutions fail in a game environment and how to correct that :P"
05:15.09JeffM"cus school ain't fun" :)
05:15.15EpyonAnd as for the beginning, roguelikes were earlier than diablo, not to mention that procedural generation saw it's real birth in Frontier :P
05:15.46JeffMI didn't say the birth, just in the begining :)
05:15.57EpyonThe beginning was Rogue xP
05:17.22brlcadhmm.. now to get back to my original project that spawned the whole font manager work... or kick off a new fork with a different render engine
05:17.45brlcadadventure
05:17.48JeffMyou'll replace the font manager if you do the second
05:17.51EpyonBut the main point is that I actually managed to find the answer for my question on why the only procedural generation in modern games is trees and lego-style composition :P
05:18.07brlcadnah, I'd do what I could to keep it :)
05:18.15jude-brlcad: did you hear that the source code to adventure was found on an old back-up tape?
05:18.22jude-i.e. just recently?
05:18.34brlcadcan't just ditch all that work -- and regardless, I don't think a new engine would be ready for a *long* while, and I'd pray we'd have releases before then
05:18.41brlcadjude-: yep
05:18.44Epyonadventure didn't have random elements afaik, but I might be wrong.
05:18.49CIA-23BZFlag: 03JeffM2501 * r14922 10/trunk/bzflag/src/bzfs/ (ServerIntangibilityManager.cxx ServerIntangibilityManager.h): use defines, not hardcoded inline values.
05:19.22brlcadEpyon: some of the same reasons you don't find 'real' AI in most games too, though that's slowly changing
05:19.33CIA-23BZFlag: 03JeffM2501 * r14923 10/trunk/bzflag/src/bzfs/bzfsAPI.cxx: use defines, not hardcoded inline values.
05:19.49brlcadwow
05:19.56brlcad~spell intangibility
05:20.20JeffMYES, I spell checked it
05:20.24brlcadhehe
05:20.25JeffMfor the 100th time
05:20.45brlcadfirst time for me, I've been ill/away :)
05:20.46JeffMbest singleton name EVER
05:23.38brlcadhm no docs
05:23.44brlcadso what does it actually do?
05:24.25JeffMmanages the tangibility of world objects
05:24.33brlcadheh
05:24.38brlcadand that means..
05:24.42JeffMbasicly, seting drivethru, dynamicly
05:24.44JeffMwiht a message
05:24.56JeffMforcefield doors
05:24.58brlcadwith a message?
05:25.02brlcadmessage sent to whom?
05:25.07JeffMyon clients
05:25.25brlcadsaying that the geometry changed or something?
05:25.47brlcador the "tangibility" of the map changed
05:25.56blast007just changes the drivethrough setting of objects
05:26.07blast007it gives an ID to objects
05:26.15brlcadah, so not a message to the user
05:26.15JeffMwell no
05:26.22JeffMthe manager dosn't do the IDs
05:26.23brlcada notification
05:26.30JeffMthat's part of Obstacle now
05:26.33brlcadsent out to clients to update their representation
05:26.40JeffMyeah
05:26.43brlcadgot it
05:26.55JeffMthe manager keeps a list of overriden objects
05:27.07JeffMand all tangability requests go thru the manager
05:27.15JeffMand it uses the base tangibility, or the overide
05:27.30JeffMthis way when you save a map, you don't get the current state, you get the base map state
05:27.41CIA-23BZFlag: 03JeffM2501 * r14924 10/trunk/bzflag/ (4 files in 2 dirs): if the server can manage tangiblity, then so can the client with it's own ClientIntangibilityManager
05:27.58brlcadso is next a ServerDynamicGeometryManager? :)
05:28.08JeffMcan't do that untill shots are done
05:28.28JeffMyou can't dyamicly set shoot thru, just drive thru
05:28.59JeffMsince it has sync issues, and they are lessened with drive thru due to the fact that tanks send out updates
05:29.16JeffMthere will probably be a server defined material manager tho
05:29.25JeffMfor overiding at least dynamic colors
05:29.52JeffMI also redid some of the API for dealing with world objects
05:30.03JeffMa plugin can now get a list of all the solid objects in the world
05:30.07JeffMand there AABBoxes
05:30.20JeffMas well as do cylindrical and box collsions
05:30.33JeffMso server side bots now can see where they are going :)
05:32.32JeffMor a plug-in could check for object collisions and use them as triggers
05:32.46JeffMdamn I just had a game idea :)
05:33.04JeffMtrack the number of times people hit an object
05:33.29JeffMchange it's color to red as it gets near "critical" then have it go drive thru and full alpha
05:33.36brlcadheh
05:33.44JeffMtho you'd ahve to pick if shots could go thru or not and leave it that way
05:33.48EpyonOk, 7:44 I guess I'll manage sleep now. G'night all :)
05:33.53brlcador actually have chunks of it fall off and then explode after that limit
05:33.55JeffMsee yah
05:33.56JeffMhave fun
05:34.04JeffMbrlcad, they can't move
05:34.15JeffMthey can change color, and then become drive thru
05:34.16JeffMthat's it
05:34.25brlcadright, hence just adding new chunks and changing the texture or something :)
05:34.42JeffMI wasn't going to do a full texture swap
05:34.49JeffMjust base color changes with dynamic color
05:34.49brlcadit should be easier to add new geometry than to change/move existing
05:34.59JeffMnope
05:35.06JeffMsame problem
05:35.15JeffMshot strat uses the geo
05:35.19JeffMand it's all precomputed
05:35.35JeffMyou'd have to have the server do the full strat
05:35.50JeffMthen send you updates for all affected shots for each geo change, so all states are in sync
05:36.04brlcadall the more reason to add a render engine then, so scene nodes can be more readily modified
05:36.18JeffMit's not a sceen node thing
05:36.22JeffMit's the actual shot path
05:36.28JeffMand the fact that each client computes there own
05:36.32JeffMusing there local geo
05:36.44JeffMgraphicaly, it's cake to change the graphical look
05:37.11brlcadyes, but it could also re/precompute shot paths if/when new geometry is received
05:37.26JeffMthey'd need to be time synced
05:37.42JeffMand thats what I say, have the server send out shot updates
05:37.46JeffMwith the new geo
05:37.48brlcadand if the path was coming directly from a scene traversal as it progressed, that would be really easy to account for then
05:37.52JeffMright now we don't have a way to do that
05:38.11JeffMbrlcad, assuming everyone uses the same location and time for computation ;)
05:38.22brlcadwell yeah, I wasn't saying instead of shot updates, or that you wouldn't ahve to modify shots to get it to work :)
05:38.41brlcadjust saying it would be cool feature to have :)
05:38.57JeffMyou need some way to say "all the shots are HERE, at this time" then have everyone copute from that good state, after the geo is there.
05:39.02JeffMsure lots of things would be cool
05:39.11JeffMmy point is it's not tied to engine
05:39.23brlcadshoot away at one of the bottom pillars in decks .. watch the whole thing come crashing down
05:39.28brlcadthat'd be freaking awesome
05:39.39JeffMyeah you'd think so, but it gets old fast
05:39.54JeffMyou have to work in some way to respawn it all
05:39.59JeffMwe had that problem in treadmakrs
05:40.04JeffMfully deformable world
05:40.07brlcadyeah
05:40.10JeffMeventaly it becomes a mess
05:40.14brlcaddon't want to end up with just a pile of rubble
05:40.22JeffMit works great in mission games
05:40.27JeffMtimed games, and the like
05:40.29JeffMlike assult
05:40.38JeffMthen you reset when it's over
05:40.49brlcadyeah, even if you could just leave zones (or server-to-server portals..lobbies, connected maps)
05:41.06brlcadso when an area was empty, god puts it all back
05:41.55JeffMmissions are better :)
05:42.46orthoxEpyon: for procedural game world generation, the most advanced i've seen is debris and kkrieger, 177kb and 96k that blow away doom and maybe even quake1 http://212.202.219.162/home
05:43.26brlcadmeh, that's a different game .. fun for some things but I wouldn't mind just travelling from "city to city" where each had their own local rules/gameplay
05:43.30Epyonorthox, seen both of them. But they're not games, even .kkrieger is more of a demo :P
05:43.35brlcadEpyon: go to bed
05:43.39EpyonO.o
05:43.56brlcad:)
05:43.58orthoxah, but you can shoot things in kkrieger
05:44.04Epyonbrlcad, IceChat pinged my name :P
05:44.17blast007Epyon: turn off your speakers
05:44.21orthoxheh
05:44.33Epyonorthox, catch you later for a chat :P
05:45.19orthoxEpyon, i'll be here all night =)
05:47.26CIA-23BZFlag: 03blast007 * r14925 10/trunk/bzflag/src/game/PlayerInfo.cxx: For the first character of callsigns, reserve > for /msg >admin and /msg >team
05:49.24Constitutionnight jude-
06:10.11*** join/#bzflag kc9foh (n=kc9foh@68-114-216-150.dhcp.mdsn.wi.charter.com)
06:16.39*** join/#bzflag SimonFlavelle (n=psychosi@CPE-58-169-65-143.vic.bigpond.net.au)
06:18.30blast007hmm, think there's a flag in Jeff's bitmask stuff for tangibility
06:18.41blast007flaw*
06:20.14blast007for a bitmask, should it not be (in hex) 0, 2, 4, 8, 10, 20, etc?
08:05.52*** join/#bzflag LongDon (n=LongDon@host-091-097-075-158.ewe-ip-backbone.de)
08:34.18CIA-23BZFlag: 03blast007 * r14926 10/trunk/bzflag/ (11 files in 4 dirs):
08:34.18CIA-23BZFlag: Convert MsgAllow to use a bitmask instead of two boolean values.
08:34.19CIA-23BZFlag: Separate the allows into shoot, jump, turn left, turn right, move forward, and move backward.
08:34.19CIA-23BZFlag: Bump protocol to 0052
08:38.52brlcadnifty
08:39.03CIA-23BZFlag: 03blast007 * r14927 10/trunk/bzflag/include/Obstacle.h:
08:39.03CIA-23BZFlag: s/INTAGIBLE/INTANGIBLE/
08:39.03CIA-23BZFlag: Correct the bitmask values for tangibility
08:41.43*** join/#bzflag SuperBusinessman (n=chatzill@unaffiliated/davidhkmrpowers)
08:54.14[dmp]~dict tangibility
09:06.54*** join/#bzflag Chestal (i=thilo@pdpc/supporter/active/Chestal)
09:06.54*** mode/#bzflag [+o Chestal] by ChanServ
10:14.46*** join/#bzflag PsycheTheGuy (n=psychosi@CPE-58-169-65-143.vic.bigpond.net.au)
11:01.25*** join/#bzflag TASAIRES (n=XChat@84.121.168.94.dyn.user.ono.com)
11:17.33*** join/#bzflag ahs3 (n=alvin@adsl-065-005-193-158.sip.rdu.bellsouth.net)
11:19.09ahs3hello
11:22.35TASAIRESahs3, hello
11:43.36*** join/#bzflag gsnedders (n=gsnedder@host86-145-188-203.range86-145.btcentralplus.com)
12:06.06*** join/#bzflag Deepa|AFK (i=deepa@abused.armchairs.be)
12:17.46*** join/#bzflag Pommes_ (n=Pommes@about/essy/frenchy/Pommes)
12:35.34*** join/#bzflag Thumper_ (n=Thumper@about/essy/coffeeAddict/Thumper)
12:41.52*** join/#bzflag TASAIRES (n=XChat@84.121.168.94.dyn.user.ono.com)
13:21.03*** join/#bzflag Tedius (n=Tedius@musictech.MUSC.CWRU.Edu)
13:54.48*** join/#bzflag QuantumBeep (n=QuantumB@doc-24-32-46-104.leesville.la.cebridge.net)
13:57.42*** join/#bzflag QBeep (n=QuantumB@doc-24-32-46-104.leesville.la.cebridge.net)
14:15.55*** join/#bzflag Pommes (n=Pommes@about/essy/frenchy/Pommes)
14:24.43*** join/#bzflag A_Heart_Attack (n=mattfp48@unaffiliated/aheartattack/x-000001)
14:56.29*** join/#bzflag Jwir3 (n=Jwir3@c-66-41-249-30.hsd1.mn.comcast.net)
15:02.40*** join/#bzflag delusional (n=delusion@pool-71-253-23-254.pitbpa.east.verizon.net)
15:09.14*** join/#bzflag JeffM (n=JeffM@unaffiliated/jeffm)
15:11.20blast007JeffM: I made a change to the bitmask values for tangibility: http://bzflag.svn.sourceforge.net/viewvc/bzflag/trunk/bzflag/include/Obstacle.h?r1=14919&r2=14927
15:11.37blast007does that seem right?
15:14.24JeffMahh yeah
15:14.28JeffMwell I was just guessing :)
15:14.29JeffMthanks
15:14.39JeffMmy bin to hex is weak :)
15:14.49blast007;)
15:14.57JeffMone bit per
15:15.23blast007I also finally got around to splitting the MsgAllow into finer control
15:15.32JeffMcool
15:15.34blast007it uses a bitmask
15:15.37JeffMwhat does it do now?
15:15.59blast007has a bit for shooting, jumping, turn left, turn right, move forward, and move backward
15:16.19JeffMnice
15:16.26blast007so eventually we can make badflags use that
15:16.35JeffMor zones )
15:16.41blast007:)
15:34.16CIA-23BZFlag: 03chaos-dev * r14928 10/trunk/bzwgen/bzwgen.cxx: More verbose messages and load failure reporting.
15:35.06CIA-23BZFlag: 03chaos-dev * r14929 10/trunk/bzwgen/ (15 files in 2 dirs): Textures moved to media directory to provide some order in the project.
15:39.48blast007JeffM: map sending seems to be broken for larger map files  (I was trying with Louman's Metropolis, which was about 140KB iirc)
15:39.57blast007worked with just a random map though
15:40.36*** join/#bzflag TD-Linux (n=TD-Linux@about/essy/indecisive/TD-Linux)
15:41.16*** join/#bzflag bier_ (n=bier@p54A5288F.dip0.t-ipconnect.de)
15:42.17JeffMyeah probably is
15:43.50*** join/#bzflag Deepa (n=deepa@wrongplanet/deepa)
15:46.21EpyonWow, if I said something bad about VCEE now it's a time to say something good :)
15:52.07CIA-23BZFlag: 03chaos-dev * r14930 10/trunk/bzwgen/ (Token.cxx Token.h bzlgen.vcproj bzwgen.cxx): Removed obsolete files (the abandoned lexer), added proper build rules to the Flex/Bison system, and cleaned up the project file from unused files.
15:54.32*** join/#bzflag DTRemenak (i=DTRemena@about/essy/CrazyCoder/DTRemenak)
15:54.33*** mode/#bzflag [+v DTRemenak] by ChanServ
16:00.26JeffMblast007, does it just hang? or does it give a bad MD5?
16:01.13blast007hangs
16:05.35JeffMhmmm
16:05.47JeffMwhat is the max size for a TCP packet?
16:07.36*** join/#bzflag JBdiGriz (n=jbdigriz@209-203-68-2.static.twtelecom.net)
16:07.36*** mode/#bzflag [+o JBdiGriz] by ChanServ
16:10.13blast007JeffM: that's controlled by the operating system's MTU
16:10.40blast007http://www.dslreports.com/faq/695
16:10.41*** join/#bzflag LongDon (n=LongDon@host-091-097-072-058.ewe-ip-backbone.de)
16:10.45JeffMwhat kinda sizes are they usualy?
16:10.52JeffMsomething in K or in bytes?
16:13.10JeffMthe link errors for me
16:13.27blast007bytes
16:13.31*** join/#bzflag Erroneous (n=dtremena@67-131-219-2.dia.static.qwest.net)
16:13.34blast007http://en.wikipedia.org/wiki/Maximum_transmission_unit
16:14.19JeffMahh
16:14.33JeffMok so we are doing 1024 +4 per packet
16:14.41JeffMthat's proably about as big as we can get
16:15.10blast007my XP SP2 system has an MTU of 1472
16:16.10JeffMk, so I can't send out biger packets
16:16.12blast007the MTU includes all the headers on the packet as well
16:16.33JeffMyou using your server?
16:16.37JeffMor a remote one?
16:16.47blast007remote one that is mine
16:16.54blast007so, "yes"
16:16.58JeffMso you can view debug output?
16:17.01blast007yup
16:17.22JeffMI'll add some log lines to both client and server and we can see where it hangs
16:19.15blast007Player  [1] removed at 2007-08-16 10:15:10: send queue too big
16:19.28JeffMohhhhhh
16:19.31JeffMok
16:19.38JeffMso it can't fire them out fast enough
16:19.48JeffMset _WorldChunksPerUpdate to like 5
16:19.56blast007k
16:20.07JeffMit's trying to do like 50 per shot now
16:20.09JeffMso 50k
16:20.41blast007hmm, bzflag seems to make two connections to the server
16:20.46blast007is that normal?
16:21.03JeffMno
16:21.06JeffMit should only do one
16:21.36blast007Player [0] accept() from 68.185.190.140 on 5
16:21.36blast007*snip*
16:21.36blast007Player [1] accept() from 68.185.190.140 on 6
16:21.58blast007but let me test again, maybe it was from the MD5 error
16:22.16JeffMyeah you have to clear your cache when the world fails do download
16:22.37JeffMfound that out a lot when I was redoing it
16:22.53JeffMif we have to we can go back to the old method, it's just slow. I was trying to speed up the transfer
16:23.05blast007it removes the file just fine
16:23.24blast007and then on a reconnect, it tries to join and download the map
16:23.32JeffMmaybe I'll make it send out a count with each update, and then have the server request more then it gets like 10 or something.
16:24.29CIA-23BZFlag: 03JeffM2501 * r14931 10/trunk/bzflag/src/bzfs/bzfs.cxx: logging at levels 3 and 4 for sending out the world chunks
16:27.41JeffMunless anyone can think of a faster way of sending out the world?
16:27.49JeffMit's allready Gziped
16:28.02JeffMthe old way was slow beause it only sent 1 k every flag time.
16:29.36*** join/#bzflag Suspect (n=Suspect@68-114-71-106.dhcp.plt.ny.charter.com)
16:29.50JeffMoh oh oh
16:29.54JeffMI think I know what it may be
16:30.50EpyonHmm, will atof() handle whole numbers correctly? ("4", "20" as opposed to "20.0")
16:31.01JeffMyeah
16:31.10Epyonthanks
16:31.43blast007JeffM: it's working with _WorldChunksPerUpdate set to 5, but REAAAALY slow
16:31.52CIA-23BZFlag: 03JeffM2501 * r14932 10/trunk/bzflag/src/bzflag/playing.cxx:
16:31.52CIA-23BZFlag: increment the world pointer when we get a message, it's VERY important to do that so the unpack works.
16:31.52CIA-23BZFlag: add logging at level 2
16:31.55JeffMblast007, I don't think it'll finish :)
16:32.02blast007yeah...it didn't
16:34.56EpyonAnyone running linux willing to check my project and update the makefile?
16:35.47TD-LinuxI will, if you give me the svn checkout command :)
16:37.09Epyonone moment
16:37.43TD-Linuxgot it
16:38.12TD-Linux-O0?
16:38.14Epyontry first to compile it by hand
16:38.30TD-Linuxby hand? that coudl take ages :P
16:38.32Epyonone moment
16:38.44TD-Linuxoh nvm
16:38.49TD-Linuxnot that many files, can do :)
16:38.55blast007JeffM: it's sitting at "1% complete/153 kb remaining"
16:39.06TD-Linux-I../bzflag/include
16:39.12TD-Linuxyou're lucky that worked :P
16:39.26Epyonflex -o$(InputName).cxx $(InputFileName)
16:39.26Epyonbison -d -o$(InputName).cxx $(InputFileName)
16:39.42Epyonthose are for the .l and .y file respectively.
16:40.01JeffMyeah, use that change blast007 and run the server wtih 3 d's or more and the client with 2 d's or more
16:40.05EpyonInputName is base name, InputFilename is basename + ext
16:40.10TD-Linuxdo you want those in the makefile?
16:40.23EpyonTD-Linux, if it runs then yes.
16:40.32blast007JeffM: should I leave _WorldChunksPerUpdate at 5?
16:40.36EpyonYou won't be able to compile it if not :P
16:40.46EpyonIt needs the generated files.
16:41.01EpyonIf this fails, I'll commit the resulting files too.
16:41.12JeffMblast007, you can try a larger value
16:41.22blast007I took out the set, and it dropped me again
16:41.29blast007"send queue too big"
16:41.53TD-LinuxEpyon, it worked
16:41.59JeffMtry like 20ish
16:42.00TD-Linuxbut what about parser.cxx.h?
16:42.09*** join/#bzflag bier_ (n=bier@p54A52BF5.dip0.t-ipconnect.de)
16:42.21*** join/#bzflag gsnedders (n=gsnedder@host86-145-188-203.range86-145.btcentralplus.com)
16:42.54EpyonTD-Linux, parser.cxx and parser.cxx.h are both generated from that bison command (the -d switch generates the additional .h file)
16:43.11TD-Linuxaah I missed the -d
16:43.29EpyonIt's... quite important :P
16:43.41TD-LinuxI got a parser.hxx !
16:43.50EpyonO.o
16:44.02EpyonOkay, one moment.
16:47.47blast007JeffM: 20 was too high yet, it dropped me
16:48.05blast007I set it to 5, and I'm getting bursts of 5KB every few seconds
16:48.19blast007averaging to 1.7KB/sec
16:48.21JeffMok
16:48.27JeffMlets see if it finishes
16:48.37blast007nope... Error on MD5
16:48.40JeffMI talked to Erroneous about it and we ahve an idea
16:48.42JeffMdamn...
16:49.12JeffMyeah it may be
16:49.15JeffMit's just more work
16:49.28JeffMI'd want to put it back to the way it used to be before
16:49.57JeffMthen just make it send out the game server name as a URL if one was not specified
16:50.10Erroneousor you could thread it and run tight little loops for sends
16:50.12JeffMheck I can do that as a plugin
16:50.31JeffMwe have loops I can use now, I just need to make them smart
16:50.39JeffMI like the idea of sending till the buffer is full
16:50.43Erroneouswe have a big slow loop
16:51.11JeffMso put it back the way it was then and make a "fastmap" plugin that does it with http?
16:51.20EpyonTD-Linux, darn, there's no cmdline option to control the output of the .h file :/. Rename it via the Makefile, or do a #define when including?
16:51.29Epyon#define -> #ifdef
16:52.03Erroneoussmarter is better, sure.  I still think we'll run out though...particularly if the loop is doing something like, oh, spawning somebody, in the meantime.
16:52.04JeffMok, then plug-in method
16:52.11JeffMthat sound good?
16:52.21JeffMmeans no client mods ether :)
16:52.27Erroneousnot sure why it needs to be a plugin, but sure
16:52.52JeffMa plug-in just so we can test it out and have a backup :)
16:53.01JeffMif it works in all cases, we can move it in
16:53.08Erroneousok
16:53.11JeffMfor maps under a k compressed size, our current method is fastest
16:53.20Erroneoustrue
16:53.33JeffMok, I'll put the old code back :)
16:54.08CIA-23BZFlag: 03chaos-dev * r14933 10/trunk/bzwgen/Rule.h: Rule class stub.
16:54.13*** join/#bzflag Hannibal_bzf (n=aaronsal@unaffiliated/hannibal)
16:54.42CIA-23BZFlag: 03chaos-dev * r14934 10/trunk/bzwgen/ (bzlgen.vcproj lexer.l parser.y): char* and float support for the lexer/parser.
16:54.50TD-LinuxEpyon, I'm not an expert on makefiles... but I can try :P
16:55.02*** join/#bzflag bier_ (n=bier@p54A52BF5.dip0.t-ipconnect.de)
16:55.07TD-Linuxat least, I don't quite understand this makefile
16:55.09EpyonTD-Linux, I'm wondering what the more "clear" way would be.
16:55.24EpyonTD-Linux, ask brlcad about it, I didn't write it :P
16:56.02EpyonTD-Linux, so shall I add conditional inclusion for the parser.cxx.h file?
16:56.09TD-Linuxsure :P
16:56.13TD-Linuxhmm
16:56.21Erroneousshould probably move to an autotools system, if you're relying on stuff like yacc
16:56.33TD-Linuxthat would be a good idea, I think :)
16:56.47EpyonErroneous, I have no experience with that :/
16:56.53TD-LinuxI've made an autotools system before
16:57.03ErroneousEpyon: I wouldn't expect you personally to do it :)
16:57.11TD-Linuxshould I try?
16:57.34EpyonTD-Linux, first test if it compiles :P
16:57.50Epyon(by renaming the hxx file manualy to cxx.h)
16:58.02Erroneouscxx.h?
16:58.22EpyonErroneous, that's the wierd thing that the windows bison outputs xP
16:58.22TD-LinuxI find that odd too :P
16:58.46Erroneousthat is bizzarre
16:59.02TD-Linux`COSDir::COSDir(char const*)'
16:59.05TD-Linuxwhat file is that in?
16:59.20Erroneousosfile
16:59.47EpyonWhat should I add after #ifdef to check wether it's a windows system?
17:00.26TD-LinuxI added several things to the makefile
17:00.29ErroneousWIN32 or _WIN32
17:00.36JeffM_WIN32
17:00.40EpyonTD-Linux, use the OSFile in the project not the ones in the bzflag source tree
17:00.45Erroneousboth should be defined on reasonable systems
17:00.47TD-Linuxhah
17:00.50TD-Linuxguess why it errors?
17:00.52TD-LinuxTextUtils.h:19: warning: ignoring #pragma warning
17:01.04EpyonSame goes for TextUtils
17:01.08TD-Linuxand then it says treating warning as errors
17:01.11Erroneouspragmas should be inside #ifdef _MSC_VER
17:01.23EpyonErroneous, okay I'll fix that.
17:01.39Erroneoussame with other visual-studio-specific stuff
17:02.03TD-LinuxTextUtils.h:366: error: extra ‘;’
17:02.38CIA-23BZFlag: 03JeffM2501 * r14935 10/trunk/bzflag/src/ (7 files in 3 dirs):
17:02.38CIA-23BZFlag: put the map loader back to the old slow method for now.
17:02.38CIA-23BZFlag: new fast map loading will be prototyped with a plug-in using HTTP.
17:02.54JeffMblast007, give that a whirl, client and server
17:03.08JeffMputs it back to the old way
17:03.29EpyonTD-Linux, whaaat? o.O
17:03.55EpyonTD-Linux, check if there's some odd character there, if so, delete it and commit that file.
17:04.09TD-LinuxI don't have commit access.
17:04.24TD-Linuxit's just an extra ;, I removed it and it all compiles fine
17:04.32Epyonah, ok :)
17:04.35TD-Linuxbut it doesn't link, /me needs to link in the library
17:04.46EpyonWhich one?
17:04.51*** join/#bzflag QuantumBeep (n=QuantumB@doc-24-32-46-104.leesville.la.cebridge.net)
17:05.06TD-Linuxwhat are the yy functions?
17:05.07TD-Linuxbison?
17:05.13Epyonyep
17:05.54Epyonlink with the lexer (if yylex) or parser (if other) object file
17:07.27CIA-23BZFlag: 03chaos-dev * r14936 10/trunk/bzwgen/TextUtils.h: Removed an extra ;
17:09.31JeffMwhat does an HTTP header look like?
17:10.36CIA-23BZFlag: 03chaos-dev * r14937 10/trunk/bzwgen/ (bzwgen.cxx lexer.l): Added conditionals to properly include either parser.hxx or parser.cxx.h
17:12.08brlcadJeffM: curl --head http://bzflag.bz
17:12.24JeffMthanks
17:13.02brlcadtry a few more for variety, like http://google.com
17:13.19JeffMthe request starts with get
17:13.21JeffMthat's allI need
17:13.37brlcadah, you mean the requesters header
17:13.47JeffMI just need the first part of the request to know it's HTTP so I can pass it off to tinyHTTP
17:13.47JeffMyeah
17:14.01CIA-23BZFlag: 03chaos-dev * r14938 10/trunk/bzwgen/ (OSFile.cpp TextUtils.cpp TextUtils.h commandArgs.cpp): Put #pragma warning disable statements into #ifdef _MSC_VER conditionals
17:14.59JeffMbahh. need a new event :)
17:15.03JeffMworld finalised
17:20.06EpyonTD-Linux, what's the version of your bison?
17:20.16EpyonUm, that sounded funny :P
17:29.45*** join/#bzflag gsnedders (n=gsnedder@host86-145-188-203.range86-145.btcentralplus.com)
17:33.46TD-LinuxEpyon, might be gone soon
17:34.09EpyonTD-Linux, how far did you managed to get?
17:34.46TD-Linuxhthere's an extra ; in TextUtils.cpp
17:34.57Epyonwhat line?
17:35.08TD-Linuxsame place
17:35.10TD-Linuxbottom
17:35.34TD-Linuxit works!
17:36.04EpyonBTW I found a more recent version of Win32 bison and it also generates hxx :D
17:36.12EpyonGREAT :D
17:36.16TD-Linuxhttp://pastebin.ca/659962
17:36.29TD-Linuxis the Makefile
17:36.33TD-Linuxit doesn't do bison or flex yet
17:36.34EpyonDoes it show parse errors when run?
17:36.39TD-Linuxyes.
17:36.43TD-Linuxwait
17:36.44TD-Linuxno
17:36.52TD-Linuxadd the -Werror back in to the flags
17:37.13TD-LinuxCFLAGS = -g -O0 -Wall -Werror -pedantic -ansi
17:37.26EpyonI mean, while running the program does it write Loading xxx... done. or ..failed!
17:37.51TD-Linux...failed!
17:38.10TD-Linux[thomas@localhost bzwgen]$ ./bzwgen
17:38.11TD-Linuxinput in flex scanner failed
17:38.11TD-LinuxLoading rules/.svn... [thomas@localhost bzwgen]$
17:39.01Epyonis CPPFLAGS = -I../bzflag/include really needed?
17:39.37Epyonaaaah, it tries to load .svn lol!
17:40.39CIA-23BZFlag: 03chaos-dev * r14939 10/trunk/bzwgen/ (bzwgen.cxx lexer.l): Upgraded version of bison, it *does* generate hxx files now, so conditionals are unnecessary
17:41.26CIA-23BZFlag: 03chaos-dev * r14940 10/trunk/bzwgen/Makefile: Updated Makefile (thanks TD-Linux), doesn't include the rules for bison and yacc, anyone?\
17:41.59TD-LinuxI can hack them in quick if you want
17:42.05TD-Linuxlet me do that...
17:42.20Epyonkk
17:44.03CIA-23BZFlag: 03chaos-dev * r14941 10/trunk/bzwgen/TextUtils.cpp: Yet Another Semicolon Too Far (TM)
17:44.13daxxarSemicolons RULE.
17:45.07TD-LinuxI added them
17:45.30TD-LinuxEpyon, http://pastebin.ca/659968
17:45.37TD-Linuxbut now there are warnings from lexer.cxx
17:45.44TD-LinuxI must have missed them before
17:46.50CIA-23BZFlag: 03chaos-dev * r14942 10/trunk/bzwgen/bzlgen.vcproj: Updated project file with the hxx
17:48.04CIA-23BZFlag: 03chaos-dev * r14943 10/trunk/bzwgen/Makefile: Updated the Makefile with the flex/bison rules (TD-Linux)
17:48.56daxxarSomeone changed playing.cxx / LocalPlayer (?) so botplaying.cxx stopped compiling. Bad testing!
17:49.28CIA-23BZFlag: 03JeffM2501 * r14944 10/trunk/bzflag/include/WorldEventManager.h: utility function to call an event from just the data, since it has it's type.
17:50.09CIA-23BZFlag: 03chaos-dev * r14945 10/trunk/bzwgen/bzwgen.cxx: Fixed the directory parsing in search of set files. It won't try to parse .svn now xP
17:50.25daxxarblast007: r14926 broke bzrobots
17:50.26EpyonTD-Linux, can you now try to do a clean checkout and run the makefile?
17:50.41CIA-23BZFlag: 03JeffM2501 * r14946 10/trunk/bzflag/ (include/bzfsAPI.h src/bzfs/bzfs.cxx):
17:50.41CIA-23BZFlag: constructor change for basic events.
17:50.41CIA-23BZFlag: add bz_eWorldFinalized event that is called when the world is completly loaded.
17:50.42EpyonAnd then tell me what the first lines of the output are?
17:52.27JeffMErroneous, what was the URL for that tiny HTTP?
17:52.47Erroneoushttp://tols17.oulu.fi/~ttarvain/
17:52.54JeffMthanks
17:55.20brlcadthat is pretty tiny
17:57.28TD-Linuxstill some warnings from lexer.cxx
17:57.41*** join/#bzflag Pommes_ (n=Pommes@about/essy/frenchy/Pommes)
17:58.03EpyonTD-Linux, I know, but does it run and report "Loading xxx... done"?
17:58.31TD-LinuxLoading rules/test.set... syntax error at line 2
17:58.31TD-Linuxfailed!
17:58.31TD-LinuxInitializing...
17:58.31TD-Linuxdone.
17:58.31TD-LinuxParsing options...
17:58.32TD-Linuxdone.
17:58.34TD-LinuxGenerating...
17:58.36TD-Linuxsome numbers...
17:58.40TD-LinuxDone.
17:59.10TD-LinuxI got a test.bzw!
17:59.15Epyonhmm syntax error :/
17:59.42*** join/#bzflag delusional_ (n=delusion@pool-151-201-120-153.pitt.east.verizon.net)
18:00.06TD-Linuxbzfs hangs on the test.bzw
18:00.14EpyonTD-Linux, I know :)
18:00.14TD-Linuxno
18:00.18TD-Linuxit's doing _something_
18:00.22TD-Linuxbut my computer is slow :/
18:00.38EpyonYou need trunk bzfs to run it
18:00.42TD-Linuxoh
18:00.58TD-LinuxI'll have to wait until I buy my new laptop then
18:01.00EpyonJeffM found an error with the matrefs
18:01.04TD-Linuxso I can run bzflag on it
18:01.24EpyonThat syntax error I don't like though.
18:01.25TD-Linuxright now I can run bzflag on a windows machine, but compiling is a pain :/
18:01.39EpyonWhat are your bison and flex versions?
18:02.00daxxarTD-Linux: You want trunk bzflag for win32?
18:03.50CIA-23BZFlag: 03daxxar * r14947 10/trunk/bzflag/src/ (bzflag/playing.cxx bzrobots/botplaying.cxx):
18:03.50CIA-23BZFlag: Fixed compilation of bzrobots (broken in r14926).
18:03.50CIA-23BZFlag: Re-added statusmessages about forbidden / allowed movement. (removed in r14926)
18:04.53CIA-23BZFlag: 03chaos-dev * r14948 10/trunk/bzwgen/ (Makefile lexer.l): Removed -Werror from the makefile until I find a way to fix that generated lexer
18:05.38EpyonDoes g++ have something like the MSC #pragma disable warning?
18:07.22brlcadthere are not really any g++ warnings that you should be needing to suppress
18:07.45EpyonOh and another one -- does windows or unix have double character linebreaks?
18:07.51daxxarHrm
18:07.53daxxarThis is annoying.
18:07.58TD-Linuxwindows
18:08.03EpyonI guess windows, and that's where the parser is cutting out...
18:08.09TD-Linux:/
18:08.15daxxarEpyon: Windows has \r\n
18:08.22TD-Linuxdetect just \n
18:08.27TD-Linuxand throw away the \r
18:08.33EpyonTD-Linux, can you convert \r\n to \n in the file?
18:08.39TD-Linuxyes
18:08.39brlcadyou really should be able to compile cleanly with -Wall -Werror -- the msvc pragmas are for msvc compatibility issues and other nuances usually
18:08.45EpyonTD-Linux, do that
18:09.03daxxarThe SWIG (python) bindinsg pull in the requests-definition, and they have ::process-code which pulls in RCReplies, and RCReplies pull in libGame.
18:09.03EpyonTD-Linux, what is the warning you get?
18:09.18daxxarSo if I want to be able to load the module, I need to pull in heckalot of deps.
18:09.26Epyonbrlcad, the problem is that the warning comes from the generated code parts that I have no control over :/
18:09.33daxxar(*or* conditionally compile RCRequests.cxx for the SWIG bindings)
18:09.35TD-Linuxlexer.cxx: In function ‘int yy_get_next_buffer()’:
18:09.35TD-Linuxlexer.cxx:1055: warning: comparison between signed and unsigned integer expressions
18:09.35TD-Linuxlexer.cxx: At global scope:
18:09.35TD-Linuxlexer.cxx:1146: warning: ‘void yyunput(int, char*)’ defined but not used
18:09.48JeffMErroneous, tinyHttp looks to be nix only
18:09.50JeffM:(
18:09.51Epyonyyunput?
18:10.08TD-LinuxEpyon, it works now.
18:10.19EpyonOkay, those two I have no control over :/
18:10.28TD-Linuxdos2unix :D
18:10.33ErroneousJeffM: ah.  well, that was just my first thought...guess you could look for a small cross-platform http server
18:10.34brlcadi believe you're missing some decls
18:10.50JeffMErroneous, how nasty is the http get protocoll?
18:10.57EpyonTD-Linux, one last test, and you're free :)
18:10.57TD-Linuxit's super easy
18:10.57Erroneousnot too bad
18:11.14Erroneousthe advantage of an existing implementation is that you don't have to think as much :)
18:11.16TD-LinuxEpyon, ok...
18:11.17JeffMwonder if I can just yank that part from tinyHTTP
18:11.37brlcadEpyon: there are ways to quell those warnings iirc, I've seen them before
18:11.55Epyonbrlcad, I have no clue how, however :/
18:11.57brlcadit's part of the integration and portability headaches that I referred to too
18:12.22EpyonTD-Linux, do a clean checkout again. All should work.
18:12.31EpyonWait!
18:13.02TD-Linuxwaiting.
18:13.21CIA-23BZFlag: 03chaos-dev * r14949 10/trunk/bzwgen/lexer.l: //r treated as whitespase for nix compatibility
18:13.30EpyonNow :)
18:15.09TD-LinuxJeffM, you can do HTTP with telnet
18:15.16TD-Linuxtelnet google.com 80
18:15.21TD-Linuxthen
18:15.29TD-LinuxGET /index.html HTTP/1.0
18:15.33TD-Linuxpush enter twice
18:15.37JeffMI know
18:15.42JeffMthat dosn't help me
18:18.28brlcadEpyon: try to quell the warnings, you might have to do some ugly trickery, but they should all be quellable -- e.g. in the yyunput case you can just call yyunput somewhere in unreachable code (like after an exit() call)
18:19.11EpyonTD-Linux, and paste me the line that the yy_get_next... warning is generated (apparently lexer.cxx is different size on win and on linux)
18:19.35Epyonbrlcad, I got rid of that yyunput warning cleanly.
18:19.47EpyonIt's the other one that is a PITA.
18:19.58brlcadthey're all pita'sses :)
18:20.16EpyonTD-Linux, ping?
18:20.44TD-Linuxg2g soon....
18:21.30EpyonDid you manage to compile and run it cleanly now?
18:21.34TD-Linux/* Read in more data. */
18:21.34TD-LinuxYY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
18:21.34TD-Linux(yy_n_chars), num_to_read );
18:21.40Epyon(without converting the test set?)
18:21.40TD-LinuxEpyon, not without warnings
18:21.50TD-Linuxbut yes, it worked without converting the test set.
18:21.55EpyonGreat :D
18:22.24EpyonOkay, thanks for your help, I'll try to fix that warning now. (only those two are reported?)
18:22.31TD-Linuxyup only those two
18:22.46TD-Linuxgoing to get school schedule...
18:22.48EpyonOne is killed. I'm trying the other one now o.O
18:24.27EpyonHmm, brlcad, I can fix that warning but at the cost of pasting in 12 additional lines of code that people will wonder about WTF they are here...
18:26.25CIA-23BZFlag: 03JeffM2501 * r14950 10/trunk/bzflag/ (include/bzfsAPI.h src/bzfs/bzfsAPI.cxx): API functions to get the actual data for the compressed world and it's size.
18:29.13EpyonComparision between char and int triggers a warning?
18:30.53brlcadJeffM: at 300 lines it shouldn't be too hard to add support..
18:31.16JeffMbrlcad, what is 300 lines?
18:31.38JeffMoh I've grabed the 10 lines I need allready :)
18:32.25blast007daxxar: whoopsie, sorry about that  ;)
18:33.13CIA-23BZFlag: 03chaos-dev * r14951 10/trunk/bzwgen/ (Makefile bzlgen.vcproj lexer.l): A couple of hacks to get rid of the GCC warnings
18:33.31EpyonTD-Linux, there should be no warnings now.
18:33.40EpyonConstitution, ping?
18:33.41daxxarblast007: ;-)
18:34.13EpyonOkay, I'm off to get food, be back in 10-20 minutes
18:38.21blast007JeffM: I'll test out the changes after work today
18:38.27JeffMk
18:42.06brlcad~Epyon++
18:52.15CIA-23BZFlag: 03daxxar * r14952 10/trunk/bzflag/ (12 files in 4 dirs):
18:52.15CIA-23BZFlag: Added bzrobot.i, the SWIG interface file.
18:52.15CIA-23BZFlag: Added makerules to build python bindings. (make bzrobot.la)
18:52.15CIA-23BZFlag: Updated configure.ac for new --enable-bzrobots-python - this builds PythonLoader and the Python SWIG bindings.
18:52.15CIA-23BZFlag: svn:ignore generated files.
18:52.17CIA-23BZFlag: Separated request#process to RCRequests_Process.cxx & RCRequests_ProcessSWIG.cxx (nasty, but it enables me to compile python bindings without a bunch of deps).
18:52.22CIA-23BZFlag: TestRobot.py now actually creates a robot! (But this isn't used properly yet)
18:53.06daxxarThere, just wanted to get that into SVN before I hit the shower, and then get beeping wasted. ;-)
18:53.37tannerldoooo
18:54.09daxxarThe Python interpreter doesn't actually do anything with what def create(): returns from TestRobot.py
18:54.23daxxarI need to do some SWIG magic to convert it to a BZAdvancedRobot, and then it should work. :-)
18:54.31daxxarI'll prolly do it tomorrow
18:58.55brlcadcool
19:01.40brlcadgreat conditional support too
19:02.37Deepabzrobot?
19:08.32daxxarbrlcad: Thanks. :-)
19:11.00daxxarI also removed all deps on python-config, since it AFAIK is a third-party util
19:11.10daxxar(i.e. not a part of the core python distrib)
19:11.32brlcadah, good to know
19:12.00brlcadrarely can rely on *-config scripts regardless, usually have to account for 'some' system that has lib* without a *-config
19:12.57daxxarI haven't tested how it behaves on a non-python system (with --enable-bzrobots-python it *should* fail during ./configure), but it compiles cleanly without --enable-bzrobots-python
19:23.14daxxarAnyway!
19:23.22daxxarHeading out to enjoy some fine weather, company and beer!
19:24.07EpyonHow can I cleanly pass a char* to a func that requires string& ?
19:24.34brlcadEpyon: take the reference before the call
19:24.44Epyone.g?
19:24.59brlcadstd::string foo = std::string(mychar); func(foo);
19:25.18Epyonah, ok. That's the cleanest way?
19:25.43EpyonWhy can't I do foo(std::string(mychar)) instead?
19:25.57Epyonfunc(
19:26.28brlcadbecause you can't take a reference to a temporary
19:26.32TD-Linuxit takes forever to make any money in trukz :(
19:26.33brlcadat least not reliably
19:26.36TD-Linuxoops
19:26.38TD-Linuxwrong channel
19:32.34EpyonOk, WTF?? : error : 'std' : is not a class or namespace name
19:33.18brlcadmissing a header perhaps
19:33.30EpyonI have <string> in
19:35.06ConstitutionEpyon: pong
19:35.33EpyonConstitution, try compiling bzwgen now, it should be ok now.
19:35.50EpyonThere's also a change -- the textures are in their own directory now (media)
19:35.58Constitutionah, okay
19:36.24EpyonConstitution, you're on linux right?
19:36.28Constitutionyes
19:36.37Epyonso you should have bison and yacc.
19:36.43Constitutionheh, "make: bison: Command not found"
19:36.44Epyonerr, flex
19:36.56Epyonlol o.O
19:37.02Constitutionhehe
19:37.08Epyonapt-get something xP
19:37.19Epyonand check if you have flex
19:37.38ConstitutionI need to go to work in a few minutes... can we work on this further in about an hour?
19:37.47EpyonNo problem :)
19:37.55Constitutionokay
20:03.05*** join/#bzflag TD-Linux (n=TD-Linux@about/essy/indecisive/TD-Linux)
20:26.22*** join/#bzflag jude- (n=jude@c-68-84-206-92.hsd1.ar.comcast.net)
20:26.28jude-hello all
20:26.35jude-~Epyon++
20:26.39jude-~daxxar++
20:26.44jude-~JeffM++
20:26.46jude-DTremenak++
20:26.52jude-~DTRemenak++
20:27.36tannerldhi jude-
20:28.04EpyonSorry xP
20:28.14jude-nothing to apologize about
20:28.25jude-it's a GOOD thing :)
20:28.40jude-lots of commits ==> better BZFlag game :)
20:29.37JeffMnot always
20:29.42JeffMI often break things :)
20:30.24blast007JeffM: nah, I broke stuff this time  ;)
20:30.38jude-JeffM: you're karma increase was for spelling "intangibility" correctly, then :)
20:30.41blast007killed daxxar's poor bots
20:31.05EpyonIs there something bad about having Class pointers in unions?
20:31.05tannerldjude-: lol
20:31.20jude-Epyon: not that I'm aware of
20:31.30jude-a pointer is a pointer is a pointer :)
20:31.37Epyonerror C2143: syntax error : missing ';' before '*'
20:31.38jude-still 4 bytes (or 8 on 64-bit systems)
20:32.04jude-Epyon: check your #include's and your declarations
20:32.15Epyonin typedef union YYSTYPE { ProductVector *pv; } YYSTYPE;
20:32.38jude-hmmm...
20:33.10jude-try removing the first "YYSTYPE"
20:33.20jude-also, did you include the header that defines the ProductVector interface?
20:33.26Epyonno difference
20:33.28EpyonYes
20:33.45jude-...and you're sure there aren't any #ifdef's in that header that would prevent it's declaration?
20:34.04EpyonNope, MSC highlights those :/
20:35.38jude-...cause that code (replacing ProductVector with one of my classes) works for me so far
20:35.56jude-which makes me think it's an include error
20:36.00jude-try this:
20:36.01*** join/#bzflag Constitution (n=Constitu@gateway.pct.civiltec.com)
20:36.26jude-"class ProductVector; typedef union YYSTYPE { ProductVector* pv; } YYSTYPE; #include "ProductVector.h" "
20:36.51jude-i.e. declare ProductVector, but include the interface AFTER the definition of the union
20:37.28EpyonNo difference
20:38.12jude-correction: you're code worked without the first "YYSTYPE"
20:38.32jude-i.e. typedef union { ProductVector* pv; } YYSTYPE;
20:38.56brlcadjust like structs -- can't name the union the same as the typedef
20:39.07brlcadand probably don't want anonymous structs/unions
20:39.22brlcadbut not a big deal
20:39.39jude-i.e. replace the first occurrance of "YYSTYPE" with "_YYSTYPE" or something like that
20:40.04brlcadyeah, it doesn't really matter what, just gives the compiler something to work with
20:41.27*** join/#bzflag tannerld1 (n=tanner@adsl-068-209-251-067.sip.asm.bellsouth.net)
20:46.12ConstitutionEpyon: installing bison and flex worked, but I'm getting a warning: lexer.cxx:1155: warning: ?void yyunput(int, char*)? defined but not used
20:46.32Constitutionand warnings are being treated as errors
20:52.27EpyonBut it's not defined ;(
20:52.46EpyonConstitution, do you have the lastest revision?
20:54.02Constitutionyes
20:54.51Constitutionoh wait... I forgot to "make clean"... now it says: "make: *** No rule to make target `OSFile.cpp', needed by `bzwgen'.  Stop."
20:55.36Constitutionthis sounds really weird... but is it possible that "make clean" is deleting TextUtils.cpp, commandArgs.cpp, and OSFile.cpp?
20:56.07Epyon*giggles*
20:56.12EpyonYep, possible.
20:56.41EpyonI'm gonna fix that.
21:00.57*** join/#bzflag a_meteorite (n=a_meteor@unaffiliated/ameteorite/x-000000001)
21:01.26jude-Epyon: did you get it to compile?
21:02.32*** join/#bzflag BenUrban (n=benurban@unaffiliated/benurban)
21:02.48tannerld1heh
21:03.00EpyonNow I get syntax error : missing ';' before ':' :/
21:03.06EpyonWhat the hell :/
21:03.10EpyonIn a switch statement
21:03.42EpyonOMG
21:03.49EpyonOMG OMG OMG
21:03.53A_Heart_Attack...
21:03.59EpyonThe stupidest error ever :D
21:04.36jude-don't explode, Epyon; it can't be that bad
21:04.50jude-lol
21:05.04a_meteoritePascal... eeek...
21:05.32jude-indeed
21:05.41EpyonFreePascal FTW ;]
21:05.45jude-Delphi, maybe.  Pascal, no
21:05.54EpyonFreePascal > Delphi
21:06.07jude-Delphi is OO
21:06.12EpyonDelphi not portable, FreePascal/Lazarus is :)
21:06.44jude-at least, not yet
21:07.29jude-wait--Kylix is a delphi compiler for *nix
21:07.41CIA-23BZFlag: 03chaos-dev * r14953 10/trunk/bzwgen/ (7 files): Product/Products/RuleSet initial stubs implemented and recognized.
21:08.12EpyonBut Kylix and Delphi are incompatible. Freepascal is compatible with both, and adds a lot more compatible targets.
21:08.24Epyon"Write once, compile everywhere xP"
21:08.44jude-sounds like C++
21:09.13Epyonjude-, including the GUI.
21:09.23jude-pascal has a built-in GUI?
21:10.18Epyonjude-, Lazarus provides a architecture on which you build your GUI, and it's compiled to WinAPI on windows, GTK on Linux, Carbon on OSX, and a few others including WinCE
21:10.21ConstitutionEpyon: RuleSet.h:34:30: error: no newline at end of file ;-)
21:10.58CIA-23BZFlag: 03chaos-dev * r14954 10/trunk/bzwgen/RuleSet.h: Ummm, a lost newline... :/
21:11.14EpyonConstitution, I'm fixing that cpp stuff right now
21:11.18Constitutionokay
21:11.33jude-sounds like Swing in Java, only less consistent
21:12.04Constitutionalso, the original warning about yyunput() defined but not used is still showing its face
21:12.32Epyonjude-, http://www.kanzelsberger.com/pixel/?page_id=5
21:13.00EpyonOne program, native interface on every system :P
21:15.18jude-right
21:15.34EpyonConstitution, try removing the CPPFLAGS = -I../bzflag/include line from the Makefile and see if it compiles...
21:15.50EpyonBecause I think it's unneccesary
21:17.38CIA-23BZFlag: 03chaos-dev * r14955 10/trunk/bzwgen/ (7 files): Renamed the GPLib files to cxx to provide consistency and not to confuse the poor Makefile.
21:18.28EpyonConstitution, now make clean then build and tell me exactly what warning you're getting
21:19.48*** join/#bzflag Blue_Eyes (i=Blue@host245-229.pool212171.interbusiness.it)
21:21.27jude-~Epyon++
21:21.28jude-a lot
21:21.34ConstitutionEpyon: looks like the files are safe, and it compiled when I got rid of -Werror
21:21.52EpyonWhere's the warning?
21:21.58Constitutionlexer.cxx:1158: warning: ?void yyunput(int, char*)? defined but not used
21:22.48EpyonConstitution, can you paste me that line? bison works a little different there :)
21:23.06EpyonBest, pastebin me +/- 10 lines
21:24.27Constitutionhm, okay
21:25.35Constitutionhttp://bzflag.pastebin.ca/660275
21:25.56Constitutionline 13 = line 1158 in the source
21:26.42EpyonHmm any idea how I can easily make it "used"?
21:28.10EpyonHmm, maybe adding its declaration before would help?
21:28.18Constitutioncomment it out until you use it?
21:28.43EpyonConstitution, can't, I don't even have it - it was generated by bison :p
21:28.49Constitutionoh
21:29.56EpyonConstitution, try editing .y and removing the YY_NO_UNPUT define
21:30.17EpyonSorry, the lexer.l
21:31.01Constitutionstill throws the warning
21:31.21EpyonDarn, I don't have the file so how I can fix it :/
21:31.40Constitutioninstall linux in vmware ;-)
21:32.05*** join/#bzflag bryjen (n=bryjen@63.147.94.149)
21:32.05*** mode/#bzflag [+v bryjen] by ChanServ
21:32.06EpyonSure that I have the time :/
21:32.31jude-use QEMU then
21:32.46ConstitutionEpyon: can you use a unix shell?
21:33.05ConstitutionI can just give you an account on my server
21:33.17Epyonone sec
21:33.43Constitutionalthough a local solution would still make more sense IMHO
21:34.06Epyontry adding "void yyunput(int, char*);" in parser.y right under int yylex();
21:34.08jude-download Knoppix
21:35.34Constitutionstill warns
21:36.23EpyonLol, I found a revision with that fix for another problem :P
21:39.38bryjen~bzpastebin
21:39.39ibotwell, bzpastebin is http://pastebin.bzflag.bz a place to put large chunks of text to not flood a channel
21:44.22brlcadEpyon, yeah, just actually use it (hence why I mentioned that trick earlier) ;)
21:46.08Epyonbrlcad, how can I "use" it without using it?
21:46.15brlcadbison has changed massively over the years, and isn't even the only  parser that will likely be used by folks compiling
21:46.54brlcaddo you have an error rule perhaps that aborts/exits?
21:47.25Epyonyep
21:47.37brlcadthen call it after the exit
21:47.49brlcadyyunput(' ');
21:48.00bryjenhttp://pastebin.bzflag.bz/d51f67271
21:48.29brlcadwith a note that it's just a hack to quell the warning
21:49.13brlcadbryjen: the header probably doesn't need a reference
21:49.35brlcadit's a reference to temp issue
21:50.19brlcadheader says it's expecting a reference, and it probably is being passed one directly, so you either have to set it to a var so it can get the reference or make the interface not require a reference in the first palce
21:51.00Epyonbrlcad, then I'd have a warning about unreachable code :P
21:51.19*** join/#bzflag Winny (n=KyleVE@CPE0016b6de59f3-CM000f9fac8236.cpe.net.cable.rogers.com)
21:51.37brlcadit doesn't know it's unreachable
21:52.20brlcadand conceivably isn't necessarily unreachable with the right run-time bindings
21:52.44brlcadhaving it after a func call that is defined to not return is different than having it in an if (0) block
21:55.56Constitutionbrlcad: regarding worldEventManager, is the issue that it's being passed the return value of a function, and not a variable itself?
21:56.25brlcadthat would be
21:59.01brlcadif the interface expects a reference, it can't take a reference to a temporary which includes return values from functions or defining vars in the function parameter list (e.g. foo(std::string("blah")) where foo() expects a std::string& is NFG, bad)
21:59.54CIA-23BZFlag: 03chaos-dev * r14956 10/trunk/bzwgen/lexer.l: Ugly fix for the last GCC warning.
22:00.09Constitutionis there any advantage to using a reference rather than a pointer in this case?
22:00.23EpyonConstitution, try again plz.
22:00.25Constitutionok
22:01.56ConstitutionEpyon: compiles cleanly
22:02.03EpyonYaaaay :D
22:02.07brlcadoops
22:02.14Epyon~Constitution++
22:02.24Constitution~Epyon++
22:02.29Constitutionit was all you, buddy :-)
22:02.49EpyonWell, you were my eyes here xP
22:03.39CIA-23BZFlag: 03brlcad * r14957 10/trunk/bzwgen/lexer.l: try this instead to quell yyunput warning?
22:04.04brlcaddoes that also work?
22:04.21bryjen~brlcad++
22:04.59bryjenbut now i remeber why i disabled bzrobots...
22:05.00brlcadbryjen: so did you make it a non-ref or save it to a var?
22:05.05EpyonLOL, a lot better and cleaner :D
22:05.28Epyon~brlcad++
22:06.03brlcaddid it work?  I didn't test it
22:06.04bryjensaved it to a var.  iirc the event data can be changed (not so in this case, but others) so the functions may actually need refs
22:06.15brlcadah, ok
22:06.16Epyonbrlcad, worked for me. Constitution?
22:06.33jude-off-topic, but could someone direct me to the code in BZFlag that handles shear transformations defined by the BZW spec?
22:06.43brlcadbah.. sourceforge now only lets you upload one file at a time
22:06.46ConstitutionEpyon: compiles fine
22:06.59brlcadjude-: how the hell is that off-topic? :)
22:07.07jude-it's not about Epyon's code compiling
22:07.11brlcadheh
22:07.28brlcad"bzflag code" is always on topic :)
22:07.40jude-seriously, though--I've tried everything to get BZWB to mimic BZFlag's shear transformations, but no luck :(
22:08.23brlcadsushi:~/BZ/bzflag/src/bzfs morrison$ grep shear *
22:08.32CIA-23BZFlag: 03chaos-dev * r14958 10/trunk/bzwgen/ (Operation.h bzlgen.vcproj lexer.l parser.y): Operation stubs added.
22:10.58CIA-23BZFlag: 03bryjen * r14959 10/trunk/bzflag/configure.ac: fix configure with bzrobots disabled
22:11.29jude-woo! found it
22:11.51jude-is BZFlag's mesh transformation row-major or column-major?
22:13.13CIA-23BZFlag: 03bryjen * r14960 10/trunk/bzflag/src/bzfs/bzfs.cxx: stash this return value in a var to pass to the outer function
22:13.51Constitution~bryjen++
22:14.48CIA-23BZFlag: 03bryjen * r14961 10/trunk/bzflag/src/3D/FontManager.cxx: comment out unused param
22:15.51EpyonI'm going to the nightshop to buy a beer for latenight, be back in half an hour.
22:17.07jude-...that would be column-major
22:20.33jude-cool!  it works now!
22:20.37jude-thanks brlcad!
22:20.49TD-Linuxcolumn-major
22:20.56TD-Linuxoh, I see you beat me reading the backlog
22:21.00brlcadhm?
22:21.03brlcadwhat'd I do?
22:21.17TD-Linux<brlcad> sushi:~/BZ/bzflag/src/bzfs morrison$ grep shear *
22:21.20brlcadoh, shearing
22:21.31jude-I wasn't aware that BZFlag's matrix transformation code would be stored in a separate file
22:22.17Winnyjerry spinger: had big TV show, but little brain
22:22.49jude-...and?
22:22.54brlcadand pockets stuffed with cash
22:23.17Winnysorry, was my random spew of the day
22:23.34jude-here's mine: Today is Debian's 14th birthday
22:24.00Winnywoot
22:24.50jude-we're celebrating tonight at the local LUG
22:25.18TD-Linuxdo you celebrate for ubuntu's birthday?
22:25.22jude-nah
22:25.32TD-Linuxhmm, a real LUG then :)
22:25.38jude-lol
22:26.23brlcadjude-: so I presume the lead, took you to libgame's shear() func?
22:26.26*** part/#bzflag LongDon (n=LongDon@host-091-097-072-058.ewe-ip-backbone.de)
22:26.36brlcads/,//
22:26.53jude-it took me to the MeshTransform.cxx file, which showed how to create a shear matrix
22:27.08brlcadokay, good :)
22:27.18jude-it works quite well
22:27.26brlcadwhen all else fails, follow the white rabbit
22:27.36jude-indeed
22:30.27jude-*know
22:33.19PrezKennedyhe doesn't
22:33.20PrezKennedyhaha
22:34.13jude-I figured
22:39.52EpyonDuh, I go away for a while and suddenly everyone but me is on the red pill :/
22:40.21jude-lol
22:41.48*** join/#bzflag spldart (n=troublem@c-98-197-19-35.hsd1.tx.comcast.net)
22:42.00EpyonIs there an easy way to delete all mebers of a vector?
22:42.15Epyonwhen the vector is vector <Foo*> ?
22:42.27jude-foo.clear()
22:42.42jude-(foo being the name of the vector)
22:43.25EpyonFoo is a class. Will foo.clear() call all Foos destructors?
22:43.38jude-to the extent of my knowledge, yes
22:44.13jude-vector bar<Foo*>; bar.erase(); // calls all of the destructors
22:44.26EpyonIs clear automatically called when bar is out of scope?
22:44.38jude-no, bar's destructor is called
22:44.46jude-which, in turn, destructs all the Foo's
22:44.51jude-wait
22:44.53jude-strike that
22:44.58EpyonNo, that would be stupid.
22:45.04jude-it destroys the POINTERs to Foo
22:45.12Epyonclear also?
22:45.16jude-right
22:45.28EpyonThat was my point. How can you easily destroy all Foos?
22:45.42L4m3ruse a loop?
22:45.47jude-for( vector<Foo*>::iterator i = bar.begin(); i != bar.end(); i++ ) { delete *i; *i = NULL; }
22:45.54EpyonL4m3r, no cleaner way? :/
22:46.00L4m3rone of the pitfalls of using pointers ;)
22:46.07EpyonWhat if I have a map?
22:46.11jude-use smart pointers if you don't want a loop :P
22:46.14L4m3rjude-: you forgot the erase
22:46.20Erroneousstd::vector<Foo*>::iterator itr; for (itr = bar.begin(); itr != bar.end(); ++itr) delete itr;
22:46.30jude-++itr?
22:46.40Erroneous++itr is faster than itr++ (no temp copy)
22:46.46Erroneousgood habit to get into ;)
22:46.52jude-L4m3r: is that necessarily as long as you don't try to deref the pointers again?
22:46.54EpyonWhat about the map?
22:46.59Erroneoussame for map
22:47.01Erroneoususe an iterator
22:47.14jude-only, do " delete i->second; "
22:47.16Epyonkk
22:47.18Erroneousright
22:47.26L4m3rjude-: oh, of course not... but I'm guessing that if you want to destroy all foos, then you probably want to empty the vector
22:47.37Epyonjude- ??
22:47.54jude-i->first is the first generic class in the map, i->second is the second generic class
22:48.00Erroneousstd::map<int, Foo*>::iterator itr; for (itr = bar.begin(); itr != bar.end(); ++itr) delete itr->second;
22:48.06jude-right
22:48.06L4m3rEpyon: std::map::iterator points to an object called std::pair
22:48.06Epyonah, ok
22:48.13Epyonkk
22:48.25L4m3ryeah, so you deref the key and data separately
22:48.55*** join/#bzflag moonpix (n=username@201.66.236.64)
22:49.52jude-Epyon: the deref operators (* and ->) are overloaded in iterators such that it allows the programmer to access the data in the collection, rather than the iterator itself
22:50.20Epyontypedef std::map <std::string, Rule*> RuleMap; <- is thos ok, or should the string be also *
22:50.36jude-that works
22:50.43jude-but it doesn't necessarily have to be a pointer to a string
22:51.04jude-the std::map class has built-in comparison methods for std::strings
22:52.23jude-(IIRC)
22:54.34*** join/#bzflag bier_ (n=bier@p54A50D47.dip0.t-ipconnect.de)
22:55.40Epyonhmm at delete itr; I get error C2440: 'delete' : cannot convert from 'ProductVectIter' to 'void *'
22:55.57Epyonshouldnt it be (*itr)?
22:56.01jude-yup
22:56.18EpyonErroneous made an Error :P
22:57.20jude-where?
22:57.28jude-oh
22:57.32jude-indeed, he did
22:59.41CIA-23BZFlag: 03chaos-dev * r14962 10/trunk/bzwgen/GridGenerator.cxx: Removed unneccesary debug message.
23:02.58CIA-23BZFlag: 03chaos-dev * r14963 10/trunk/bzwgen/ (Mesh.cxx Mesh.h): Addec proper destructor.
23:06.40CIA-23BZFlag: 03chaos-dev * r14964 10/trunk/bzwgen/GridMap.cxx: Added proper destructor.
23:10.09CIA-23BZFlag: 03chaos-dev * r14965 10/trunk/bzwgen/ (Product.h Rule.h RuleSet.h parser.y): Proper destructors for Rules and RuleSets,integration of Rules into rulesets in the grammar.
23:10.57Erroneoushey, I got it right the second time :P
23:11.32EpyonErroneous :P
23:19.39*** mode/#bzflag [+v Erroneous] by ChanServ
23:22.57CIA-23BZFlag: 03chaos-dev * r14966 10/trunk/bzwgen/ (Operation.h Product.h parser.y): Products now include Operations, have proper destructors and are read properly by the parser.
23:27.48EpyonHmm how can I get rand() to give me a random float in the 0..1 range...
23:28.34jude-rand() / RAND_MAX ?
23:28.50EpyonHmm, might work
23:28.52jude-(float)(rand()) / (float)(RAND_MAX)
23:30.14AAA_awrightjude-: http://us3.php.net/manual/en/function.lcg-value.php
23:32.54CIA-23BZFlag: 03judecn * r14967 10/trunk/bzworkbench/ (24 files in 13 dirs):
23:32.54CIA-23BZFlag: Mostly usability enhancements here...made the Rotator 3D cursor a bit more intuitive, made it so that selected objects
23:32.54CIA-23BZFlag: show their local, transformed axes when selected IN ADDITION to the 3D cursor, FINALLY got the "shear" transformation
23:32.54CIA-23BZFlag: to work properly, fixed up some transformation issues in bz2object during world saves, added the ability to link
23:32.58CIA-23BZFlag: teleporters (doesn't yet show up graphically yet, but they can be saved), and made some fixes in "material".
23:34.12jude-AAA_awright: rand() in C++ returns an int value between 0 and RAND_MAX
23:34.34AAA_awright*headdesk* C!
23:34.41jude-lol
23:35.08AAA_awrightI... uh.. er... (this is embarrassing)... Had to prove a point?
23:35.18jude-hey, it works that way in PHP :)
23:35.25jude-no one's questioning that :)
23:35.55CIA-23BZFlag: 03JeffM2501 * r14968 10/trunk/bzflag/ (include/bzfsAPI.h src/bzfs/bzfsAPI.cxx): add bz_getNonPlayerConnectionOutboundPacketCount to get the number of outbound messages
23:36.01AAA_awrightThe syntax is exactly the same (except variables start with $, a brilliant idea in my opinion)
23:36.11Epyonfoo->end(); is the last element, or the element after yje last?
23:36.23jude-Epyon: iterator?
23:36.37jude-foo->end() ==> element AFTER the last
23:36.45EpyonJeffM, talk about looooong names :P
23:36.47jude-(don't try to deref foo->end())
23:36.54Epyonjude-, okay, thanks :D
23:37.02JeffMit's descriptive :)
23:37.20EpyonJeffM, can't disagree with that xP
23:37.42spldartI believe we have a cheat running around the servers... WG and SW @ the same time... lookout server pwners
23:39.57CIA-23BZFlag: 03JeffM2501 * r14969 10/trunk/bzflag/plugins/ (8 files in 2 dirs): first shot at an HTTP based map transfer plug-in to speed up world loading by not using a push based protocol.
23:43.35Constitutionautogen.sh fails on my machine: http://bzflag.pastebin.ca/660420
23:46.38CIA-23BZFlag: 03chaos-dev * r14970 10/trunk/bzwgen/ (Product.h Rule.h): Random product choosing for Rules
23:47.18CIA-23BZFlag: 03judecn * r14971 10/trunk/bzworkbench/objects/bz2object.cpp: Shear the object BEFORE spinning it; update the object's attitude as well as it's spin transformations when parsing.
23:47.52Epyonjudecn, you got some bzworkbench screenies?
23:47.54JeffMwhat content type should a map be?
23:48.00jude-Epyon: check my blog :)
23:48.07jude-bzworkbench.wordpress.com
23:48.10Epyon~jude-
23:48.11ibotrumour has it, jude- is an all around great guy who's working on BZWorkbench as his Google Summer of Code project for BZFlag.  see also #bzflag or http://bzworkbench.wordpress.com/
23:49.26Epyon~jude-++
23:49.31jude-:)
23:49.34jude-~Epyon++
23:49.41EpyonxD
23:50.44EpyonWell since a week there havn't been any visual changes. That will change tommorow :D
23:51.00EpyonBTW, do you have mesh support?
23:51.03jude-ooooo
23:51.03jude-~Epyon++
23:51.06jude-not even close
23:51.26EpyonDarn, I wanted to see if it could handle my maps :P
23:52.02jude-fortunately, I'm working on making it easier for other developers to add support for BZW objects, because chances are I won't get to them all myself :/
23:53.00CIA-23BZFlag: 03JeffM2501 * r14972 10/trunk/bzflag/plugins/fastmap/fastmap.cpp: send out the HTTP responce headers when sending back a map.
23:53.02jude-(after all, final review is in 4 days :o)
23:54.49CIA-23BZFlag: 03judecn * r14973 10/trunk/bzworkbench/dialogs/MainMenu.cpp:
23:54.49CIA-23BZFlag: Disabled the automatic generation of the red wall material for cones (proof-of-concept time is over; time to add
23:54.49CIA-23BZFlag: the dialogs that allow users to create and apply materials :) )
23:56.17ErroneousJeffM: application/octet-stream is probably best
23:56.59JeffMahh I did application/binary
23:57.30JeffMtinyhttp only did text/HTML
23:57.45CIA-23BZFlag: 03JeffM2501 * r14974 10/trunk/bzflag/plugins/fastmap/fastmap.cpp: octet-stream not binary
23:57.46Erroneousyeah, which are maps are certainly not ;)
23:57.48brlcadConstitution: that's something for daxxar to sort out :)
23:57.50JeffMpl
23:58.16JeffMwell it's untested, but all the features are in it :)
23:58.24Constitutionbrlcad: okay, but in the meantime the entire build process is broken :-\
23:58.27JeffMHTTP server in a plug-in :)
23:59.15JeffMErroneous, how would you think about a dir that was auto scanned for plug-ins and loaded at launch?

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