#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2011-05-02

Timestamps are in GMT/BST.

00:13:00watusimotodang it, my idea didn't quite work
00:13:00watusimotobut I'm only one method away from solving this
00:26:00raptorare you listening to obama?
00:26:00raptorhe is briefing the nation right now
00:48:00watusimotono, I didn't know that
00:48:00raptorbin laden is reported dead
00:49:00watusimotook, maybe NOW mission is accomplished :-)
00:49:00raptori sure hope so...
00:50:00watusimotoI predict no change in the state of affairs
00:50:00watusimotothis is a symbolic event, but not much more
00:50:00raptori predict the same :-/
00:51:00raptorthis discussion could easily get me fired up, I think...
00:56:00raptorso.. back to bitfighter: did you write the SFXObject::init() piece?
01:08:00watusimotoI don't think so
01:09:00raptorok
01:09:00raptori'll muddle through
01:09:00raptorfirst time dealing with audio libraries
01:10:00watusimotoI can confirm I didn't write it; not sure I've ever looked at it more than once
01:10:00raptorokeyd oke
01:31:00watusimotook, overcame the problem with only a minorly ugly hack
01:32:00watusimotoEditorObject and GameObject are now independent interfaces
01:32:00raptorso that's how you're doing it..
01:33:00watusimotoso we can apply them separately to things (flagSpawns are EditorObjects, ships are GameObjects, goFasts are both)
01:33:00watusimotobut in every EditorObject object, we need to include this line:
01:33:00watusimoto const char *getClassName() const { return Object::getClassName(); }
01:34:00watusimotothat redirects the EditorObject's version of getClassName() up the gameObject class hierarchy
01:34:00raptorreflection?
01:34:00watusimotosort of
01:34:00raptorvery interesting
01:34:00watusimotoI was trying to find a way to get access to the getClassName method without having to include that line
01:34:00watusimotobut it just wasn't working
01:35:00watusimotothat's needed for instantiating things from their class name, as we do when we read a level file
01:36:00watusimotoor, now, replicate objects in the editor (though maybe, just maybe, i can do it a different way)
01:38:00watusimotowait, just got rid of the need for the hack
01:38:00watusimotoby using another hack I'd already resigned myself ti
01:39:00raptorhaha
01:39:00watusimotothis is the other hack that I don't like... but at least it only appears once, in the editor:
01:39:00watusimoto EditorObject *newObject = NULL;
01:39:00watusimoto TextItem *textItem = dynamic_cast<TextItem *>(this);
01:39:00watusimoto if(textItem != NULL)
01:39:00watusimoto newObject = new TextItem(*textItem);
01:39:00watusimoto Teleporter *teleporter = dynamic_cast<Teleporter *>(this);
01:39:00watusimoto if(teleporter != NULL)
01:39:00watusimoto newObject = new Teleporter(*teleporter);
01:39:00watusimoto SpeedZone *speedZone = dynamic_cast<SpeedZone *>(this);
01:39:00watusimoto if(speedZone != NULL)
01:39:00watusimoto newObject = new SpeedZone(*speedZone);
01:39:00watusimotomaybe I could get rid of that by using the getClassName() hack
01:40:00raptoris that just to instantiate one of every class?
01:41:00watusimotono, it makes a copy of an object
01:42:00watusimotowithout knowing its class ahead of time
01:42:00raptorah ok
01:42:00watusimotoI could do that, or put a copy method down in each child class
01:42:00watusimotoI figured that by concnetating the ugliness, it would be easier to maintain
01:43:00watusimotothe first time you add a new object and try it in the editor, you'll hit an assert if you haven
01:43:00watusimotot handled it here
01:43:00watusimotothen you'll see what you need to do with no further hunting around
01:43:00watusimotoI just made it uglier by addition of some goto statements
01:44:00raptorNOOOoooo
01:44:00watusimoto TextItem *textItem = dynamic_cast<TextItem *>(this);
01:44:00watusimoto if(textItem != NULL)
01:44:00watusimoto {
01:44:00watusimoto newObject = new TextItem(*textItem);
01:44:00watusimoto goto Done;
01:44:00watusimoto }
01:44:00watusimoto Teleporter *teleporter = dynamic_cast<Teleporter *>(this);
01:44:00watusimoto if(teleporter != NULL)
01:44:00watusimoto {
01:44:00watusimoto newObject = new Teleporter(*teleporter);
01:44:00watusimoto goto Done;
01:44:00watusimoto }
01:44:00watusimoto SpeedZone *speedZone = dynamic_cast<SpeedZone *>(this);
01:44:00watusimoto if(speedZone != NULL)
01:44:00raptorha
01:44:00watusimotodid you see this?
01:44:00watusimoto(notice) *** Message to #bitfighter throttled due to flooding
01:44:00raptori bet you hit the flood protection
01:44:00raptori didn't see the notice, but I could tell you got it..
01:44:00watusimotogoto is generally bad, but not always
01:44:00watusimotohow could you tell?
01:45:00raptorlet me see about turning off flooding protection
01:45:00watusimotoyou probably only saw half of what I pasted,
01:45:00raptorexactly
01:49:00watusimotowell, then you missed the elegance of my goto construct
01:49:00raptori think i got 3/4 of it...
01:51:00raptordid that notice come from the server? or your client?
01:57:00watusimotono, a new window popped up...
01:57:00raptorlooks like freenode implements it server side
01:57:00watusimotoa chat window with pratchett.freenode.net
01:57:00raptora yes, a server notice, then
01:58:00raptorcurious, can you open a private chat with me and send that code again? just as a test
02:04:00raptor has left
02:04:00raptor has joined
02:04:00ChanServ sets mode +o raptor
02:18:00watusimotoI like the skype notification of new messages better than I do Pidgin
02:18:00raptorwhat is skypes?
02:18:00raptorand what is pidgins?
02:19:00watusimotoicon lights up in task bar; icon in tray changes
02:19:00watusimotomuch less noticable
02:19:00raptorah: turn on 'guifications' plugin
02:22:00raptoror better yet, ditch pidgin for IRC, it's not too great
02:23:00raptora good irc client makes all the difference in the world
02:36:00raptorpastebin it is for code snippets longer than 10 lines or so
02:36:00raptorwow, the sfx class is in serious need of attention
02:37:00raptorthe problem is: it works.
02:37:00watusimotoyes, that was the probelm wiuth the editor, too
02:42:00raptorluckily i'm talking with the openal-soft maintainer right now and he is giving me pointers
02:43:00watusimotogreat
02:43:00watusimotothe goto is gone
02:43:00watusimotounfortunately
02:43:00watusimotobut there are others
02:43:00watusimotodon't despair!
02:43:00raptorhehe
02:44:00raptorso right now, on each game idle tick, bitfighter plays a frame of each of the currently loaded sounds
02:46:00raptorseems odd that it is handled by the idle() method
02:46:00raptorwhy not just play the sound and be done with it..
02:48:00watusimotono idea....
02:48:00watusimotoyour way makes more sense
02:49:00raptorit has all this crazy detection method to keep the audio frames in sync with the idle method
02:56:00raptori'm heading to bed
02:57:00raptorgood night
03:00:00raptor Quit (Remote host closed the connection)
03:08:00raptor has joined
03:08:00ChanServ sets mode +o raptor
03:08:00raptor Quit (Remote host closed the connection)
03:15:00watusimotonight
08:00:00watusimoto Quit (Quit: Leaving.)
09:12:00kodaws has joined
10:56:00raptor has joined
10:56:00ChanServ sets mode +o raptor
10:56:00raptorkodaws: if you aren't too busy, can you give me a brief overview of multiple sound source handling in hedgewars?
10:57:00raptorspecifically, bitfighter needs a sound system rewrite
10:57:00raptorright now
10:57:00raptorit uses teh game's idle loop to play all channels chunk by chunk
10:57:00raptorsorry, not channels
10:58:00raptorsamples
10:58:00raptoreach iteration of idle() it checks where it is in the sound buffer and plays a bit accordingly
10:58:00raptorseems like it should be done better
11:18:00raptor Quit (Remote host closed the connection)
11:21:00raptor has joined
11:21:00ChanServ sets mode +o raptor
11:29:00raptor Quit (Remote host closed the connection)
11:31:00raptor has joined
11:31:00ChanServ sets mode +o raptor
13:00:00kodaws Quit (Quit: HydraIRC -> http://www.hydrairc.com <- *I* use it, so it must be good!)
13:13:00karamazovapy has joined
13:17:00karamazovapyjarrs...
14:10:00raptorhi
14:12:00raptor!bbb
15:38:00watusimoto has joined
15:50:00karamazovapyhah
15:50:00karamazovapy!airlock
15:50:00karamazovapy[sigh]
15:50:00karamazovapy!help
15:50:00karamazovapy!commands
15:51:00karamazovapy!bitfighter
15:51:00karamazovapy!bot
15:51:00karamazovapy!bug
15:51:00karamazovapy!dedicated
15:51:00karamazovapy!feature
15:51:00karamazovapy!watusimoto
15:51:00karamazovapyhah
15:52:00watusimotothis irc is whack
15:52:00watusimoto!watusimoto
15:52:00karamazovapycrack is whack
15:52:00watusimotocool
16:06:00raptori see you are testing my most recent bot additions :]
16:07:00raptor!airlock
16:14:00-barjavel.freenode.net- *** Looking up your hostname...
16:14:00-barjavel.freenode.net- *** Checking Ident
16:14:00-barjavel.freenode.net- *** No Ident response
16:14:00-barjavel.freenode.net- *** Couldn't look up your hostname
16:14:00BitfighterLogBot has joined
16:14:00Topic is 'Latest release 015a http://bitfighter.org | Forums: http://bitfighter.org/forums/ | GC Project: http://code.google.com/p/bitfighter/'
16:14:00Set by raptor!~raptor@unaffiliated/greenmachine on Sun May 01 01:51:58 EDT 2011
16:14:00-ChanServ- [#bitfighter] Welcome to #bitfighter. This is an IRC channel, many or all of the users may not be paying attention. Please have patience when waiting for a response.
16:15:00raptor!airlock
16:35:00raptorwatusimoto: if you want to know there is an ini file on the game server: under ~/bin/logbot/commands.ini
16:35:00raptoryou can specify commands in there
16:36:00raptorbut you'd have to restart the bot with 'stop_logbot.sh' and 'start_logbot.sh' to load the new commands
16:40:00watusimotooh, you mean chatbot commands for this channel?
16:40:00raptoryep
16:40:00raptoradd anything you want
16:40:00raptorit was kinda fun to program it
16:41:00raptorI also checked in the source code to the bitfighter-tools repo
17:58:00koda has joined
20:16:00koda Quit (Quit: bye o/)
20:59:00raptor Quit (Remote host closed the connection)
21:08:00karamazovapyjust finished portal 2
21:08:00karamazovapygood game
21:40:00raptor_ has joined
21:40:00ChanServ sets mode +o raptor_
21:41:00raptor_portal?
21:43:00raptor_ is now known as raptor
21:44:00raptori never made it past the first few levels in portal 1
21:53:00raptorwell, i still have a job...
21:53:00raptorthat's always good
22:07:00watusimoto Quit (Ping timeout: 252 seconds)
23:51:00karamazovapyis there any way to have my vps notify me if/when my dedicated server process terminates? maybe an smtp notification?
23:51:00raptoryes
23:51:00karamazovapyyes?
23:51:00raptori already have a bash script you can run in a cron job
23:51:00raptordo you have root access to the VPS ?
23:52:00karamazovapyabsolutely
23:52:00raptorok, let me test it against your server real quick
23:52:00sam686probably the simplest way is to look for your server here once of a while: http://bitfighter.org/bitfighterStatus.json
23:52:00karamazovapyright
23:53:00raptor32 or 64bit server?
23:53:00karamazovapy32
23:56:00raptorok, i have to recompile the program for 32-bit...
23:56:00raptorwait
23:56:00karamazovapy32-bit seemed easier to deal with, out of the gate
23:56:00raptoryou have gcc on your system already
23:56:00karamazovapyyeah, I should
23:56:00raptorgreat!
23:57:00raptorok, let me get you the files you need
23:57:00raptorbasically my script sends a PING to any bitfighter server, if the PING fails, it sends an e-mail
23:57:00karamazovapyawesome
23:58:00karamazovapyI mean, ideally, I'd log in to bitfighter on a daily basis...but there are some WEEKS I don't play...
23:59:00raptoractually i better compile this for you... it's a bit evil
23:59:00karamazovapyhah...okay...
23:59:00karamazovapywould this be a good feature to include in the game itself?

Index Search ←Prev date Next date→

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