#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2012-06-08

Timestamps are in GMT/BST.

00:00:03WatusimotoI did testitem.getLoc() instead of testitem:getLoc()
00:00:24raptorha
00:00:34raptori do that all the time...
00:00:50raptori think i spend half my time with RepairBot making that mistake...
00:00:54raptor*spent
00:01:13Watusimotocrappy syntax
00:01:25Watusimotoreally really error prone
00:01:42raptorcan you overload operators in Lua?
00:01:44WatusimotoI had an argument on the lua list about that
00:01:48Watusimotosome
00:01:50raptorhaha
00:02:15raptorman, all your experiences on the Lua list don't make me want to join it...
00:02:30Watusimoto:-)
00:02:39raptordinner!
00:02:44Watusimotogood night
00:06:18BFLogBot - Commit f037d46ec1b9 | Author: watusim...@bitfighter.org | Log: Remove some old junk
00:09:13Watusimoto Quit (Ping timeout: 245 seconds)
00:56:05Heyub Quit (Quit: leaving)
01:47:13raptorhi sam686, are you around?
02:01:53sam686hi
02:21:02raptorhi again sam686, still here?
02:21:22sam686hi, still here?
02:21:27raptoryes :)
02:21:32raptorok, so i have a problem
02:22:07raptori'm trying to make an class 'Engineerable' that I will apply to Turret and ForceFieldProjector, as well as Teleporter
02:22:31raptorAll three of those subclasses will inherit from Engineerable
02:22:40raptorthey also inherit from 'Item'
02:23:09raptormy problem: I need to be able to access the Item methods from Engineerable
02:23:22raptorwould i use a dynamic_cast?
02:23:37raptoror make Item itself a child of Engineerable?
02:24:24raptoror something else? The problem is because I want to make teleporters engineered, but they are not an EngineeredItem
02:24:24sam686not sure..
02:24:37raptorthey're a LineItem
02:26:10raptormaybe make BfObject a child of Engineerable?
02:29:56sam686maybe scrap the engineerable class, and just have a bool isEngineered (and if it is, allow it to be destroyed and turn back into ResourceItem)
02:31:03raptorso make it completely separate from the other two engineered items?
02:34:00sam686the way EngineeredItem is, that there is many functions not specific to engineering, but specific to both forcefiend and turrets, such as mAnchorNormal, mSnapped..
02:34:14raptoryes, specific to wall snapping, etc...
02:34:17raptorhmmm
02:34:20raptoryou may be right
04:59:54raptorgood ngiht!
05:01:54BFLogBot - Commit e3217bfd470a | Author: buckyballreaction | Log: Teleports can be built with engineering module now. They don't go anywhere, though...
05:01:56BFLogBot - Commit 81c1161546ba | Author: buckyballreaction | Log: Remove duplicate Lua method registration
05:02:03raptor Quit ()
05:11:58BFLogBot - Commit c37cb6d13f31 | Author: buckyballreaction | Log: Forgot this header, sorry
07:33:20watusimoto has joined
07:33:20ChanServ sets mode +o watusimoto
07:33:29sam686 Quit (Ping timeout: 245 seconds)
13:22:54IAmBeard has joined
14:11:05watusimotohi
14:20:52Watusimoto_ has joined
14:35:51LordDVG has joined
14:44:31LordDVG Quit (Ping timeout: 252 seconds)
14:44:31Watusimoto_ Quit (Ping timeout: 252 seconds)
15:01:59LordDVG has joined
15:10:28IAmBeard Quit (Quit: Leaving)
15:14:44LordDVG Quit (Ping timeout: 256 seconds)
15:35:09raptor has joined
15:35:09ChanServ sets mode +o raptor
15:35:19raptorhi watusimoto
15:35:29LordDVG has joined
15:36:48watusimotohi
15:37:18raptorhi
15:37:26raptorso i got teleports working with engineer
15:38:04raptorbut I still have to think about how to split it up into enter/exit points
15:46:08raptorsigh - i broke teleporters in the process... :(
15:50:05watusimotoha... know the feeling
15:50:26watusimotobut that's cool
15:55:39LordDVG Quit (Read error: Connection reset by peer)
15:56:53LordDVG has joined
15:59:44raptorfinal vote is up, it ended up being 'Bastion' and 'Castle Fighters' as the top two
16:02:30watusimotoCouldn't bear to include picture frame?
16:02:50raptorit wasn't tied for second anymore when i checked this morning
16:03:34watusimotolucky break!
16:07:13watusimotoI realized that with this luaW, we can create a sinlge "add object to game" method, and have it work for all objects
16:07:25raptor?
16:07:38watusimotoI restricted the lua design with lunar to avoid implementing tons of functions everywhere
16:07:56watusimotot = TestItem.new()
16:08:06watusimotot:addToGame()
16:08:17watusimototo put the test item into the game itself
16:08:34watusimotothe inheritance model is great!
16:08:46watusimotowith lunar, every object would need to have addToGame implemented
16:08:57watusimotoas well as setters for all properties
16:09:09watusimotonow just implement once and inherit
16:09:16watusimotot:setVel(100,100)
16:09:26watusimotot:setLoc(45,0)
16:09:31watusimotot:addToGame()
16:09:38watusimotoand voila, moving testItem
16:09:58raptoroooo
16:10:20watusimotoso we could implement a testItem cannon this way, for example
16:10:29watusimotofly into a zone and voom!
16:10:37raptorhaha
16:10:38watusimotoa test item comes flying at you
16:10:48raptoroh the possibilities!
16:10:59watusimotothere are many
16:11:01watusimotomost of them bad
16:11:25watusimotobut we're really close
16:12:49raptorI think i'm going to need to have an onConstructed virtual method for my interface...
16:36:13watusimoto Quit (Ping timeout: 244 seconds)
16:43:58BFLogBot - Commit 886f2d4e509e | Author: buckyballreaction | Log: Fix normal level teleports
16:54:55Watusimoto has joined
16:59:10LordDVG Quit (Remote host closed the connection)
17:14:12Watusimoto Quit (Ping timeout: 246 seconds)
17:31:35Little_Apple has joined
17:31:40Little_Applehellooo
17:39:27raptorhi
17:41:55Little_Applewhatcha doooin
17:45:21Watusimoto has joined
17:46:38Little_Applehelloo
17:58:10raptorhi
17:58:12raptorbrb
17:58:15raptor Quit ()
17:58:34raptor has joined
17:58:51raptorback
17:58:52ChanServ sets mode +o raptor
18:01:41Little_Appleyoyo
18:01:45raptorma
18:05:13Little_Applelol
18:05:20Little_Appleiseewhatyoudidthare
18:06:15raptorguess what
18:06:30Little_Applewat
18:06:40raptoryou might find this interesting: https://code.google.com/p/bitfighter/source/detail?r=e3217bfd470a8326c95e18fb74a8c795df5312ce
18:07:01Little_ApplePORTAL GUNS!!!!
18:08:00raptorwelll...
18:08:11raptorit has a ways to go, but you can place them...
18:09:30raptor:)
18:09:32Little_Apple:D
18:09:39raptorand no, not really a portal gun
18:09:45Little_Appleits still awesome
18:09:47raptorconstructable wormhole
18:09:51raptorerr teleporter
18:10:02Little_Applewormhole would be correct
18:10:08Little_Applethey do the same thing :P
18:10:14raptorstill have to figure out how to place the endpoint, and how to make them destructable
18:10:53Little_Applemaybe give them a shell like cores have
18:11:12Little_Applethat you can go through
18:11:26Little_Applebut still be able to shoot
18:11:51raptoryeah, it'll probably be like that
18:12:00raptorand i think Watusimoto wants them green instead of blue
18:12:41Little_Appleor your team color?
18:12:45raptorno
18:12:50Little_Apple(like cores)
18:12:53raptorthey will let anyone go in
18:12:58Little_Appleyea
18:13:10Little_Appleok i see...
18:16:44raptorthe trick is to make sure they are balanced...
18:17:17raptoralso, Watusimoto has the idea that if you are killed before you place the endpoint, then the entry point is destroyed, too
18:19:19Little_Appleor it fades out and you dont get teleported when you fly over it?
18:19:40raptordestroyed - you have to place both without dying
18:19:59Little_Appleor maybe just being able to place one of each teleports?
18:20:21Little_Applelike in tf2 :P
18:20:38Little_Applethe tf2 way of doing it is pretty good
18:20:39raptornot two-way...
18:20:47raptorand i haven't played tf2
18:20:49Little_Applenono not two way
18:21:15Little_Applei meant one portal and one exit for the portal
18:21:43raptori'd have to see it to understand what you're suggesting
18:22:33Little_Appleok...
18:22:54Little_Appleyou have two portal options in the engineer menu: portal entry and portal exit
18:22:59raptorah
18:23:13raptorinstead of auto-detecting that it needs an endpoint?
18:23:32Little_Applethe portal entry would be the normal portal thing with some sort of health system
18:23:52Little_Applebut the portal wouldnt be activated until you have placed the portal exit
18:24:20raptorah
18:24:57Little_Applethe portal exit could look like a core with the old mechanics when its about to be destroyed or something
18:25:11Little_Appleabout the size of a current spy bug or something
18:25:33raptorhmmm
18:26:10Little_Applethat way you could move your portal entry without having to reset the portal exit
18:26:52Little_Appleor the enemy could shut down the portal without actually going to the portal entry
18:26:58Little_Applesee?
18:28:18raptoryes, i understand now - i hadn't really about how to handle portal destruction...
18:28:30raptorone thing at a time... :)
18:29:41Little_Apple:P
18:29:59Little_Applejust one possible way engineerable portals could work
18:32:46Little_Applepossssiibbblleeeelelelelele
18:52:07Little_Applelaters
18:52:09Little_Apple Quit (Quit: Page closed)
19:00:30Little_Apple has joined
19:00:41Little_AppleI AM BACK TO TORMENT YOU
19:01:03raptorit's like you never left...
19:01:06raptor:)
19:01:10Little_Apple:D
19:08:35Little_Applepootpootpootpootpootpoot
19:20:13Little_Applelaterssssss :D
19:20:33Little_Apple Quit (Quit: Page closed)
19:47:10Little_Apple has joined
19:47:14Little_AppleHEEEYYYYYYY
19:47:17Little_AppleHEEEEEEEYYYYY
19:47:21Little_AppleHEEEEEEEEYYYYYYYYYEYEYEYEYEYEY
19:47:44Little_Appleback again.
19:52:00Little_AppleZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM ZAM
19:53:57Little_AppleAHHHHHHHH IM BORED
19:54:40sam686 has joined
19:54:40ChanServ sets mode +v sam686
19:55:53Little_Applehelloo
20:00:10Little_Applemoo!
20:03:56raptorhi
20:04:18Little_Applehihihihihihihiihih
20:05:35Little_Applebyebyebebyebyebyebyebyebyebye
20:05:42Little_Apple Quit (Quit: Page closed)
20:28:15Watusimotolooks like someone fell asleep on his keyboard
20:33:22Watusimoto++
20:34:30raptor wakes up!
20:39:18Watusimotonot you! :-)
20:41:56raptorso i'm making a new game object: TeleporterExit
20:48:12Watusimotoyou are?
20:48:18raptorwell
20:48:19Watusimotowell... I suppose it makes sense
20:48:26raptori'm not sure how to construct the endpoints
20:48:27Watusimotowe need to render it
20:48:30Watusimototo interact with it
20:48:32raptor^^ yes, that
20:48:40Watusimotoetc
20:49:44Watusimotoso will it be more than notionally related to regular teleports?
20:50:13Watusimotoit could be a completely different object that shares rendering code and similarly transports players
20:50:41raptori was thinking about extending Teleporter to EngineeredTeleporter
20:51:05raptorright now it's a real honest-to-goodness teleporter
20:51:42Watusimotoso will regular teleporters need endpoints?
20:51:56raptorthat's the stickiness i'm thinking about right now...
20:52:08Watusimotook, I would suggest the answer is no
20:52:40WatusimotoI would further suggest that you consider the geometry as a fundamental characteristic of the entity
20:52:55Watusimotoa simple line perfectly describes a teleport
20:52:55raptoryeah, right now they have Vector of destinations that is sync'd from server to client, then whenever a ship goes it, the index is sent
20:53:16raptoryes
20:53:34Watusimotoperhaps an engineerred teleport would also be a line
20:53:58Watusimotobut you could have teleport entrance and exit objects that exist only while the teleport is being established
20:54:18Watusimotowhen the exit is placed, entrance and exit are removed and replaced with a line
20:54:24raptorah
20:54:32Watusimotothat might not be quite right
20:54:41Watusimotowhy do you need an exit object again?
20:54:50raptorrendering...
20:54:57Watusimotoit seemed obvious a minute ago, but not seems superfluous
20:55:01Watusimotonow
20:55:05raptoryeah... i don't know
20:55:11raptoronly for rendering
20:55:19Watusimotowe render regular teleports without entry objects
20:55:49raptorbefore this conversation, i was thinking about just adjusting the destination point of a constructed teleport when you placed it
20:56:00Watusimotoyes
20:56:04Watusimotothat might make sense
20:56:10raptorright now it is constructed as a normal teleport with entry and exit points the same
20:56:17Watusimotook
20:56:23Watusimotothat seems logical
20:56:28raptori could test for the isEngineered flag and adjust the endpoint when i want to place the endpoint
20:56:56Watusimotoand when rendering, check for the flag, and see if you need to render an exit point
20:56:57raptorbut i'd still need a game object for rendering our green outline of the exit point, no?
20:57:04raptoroh yeah
20:57:05Watusimotono
20:57:06raptorduh
20:57:11raptorthat makes perfect sense now
20:58:33Watusimotoyou just have an extended render method for engineered teleports: render normal entrance, then exit
21:00:04raptorgood idea
21:24:39BFLogBot - Commit 8615257bd794 | Author: watusim...@bitfighter.org | Log: Remove some includes -- no reason for this to keep recompiling
21:24:40BFLogBot - Commit 0bb75c496583 | Author: watusim...@bitfighter.org | Log: Comment
21:24:42BFLogBot - Commit ce2f334390eb | Author: watusim...@bitfighter.org | Log: Add try/catch to better handle errors, add NULL check, and do some stack cleanup when errors encountered
21:24:43BFLogBot - Commit 431b977aadea | Author: watusim...@bitfighter.org | Log: Add setLoc(), setVel(), and addToGame() methods to lua interface
21:24:45BFLogBot - Commit 290320e3254c | Author: watusim...@bitfighter.org | Log: Better (?) error handling for scripting problems
21:24:46BFLogBot - Commit 6bc1f8165b31 | Author: watusim...@bitfighter.org | Log: Merge
21:24:48BFLogBot - Commit db171f31996f | Author: watusim...@bitfighter.org | Log: Remove dead code
21:24:49BFLogBot - Commit 31cfa381c1ff | Author: watusim...@bitfighter.org | Log: Make some methods private
21:24:51BFLogBot - Commit bc8f739bc6c1 | Author: watusim...@bitfighter.org | Log: Fix compile error
21:25:18raptor!!
21:25:51WatusimotoaddToGame works in levelgens now
21:25:56Watusimotobut only at the start of a level
21:26:09Watusimotoyou can create objects, set their pos & vel, and add them to the game
21:26:14Watusimotowithout generating levelcode
21:26:28raptoroooo
21:27:10Watusimotowon't work with walls, but with all point items it should work
21:31:18raptorWatusimoto: was there a reason for moving the computeExtent methods private?
21:35:52raptorthe EngineerModuleDeployer used it
21:37:56Watusimotoit did?
21:38:02raptoryes
21:38:20WatusimotoHow did it compile???
21:38:37WatusimotoI only moved it as part of a general desire to make things private where possible
21:39:01WatusimotoI moved that one at this time because your recent work brought it to my attention
21:39:11Watusimotonothing else
21:40:02raptoroh, haha
21:40:27raptorit compiles because i made computeExtent() a public virtual method in the Engineerable interface
21:40:46raptorso the private methods of the sub-classes are still called somehow... which I didn't know would work
21:41:42WatusimotoI think private children can override public parents
21:41:47Watusimotobut I don;t like to do that
21:41:57raptorinteresting
21:41:57WatusimotoI like them all to be the same, unless there is a good reason
21:42:03Watusimotothat seems less confusing
21:42:10WatusimotoI think you can do that in java as well
21:43:45raptorwell, i didn't know you could call the public virtual parent externally a nd have the child method still work... but it does!
21:47:10Watusimotowe can put it back to public if you like -- I didn't realize it was accessed externally
21:47:41Watusimotoodd... eliza.bot crashes bf hard
21:47:52raptorhuh
22:12:24Watusimotoquestion
22:12:35Watusimotowhat happens to your sort algorithm if a class has two parents?
22:12:42raptorkaboom!
22:12:49Watusimotooh boy
22:12:50raptorfirst one wins?
22:13:05WatusimotoI think I need to look into this a little more
22:13:09raptorno diamonds!
22:13:27Watusimotono
22:14:39raptorif both parents are first-level, it should be OK
22:15:30raptoractually, it's probably resilient, because it tests each parent-child pair separately
22:15:38raptorand won't register until the parent is
22:15:56Watusimotoone parent is a first level
22:15:59Watusimotoand one is not
22:16:09Watusimotorobot intherits from ship and (now) scriptRunner
22:16:17sam686you have a "typedef EngineeredItem Parent;" in Turret so... you can't have multiple "Parent" names, its an error. But you can call a second parent a "Parent2" or directly by using EngineeredItem::something...
22:16:22WatusimotoscriptRunner holds the subscribe method
22:17:04WatusimotoI could work around this, but would prefer to extend from two classes if it will work
22:17:09raptorjust do it!
22:17:18Watusimotoha
22:17:39Watusimotoif it doesn;t work, we'll get compiler specific errors that will be hard to fix
22:17:51raptorback to normal then
22:18:13Watusimotothink it won't work
22:18:40Watusimotoif it finds only one parent, it will think it is ready to be added
22:19:05raptorit will register twice
22:19:36raptorthere is no check to see if it is already there... that is why i used a map before - unique keys
22:19:45Watusimotoright
22:19:59sam686i think both child can have a same (maybe virtua) name, and a parent must have a same virtual name as well (to avoid unresolved 2 class with same name)
22:20:02WatusimotoI wonder if we could use a pair <class name, vector<parents> >
22:20:27raptorsure, then we'd need to add an extra check to make sure both parents are found
22:20:34Watusimotoyes
22:29:02raptori forgot how to query all objects of a specific type in the level...
22:29:34raptori.e.: query all teleports, find engineered ones, check if it needs an endpoint
22:30:24raptoror actually... we want to tie a teleport to the player somehow?
22:30:47Watusimotoalright I'm fried
22:30:52raptorbzzzzt
22:30:54Watusimotoknocking off for the moment
22:30:58raptorgood night
22:31:02Watusimotoyour question
22:31:25Watusimotoyou want to find all teleports?
22:31:34raptory
22:32:12Watusimotoyou could either cycle through all items in the database, or maintain a list of teleports like we do for spybugs
22:32:30raptoroooo spybugs
22:32:33raptorforgot about that
22:32:36raptori'll look at that
22:34:01Watusimotofindobjects_fast (or somesuch) returns a list of all obs in the database
22:34:05Watusimotonearly costless
22:34:16raptorok
22:34:29raptoryeah -it will only be called when deploying a new teleport
22:35:16Watusimoto mGame->getGameObjDatabase()->findObjects(SpyBugTypeNumber, spyBugs);
22:35:22Watusimotolooks like it might do the same for you
22:36:19Watusimotothat one is pretty efficient
22:36:30Watusimotojust loops through all objects looking for type match
22:36:35Watusimotono spatial queries
22:37:08WatusimotoI thin kwe want to tie teleport to player thoguh
22:37:18Watusimotobecause they can only finish the one they are making
22:37:53Watusimotoso if there is a teleport pointer on the ship, you'll always know which one thye are working on
22:38:20raptoryes
22:38:33Watusimotoand if that is not NULL, we could render the ship differently perhaps
22:38:48raptorso the other team can attack!
22:38:50Watusimotooh, one other detail on my thoguhts about how this would work
22:39:05WatusimotoI thought the deploying ship can't fire while going to place the outlet
22:39:14Watusimototo make it that much harder
22:39:28raptorhmmm
22:39:33Watusimotothink about it
22:39:34raptorsounds evil
22:39:43raptorbut it requires another resource item?
22:39:48WatusimotoI think this will be apowerful weapon
22:39:52raptoryes
22:39:56Watusimoto1 resource per teleport
22:40:03raptorso endpoint is free?
22:40:05Watusimotonot one for inlet and another for outlet
22:40:09raptorah ok
22:40:14Watusimotowell, it's part of the same thing
22:40:20Watusimotopick up resource
22:40:25Watusimotoplace intake
22:40:29Watusimotoresource disappears
22:40:33Watusimotoplace outlet
22:40:38raptorthen how to reactivate the engineer deployer?
22:40:52raptoror maybe it shouldn't go away until endpoint is placed
22:40:54Watusimotowith engineer again, I suppose
22:41:15Watusimotowell I think the resource should be tied to the entrance
22:41:33Watusimotothe ship will need to be in a special mode -- placing teleporter mode
22:41:41raptorhmmm
22:41:43Watusimotowith (possibly) special rendering
22:41:51Watusimotoand (possibly) limited firing
22:43:01Watusimotobut in this special mdoe they could use engineer again without a resource to place the ouput
22:43:06Watusimotothey they exit the special mode
22:44:31raptorhmmm
22:46:01raptorok, well, this will require thought... and probably several code iterations
22:46:48Watusimotoyes
22:47:01raptori release you to bed, then... thanks!
22:47:15WatusimotoI am open to othr ideas... tomorrow
23:14:45raptor Quit ()
23:14:55raptor has joined
23:14:55ChanServ sets mode +o raptor
23:26:01raptorok

Index Search ←Prev date Next date→

These logs were automatically created by BFLogBot on irc.freenode.net.