#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2013-11-28

Timestamps are in GMT/BST.

00:01:20kaendude
00:01:22kaenget this
00:01:35kaenI just logged into my google account on this thing
00:01:39kaenit read my emails apparently
00:01:40kaenand
00:01:42kaenno joke
00:01:56kaenjust reminded me that my favorite coffee shop closes in an hour
00:02:12raptorhahaha
00:02:27kaenI am stunned right now
00:03:28kaenor maybe it was just from my search history
00:03:44kaenbut this little panel came up that said "dream acres espresso closes in one hour"
00:05:16raptorphillreeder: new tasks up
00:07:42raptorWatusimoto: on another note
00:08:03raptormany people have been trying to compile bitfighter on cheap opengl hardware
00:08:37raptorwhether its an raspberry pi or some arm or x86 based tablet
00:09:02raptorand people are having performance problems because we chose to have the 'linesmooth' option permanently on
00:09:10raptorso... should we add back the option?
00:09:43raptorand i think these type of users will increase
00:10:02kaenI think so
00:11:09Watusimotosure -- it is permanently on becuase the game looks... (searching for a family friendly word here, only coming up with ones that a 12 yr old would appreciate)... not good without it
00:11:23Watusimotobut if the choice is that or nothing...
00:11:33Watusimotoare you talking about an INI option or a build option?
00:11:57raptorini or menu option
00:12:09sam686ini option for quick on/off without recompile
00:12:16raptorso these folks don't have to compile themselves with a patch
00:12:25raptoror special build flag..
00:13:02kaenini sounds ok
00:13:03sam686maybe even default line smooth to OFF when it detects vender string as one of software renderer
00:13:16sam686there is some way to get opengl vendor string
00:13:38kaenI like that idea
00:13:44kaenjust look for the word "software"
00:14:01kaenalthough, Debian Sid just says "Gallium LLVM Pipe" or something
00:14:15sam686or look for the word "microsoft" in case of windows crappy software opengl 1.1
00:14:49raptoryeah - searching for vendor string might be more than we want - is there some way to actually see if it's software through SDL?
00:15:10kaenI feel like there should be
00:16:14raptorheh: http://stackoverflow.com/questions/3235225/how-to-tell-whether-an-opengl-context-is-hardware-accelerated
00:16:24Watusimotodefinitley not a menu option
00:17:04raptorok, INI it is!
00:17:45kaenSDL_GetVideoInfo( )->hw_available
00:17:49kaenis all I'm finding
00:17:55kaenno word on how authoritative it is
00:18:26kaensdl docs say:
00:18:29kaen"Is it possible to create hardware surfaces ?"
00:18:39sam686it might just lie to you saying yes when it really not available, or maybe that isn't opengl but if you go with pixel surfaces instead of opengl.
00:19:06kaendocs specifically state hardware surfaces
00:19:11raptori wouldn't trust that in SDL...
00:19:13kaenbut this is unfamiliar territory for me
00:20:03raptoralso with Mesa now doing so much more in software... maybe the best bet is to just test for the 'mesa' string or other similar ones
00:20:08kaenyeah me either
00:20:08kaena much more robust system, I think
00:20:09kaenwould be a sort of video test mode that benchmarked your rendering performance, then selectively disabled costly features until you could consistently hit the framecap
00:20:13sam686I have written one SDL window without opengl (my fast intel SSE2 3d software renderer that is no opengl at all)
00:20:31sam686not as fast as hardware thats for sure..
00:20:52sam686And I only did software 3D polygons, didn't do dots or lines..
00:26:13Darrel Quit (Quit: IRC client killed.)
00:32:25sam686The problem with bitfighter -dedicated (levelgen: blizzard control) is in TextItem::recalcTextSize
00:32:56sam686if mSize is 0 on unpackUpdate, text size will be calculated client side
00:33:18raptorsam686: kaen already fixed it via another means
00:34:01Nothing_MuchHey guys, I'll be ready tonight this time for game night @ 10pm est
00:34:12sam686its like that on dedicated build, cause we not including font.cpp stuff in dedicated.
00:58:01Skybax has joined
00:59:20raptori still don't think I know exactly what pysoy is after reading the homepage...
01:02:09Kiryx Quit (Ping timeout: 272 seconds)
01:05:19Watusimotoit's a kind of edamame
01:06:19raptormy french boss says everything is edamame
01:09:31Nothing_Much Quit (Remote host closed the connection)
01:09:51Nothing_Much has joined
01:10:16WatusimotoBedtime... sigh... another evening with no fix for the bug I've been working on for weeks...
01:10:36Watusimotobut maybe did do a little groundwork?
01:10:41BFLogBot Commit: 64fb2150549a | Author: watusimoto | Message: Remove unneeded includes
01:10:42BFLogBot Commit: e1692497341a | Author: watusimoto | Message: Comment
01:10:44BFLogBot Commit: 390687fae1b0 | Author: watusimoto | Message: Use isCurrentUI<>
01:10:45BFLogBot Commit: 3198ba4d44c3 | Author: watusimoto | Message: Try to avoid instantiating UIs (especially UIGame) before they are actually needed
01:10:47BFLogBot Commit: 46dff91ca42a | Author: watusimoto | Message: Make local static
01:10:49BFLogBot Commit: 4d6bd7ed7956 | Author: watusimoto | Message: Do less during idle when we're not in a game
01:10:50BFLogBot Commit: bc7ce5072d31 | Author: watusimoto | Message: Merge
01:10:51raptorthat's Ok... I'm shooting for friday release and don't mind if it doesn't get in...
01:11:01raptor!! i thought you said no refactors!
01:11:14Watusimotowhat refactor?
01:11:32Watusimotothis is pretty minor stuff
01:11:38raptornothing.. nevermind... i saw the several commits and feared for the worst :)
01:11:42Watusimoto:-)
01:11:54sam686new problem to test, change level in a middle of engineering teleporter, I can't fire
01:12:01sam686I was on 018a..
01:12:58WatusimotoWe were instantiating gameUI all over the place, all the time, and I'm hoping that by avoiding that we can get a better handle on that bug
01:15:18Skybax Quit (Read error: Connection reset by peer)
01:15:28WatusimotoisCurrentUI<T>() no longer creates the UI of type T to find out if it is currently active... that's the most significant change above
01:16:27Skybax has joined
01:23:41sam686Someone forgot to put something in UIGame.cpp: #include <math.h>
01:24:37sam686and the problem still exists: pressing ESC while connecting to server and going to server list, gives me "Pushing duplicate UI into mPrevUIs"
01:27:10phillreeder Quit (Ping timeout: 246 seconds)
01:27:56WatusimotoI probably took the include out of uIGame just on my last commit -- I can build without it, and thought it was not needed. If you need it, please include a comment so I don't do it again.
01:28:06phillreeder has joined
01:31:18Nothing_Much1:30 left!
01:32:38Watusimoto Quit (Ping timeout: 264 seconds)
01:44:02phillreederhow can I update my clone on google code to use the latest version?
01:48:30amgine has joined
01:48:41amginesup
01:48:54amgine is now known as Guest29295
01:48:54Guest29295did you ever fix the nsap[ problem i found in the 19 beta
01:49:03Guest29295 is now known as amgine123
01:49:24amgine123where objects free moved snap to there oringal locations
01:54:22Nothing_Muchphillreeder: I think it's hg up
01:58:22Nothing_Much1 hour guys!
01:58:49raptorphillreeder: you can pull from the main clone like so: hg pull -u https://code.google.com/p/bitfighter/
01:59:09raptorbut you'll probably have multiple branches (which is OK)
01:59:39raptorjust work off of the new part and leave your old branch, without merging - it'll make it easier for us to pull the different changes
02:01:56amgine123ratpro was teh snap bug fixed
02:10:02raptorhi amgine123, which bug?
02:10:32raptor(explain it again please)
02:15:04BFLogBot Commit: 7496748db15c | Author: buckyballreaction | Message: Fix compiling
02:39:27amgine123if you make a X barrier or poly wall then place turrets and forcefeilds on it and try to free move it (shift + space) close to its orignal location the turrets and forcefeuilds will snap to the old spot
02:39:39amgine123intead of the new one
02:42:20raptorsam686: did you test that engineer problem in 019?
02:42:47sam686not yet..
02:45:50Skybax_ has joined
02:45:52Nothing_Much15 min!
02:46:14raptorit seems to me that Nothing_Much wants to play tonight...
02:46:24Skybax Quit (Ping timeout: 265 seconds)
02:46:35Nothing_MuchYou guys busy?
02:46:43raptorNothing_Much: you'd better join now anyways - ther's 5 people playing now
02:46:49Nothing_Muchoh cool!
02:46:54Nothing_Muchlemme just finish one thing
02:47:08phillreederraptor do you need me to keep my clone on google code?
02:47:33raptorlet me see if we still need it...
02:47:43phillreederweird stuff happened when I branched and I want to recreate it
02:48:01raptoryou can just creat another clone
02:48:32raptori think we want the old around to pull code later
02:48:55raptori have 2 or 3 clones myself :)
02:49:45phillreedermmkm I'll let it sit idle
03:05:58sam686I guess /lag 100 makes people think its running on vps, but my sam test is really not
03:06:09raptorhaha
03:06:56Skybax_ is now known as Skybax
03:11:44Nothing_Muchnicely done whoever was in the server!
03:11:55sam686I was in
03:12:20Nothing_Muchgood job sam686 :)
03:13:58sam686yes there is a bug, if you engineer teleporter entrance but not yet exit, then type /restart /next /prev (any one) you can't no longer fire phaser/bullets anymore
03:14:08sam686happens on 019 too
03:14:44sam686the strange part if energy being reduced for nothing trying to fire bouncer in a can't fire mode
03:15:25sam686and the shield constantly blinks too while out of energy
03:15:38sam686but only in can't fire mode
03:16:17Nothing_Muchshield blinked when I was using it for some reason sometimes
03:18:20sam686none of the energy problem syncing exists on 017, it started on 018/018a, perhaps because of Ship::writeControlState no longer writing energy level..
03:25:42phillreederwhat's the ai class
03:25:57raptorall ai is in the bot script itself
03:26:01Canseco has joined
03:26:06raptortake a look at resources/robots/s_bot.bot
03:26:19raptor*most* ai, i should say
03:26:35raptorpathfinding is taken care of in the c++
03:29:14raptorback later
03:29:22raptor Quit ()
03:30:25Platskies has joined
03:35:54BFLogBot Commit: 5745edbab20f | Author: buckyballreaction | Message: Remove dangling glPopMatrix
03:36:10Platskies Quit (Quit: Leaving)
03:39:15Canseco Quit (Remote host closed the connection)
04:05:56amgine123ratpro did you see my bug
04:09:32Little_Apple has joined
04:09:50phillreeder Quit (Ping timeout: 264 seconds)
04:14:55noneofmynickswor has joined
04:17:58kumool Quit (Ping timeout: 246 seconds)
04:22:27Flynnn has joined
04:24:58noneofmynickswor Quit (Ping timeout: 246 seconds)
04:25:16Flynnn has left #bitfighter
04:33:30Skybax_ has joined
04:34:53noneofmynickswor has joined
04:36:02kumool has joined
04:36:10Skybax Quit (Ping timeout: 246 seconds)
04:39:36noneofmynickswor Quit (Ping timeout: 260 seconds)
04:44:44Skybax has joined
04:46:35Little_Apple Quit (Ping timeout: 250 seconds)
04:47:02Skybax_ Quit (Ping timeout: 264 seconds)
05:44:05Skybax Quit (Read error: Connection reset by peer)
05:49:47Platskies has joined
05:55:15raptor has joined
05:55:15ChanServ sets mode +o
05:55:22raptorhello again
05:56:00raptoramgine123: with your bug, did you also move the turrets? or just the walls?
05:56:22amgine123sellected all
05:56:24amgine123and moved
05:56:28amgine123gtg now goodnight
05:57:42raptorgood night
05:57:44raptorand ha!
05:57:46raptorit is a bug
05:57:49raptorgood find
05:58:00raptorman... now i have to look through editor code
06:00:41amgine123 Quit (Ping timeout: 250 seconds)
06:00:55kaendon't look directly into its eyes!
06:01:00kaenit'll turn you to stone
06:01:36raptori think...
06:02:30raptori think my weird green block problem wiht oglconsole is because my computer hasn't been restarted in a while - the nvidia chip starts to go a little weird after being put into sleep mode a lot
06:02:35raptori'll be right back..
06:02:50kaenok
06:03:04sam686screenshot?
06:03:38raptorhttp://imagebin.org/279252
06:03:47raptor Quit ()
06:05:04kaenplease be a GPU bug ...
06:05:06kaenplease.
06:05:46kaensam686, did you ever see my dough.levelgen?
06:05:56kaenthe soft-body physics simulator?
06:06:29sam686I seen that green block before on ogl console, i think 017 or 018, and it wasn't a GPU bug, only happed switching to fullscreen and back to windowed. Uninitalized texture..
06:06:50sam686only happened on windows back then..
06:07:32sam686i don't think I haven't seen your levelgen
06:08:50raptor has joined
06:08:50ChanServ sets mode +o
06:09:39sam686I have seen that same green block problem back then on 017? only happen on windows switching to fullscreen, was fixed afterwords..
06:09:55raptordoes it work for you sam686?
06:10:00raptorbecause is till get them blocks
06:10:06raptor*i still
06:10:15sam686it works for me on 019 just fine, after switching to fullscreen and back, oglconsole works fine
06:10:41sam686try opengl software rendering?
06:10:53sam686and see if green block problem still there?
06:10:53raptorhow would I force that again?
06:11:09sam686on linux, don't know how..
06:11:13raptorI mean, short of uninstalling my drivers, which i don't want to do..
06:11:45sam686might be some startup variable like BLAHBLAH_DISABLE_HW=1 ./bitfighter
06:11:58raptorLIBGL_ALWAYS_SOFTWARE=1
06:12:02raptori'll try that
06:12:36raptordidn't work..
06:12:49sam686your fps should be slower or CPU heavy if it really doing software rendering..
06:13:05raptoryeah, cpu was same and fps was high
06:14:28raptoranyways, take a look at amgine's bug: draw a barrier, add a turret, then select all and move them - watch the turret slide on the old barrier location
06:16:28kaenI was able to mitigate that but not eliminate it
06:16:40raptoryou worked on that kaen?
06:16:43kaenI didn't commit, though I forget why
06:17:02raptorlooks like in 018a, the behavior is to just have the turret stay put..
06:17:19sam686One cheap way to prevent turret/fprcefield from going crazy is in EngineeredItem::mountToWall
06:17:26kaenUIEditor.cpp:3048
06:17:30sam686setPos(pos); instead of setPos(anchor);'
06:17:30kaenengrObj->mountToWall(snapPointToLevelGrid(mMoveOrigins[i] + cumulativeOffset), wallSegmentManager);
06:17:39kaenremove the call to snapPointToLevelGrid
06:17:54kaenoh, I remember now
06:18:11kaenI didn't figure out how to re-snap them when the dragging stopped instead
06:19:44kaenI've decided that I need to start taking notes ...
06:20:00raptori've dediced that I need to start not opening UIEditor.cpp
06:20:13kaenSee, you made eye contact didn't you.
06:20:25kaenAlways carry a mirror for the corners.
06:21:06kaenI'm serious about this GUI library thing.
06:21:25kaenUIEditor is conservatively 30% UI Code
06:22:14kaenand I'm sure we can split out the UI part from the Editor part at least
06:24:44kaenshifting gears
06:24:57kaenraptor, can you give me an overview of how to build the android project?
06:25:40kaenI ended up getting the NDK, eclipse-adt, and google's android-studio on this laptop ...
06:25:42raptorduuhhhmmmm
06:25:48raptoruhmmmm
06:25:48kaenand I also have an IDE on my tablet
06:25:53kaenah, I see
06:26:04kaenok, I'll just get reading :)
06:26:06raptorwait wait...
06:26:12raptorsomethings coming to me...
06:26:47raptor#1 you'll need SDL2
06:27:23raptorah, and the SDL file 'README-android.txt' is a good primer
06:27:39kaenah, beautiful
06:27:55raptorunder the section 'For more complex projects'
06:28:43raptorgo into build/android/SDL-android-project/jni
06:28:49raptorin our tree
06:28:54raptorand run the ndk-build
06:29:35raptorthen you'll probably have to update our Java main file to match the newer SDL2...
06:29:48raptorsooo.. good luck!
06:30:17kaen\o/
06:31:29raptori'm sure as you go through it you'll jog my memory
06:32:55kaenlast line of SDL-android-project/README_SETUP.txt: "Good luck!"
06:33:27kaenha! it's from you!
06:33:30kaenI knew it.
06:33:58raptorhaha
06:37:30raptorhmmm... glIsTexture is always detecting false for the texture handle..
06:38:38kaen/home/kaen/bin/android-ndk-r9b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found
06:38:43sam686did you make any uncommited changes?
06:38:55raptorsam686: nope
06:39:03kaenI have a folder like that, but it has linux-x86_64
06:39:13raptoroh kaen, i hit that before... let me see what i did
06:40:01raptori think you have to provide a full path to the ndk-build binary
06:40:08raptorif you didn't
06:41:12kaensame error with full absolute path
06:42:36raptoroh wait, maybe it was full path to the .mk file
06:43:00sam686green text looks fine on my linux.. no green blocky gl console
06:43:17raptoryeah - and it's fine on kaen's linux system, too...
06:43:21raptorlet me try osx
06:43:36sam686did you already tried full rebuild? (make -B)
06:43:50raptori'll do that
06:43:53kaenndk-build with debug output: http://ix.io/9br
06:44:56raptori don't understand any of that...
06:45:03raptordid it start to compile lua-vec?
06:45:42sam686it looks more like just cmake..
06:46:17raptorfull recompile and no change
06:46:38sam686when did the problem started? after an update?
06:46:50raptornoticed it 2 days ago
06:46:54raptori'll do a bisect...
06:47:19sam686try running all rhe way back on 018a
06:47:26sam686is the problem there on 018a?
06:47:57raptornope
06:48:44kaenI can't find any object files
06:48:50sam686weard, why only raptor get green blocks, but other people are fine?
06:48:56kaenhmm ok I'll google around a little bit
06:52:26raptorkaen: I went into build/android/SDL-android-project/jni directory and just ran ~/path/to/ndk-build
06:52:41raptorand it worked...
06:52:54raptorwell, started compiling anyways
06:58:17kumool Quit (Quit: Leaving)
07:03:46kaenif I were to venture a guess, I'd say there's no 32bit gcc for me to compile with in the NDK
07:03:59raptorthe ndk includes its own
07:04:10raptordo you have the sdk installed, too?
07:04:38kaenman I'm dumb
07:04:42kaenI'm on 32bit
07:04:50kaenI downloaded a 64 bit NDK
07:04:55raptorha!
07:04:59raptorwelcome to midnight!
07:05:04kaenhehe
07:05:31raptoraww man, my bisect is going back a ways...
07:06:01raptori'm at least 3/4 of the way to 018a...
07:21:40raptorsam686: this was the revision that introduced the bug, but I'm not sure why: https://code.google.com/p/bitfighter/source/detail?r=d7c1b8ef832b
07:23:07raptorI need to sleep now - good night!
07:23:19sam686ok
07:25:09raptorha
07:25:11raptorfound a fix
07:25:48sam686it would be hard for me to fix if I don't know if doing that will fix it..
07:29:03raptorkaen: parting thoughts for the night (sorry!) - your plugins aren't loading in the editor and give this error: http://pastie.org/pastes/8514010/text
07:29:29raptori have all the dependencies in both the 'scripts' and 'editor_plugins' folder
07:30:18raptorok sam686, fixed it
07:30:25BFLogBot Commit: f46639d44f45 | Author: buckyballreaction | Message: Fix texture loss with oglconsole
07:30:30kaenI updated them, just haven't pushed yet :x
07:30:36raptorah ok
07:30:59raptorgood night all! one bug on our polish list left...
07:31:07kaennight!
07:31:09raptor(minus the cant-duplicate ones)
07:31:13raptor Quit ()
07:38:05Skybax has joined
07:47:05Skybax_ has joined
07:47:37Invisible has joined
07:47:44Skybax_kaen! Levelgen Tutorial 03 is empyty!
07:47:58kaenI know, I'm sorry :<
07:48:13kaenI've been so busy with 019 I haven't been able to work on it
07:48:41Skybax_Learning how to add a textitem isn't really helpful cause I can already do that in the level editor >.> events are what I need to know about
07:49:05kaenthat was more just to let you get a feel for levelgens
07:49:13kaenit's supposed to be a really gentle introduction
07:49:20kaenhere's the crash course:
07:49:30kaensay you want to do something when a ship spawns
07:49:33Skybax_I've taken like 5 different coding introductions and they're all basically the same lol
07:49:42kaenfirst, you write a function
07:49:56kaenfunction onShipSpawned(ship) --[[ do something with the ship ]]-- end
07:50:00kaenthen in you main() you do
07:50:09kaenbf:subscribe(Event.ShipSpawned
07:50:10kaen)
07:50:14kaensimple as that
07:50:39Skybax Quit (Ping timeout: 272 seconds)
07:50:44Skybax_So that's how that one level is done where after the first death the ships spawn somewhere else?
07:50:45kaenhere's a list of all the events, Skybax_
07:50:46kaenhttp://bitfighter.org/luadocs019/group___event_enum.html
07:50:48Skybax_ is now known as Skybax
07:50:56kaenSkybax, probably
07:53:04SkybaxSo this is how you get the game to see what you're doing, but then how do you make it do stuff?
07:53:28SkybaxThe "do something with the ship" part
07:53:38kaenok, so you remember textItem:setText, right?
07:53:41kaenthat's a method call
07:53:45SkybaxOkay
07:53:52kaenyou can do all sorts of things like that to any object
07:54:15kaenhere's everything you can do to a ship: http://bitfighter.org/luadocs019/class_ship.html
07:54:41kaenship:setHealth(0) is always a fun exercise
07:55:12kaenso that page I linked you to is the API documentation, it has that information for every object type in the game.
07:55:13SkybaxDoes that make the ship go boom?
07:55:17kaenindeed.
07:56:06SkybaxThat is a lot of things
07:58:09kaenit is literally all the things
07:58:14kaen(in bitfighter)
07:58:30SkybaxYes
07:58:44SkybaxWhich is a lot when I look at it in a list like this lol
08:00:05SkybaxHappy Thursday
08:00:17SkybaxHurrrr I don't even know what to do with all of this
08:00:30kaenuse the search box :)
08:00:40kaenalso, enjoy the burden of choice
08:01:00kaenbut most importantly, ask me any specific questions you might have.
08:01:01SkybaxThe burden of choice is always what made all my highschool essays late
08:01:17kaenit's the number one obstacle in programming
08:01:22kaenand happy thursday to you, too
08:01:25SkybaxChoosing a topic was always the hardest part xD
08:03:32kaenI'm a little disappointed I only got through tutorial two ...
08:03:44kaenI remember I kept finding bugs while I was writing the tutorials xD
08:04:13SkybaxHahaha
08:04:43SkybaxHmmm... maybe I should have made a map riddled with teeny tiny killzones for Quartz' Stupid Contest
08:04:55SkybaxOh well
08:05:17SkybaxIt would have been a Rabbit gametype. Definitely
08:08:51SkybaxAnd as per usual with my maps, increasingly infuriating
08:09:24SkybaxSeems like that would be a dead giveaway with everything I make... if playing it makes you angry, Skybax made it
08:14:51SkybaxQuartz wanted me to name his BitTown team "Dean Winchester"... So I named it "Jimmy Dean's Winchesthair"
08:18:19kaenhehe
08:19:36SkybaxThis should be fun
08:28:27Kiryx has joined
08:34:18watusimoto has joined
08:34:18ChanServ sets mode +o
08:44:28Darrel has joined
09:39:39Invisible Quit (Ping timeout: 260 seconds)
10:13:11Platskies Quit (Read error: Connection reset by peer)
11:05:59Skybax Quit (Ping timeout: 272 seconds)
12:24:13Watusimoto_ has joined
12:24:33Invisible has joined
12:37:25YoshiSmb has joined
12:38:31YoshiSmbHi everybody.
13:14:45watusimotohi
13:14:56watusimotojust a logo idea I was toying with last night:
13:14:57watusimotohttp://imgur.com/cCQvMy8
13:18:06koda has joined
13:29:57phillreeder has joined
13:35:46YoshiSmbahh
13:40:01YoshiSmb Quit (Ping timeout: 250 seconds)
13:43:03phillreeder Quit (Ping timeout: 272 seconds)
13:54:10Invisible Quit (Ping timeout: 245 seconds)
14:01:27Darrel Quit (Read error: Operation timed out)
14:02:51Darriel has joined
14:12:56phillreeder has joined
14:20:45Darriel is now known as Darrel
14:29:10Watusimoto_ Quit (Ping timeout: 265 seconds)
14:49:41alex_velea has joined
14:50:51Invisible has joined
14:52:53kumul has joined
15:46:04alex_veleaHey @watusimoto .. you there?
15:46:15watusimotohi, sort of
15:46:19watusimotohow's it going?
15:48:36alex_veleaHmm
15:48:38alex_veleaNot too good
15:49:07alex_veleaI've been trying to get in touch with you in the last days but near missed every time :D
15:49:41alex_veleaAbout the gci - undo task | i have an idee about how to do it .. but i don't know what to do with the walls.
15:49:51alex_veleawalls are very messed up in the editor
15:49:57watusimotoI was away on a trip, and not on much
15:50:09watusimotoah, the walls
15:50:23watusimotothey are very complex, but at your level I don't think it matters much
15:50:37watusimotoI mean to say that I don;t think you need to get involved in the complexity
15:50:47alex_veleathe class WallSegmentManager contains a vector of GridDB as main think .. so that's sick
15:51:03alex_veleamy ideea was the following.
15:51:09alex_veleaTo create a undoAction Class
15:51:14watusimotoyes, but you shouldn't have to worry about that
15:51:19alex_veleawhick contains actions to do at the clas
15:51:29alex_velealike -> delete this item
15:51:31alex_veleaInsert that item
15:51:38alex_veleaSo in this way we can undo / redo things.
15:51:41watusimotoyes
15:51:47alex_veleaBut i don't know how to do that with walls
15:51:50watusimotowhat actions do you think you need?
15:52:04watusimotoinsert, delete, modify geometry, modify attributes
15:52:06alex_veleamodify = detele_old + insert noew
15:52:17watusimotoand each needs to be reversible (undo and redo)
15:52:29alex_veleawell ... redo = swap(insert, delete) :0
15:52:55alex_veleaThat's ok .. especially in the gridDB class.
15:52:56watusimotoand you need to have a grouping object that lets you do a similar operation to multiple items -- such as moving three objects
15:53:29alex_veleaIn my ideea ..
15:53:31watusimotoI think the walls can be treated just like any other object
15:53:38alex_veleaIn my undo class i will have multiple actions
15:53:46alex_veleaThat will cover multiple items actions
15:53:47watusimotoexcept you may need to trigger some rebuild action after the walls have been altered
15:53:57alex_veleai hope so.
15:54:06alex_veleaI saw that there is a wallsegment class.
15:54:11alex_veleai was looking for it now
15:54:17alex_veleaTo see what it's happening there
15:54:21watusimotoI think you will want to have one undo/redo object per step (and that object could have mulitple sub-objects)
15:54:36alex_veleayep
15:54:40alex_veleaThat was the main ideea
15:54:42watusimotogood
15:54:53watusimotook, so you are approaching it like I would. good
15:55:06alex_veleaand to know which actions to do
15:55:17alex_veleaI keep my last_gridDB
15:55:25alex_veleaJust the last one .. so i can know what changed
15:55:47alex_veleaand verify every element in the new db if it exists in the last one
15:56:36alex_veleaI will try to do it by tomorrow .. but can you add 24h, please, just to be sure?
15:56:49watusimotosure, no problem
15:56:54alex_veleaOhh ... and how can i test this?
15:57:06watusimotoI don't really understand your comment about keeping the last_gridDB
15:57:11alex_veleaCreate a new file with a main in it .. create an object and work with
15:57:19watusimotoyou can test in a couple of ways
15:57:48watusimotothe easiest (and least reliable) would be to simply... test it. Manipulate objects in the editor manually and undo/redo
15:58:05watusimotoor you could add some tests to verify that undo returns objects to their original state
15:58:19alex_veleaCan i write to some log files, somehow?
15:58:45watusimotowe have a whole testing framework set up, but I don't think we do much with the editor yet (though kaen may have added some editor related tasks)
15:59:04watusimotolog file, sure. To write to the log, use logprintf()
15:59:17watusimotobut you'll probably want to remove those statements when you are done
15:59:23alex_veleaOk :D
15:59:24alex_veleaGot it
15:59:41watusimotologprintf also shows up in the system console, and in the in-game console whic you can see with "/"
16:00:47watusimotoI think the idea of saving the previous grid database and comparing it with the current one to find out what changed is not the best way to do this
16:00:52alex_velealogprintf with printf sintax?
16:00:56watusimotoyes
16:01:00watusimotothere are tons of examples
16:01:10Canseco has joined
16:01:34watusimotowe have a saveUndoState command curerntly, that acts as a good marker of where undoable things happen
16:01:54alex_veleaYep.
16:01:58alex_veleaThat's true.
16:02:04alex_veleaAbout the lastGridDB thing ..
16:02:11watusimotoyou could alter that and pass it info to let it create an undo state for you
16:02:37alex_veleaI meant to say that if i want to get the actions that happened i need to know that changed
16:02:43watusimotolike, for example, saveUndoState(oldGeom, newGeom)
16:03:19watusimotoor saveUndoState(oldGeom, newGeom, "Move objects")
16:03:22watusimotosomething like that
16:05:20watusimotoUndoObject o(id, oldGeom, newGeom, "Move Object"); saveUndoState(o);
16:05:53watusimotoUndoObject(id, oldAttrs, newAtters, "Update attributes");
16:06:20watusimotoUNdoObject o(id, "Delete object");
16:06:41watusimotojust thinking out loud here
16:07:07watusimotoUndoObject o(id, geom, attrs, "Create object")
16:08:39watusimotoVector<UndoObject> objs; ... UndoObject o(objs, "Create several objects")
16:09:17alex_veleaanother q ...
16:09:20alex_veleaOn linux
16:09:35alex_veleaCan i build the entire project and run 'my version of it' ?
16:09:55alex_velea!gci
16:09:55BFLogBotGCI Students Welcome! Please see: http://bitfighter.org/wiki/index.php/GCI_Student_Bootstrap for getting started.
16:10:34watusimotoI gave you +24 hours
16:10:41watusimotoyes
16:10:43watusimotoyou can
16:10:47alex_veleacmake -DCMAKE_BUILD_TYPE=Debug .. ?
16:11:27watusimotoprobably -- I haven't ever tried it since we went to cmake, so I'm not sure. kaen or raptor would know for sure
16:11:42watusimotoI do beleive that the instructions should work
16:13:24watusimotoyou should probably create your own clone of the repo and you can do whatever you want with it
16:16:46alex_veleai created my own clone .. but if i run bitfighter it just closes :(
16:17:08alex_velea=====FATAL LUA ERROR===== Error compiling script scripts/lua_helper_functions.lua cannot open scripts/lua_helper_functions.lua: No such file or directory
16:17:38kumulwell this sucks http://google-opensource.blogspot.com/2013/05/a-change-to-google-code-download-service.html
16:19:55Invisible1 has joined
16:20:07Invisible Quit (Ping timeout: 272 seconds)
16:22:46kumulbut sourceforge has a import functionality for this
16:22:54kumulwho knew it was still alive
16:29:18Nothing_Muchkumul: what does that mean?
16:29:42kumulNothing_Much, what? about source forge? i just hate it and find it ugly as sin
16:30:08Nothing_Muchn ono
16:30:13Nothing_Muchthe google thing
16:30:43kumulNothing_Much, oh, it means they dont want anybody uploading into gcode projects?
16:31:08kumulinstead they want people to use gdrive
16:32:31Nothing_Muchah
16:34:57kumulbitfighter depends on the download section. so i thought i'd let you guys know.
16:36:32watusimotoalex_velea: you need to copy over the various resource folders into wherever you are running the execuatble
16:37:23watusimotoso, for example, under resources, there should be a scrips folder. That is what it cannot find. You can either copy the files, or modify your INI (or use cmdline params) to indicate where the folders are
16:38:14watusimoto(though copying is probably better so you don't accidentally checkin a modified resource)
16:38:44watusimotoby default the execuatble looks for levels in a subdir called levels, under the exe folder
16:38:50watusimotosame for the other resources
16:38:59watusimotohi kumul
16:40:04watusimotowe'll probably revert to hosing the files on bitfighter.org as we did long ago
16:40:22kumulhello watusimoto
16:40:47kumulthat wont go offline right?
16:40:54watusimotobitfighter.org?
16:41:04watusimotoI hope not!
16:44:30kumuloh dear...
16:46:23kumulThis might be easier http://sourceforge.net/p/forge/documentation/Google%20Code%20Importer/
16:48:13thread_ has joined
16:48:55thread_Happy Thanksgiving!
16:54:41watusimotokamul: what are you trying to do?
17:08:26kumulnothing. I dont have any projects on gcode. just letting you guys know
17:12:01kaenhappy thanksgiving, all
17:12:47thread_ Quit (Ping timeout: 250 seconds)
17:17:36Invisible1 Quit (Ping timeout: 246 seconds)
17:27:14watusimoto Quit (Ping timeout: 264 seconds)
17:40:31Flynnn has joined
17:40:36raptor has joined
17:40:37ChanServ sets mode +o
17:40:41raptorgood day!
17:41:09koda Quit (Ping timeout: 252 seconds)
17:41:41raptoralex_velea: after compiling on linux, in the 'exe' folder you have to copy over or link the resources
17:41:56raptorhere is a oneliner (when in the 'exe' folder) to do it: for file in `ls -1 ../resource` ; do ln -s ../resource/$file ; done
17:49:41raptorsooo.... release tomorrow? yes? RIGHT?
17:51:55kaenYES!
17:53:40Nothing_MuchHappy Thanksgiving
17:53:46Nothing_MuchOh release tomorrow? :D
17:54:08raptorpart of me like the idea of releasing tomorrow just to spite quartz
17:54:25Nothing_Muchhow and why's that?
17:54:54raptorjust in jest - he's been making fun of us for always saying we'll release 'soon'
17:55:00raptor>)
17:55:11Nothing_Muchhaha
18:01:03kaenhahaha
18:01:06kaenme too :)
18:02:19raptorok, what's left? do we really care about that one Lua memory leak too much?
18:02:30raptorI mean 018a had worse leaks in it
18:02:37raptorbut it has the potential to eat up lots of RAM...
18:02:45kaenI really don't
18:03:12kaenthe only way it leaks is if you do something we explicitly warn against.
18:03:32raptoryes, not an accidental thing like with the ones in 018a
18:06:25raptorand that editor bug with the turrets - did that get introduced with some other fix or addition?
18:09:24raptorkaen: is there a way to just pull a commit as a diff file from github?
18:16:19Kiryx Quit (Ping timeout: 265 seconds)
18:17:24BFLogBot Commit: 72391ee78d57 | Author: buckyballreaction | Message: Pull in fonstash fixes from upstream
18:23:35LordDVG has joined
18:30:17kaenhmm no idea
18:30:31kaenregarding either
18:31:02kaendon't be mad, raptor ...
18:31:08BFLogBot Commit: 0ff944ec70ab | Author: kaen | Message: reimplement findAllObjects() to accept zero ObjTypes
18:33:33raptorsay what
18:34:08raptortell me about your last commit...
18:34:19raptordid we purposefully remove that before?
18:34:30Little_Apple has joined
18:35:04raptoroh man, does zero return the entire database??
18:35:22kaenI thought you removed it on purpose
18:35:40kaenit returns the DB, but it doesn't do a query for zero
18:36:04kaenbut I needed it for some plugins :/
18:36:12raptorhmm
18:36:20raptori don't remember if i did
18:36:25raptorso, i'm not mad
18:36:40kaenI remember we discussed it and both concluded there was no good reason to query for all objects
18:36:55kaenbut then I wrote some plugins and discovered that I needed to query for all objects.
18:37:36raptorhah
18:37:59Little_Appleim off
18:38:02Little_Applehappy thanksgiving!
18:39:10BFLogBot Commit: f7cc0a871ba3 | Author: buckyballreaction | Message: Update controller profile (from Little_Apple)
18:42:29Little_Apple Quit (Ping timeout: 250 seconds)
18:42:34Canseco Quit (Remote host closed the connection)
18:48:44Kiryx has joined
18:54:32kaenwow Ship::idle is a nightmare.
18:54:43raptordon't remind me...
18:54:54kaenI'm looking at that boost CSP bug :/
18:55:36raptorit was that specific method that prompted me to ask this: http://stackoverflow.com/questions/11821723/keeping-code-in-a-client-server-game-organized
18:58:35BFLogBot Commit: e967ad383f34 | Author: buckyballreaction | Message: Fix compiler warning
18:58:44kaenone thing that sticks out is processMove(ActualState) versus processMove(RenderState) in the client/server paths
18:59:04raptorsam686 might have been working on this... were you sam686?
18:59:15kaenI'm really hoping he was ...
18:59:20kaenthis seems out of my grasp.
18:59:26raptorhonestly, i'm not convinced something can be done
18:59:37raptorbecause i bet it is being client-side predicted
18:59:47raptorit's just the lag from the server that makes it go a little further
19:00:05raptorthat's my guess... and with problems like this, I'm not sure what to do about it..
19:00:55kaenmaybe there's a difference in real lag versus -lag, but what I was observing was actually the other ship would move too *slowly* then get interpolated back to its proper position
19:01:02kaenwhen I tested via -lag
19:01:33Quartzy has joined
19:01:49kaenbut, this is the third time I've muddled through ship::idle and I still don't have a sure-fire fix.
19:01:58kaenso I'm not deeply concerned about it.
19:01:59alex_velea Quit (Ping timeout: 250 seconds)
19:02:05kaenhappy turkey day, Quartzy :)
19:02:15QuartzyYou too!
19:02:19QuartzyLol oh now I feel bad
19:02:27raptorhi Quartzy
19:02:27QuartzySkybax "I stayed up really late just so I could be here when the server opens."
19:02:31raptorheh
19:02:34QuartzyHey so I've come to beg.
19:02:37QuartzySomebody want to host the server?
19:02:37raptorneed me to set one up?
19:02:40Quartzy>_>
19:02:43raptori'll do it on the master
19:02:45Quartzythat would be excellent sir
19:03:03raptori'll PM you..
19:03:27QuartzyAnd I shall PM you back then!
19:03:53raptorerr... PM in IRC, I mean (I'm never sure if people mean forums or not with 'PM)
19:04:00Quartzyahaha OK
19:07:35sam686interesting, just when I mention IRC on my PM to quartz, he joins here..
19:07:50sam686hi
19:08:05raptorhi sam686
19:08:10raptori'm getting Quartzy set up
19:08:14sam686ok
19:13:28Nothing_Muchis this for 019 018a?
19:14:43QuartzyInteresting, you have much untapped power...
19:14:57QuartzyDo you even realize your potential?
19:16:23Nothing_MuchQuick question: What's GL_NICEST?
19:17:29sam686GL_NICEST makes them look better, at farther cost of speed, however tends to have no effect on all my Opengl Hardware (Radeon and intel 945)
19:17:50Nothing_MuchWhat about software rendering?
19:18:27sam686not sure, haven't tried it
19:18:36sam686Theres also GL_FASTEST
19:19:02sam686but still no line smoothing is probably faster then fastest line smoothing
19:19:11Nothing_MuchAh okay
19:19:35Nothing_Muchso is there a server on 019 or 018a?
19:20:06sam686the level contest levels probably be on 018a, i think
19:20:20sam686but may move to 019 once it is release
19:21:54Nothing_Muchalright
19:25:15sam686already thers 4 players online... make that 5 if you count me, on 018a
19:27:21raptorcontest server up in 30
19:27:34Nothing_Muchminutes or seconds?
19:27:37raptorseconds
19:27:43Nothing_Muchnice
19:35:47QuartzyTrying to put up the contest discussion now
19:36:09QuartzyUnfortunately there seems to be no way to get people to copy+paste bold font since every type of "code" box still makes it active instead of the code itself
19:36:10Quartzyfml
19:36:17Nothing_Muchthese maps are crazy
19:36:26Quartzyyes
19:41:32phillreederraptor: how exactly will this seeker thing work
19:41:57Quartzy Quit (Quit: Page closed)
19:53:45LordDVG Quit (Remote host closed the connection)
20:11:31alex_velea has joined
20:13:45Watusimoto has joined
20:17:22raptorphillreeder: I think Watusimoto has a specific idea on the task
20:18:02Watusimotoraptor: you did a "fix compiling" checkin yesterday where you restored the #include <math> that I had deleted
20:18:07Watusimotowhy is that needed?
20:18:24Watusimoto(I want to add an apporpriate comment so I don't delete it again)
20:18:26raptorthere were atan2 calls laying about
20:18:33raptorand other math calls, i think
20:18:38Watusimotoodd that it isn't needed on windows
20:18:48Watusimotoso "needed for linux" is about right?
20:18:54raptorodd and windows coexist in many sentences
20:18:58raptorno
20:19:07raptorit would be needed in osx, too
20:19:13Watusimotook
20:19:26raptori think that 'windows.h' file for windows builds adds stuff it shouldn't...
20:19:32sam686I once had a missing include <math.h> on UIGame.cpp that I had to add to compile in windows, forgot when though
20:20:24Watusimotook, commented
20:20:32sam686I guess cmath works too
20:21:03phillreederhey watusimoto what did you have in mind for the seeker bot task?
20:21:13Watusimotooh yes, that task
20:21:54WatusimotoI don't have a specific solution in mind (no idea how to do it, really), but I was thinking it might make sense to put some of the tageting logic in C++ and expose that to lua via the api
20:22:08sam686one problem, how to change level (no level changers in contest server)
20:22:49Watusimotomy hope was that by doing that you would 1) have more access to values that are not available in lua 2) more computational horsepower and 3) we could reuse the targeting algorithm for an advanced turret that might shoot seekers
20:23:16Watusimotosam686: what makes a server a contest server?
20:23:24sam686the map contest i mean
20:23:26sam686on 018a
20:23:48sam686its raptor/quartz set it up
20:24:11Watusimotophillreeder: do you haev any thoughts on how to do the targeting?
20:27:30WatusimotoI have some rough thoughts about how to get started if you're not sure
20:27:45raptorman - some of those were genuinely great levels
20:28:01raptorsome fit the theme quite well
20:28:52koda has joined
20:28:59Flynnn Quit (Quit: Leaving)
20:29:17raptorWatusimoto: I'm planning on releasing tomorrow.. what do you thinK?
20:29:42WatusimotoI'm thinking I;d better get fixing my bug!
20:29:51kaenwhich?
20:29:55raptori'm going to start going through revisions...
20:29:56kaenthe lingering frame?
20:29:58raptor!release
20:29:58BFLogBotTo release, follow the checklist: http://bitfighter.org/wiki/index.php?title=Release_checklist
20:30:02Watusimotothe lingering frame
20:30:14Watusimotosounds like an edward gorey book
20:30:21raptorthere are some other minor bugs found...
20:30:26raptorbut I think it's time
20:30:36phillreederWastusimoto: first of all I need a overview of what this task really is. From what I see it'll be adding to the lower level bot logic and then getting it to use that in a smart way.
20:30:40raptori'm working on an editor one... sigh...
20:30:42raptor becomes stone
20:31:10phillreederso, the first thing to do would be create that targeting algorithm for the seeker that the s_bot can use when it wants to fire seekers
20:31:11kaenhehe
20:31:28Watusimotoyes
20:32:01phillreederis this a more generalized targeting, or specifically for seekers?
20:32:03Watusimotoif you have a bot in a certain location, how can it find a target that a seeker would hit
20:32:12Watusimotothe task is just for seekers
20:32:21Watusimotothe logic is completely different for different types of weapons
20:32:27phillreederalright
20:32:28Watusimotowe have an ok algo for phasers
20:32:37raptori recommend starting with projectileshooter.bot, it doesn't move and has a much smaller codebase to alter
20:32:38Watusimotowe have a different task for bouncers
20:33:02raptorthen you can tack on the algo to s_bot
20:33:34phillreederso in the .bot we would have to change the targeting stuff to use different ones,
20:33:58Watusimotoso I think you'd want to identify a small number of potential targets (probably eliminating some by rectangular distance, then doing some path finding to the others to see if they are within a reasonable range)
20:34:38Watusimotoso the level is divided into nav zones, which are concave polygons with info about which polygon is connected to which other polygons
20:34:50Watusimotoso the bot will be in one zone
20:35:05Watusimotoit can see everything within that zone via a straight line
20:35:28Watusimotoeach zone has a list of all the neighboring zones
20:35:29phillreederthat's convenient
20:36:08Watusimotoit was a huge joint effort between sam686, raptor, and myself, over about a week, to find a good way to do that
20:36:28Watusimotowe started with a script that sam686 wrote in lua, then found a way to do it in c++ about 200x as fast
20:36:48Watusimotonow we can generate these zones for large levels in under half a second
20:36:55raptornow that is one of my favorite collaborative memories...
20:36:59Watusimotoindeed
20:37:04phillreederdoes each bot generate its zones every tick?
20:37:09Watusimotono
20:37:12phillreederor is it map based
20:37:15Watusimotothe zones aer static
20:37:18phillreedermmk
20:37:24Watusimotomap based
20:37:25Watusimotothe bot always knows which zone it is in
20:37:47sam686back then we also once have the game cache the level.. except very slow string vs very fast binary writing/reading file cache..
20:37:52Watusimotoso perahsp you could start looking for targets in your current zone, then the neighboring zones, then...
20:38:03phillreederand if a bot is in one zone, everything in that zone is directly visisble
20:38:11phillreederalright this is making sense
20:38:13Watusimotoat some point potential targes will be so far away they will be out of range
20:38:24Watusimotothe trick with seekers is that they go around corners
20:38:33Watusimotoso you don't need line of sight
20:38:49Watusimotoyou kind of need line of sight to line of sight
20:38:51phillreederfirst off, I tried forcing the bots to use seekers but found that they don't have them, how can I give them the seeker weapon
20:38:52Watusimotoor something like that
20:39:02phillreederthis'll be fun
20:39:09Watusimotooh yes, I imagine it will!
20:39:15raptorah... there's a setLoadout option you can use
20:39:32Watusimotothis will help
20:39:32Watusimotohttp://bitfighter.org/luadocs/
20:39:42raptor^^ that
20:39:43raptorthanks
20:39:51phillreedergratze
20:40:14Watusimotohttp://bitfighter.org/luadocs/class_robot.html
20:40:18phillreedercoulda used this a while ago
20:40:56Watusimotonum Robot::getFiringSolution is the method for targeting phasers
20:41:12sam686stupid engineer teleporter to teleport out of bounce
20:41:23raptorWatusimoto: in the editor, when you move a wall, a shadow is left behind - is there a way to distinguished shadowed segments from real ones?
20:41:30WatusimotosetLoadout() is one way to do it
20:41:44Watusimotowhat do you mean by "distinguish"?
20:42:12raptorin the editor
20:42:17raptordraw a barrier
20:42:19raptoradd a turret
20:42:34raptordrage the barrier - and watch the turret slide on the shadow
20:42:39raptor*drag
20:42:56Watusimotocompiling...
20:46:23Watusimotomy turrets do not slid
20:46:24Watusimotoe
20:46:27phillreedershould I use setLoadoutNow() instead of setLoadout() on the main() of the .bot
20:46:36Watusimotoprobably
20:46:41phillreederI'm reading that setLoadout() requires it to be on a loadout zone
20:46:43raptorphillreeder: yes
20:46:51Watusimotoprobably yes
20:47:01raptorthanks to kaen, our docs actually mean what the say!
20:47:09Watusimotoand say what they mean!
20:47:16Watusimotoraptor: not seeing what you are describing
20:48:35raptoroh
20:48:37raptorsorry
20:48:39raptoradd wall
20:48:43raptoradd turret to wall
20:48:45raptorselect all
20:48:47raptordrag
20:48:52Watusimotoah, select all
20:50:13Watusimotook
20:50:24raptorsee it now?
20:50:33Watusimotoyes
20:50:38phillreederis there any way to pass it no module. setLoadoutNow() requires 3 modules and it won't take nil or 0 for an answer
20:50:50raptorphillreeder: just give it any 3
20:50:56phillreedermmk :(
20:51:09sam686you could try making all modules the same?
20:51:17raptori can't remember if i prevented that...
20:51:24raptoroh! we need to add linesmooth
20:51:58raptorsam686: did you do any work towards linesmooth?
20:52:03raptorif not, i'll do it..
20:52:10sam686not yet..
20:52:19sam686i guess i haven't started on it
20:53:03Watusimotoso raptor what is your question?
20:53:14Watusimotowhat is going on with the turret?
20:53:34raptoryeah, is that a bug?
20:53:46Watusimotoyes
20:53:47raptori want it to ignore the shadows
20:53:56Watusimotoit won't/can't
20:54:00raptorso i need to differentiate it
20:54:06raptorhmm...
20:54:27Watusimotothe correct way to handle this, I think, is to disable turret snapping while moving, and have the turret snap when move is finished
20:54:47raptorthat's what 019a behavior is, i think
20:54:50raptor018a
20:54:58raptorsomehow that changed...
20:55:09Watusimotothe turret will snap to wall edges, and the old wall edges remain in place until the wall is dropped and the new wall edges get built
20:55:12Watusimotohowever
20:55:20phillreederok, I just tried to get them to shoot seekers instead of phasers but they're not shooting anything
20:55:26Watusimotothe wall your dragging also has edges (drawin in blue)
20:55:37phillreederconfirmed that the loadout is correct
20:56:03Watusimotoso maybe we could pass the dragged wall edges to the turret snap function instead of the "all wall edges"
20:56:48Watusimotoexcept that would cause misbehavior if the turret were dragged to an invalid location or similar where it needed to have access to other wall edges for snapping
20:57:14Watusimotophillreeder: the bot had enough energy?
20:57:20Watusimoto(it probably did)
20:57:22Skybax has joined
20:57:44phillreederyea the weren't firing despite only moving (without shielding)
20:57:53Watusimototry the same thing with phasers instead of seekers
20:57:59phillreederthey must've had full energy
20:58:19phillreederstill works
20:58:29Watusimotothe phasers work, but seekers don't?
20:58:32phillreederyep
20:58:41Watusimotohow about triples or bouncers or...
20:59:22phillreederbouncers are a nope
20:59:26phillreederkeep in mind
20:59:48phillreederall I'm doing is changing the fireAtObject(enemy, Weapon.Phaser) to Weapon.Seeker
20:59:59Watusimotoand seeker is in your loadout?
21:00:03phillreederwith the correct loadout at the beginning
21:00:04Watusimotoyou're sure?
21:00:35phillreederlogprint(bot:getLoadout()[2]) --> 2
21:00:41phillreederWeapon.Seeker = 2
21:00:55Watusimotocan you show us the line where you set the loadout?
21:01:05raptorpastie your code?: http://pastie.org
21:01:25phillreederbot:setLoadoutNow(Weapon.Phaser,Weapon.Seeker,Module.Shield,Module.Sensor,Module.Turbo)
21:01:29phillreederone line
21:02:21phillreederyou want the whole thing? I've literally changed two lines
21:02:48Watusimotoyou can put a breakpoint inside fireAtObject and trace thorugh and see why it won't fire
21:03:11phillreederin the .cpp or the bot?
21:03:15Watusimotothe .cpp
21:03:56raptorit could be that he is conflicting with some other s_bot code
21:04:41phillreederwhat the hell...what happened to my source
21:04:42sam686how about, making first weapon as Seeker?
21:04:55phillreederI'll try that
21:04:58sam686not sure if bot have a setActiveWeapon function..
21:04:58phillreederin one sec
21:05:01Watusimototry fireWeapon?
21:05:10sam686theres getActiveWeapon
21:06:20sam686theres fireWeapon(Weapon.Seeker)
21:06:42Watusimotoin terms of implementing the firing target detection, you'll probably want to expand Robot::getFiringSolution() to work with seekers
21:06:43phillreederhold up, you want the break point in fireAtObject or fireWeapon?
21:06:58Watusimotobefore breakpoint, just try fireweapon
21:06:59phillreederfireAtObject is in the .bot, bot:fireWeapon() is the .cpp
21:07:18Watusimotoah, fireAtObject is a bot method
21:07:28WatusimotoI was wondering why I didn;t see it in the lua api
21:08:23phillreedersetting the seeker to the first weapon doesn't help
21:09:43Watusimototry fireWeapon instead of fireAtObject
21:10:59sam686I guess fireAtObject have a problem, it only fires phaser, or doesn't fire at all if no phaser in loadout..
21:11:35phillreederhold on
21:11:53phillreederbot:hasWeapon(weapon) is failing
21:12:46phillreederok, the setLoadout is failing
21:12:52phillreederWatusimoto was right
21:13:27raptorsetLoadoutNow is failing?
21:13:40phillreederyes, setLoadoutNow is the problem
21:13:58raptorsam686: is it just one line that is needed for linesmooth?
21:14:10sam686tes, for the most part
21:14:13sam686yes
21:14:50Watusimotokaen: how hard would it be to write a test that sets the bot's loadout then checks if that loadout has been set
21:15:26WatusimotoI don't know how far you advanced into the lua testing stuff
21:15:26phillreederrobot.cpp doesn't have a setLoadoutNow()...
21:15:28raptorsam686: is it the linesmooth or the blend one?
21:15:52phillreederI believe that might be the problemo
21:15:59WatusimotoShip::lua_setLoadoutNow
21:16:01sam686the blend enabling one is only for making line smooth work, it works fine without line smoothing..
21:16:14sam686line smooth requires transparency blending
21:16:15raptor Quit (Read error: Connection reset by peer)
21:16:26Watusimotoour new way of naming the methods is to prefix the lua methods with lua_ to avoid naming conflicts
21:16:29raptor has joined
21:16:29ChanServ sets mode +o
21:17:04phillreederoh yea I got that
21:17:23phillreederbut, does the .bot have the ability to call Ship::lua_setLoadoutNow()
21:17:25raptorRObot is a child of Ship, so it inherits setLoadoutNow
21:17:30phillreederoh
21:17:32phillreederright
21:17:36phillreederI should've seen that
21:17:45sam686you may need to find fireAtObject at s_bot, you can put in a different weapon to fire
21:17:52Watusimotolook at the picture at the top of http://bitfighter.org/luadocs/class_robot.html#ac6ccc1e71ef03e12eaa151cccbca6f28
21:18:42Watusimotoalso, if you look in the lua docs, it will tell you which class hs the functino
21:18:54sam686I have problem opening s_bot into windows notepad now.. everything is on one line.
21:19:01Watusimotoe.g. int Ship::getFlagCount ( )
21:19:25sam686can be a problem when someone without visual studio C++ wants to edit s_bot
21:20:06Watusimotothough the counterpoint is when someone edits s_bot on linux with vi, they would hae weird ^Ms at the end of every line if we used crlf
21:20:21Watusimotoso there's no perfect answer
21:20:52Watusimotothat said, stripping crlf from s_bot was unintentional
21:21:15sam686doesn't happen on linux "nano" instead of "vi"
21:21:31Watusimotonano... pshaw
21:21:44phillreederafter calling bot:setLoadoutNot(Weapon.___,...), logprint(bot:getLoadout()[1]) always prints '1'
21:22:02Watusimotothat doesn't seem right...
21:22:46Watusimotook, who last edited checkForSpeedzones()?
21:22:47phillreederI mean '0' not 1
21:23:03Watusimotothat had crlfs onit
21:23:09WatusimotoI feel VINDICATED!
21:24:26phillreederhere's some fun info:
21:25:00phillreederif I neglect to call bot:setLoadoutNow(...) then bot:getLoadout()[1] is '8' which is the phaser
21:25:17Watusimotothat's what you would expect
21:25:28phillreederbut when I do call setLoadoutNow(), then getLoadout()[1] is always '0'
21:25:39Watusimotothat's what you would expect also
21:25:46Watusimotoif setLoadoutNow() had a bug
21:26:19phillreederwhat? why would setLoadoutNow(...) put 0 for the loadout
21:26:35Watusimotodid you read the 2nd line of my post ? :-)
21:26:52phillreederoh
21:27:15phillreederI read it so that it sounded like that's what it was supposed to do and you were going to tell me why
21:28:14WatusimotoI think you should not see what you are seeing
21:28:31phillreeder...uh...
21:29:17phillreederoh well, I gotta go do some stuff for tonight, cya guys later
21:29:46Watusimotolater!
21:30:21Watusimotowe can try to create a test for that bot situation
21:30:46raptori was sure i tested setLoadoutNow with bots...
21:30:55raptorbecasue I made it specifically for bots
21:34:12sam686For better testing, try setLoadoutNow on levelgen, it appears it should be able to work if there nothing wrong
21:34:41sam686works for any ship, that if there isn't a problem
21:35:03raptoroh
21:35:25raptormaybe you need the 'ship' object to use it in a bot file
21:35:32raptoror 'robot'
21:35:37raptori.e. 'this'
21:35:44sam686robot have all ship command, it should still work
21:36:07sam686that is... if there isn't any bugs in that function..
21:37:46sam686yes you need something like bot:setLoadoutNow(... in a bot file
21:40:08BFLogBot Commit: 3863d3b9bc21 | Author: buckyballreaction | Message: Return of the linesmooth. Now just an INI option. We're bringing this back because of the advent of ubiquitous cheap opengl linux-based hardware for laptops/mini computers
21:47:45raptoractually, can a bot use any of the 'ship' methods?
21:47:51raptoron itself?
21:48:11sam686yes, I believe you can..
21:49:27sam686its like how you can do bot:getLoc() even though there is no getLoc on robot.cpp... because its on somewhere in base class
21:51:13Kiryx Quit (Ping timeout: 240 seconds)
21:54:59BFLogBot Commit: 61618d84c0b8 | Author: watusimoto | Message: Comment
21:55:01BFLogBot Commit: 4fa8f7d63e01 | Author: watusimoto | Message: Fix line endings
21:55:02BFLogBot Commit: 079e49454b45 | Author: watusimoto | Message: Prevent old loadout from popping up on screen when starting hosting
21:55:04BFLogBot Commit: c028bd084a7a | Author: watusimoto | Message: Force screen to be blank during pre-game timeless period
21:55:05BFLogBot Commit: 5f5469e3afe1 | Author: watusimoto | Message: Merge
21:55:26raptorWatusimoto: did you do it? you solved the bug?
21:55:33Watusimotopartially
21:55:37Watusimotomostly
21:55:44Watusimotoat least as it manifests itself to me
21:56:04Watusimotonot sure if this will help the way you see it (which I cannot reliably reproduce)
21:57:29YoshiSmb has joined
22:03:46phillreederback for a second. I played with it for a little and found that logprint(bot:getLoadout()[1]) will print '0' if directly after the setLoadoutNow, but when called from onTick() it will print '1'. Both outputs are constant no matter what you put in setLoadoutNow. If setLoadoutNow() is not called, the getLoadout() prints '8' at first, then '1' after in onTick(). Furthermore, logprint(Weapon.Phaser)
22:03:46phillreederprints '7'. My conclusion: what the hell?
22:05:13sam686its like if you do logprint(Weapon.Seeker), it doesn't print "Seeker", it instead prints a number.
22:05:33Watusimotophillreeder: something is definitely wrong
22:05:45Watusimotocan you write a very simple bot that just reproduces the weird behavior?
22:06:04Watusimotomaybe just one that has a single fn, main() that sets loadout and prints it
22:06:35YoshiSmb Quit (Ping timeout: 250 seconds)
22:07:30raptori'm testing junk
22:07:37raptorbut have to go to dinner soon...
22:08:05sam686or maybe you had multiple logprint at the same time, as a result you get confused into which logprint was printing that number..
22:08:39phillreedersam686: if you're referring to me, I'm pretty sure
22:08:44phillreederas in very
22:09:25sam686getLoadout() might return 8, maybe cause the bot have not spawned in yet..
22:09:51BFLogBot Commit: 4fca7c74cd3f | Author: watusimoto | Message: Fix weird shift in position after first frame of level
22:10:09raptorfpr tje recprd
22:10:09phillreederwould make sense except for that if you call setLoadoutNow() it changes that
22:10:18raptorfor the record, this prints correct values: http://pastie.org/pastes/8515587/text
22:10:26raptorthat is a simple loadout changing bot i just made
22:10:42Watusimotoyou used timer!!!
22:10:51raptoris that bad?
22:10:57Watusimotoit's great!
22:11:01raptorI love timer
22:11:05WatusimotoI absolutely love that class
22:11:10Watusimotoand it seems rather neglected
22:11:26raptori think bobdaduck has made good use of it...
22:11:53Watusimotohow could he not?
22:11:58raptorkaen: /clearcache doesn't work on bots for some reason...
22:13:10phillreederso is it that you can't call setLoudoutNow() until after a delay?
22:14:09raptoroh oops, nevermind kaen, i had to restart the level
22:15:19Watusimotoman, I am falling alseep
22:15:29WatusimotoI am going to bed soon
22:15:45Watusimotoor at least falling alseep if I don't make it
22:16:02Watusimotoraptor: I fixed all symptoms that I see of the lingering frame issue
22:16:17Watusimotobut I could never reproduce the case in the way you did
22:16:26Watusimotoso I don;t know if your bug is fixed.
22:16:31Watusimotobut my variant is
22:16:49raptorlet me check
22:17:04Watusimotoit is purely a client side issue, so we could fix it more in 019a if we want
22:17:25raptorhmm... i didn't see it in my test...
22:17:39raptordidn't see it again
22:17:43raptormaybe it IS fixed
22:18:23raptorWatusimoto: it looks fixed!
22:18:28raptori'll have to study it...
22:18:30Watusimotoexcellent!
22:18:33Watusimotook
22:18:53WatusimotoI'll leave the bug open, and we can close it after you've looked it over
22:19:13Watusimotobut that was my last pre-release project, that I now of
22:19:24Watusimotowe also need to figure out what to do about the notifier
22:19:41Watusimotoi.e. how to package it and ship it. I'd like to include it with 019
22:19:49WatusimotoI think it works well enough
22:20:45raptorhmmm... i'm not sure i want to package it together...
22:20:47SkybaxWhen you make an invisibile wall by using a polywall and putting the points on the other points, sometimes Bitfighter doesn't save the wall in the level code
22:21:28raptorthat happens when you load a level with those - it's because it disregards invalid geometry
22:21:39raptorthat is not a bug...
22:21:58SkybaxOkay
22:22:02raptorthe exploit only works when saving the first time placing them
22:22:04Watusimotodon't make invisible walls!!!
22:22:44SkybaxBut I like them
22:22:48raptorok, i have to go - i've been adding minor bugs/tasks to the polish list as i go along
22:22:52Watusimotook
22:22:54raptorlater!
22:22:59Watusimotohappy thanksgiving!
22:23:07raptorthanks! you too
22:23:11raptor Quit ()
22:23:25Watusimotophillreeder, alex_velea is there anything I can give you before I fall asleep completely?
22:24:37alex_veleaHmm
22:24:43alex_veleaI don't think so.
22:24:55alex_veleaNow i'm strugling with the boost:shared_ptr
22:24:57alex_veleaBut it think it's ok
22:25:28YoshiSmb has joined
22:26:17Watusimotook; it's well documented (by boost, not by us), and we have several examples of usage in the code. but I can help if you have any questions
22:26:23WatusimotoI mostly understand it
22:29:54alex_veleaOk
22:30:00alex_veleaCan i ask you sth?
22:30:21Watusimotoyes
22:30:33alex_veleain the undo function we change the current GridDatabase here
22:30:35alex_veleasetDatabase(mUndoItems[mLastUndoIndex % UNDO_STATES]);
22:30:39Watusimotoes
22:30:40Watusimotoyes
22:30:50alex_veleabut the function does not change everything
22:30:57alex_veleathe setDatabase()
22:31:16Watusimotowhat does it not change?
22:32:09YoshiSmb Quit (Ping timeout: 250 seconds)
22:32:10alex_veleaOhh
22:32:12alex_veleai'h sorry
22:32:17alex_veleaI think i got it wrong
22:32:20alex_veleawrong example
22:33:19alex_veleaGridDatabase *newDB = new GridDatabase(); // Make a copy
22:33:20alex_veleanewDB->copyObjects(getDatabase());
22:33:28Watusimotook
22:33:42alex_veleabut the copyObj function copies only
22:33:43alex_veleafor(S32 i = 0; i < source->mAllObjects.size(); i++) addToDatabase(source->mAllObjects[i]->clone());
22:33:48alex_veleaall objects
22:33:50Watusimotothat is supposed to make a copy of the database
22:33:54alex_veleaDoes not copy
22:34:03alex_veleawallsegmentmanager
22:34:06Watusimotoah
22:34:24Watusimotowallsegmentmanager gets cleared and rebuilt after every database change
22:34:40alex_veleabut if so .. where do we keep our walls?
22:34:47alex_veleain allobj?
22:34:51WatusimotowallSegmentManager->recomputeAllWallGeometry
22:35:17alex_veleabut we keep them in mAllObjects inside the griddatabase class?
22:35:28Watusimotoyou pass it a database and it manages the wall edges and such
22:35:33Watusimotoof every object in the db
22:35:37alex_veleaohh
22:35:40alex_veleaI got it now.
22:35:43alex_veleaI think
22:35:57alex_veleaSo every unit in the level it's in that GridDatabase
22:36:10alex_veleaI thought that the walls are in the wallsegmentmanager
22:36:15Watusimotoso when you alter a wall geometry, you'll call one of the functions that calls recomputeAllWallGeometry or its variants
22:36:23Watusimotono the walls are in the GridDatabase
22:36:32Watusimotothe wall objects
22:36:43Watusimotobut you'll notice that when two walls cross, their outlines do not
22:36:44alex_veleathank you very much :)
22:36:59Watusimotothose outlines are the wall edges, and they are computed and managed separately
22:37:21Watusimotothey are not really objects in the sense that the walls aer, more something extra
22:37:38Watusimotoso that helps?
22:37:39alex_veleaI get it now.
22:37:57alex_veleaI will try to do it by morrow. Thank you watusimoto
22:38:02alex_veleaAnd sorry for your time....
22:38:22Watusimotono worries
22:38:26WatusimotoI'm here to help
22:38:43Watusimotoit really is ok to ask for assistance
22:40:56Watusimotook, good night!
22:41:00Watusimoto Quit (Remote host closed the connection)
23:18:58YoshiSmb has joined
23:19:23alex_velea Quit (Ping timeout: 250 seconds)
23:46:25koda Quit (Quit: koda)
23:50:35YoshiSmb Quit (Ping timeout: 250 seconds)

Index Search ←Prev date Next date→

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