#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2011-08-22

Timestamps are in GMT/BST.

00:33:00guest_ has joined
00:33:00guest_ Quit (Client Quit)
00:35:00BFLogBot - Commit d5ab8e3e275a | Author: buckyballreaction | Log: Split Timer class code from header file and create .cpp
01:22:00watusimoto has joined
01:25:00zooomberr has joined
01:26:00zooomberrhey
01:27:00watusimoto Quit (Ping timeout: 240 seconds)
01:30:00zooomberr Quit (Ping timeout: 252 seconds)
01:31:00raptorhey look
01:31:00raptorwe have a SharedConstants.h
01:31:00raptorwhy don't we use that more?
01:49:00sam686SharedConstants.h is shared by both master and client/server game
01:55:00watusimoto has joined
02:00:00sam686http://96.2.123.136/bitfighter/Output-Build_included_headers.txt by putting in #pragma message("- game.h") in game.h and a few other header files, i can see which cpp file includes this header files.
02:01:00sam686game.h included from 64 files
02:01:00sam686gameConnection.h included from 73 files
02:01:00sam686gameObject.h included from 73 files
02:01:00sam686gameType.h included from 49 files
02:01:00sam686gridDB.h included from 73 files
02:01:00sam686lua.h included from 68 files
02:01:00sam686ui.h included from 57 files
02:01:00sam686libsdl/SDL/opengl.h included from 61 files
02:01:00watusimotothat's very interesting!
02:02:00raptorhi
02:02:00watusimotohi -- we'll see how long until I fall asleep tonight
02:02:00watusimotoI'm very tired
02:07:00raptorhi
02:08:00raptori'm about to commit a clean-up commit
02:08:00sam686ok..
02:08:00raptorwhere i remove a lot of TNL:: and std:: (much of which i added)
02:08:00raptorsoooo...
02:08:00raptori recommend updating before coding..
02:09:00watusimotook
02:09:00raptorok pushed
02:09:00sam686might want to try to take off #include in header files (.h) if possible, as that is probably the main thing causing too many includes and slowing down compiler..
02:10:00BFLogBot - Commit 3a40af093b7f | Author: buckyballreaction | Log: Clean-up - remove lots of TNL:: and std:: - remove some comments - other minor changes to satify a couple TODOs
02:10:00raptoryeah, the "great forward declaration commit" is in the back of my mind someday...
02:12:00sam686i think ClientGame can have their own ClientGame.cpp and ClientGame.h, as ClientGame is never used in Dedicated, rendering opengl is not used in dedicated.
02:13:00raptorI'm kind of scared to touch the Game classes - i don't have much experience with what goes on in there....
02:15:00raptorwatusimoto: am i supposed to be able to fly through the reactor?
02:15:00watusimotono
02:16:00watusimotoit should be solid like a wall
02:16:00sam686when i tested reactor, it sonehow puts invisible wall at (0,0), but it renders at a set location
02:16:00watusimotointeresting
02:16:00karamazovapyhey watusimoto - you see the cool weapon video I found?
02:16:00watusimotoit's a moveObject but shouldb;t be
02:16:00watusimotoI'm going to try fixing it tonight
02:16:00watusimoto@k, no
02:17:00karamazovapyit's a rocket that you can direct around corners - http://www.youtube.com/watch?v=qGGfqiss8s8
02:18:00karamazovapywatch the red cursor arrow
02:21:00Flynnn Quit (Ping timeout: 240 seconds)
02:25:00raptorwatusimoto: what do you think about mines replenishing at a location like health packs?
02:25:00karamazovapythis has come up in the past
02:26:00raptori thought i'd bring it up...
02:27:00raptorAlso, should EnergyITems be first-class citizens in the editor now?
02:29:00Flynnn has joined
02:32:00watusimotoI don't like replenishing mines
02:33:00raptornot even as an option in the editor?
02:33:00watusimotonot sure about energy items -- no one seems too gung ho
02:33:00raptorok
02:33:00watusimotoI don't know... replenishing mines seem too unminelike
02:34:00watusimotoI could see a mine bot that lays mines repeatedly
02:34:00karamazovapyI think there are mapmakers who would love to have the energy item at hand
02:34:00raptorwe could call it 'minelayer'
02:34:00watusimotoI don't feel strongly about the energy item
02:35:00karamazovapywell I dislike it in general, but if it's a real item, it seems silly to exclude it from the editor
02:35:00raptorthere are a few more: lineitem, slipzone
02:35:00karamazovapysame story on both of those. if we consider them official, supported features, why aren't they in the editor?
02:38:00raptoram i missing any?
02:38:00raptormaybe they're good as 'bitfighter secrets'
02:39:00karamazovapyship
02:39:00raptorahhh, the infamous ship
02:40:00karamazovapyif we're talking about things that can go into a level file without being in the editor
02:42:00raptoralso shoud we expose the health/energy item timer in the editor?
02:42:00raptorit's hard coded to 20 seconds, but i know maps that bring them back 1 second
02:43:00raptorsometimes i wonder if map makers spend more time in notepad than in the editor...
02:43:00watusimototimers should be exposed
02:44:00watusimotoI think there may be some options that shoudl only be available for dungeons, which shuld be their own gametype
02:44:00karamazovapythe health timer is exposed
02:44:00karamazovapy(I believe)
02:44:00watusimotoperhaps energyitems should be one of those
02:44:00raptorsam686: are you around?
02:45:00watusimotoI think in 016 the editor is broken, and nothing is "exposed"
02:45:00raptorah ok
02:45:00sam686yes
02:45:00raptorsam686: can you join my editor server?
02:45:00raptor69.169....
02:45:00raptori have to show you something..
02:45:00sam686in 016? or 015?
02:45:00watusimotodungeon mode can be for testing things, and other stuff that just isn't ready for the game (like slip zones)
02:45:00raptor016
02:46:00sam686it is passworded... /setserverpass to clear pass?
02:46:00raptori think server password is 'test'
02:46:00raptoror 'eatmyshorts'
02:46:00sam686ok.
02:51:00Zoomber has joined
02:51:00Zoomberraptor: fixed it myself
02:52:00raptorZoomber: oh good
02:52:00Zoomberi have a question
02:53:00Zoomberi want to use a cron script for another app, so im trying it with bitfighter too
02:53:00Zoomberthis is what i have so far
02:53:00Zoomberhttp://pastebin.com/UFnaiZWe
02:53:00sam686probably cannot use "inlping" for other apps that are non-TNL.
02:53:00raptorok
02:54:00raptorscreen should be lower-case
02:54:00Zoomberok
02:54:00Zoomberi used grep| and i get two results, one is the app thats running and one is my search
02:54:00raptoryes
02:55:00raptoruse another grep
02:55:00raptorps ax |grep bitfighterd |grep SCREEN
02:55:00Zoombergrep rootdatadir
02:55:00raptoryes anything to filter it further
02:55:00raptoralso...
02:55:00raptorthe pid may have a space at the front
02:55:00sam686keep in mind in crontab, using * */2 * * * will run 60 times in each even-number hour, 0 times in odd-number hour
02:56:00Zoomberok that worked
02:56:00Zoomberi thought that is every two hours?
02:56:00raptorthe first *
02:56:00raptormeans every minute
02:56:00Zoomberoh oops
02:57:00sam686doing 0 */2 * * * will be once every 2 hours
02:57:00Zoomberi need to do
02:57:00Zoomber1 */2
02:57:00Zoomberfor
02:57:00Zoomberm h
02:57:00raptoryes, choose a minute
02:57:00Zoomberright?
02:57:00Zoomberok
02:57:00Zoomberok, so i got the grep to display one output
02:58:00Zoombernow i have the command part
02:58:00Zoomberthe if
02:58:00raptorput spaces around the ==
02:58:00Zoomberi'm trying to see if grep shows no 0s
02:59:00Zoomberif [ $? == 1 ]; then ?
02:59:00raptoryes
02:59:00raptoryou know what $? means?
02:59:00Zoomberim thinking its the variable of what i defined before/
02:59:00Zoomber?
03:00:00raptornope
03:00:00Zoomberwhat does $? mean?
03:00:00raptorit means 'exit status'
03:00:00raptorof the last finished process
03:00:00Zoomberooh
03:00:00Zoomberok
03:00:00Zoomberso grep gives exit statuses depending on the number of results it gets?
03:00:00raptorso, if you want to detect an error, then $? != 0
03:01:00raptoryou can test any command by running 'echo $?' right after it
03:01:00Zoomberi just want to detect if i only get one 0 results, instead of 1 result for the grep search
03:01:00raptorso do a good grep, then echo $?
03:01:00raptorthen a bad grep and echo $? to see
03:01:00Zoomberi cant use antyhing mail related..
03:01:00Zoomberi convinced them to ban port 25 and disable all mailing services to unsuspend my server
03:02:00raptorexcellent :)
03:02:00raptorso
03:02:00ZoomberOoooor, i could think, and use another server..
03:02:00Zoomberthat doesnt have it banned yet..208
03:02:00Zoomberok, this would work wouldnt it? ill post the pastebin
03:02:00Zoomberhttp://pastebin.com/aYwhDx6P
03:03:00sam686run the sh script directly to see any outputs? then that script can be but in cron..
03:03:00Zoomberi get two results when searching for bitfighterd, one grep and one normal
03:03:00Zoomberbut if server is down and i only get grep, thats one result right?
03:03:00raptornever rely on that
03:03:00Zoomberok
03:03:00raptoradd additional filter
03:03:00Zoomberso i should do 1 and 0 instead?
03:03:00Zoomberinstead of 2 and 1
03:04:00sam686it will output zero results if nothing is found in the search...
03:04:00raptorjust test if pid is empty string
03:04:00raptorhere is a great reference: http://tldp.org/LDP/abs/html/refcards.html
03:05:00Zoomberok raptor, how about this ps ax |grep rootdatadir |grep bitfighterd
03:05:00raptorsure
03:05:00Zoomberok, will that work then..?
03:05:00raptori think so
03:06:00Zoomberok right now i have my server running, and when i did it, it displayed my grep result (i did ./ss.sh my shell script)
03:06:00raptorthen test if you get any pid at all: if [ -z $my_pid ]
03:06:00raptorthat means is $my_pid empty?
03:06:00Zoomberroot@socool:~/sam/tnlping# ./ss.sh
03:06:00Zoomber 1444 ? S 0:00 /root/sam/exe/bitfighterd -IP:ANY:28000 -rootdatadir /root/sam/exe/
03:06:00Zoombernow lets see if i shutdown my server...
03:07:00Zoomberaaaah, it works
03:07:00Zoomberexpect i didnt fix screen so it says Screen: command not found
03:07:00sam686lowercase s in screen?
03:08:00Zoomberyes
03:08:00Zoombermust be lowercase
03:09:00Zoomberdoes -r do the same thing as -rootdatadir?
03:10:00sam686for bitfighter command? -r is not defined or programmed to be -rootdatadir
03:10:00Zoomberok
03:10:00Zoomberraptor: it works!
03:11:00Zoomberjust had to make a few edits
03:11:00Zoomberheres the final working version
03:11:00Zoomberhttp://pastebin.com/mEPYpsDL
03:11:00raptoroh good
03:11:00Zoomberactually, it seems like its more efficient to use this than tnlping..but of course tnlping will be more accurate
03:12:00Zoomberas, the app could be up, but the server could be under too much load and not responding
03:12:00Zoomberor needs to be restarted for some reason
03:12:00Zoombertnlping can truley test if its there
03:12:00raptorif you want to suppress all output of a specific script then add: '&> /dev/null' to the end of the command
03:12:00raptorss.sh &> /dev/null
03:14:00Zoomberok
03:16:00Zoomberhey raptor: neat ide
03:16:00Zoomberidea
03:16:00Zoomberi can make a server-status icon
03:16:00Zoomberis there a command to make an image.png file un=readable by html web viewers?
03:16:00Zoomberor www web users
03:16:00Zoombercan i chmod it to do that?
03:17:00raptoryou can make it unreadable by everyone my removing the read flag on the file
03:17:00raptorchmod -r file.png
03:17:00raptoreven yourself!
03:17:00Zoomberok
03:17:00Zoomberand then if i do an "else
03:17:00Zoomberis there a command to add read flag?
03:17:00Zoomberor is that the same command?
03:17:00raptorchmod +r
03:18:00raptorbut it's best to just move the file out of the web folder
03:18:00Zoomberhaha perfect
03:18:00Zoomberi guess i can do that too
03:18:00Zoomberor i can do mvdir
03:18:00Zoomberor not mvdir
03:18:00Zoomberwhats the command
03:18:00Zoomberi forgot it
03:19:00Zoomberbut its the command to change the name of a file
03:19:00Zoomberoh its just mv right?
03:20:00Zoomberok, found it, how about this?
03:21:00Zoomberraptor: i think im actually having fun with this http://pastebin.com/Kaph5u5d
03:21:00Zoomberi forgot the fi at the bottom, but oh well
03:22:00Zoomberthis way, it will make sure the file name is what its supposed to be, and if the file name is already correct, the command will fail, but i dont need to rename it anyways!
03:26:00Zoomber Quit (Quit: Zoomber)
03:26:00Flynnn Quit (Quit: This computer has gone to sleep)
03:56:00watusimotoargh!
03:56:00watusimotocan't link!
03:56:00watusimotoTimer problems!
04:01:00sam686include Timer.cpp file into project?
04:02:00watusimotoit's already there
04:02:00watusimotoit's new?
04:02:00sam686it compiles ok for me..
04:02:00sam686it is raptor's idea to move timer to Timer.cpp
04:03:00watusimotoit's probably a good move
04:03:00watusimotoor at least not a bad one
04:15:00raptorwhat did i break?
04:16:00watusimotointeresting
04:16:00watusimotoweird
04:16:00watusimotoVC++ thinks Timer.cpp is a header
04:16:00raptorohhh..
04:16:00raptorthat is my fault
04:16:00raptori must have updated your project file wrong
04:16:00watusimotowell... not sure how that happened
04:17:00watusimotoI didn't even know you could override the file extension until just now
04:17:00raptorwell, i just edited the xml..
04:17:00watusimotoanyway... telling it the cpp file was in fact a cpp allowed it to commpile and link
04:17:00raptorexcellent
04:17:00watusimotoso the problem is gone
04:17:00raptorsorry about that
04:17:00watusimotono worries
04:18:00watusimotojust... weird
04:18:00watusimotohave I ever mentioned I hate xml?
04:18:00watusimoto:-)
04:18:00watusimotothe new version of chrome contains native client in the main release
04:18:00raptoryes
04:18:00raptorexploits for everyone!
04:19:00watusimotoat some point, I'm hoping we can make another pass at compiling BF for NaCl
04:19:00raptorseriously?
04:19:00watusimotothen it could be run as a browser game
04:19:00raptor(when was the first time?)
04:19:00watusimotoI've looked into it before and was discouraged
04:19:00watusimotopartially because of GLUT issues
04:19:00watusimotoyes, seriously
04:19:00raptorGLUT is bye bye
04:19:00raptoryay
04:19:00watusimotoI thin kit would be awesome if we could get it to work
04:20:00watusimotojust tossing that out there
04:20:00raptorthen we can crash people's browsers!
04:20:00watusimotoI'm not ready to spend much time on it myself, yet
04:20:00watusimotomaybe it's actually secure...???
04:20:00raptorha!
04:21:00watusimotomaybe the devs at google know what they're doing???
04:21:00raptori don't know if that'll ever be the issue with giving the web hardware video access...
04:21:00Flynnn has joined
04:21:00raptorbe the case, i mean
04:21:00watusimotoanyway... if it worked, it might attract new players
04:22:00watusimotoof course, I think the same about BSD, and I've never pursued that either
04:22:00watusimotoand that might be easier
04:22:00raptori can spin up a BSD system pretty quickly to test...
04:22:00raptori'm interested too..
04:23:00raptorconsidering it does run on MacOS
04:23:00watusimotoI figure there's not many games for bsd
04:23:00watusimotobut... do we need another platform to maintain?
04:23:00raptorit's more like they have limited packagers, i think
04:24:00watusimotough... packaging
04:24:00raptoryeah....
04:25:00raptorso.. do you know the difference between openGL and openGL ES?
04:26:00raptorbecause if we want to go browser/mobile based, we'll have to make sure we are using the GLES subset, i think
04:27:00watusimotoI've read the differences
04:27:00watusimotowe might try to move gradually toward ES
04:27:00watusimotoif there's no performance downside
04:28:00raptorno floats?
04:28:00watusimotowe could probably work around that
04:29:00watusimotoI assume you mean for I/O stuff, not no floats anywhere
04:29:00raptorwait what?
04:29:00raptortrouble parsing that last sentence fragment
04:29:00watusimotoyou mean no floats in the UI code
04:30:00watusimotoyou don;t mean no floats anwyere in the app, do you?
04:30:00raptori mean, gl es means no floats, correct?
04:30:00watusimotobut we could still measure health as a float
04:30:00raptoryes
04:31:00raptorok i think we're on the same page now..
04:31:00watusimotowe just need to specify SDL stuff as ints
04:31:00watusimotook, good
04:31:00watusimotoso I think it might be doable
04:34:00raptorwe have no way of testing it though
04:34:00raptorwe'd need a system with only GLES supported
04:34:00watusimotoyes
04:34:00sam686test with some virtual machine? if available...
04:34:00watusimotoor compile against gles libraries?
04:35:00sam686my computer is probably too slow for some of virtual machines
04:36:00raptoryeah, i'd probably have to swap out the opengl headers with gles
04:38:00raptorwell, something to think about anyways..
04:39:00watusimotoexactly
04:39:00watusimotoworth learning about
04:40:00raptorgood info: http://wiki.maemo.org/OpenGL-ES#Porting_between_OpenGL_variants
04:41:00watusimotoalways johnny on the spot with the reference link
04:41:00watusimotoso... port to OGL2.0, then to ES?
04:42:00watusimotoseems too easy
04:42:00raptorthat's my thinking
04:42:00watusimotomaybe es2.0 has floats and implements fns unsupported in 1.0?
04:42:00watusimotoe.g. glBegin
04:42:00raptornot sure
04:43:00raptordoes GL 2.0 run on windowx XP?
04:44:00raptori guess it'd be up to the driver installed...
04:44:00watusimotoOpenGL 1.0 applications work with OpenGL 2.0 but not vice versa
04:44:00raptorbut i'm curious abou tthe built in software render (i fthere is one)
04:44:00watusimotoso we're set that far
04:45:00sam686opengl 2.0 probably hardware hardware support... which probably most windows XP's hardware is probably not openal 2.0 or later'
04:45:00raptoryay for #ifdef
04:45:00watusimotoMost desktop Linux OpenGL applications are written using the legacy OpenGL 1.x fixed function pipeline (e.g. usage of glBegin/glEnd and the matrix stack). OpenGL 2.0 introduced programmable shaders, but it still supports the legacy fixed function pipeline. Since in OpenGL ES 2.0 the fixed function pipeline has been completely removed, porting applications from OpenGL 2.0 to OpenGL ES is likely to r
04:45:00watusimotoequire a major rewrite of the application's graphics code.
04:45:00raptori guess
04:45:00watusimotostill trying to understand that
04:45:00watusimotoso we use the fixed function pipeline
04:45:00raptorwe don't use shaders, though, do we?
04:46:00watusimotono
04:46:00sam686my Radeon 9200 only have opengl 1.3
04:46:00raptor:(
04:46:00raptoryeah, we'd have to abstract a lot of the drawing functions and use ifdefs
04:46:00raptorbecause i bet XP users would be alienated
04:46:00watusimotobut
04:46:00watusimotoin OpenGL ES 2.0 the fixed function pipeline has been completely removed
04:46:00watusimotobut we use that
04:46:00raptoryikes
04:47:00watusimotoso I guess we're in for a lot of work
04:47:00raptoryep
04:47:00watusimototoo late for me to fully comprehend this
04:47:00sam686and, my laptop with intel graphics Mobile 945
04:47:00sam686Family have opengl 1.4
04:48:00raptoroh yes!
04:48:00raptoryou're ahead of us now
04:49:00raptorspeaking of porting... windows 64bit anyone?
04:49:00watusimotouh....sure
04:49:00raptorlinux/mac is already done!
04:49:00watusimotowhy?
04:49:00raptori don't know... because 32bit is dying?
04:50:00watusimotoso we need to modify the gameObject hiearchy
04:50:00sam686my computer is 32-bit slow and old compared to yours..
04:50:00watusimotowe need a class of items that can be destroyed but never move
04:50:00raptorMoveObject not quite the right fit
04:51:00watusimotonope
04:51:00watusimotobut that has all the other stuff we need
04:51:00watusimotowe need a moveobject and a nomoveobject
04:51:00watusimotoor something like that
04:51:00raptorDamageableObject
04:52:00raptor^^ create something like that, then properly extend both it and MoveObject, perhaps?
04:52:00watusimotowalls are just gameObjects, I think
04:52:00watusimotowell, repairs are moveObjects, bt are not damageable
04:53:00raptorwhen i converted the object mask i wondered why repair/energy was moveable
04:53:00watusimotomoveObject is pretty far up the hiearchy...
04:53:00watusimotoprobably because they do evverything but move
04:54:00raptorso maybe we need to rename MoveObject and create a better heirarchY/?
04:55:00sam686FlagItem is MoveObject, and flag does move arounf in nexus and rabbit.
04:55:00watusimotobut moveObject is all about stuff that moves
04:55:00watusimotoflags move in all games, when mounted to ships
04:56:00watusimotoa moveObject is just a gameObject that moves
04:56:00watusimotothat's probably ok
04:56:00sam686some things like PickupItem (RepairItem and EnergyItem) does not move.
04:57:00watusimotomaybe we need an item that doesn't move
04:57:00watusimotoand pickups could inherit from that
04:57:00watusimotomaybe we need a gameItem and a moveItem
04:57:00watusimotoor fixedItem
04:57:00watusimotoor something
05:00:00watusimotook, I'm renaming Item to MoveItem at least for the moment, to make things clearer
05:00:00raptori like clarity
05:00:00raptorandFavorLongVariableNamesForClarity
05:01:00watusimotothat clarifies that this is probably wrong:
05:01:00watusimotoclass EditorItem : public MoveItem, public EditorPointObject
05:02:00watusimotoMoveItem should be an Editoritem, not the other way round
05:02:00raptorha!
05:02:00raptorfroot loop
05:02:00watusimotoso if I fix that, it may give the reactors a better home
05:02:00watusimotothey would become editorItems, but not moveItems
05:02:00watusimotoas would pickupItems
05:03:00watusimotomaybe we can finally fix this
05:04:00raptorgo for it!
05:06:00sam686i can try moving ClientGame to ClientGame.h, then later ClientGame.cpp
05:09:00watusimotoI'm against it; Raptor, what do you think?
05:09:00watusimotoI don't have any good reasons
05:09:00raptori am for moving code from headers to cpp
05:10:00raptorreduce compile time some
05:10:00watusimotothat's not what he's proposing
05:10:00watusimotois it?
05:10:00sam686compiling speed os very slow for me..
05:10:00watusimotome too!
05:10:00watusimotomaybe I misunderstood
05:10:00watusimotoyou want to break game into 3 files?
05:10:00sam686ClientGame needs GameConnection, while ServerGame in header does not need GameConnection
05:10:00watusimotoright
05:11:00watusimotoah, I see
05:11:00watusimotoso break it up and fewer includes
05:11:00sam686ClientGame recently might needs some of UI headers..
05:11:00watusimotoI'll just be sad to have Game.cpp in more places
05:11:00watusimotoserverGame needs no UI headers
05:11:00watusimotoor at least it should not
05:11:00raptorok, i the header actually looks devoid of implementation..
05:11:00raptorwhich is good
05:13:00sam686i am doing ClientGame.h for now, i could keep ClientGame in game.cpp or later move ClientGame to ClientGame.cpp
05:13:00watusimotosam, I rescind my mild opposition
05:14:00watusimotoif we have clientgame.h, we should have clientgame.cpp
05:14:00sam686ok
05:14:00sam686ClientGame code size is taking up almost half of game.cpp
05:15:00watusimotook, break it up
05:15:00watusimotoI just like things where I know where to find them
05:15:00sam686ok
05:15:00watusimotoI must learn to adapt
05:16:00raptorshould we follow CamelCase class names with Capitalized first letter?
05:16:00raptori've been doing that, but not sure if you wanted to follow a convention..
05:16:00sam686that may be important for linux case sensitive filename..
05:17:00raptoryes please keep us lowly case-sensitive OS users in mind
05:17:00raptor:)
05:17:00sam686#include "gAmE.cpp" may work in windows but not linux
05:18:00sam686ClientGame.h or clientGame.h ? capitalize forst letter?
05:18:00sam686capitalize first letter?
05:19:00raptorthat was my question - i have been capitalizing first letter
05:19:00raptorTimer
05:19:00raptorEvent
05:19:00raptoretc.
05:19:00raptorit's the c++ way!
05:19:00raptor(I think)
05:19:00sam686ok, capitalize first letter..
05:25:00raptorwell good night for me
05:26:00raptorhasta tomorrow
05:26:00raptor Quit (Remote host closed the connection)
05:37:00watusimotoyes, ClientGame.cpp
05:37:00watusimotook, I did my push, will continue work tomorrow
05:37:00watusimotogood night!
05:38:00sam686ok.
05:38:00sam686bye..
05:38:00watusimotobye
05:40:00BFLogBot - Commit e2c0a92a474d | Author: watusim...@bitfighter.org | Log: whitespace, comments
05:40:00BFLogBot - Commit 031ebda1553d | Author: watusim...@bitfighter.org | Log: Rename Item to MoveItem
06:37:00watusimoto Quit (Ping timeout: 240 seconds)
07:06:00BFLogBot - Commit 67fde022d55a | Author: sam8641 | Log: Move ClientGame to ClientGame.cpp and ClientGame.h
08:12:00kodax has joined
08:30:00Flynnn Quit (Quit: Leaving)
09:00:00LordDVG has joined
09:00:00LordDVG Quit (Changing host)
09:00:00LordDVG has joined
12:32:00LordDVG Quit (Read error: Connection reset by peer)
12:54:00watusimoto has joined
13:21:00watusimoto Quit (Ping timeout: 240 seconds)
13:55:00watusimoto has joined
14:02:00watusimoto Quit (Ping timeout: 240 seconds)
14:49:00raptor has joined
14:49:00ChanServ sets mode +o raptor
14:55:00watusimoto has joined
15:00:00raptorgood morning!
15:05:00raptorsam686: was compiling with your new ClientGame split faster or slower?
15:35:00Flynnn has joined
16:00:00watusimotohi
16:02:00raptorhi
16:29:00watusimotoI want to get rid of sam's new #ifndefs in the GameType code
16:30:00watusimotothey are only needed because of renderInterfaceOverlay
16:30:00watusimotoso I'm trying to figure out how to move that out of GameType, while still maintining the class hierarchy
16:30:00raptoryes!
16:31:00raptori was curious about those ifdefs around the render methods..
16:31:00watusimotoI'm thinking of creating a set of GameTypeRenderer classes that mirror the GameType hierarchy
16:32:00watusimotobut I can't quite wrap my head around it enough to know if it will work
16:32:00watusimotowe obviously need some way to do GameType specific rendering
16:32:00watusimotobut we don't want that code on the server
16:32:00watusimotoand we don't want to ifdef it out
16:33:00raptormaybe a child class that extends GameType, then have ClientGame extend that?
16:33:00watusimotoso... that's the problem of the moment
16:33:00watusimotomaybe, except we have to instantiate the same GameType class on client and server
16:33:00watusimotothe way the networking is written, that's a constraint
16:34:00watusimotobecause GameType classes are game objects
16:34:00raptorso maybe CTFGame and CTFGameRender
16:34:00watusimotowe could theoretically rewrite the networking a little to instantiate TestItem_server on the server and TestItem_client on the client or something like that
16:34:00watusimotothat would solve the problem
16:35:00watusimotoand both TestItem_client and TestItem_server would inherit from TestItem
16:35:00watusimotothat would probably be the purest solution
16:35:00watusimotowe'd end up with tons more classes
16:35:00raptoryeah...
16:35:00raptormore modular
16:35:00watusimotobut the separation between client and server would be total
16:35:00raptorbut is that bad?
16:35:00raptorthat would be great!
16:35:00watusimotonot necessarily
16:36:00watusimotonot necessarily so bad, that is
16:36:00raptor(the separation)
16:36:00watusimotowe'd probably need some sort of standard naming scheme, such as the _server and _client suffixes
16:37:00watusimotoanyway... I stuck a break point on the place where HuntersGameType was instantiated, and it becomes very obvious what is happening
16:37:00watusimotoI started the game, switched to a Nexus game, and looked at the stack trace both times my breakpoint was hit
16:38:00watusimotothe first showed how the server creates the object
16:38:00watusimotothe second shows how the client does it.
16:38:00watusimotoif you do that, I think the coding issues will become fairly clear
16:39:00watusimotowe'd just need to tweak the instantiation methods to pick the _client or _server version of our objects
16:39:00raptoris there code that the server uses that the client doesn'T?
16:39:00watusimotosure
16:39:00watusimotoplenty
16:39:00watusimototons
16:40:00raptori meant in the GameType object
16:40:00watusimotoyes
16:40:00raptorok
16:40:00watusimotosure/plenty/tons
16:40:00kodax Quit (Quit: Sto andando via)
16:40:00raptorthen in my head i though that the client could just extent the server one, but that is wrong..
16:40:00watusimotono; they'd both extend an abstract parent
16:41:00watusimotoand we'd have to do this for everything that extends GameObject
16:43:00watusimotothough at first the TestItem_client and TestItem_server classes could be empty, and all implementation could be done int he parent (TestItem) class
16:43:00watusimotoand we could move implementation to the proper place as we wanted to
16:44:00watusimotoall this is predicated on creating objects on server and replicating them to client, but I don't see why we'd want to do it any other way
16:44:00watusimotook, off to lunch...
16:44:00watusimotoback later
16:48:00watusimoto Quit (Ping timeout: 240 seconds)
17:20:00watusimoto has joined
18:09:00sam686before it took 8 minutes, 31 seconds, compiling with your new ClientGame split was 4 seconds slower.. But this might make it easier for ZAP_DEDICATED
18:09:00raptorreally? that stinks...
18:09:00sam686GameConnection included from 73 files didn't change after GameConnection split, i guess that is because of gameObject.h is including gameConnection.h
18:29:00koda has joined
20:33:00BFLogBot - Commit 41ac86ad2272 | Author: sam8641 | Log: Move some includes and a few functions out of headers
20:34:00sam686now, i got my compiling to be 3 seconds faster then before the gameConnection split.
20:34:00raptorhooray!
20:37:00sam686i will go, will be back in 2 hours.
20:37:00raptorbye
21:24:00watusimoto Quit (Ping timeout: 245 seconds)
22:39:00kodawhat are you hooraying about?
22:41:00raptorfaster build time
22:41:00raptor0.5% faster to be exact :)
22:41:00karamazovapy20% cooler
22:48:00kodai c
23:34:00raptor Quit (Remote host closed the connection)

Index Search ←Prev date Next date→

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