Timestamps are in GMT/BST.
| 00:33:00 | | guest_ has joined |
| 00:33:00 | | guest_ Quit (Client Quit) |
| 00:35:00 | | BFLogBot - Commit d5ab8e3e275a | Author: buckyballreaction | Log: Split Timer class code from header file and create .cpp |
| 01:22:00 | | watusimoto has joined |
| 01:25:00 | | zooomberr has joined |
| 01:26:00 | zooomberr | hey |
| 01:27:00 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 01:30:00 | | zooomberr Quit (Ping timeout: 252 seconds) |
| 01:31:00 | raptor | hey look |
| 01:31:00 | raptor | we have a SharedConstants.h |
| 01:31:00 | raptor | why don't we use that more? |
| 01:49:00 | sam686 | SharedConstants.h is shared by both master and client/server game |
| 01:55:00 | | watusimoto has joined |
| 02:00:00 | sam686 | http://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:00 | sam686 | game.h included from 64 files |
| 02:01:00 | sam686 | gameConnection.h included from 73 files |
| 02:01:00 | sam686 | gameObject.h included from 73 files |
| 02:01:00 | sam686 | gameType.h included from 49 files |
| 02:01:00 | sam686 | gridDB.h included from 73 files |
| 02:01:00 | sam686 | lua.h included from 68 files |
| 02:01:00 | sam686 | ui.h included from 57 files |
| 02:01:00 | sam686 | libsdl/SDL/opengl.h included from 61 files |
| 02:01:00 | watusimoto | that's very interesting! |
| 02:02:00 | raptor | hi |
| 02:02:00 | watusimoto | hi -- we'll see how long until I fall asleep tonight |
| 02:02:00 | watusimoto | I'm very tired |
| 02:07:00 | raptor | hi |
| 02:08:00 | raptor | i'm about to commit a clean-up commit |
| 02:08:00 | sam686 | ok.. |
| 02:08:00 | raptor | where i remove a lot of TNL:: and std:: (much of which i added) |
| 02:08:00 | raptor | soooo... |
| 02:08:00 | raptor | i recommend updating before coding.. |
| 02:09:00 | watusimoto | ok |
| 02:09:00 | raptor | ok pushed |
| 02:09:00 | sam686 | might 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:00 | | BFLogBot - 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:00 | raptor | yeah, the "great forward declaration commit" is in the back of my mind someday... |
| 02:12:00 | sam686 | i 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:00 | raptor | I'm kind of scared to touch the Game classes - i don't have much experience with what goes on in there.... |
| 02:15:00 | raptor | watusimoto: am i supposed to be able to fly through the reactor? |
| 02:15:00 | watusimoto | no |
| 02:16:00 | watusimoto | it should be solid like a wall |
| 02:16:00 | sam686 | when i tested reactor, it sonehow puts invisible wall at (0,0), but it renders at a set location |
| 02:16:00 | watusimoto | interesting |
| 02:16:00 | karamazovapy | hey watusimoto - you see the cool weapon video I found? |
| 02:16:00 | watusimoto | it's a moveObject but shouldb;t be |
| 02:16:00 | watusimoto | I'm going to try fixing it tonight |
| 02:16:00 | watusimoto | @k, no |
| 02:17:00 | karamazovapy | it's a rocket that you can direct around corners - http://www.youtube.com/watch?v=qGGfqiss8s8 |
| 02:18:00 | karamazovapy | watch the red cursor arrow |
| 02:21:00 | | Flynnn Quit (Ping timeout: 240 seconds) |
| 02:25:00 | raptor | watusimoto: what do you think about mines replenishing at a location like health packs? |
| 02:25:00 | karamazovapy | this has come up in the past |
| 02:26:00 | raptor | i thought i'd bring it up... |
| 02:27:00 | raptor | Also, should EnergyITems be first-class citizens in the editor now? |
| 02:29:00 | | Flynnn has joined |
| 02:32:00 | watusimoto | I don't like replenishing mines |
| 02:33:00 | raptor | not even as an option in the editor? |
| 02:33:00 | watusimoto | not sure about energy items -- no one seems too gung ho |
| 02:33:00 | raptor | ok |
| 02:33:00 | watusimoto | I don't know... replenishing mines seem too unminelike |
| 02:34:00 | watusimoto | I could see a mine bot that lays mines repeatedly |
| 02:34:00 | karamazovapy | I think there are mapmakers who would love to have the energy item at hand |
| 02:34:00 | raptor | we could call it 'minelayer' |
| 02:34:00 | watusimoto | I don't feel strongly about the energy item |
| 02:35:00 | karamazovapy | well I dislike it in general, but if it's a real item, it seems silly to exclude it from the editor |
| 02:35:00 | raptor | there are a few more: lineitem, slipzone |
| 02:35:00 | karamazovapy | same story on both of those. if we consider them official, supported features, why aren't they in the editor? |
| 02:38:00 | raptor | am i missing any? |
| 02:38:00 | raptor | maybe they're good as 'bitfighter secrets' |
| 02:39:00 | karamazovapy | ship |
| 02:39:00 | raptor | ahhh, the infamous ship |
| 02:40:00 | karamazovapy | if we're talking about things that can go into a level file without being in the editor |
| 02:42:00 | raptor | also shoud we expose the health/energy item timer in the editor? |
| 02:42:00 | raptor | it's hard coded to 20 seconds, but i know maps that bring them back 1 second |
| 02:43:00 | raptor | sometimes i wonder if map makers spend more time in notepad than in the editor... |
| 02:43:00 | watusimoto | timers should be exposed |
| 02:44:00 | watusimoto | I think there may be some options that shoudl only be available for dungeons, which shuld be their own gametype |
| 02:44:00 | karamazovapy | the health timer is exposed |
| 02:44:00 | karamazovapy | (I believe) |
| 02:44:00 | watusimoto | perhaps energyitems should be one of those |
| 02:44:00 | raptor | sam686: are you around? |
| 02:45:00 | watusimoto | I think in 016 the editor is broken, and nothing is "exposed" |
| 02:45:00 | raptor | ah ok |
| 02:45:00 | sam686 | yes |
| 02:45:00 | raptor | sam686: can you join my editor server? |
| 02:45:00 | raptor | 69.169.... |
| 02:45:00 | raptor | i have to show you something.. |
| 02:45:00 | sam686 | in 016? or 015? |
| 02:45:00 | watusimoto | dungeon mode can be for testing things, and other stuff that just isn't ready for the game (like slip zones) |
| 02:45:00 | raptor | 016 |
| 02:46:00 | sam686 | it is passworded... /setserverpass to clear pass? |
| 02:46:00 | raptor | i think server password is 'test' |
| 02:46:00 | raptor | or 'eatmyshorts' |
| 02:46:00 | sam686 | ok. |
| 02:51:00 | | Zoomber has joined |
| 02:51:00 | Zoomber | raptor: fixed it myself |
| 02:52:00 | raptor | Zoomber: oh good |
| 02:52:00 | Zoomber | i have a question |
| 02:53:00 | Zoomber | i want to use a cron script for another app, so im trying it with bitfighter too |
| 02:53:00 | Zoomber | this is what i have so far |
| 02:53:00 | Zoomber | http://pastebin.com/UFnaiZWe |
| 02:53:00 | sam686 | probably cannot use "inlping" for other apps that are non-TNL. |
| 02:53:00 | raptor | ok |
| 02:54:00 | raptor | screen should be lower-case |
| 02:54:00 | Zoomber | ok |
| 02:54:00 | Zoomber | i used grep| and i get two results, one is the app thats running and one is my search |
| 02:54:00 | raptor | yes |
| 02:55:00 | raptor | use another grep |
| 02:55:00 | raptor | ps ax |grep bitfighterd |grep SCREEN |
| 02:55:00 | Zoomber | grep rootdatadir |
| 02:55:00 | raptor | yes anything to filter it further |
| 02:55:00 | raptor | also... |
| 02:55:00 | raptor | the pid may have a space at the front |
| 02:55:00 | sam686 | keep in mind in crontab, using * */2 * * * will run 60 times in each even-number hour, 0 times in odd-number hour |
| 02:56:00 | Zoomber | ok that worked |
| 02:56:00 | Zoomber | i thought that is every two hours? |
| 02:56:00 | raptor | the first * |
| 02:56:00 | raptor | means every minute |
| 02:56:00 | Zoomber | oh oops |
| 02:57:00 | sam686 | doing 0 */2 * * * will be once every 2 hours |
| 02:57:00 | Zoomber | i need to do |
| 02:57:00 | Zoomber | 1 */2 |
| 02:57:00 | Zoomber | for |
| 02:57:00 | Zoomber | m h |
| 02:57:00 | raptor | yes, choose a minute |
| 02:57:00 | Zoomber | right? |
| 02:57:00 | Zoomber | ok |
| 02:57:00 | Zoomber | ok, so i got the grep to display one output |
| 02:58:00 | Zoomber | now i have the command part |
| 02:58:00 | Zoomber | the if |
| 02:58:00 | raptor | put spaces around the == |
| 02:58:00 | Zoomber | i'm trying to see if grep shows no 0s |
| 02:59:00 | Zoomber | if [ $? == 1 ]; then ? |
| 02:59:00 | raptor | yes |
| 02:59:00 | raptor | you know what $? means? |
| 02:59:00 | Zoomber | im thinking its the variable of what i defined before/ |
| 02:59:00 | Zoomber | ? |
| 03:00:00 | raptor | nope |
| 03:00:00 | Zoomber | what does $? mean? |
| 03:00:00 | raptor | it means 'exit status' |
| 03:00:00 | raptor | of the last finished process |
| 03:00:00 | Zoomber | ooh |
| 03:00:00 | Zoomber | ok |
| 03:00:00 | Zoomber | so grep gives exit statuses depending on the number of results it gets? |
| 03:00:00 | raptor | so, if you want to detect an error, then $? != 0 |
| 03:01:00 | raptor | you can test any command by running 'echo $?' right after it |
| 03:01:00 | Zoomber | i just want to detect if i only get one 0 results, instead of 1 result for the grep search |
| 03:01:00 | raptor | so do a good grep, then echo $? |
| 03:01:00 | raptor | then a bad grep and echo $? to see |
| 03:01:00 | Zoomber | i cant use antyhing mail related.. |
| 03:01:00 | Zoomber | i convinced them to ban port 25 and disable all mailing services to unsuspend my server |
| 03:02:00 | raptor | excellent :) |
| 03:02:00 | raptor | so |
| 03:02:00 | Zoomber | Ooooor, i could think, and use another server.. |
| 03:02:00 | Zoomber | that doesnt have it banned yet..208 |
| 03:02:00 | Zoomber | ok, this would work wouldnt it? ill post the pastebin |
| 03:02:00 | Zoomber | http://pastebin.com/aYwhDx6P |
| 03:03:00 | sam686 | run the sh script directly to see any outputs? then that script can be but in cron.. |
| 03:03:00 | Zoomber | i get two results when searching for bitfighterd, one grep and one normal |
| 03:03:00 | Zoomber | but if server is down and i only get grep, thats one result right? |
| 03:03:00 | raptor | never rely on that |
| 03:03:00 | Zoomber | ok |
| 03:03:00 | raptor | add additional filter |
| 03:03:00 | Zoomber | so i should do 1 and 0 instead? |
| 03:03:00 | Zoomber | instead of 2 and 1 |
| 03:04:00 | sam686 | it will output zero results if nothing is found in the search... |
| 03:04:00 | raptor | just test if pid is empty string |
| 03:04:00 | raptor | here is a great reference: http://tldp.org/LDP/abs/html/refcards.html |
| 03:05:00 | Zoomber | ok raptor, how about this ps ax |grep rootdatadir |grep bitfighterd |
| 03:05:00 | raptor | sure |
| 03:05:00 | Zoomber | ok, will that work then..? |
| 03:05:00 | raptor | i think so |
| 03:06:00 | Zoomber | ok 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:00 | raptor | then test if you get any pid at all: if [ -z $my_pid ] |
| 03:06:00 | raptor | that means is $my_pid empty? |
| 03:06:00 | Zoomber | root@socool:~/sam/tnlping# ./ss.sh |
| 03:06:00 | Zoomber | 1444 ? S 0:00 /root/sam/exe/bitfighterd -IP:ANY:28000 -rootdatadir /root/sam/exe/ |
| 03:06:00 | Zoomber | now lets see if i shutdown my server... |
| 03:07:00 | Zoomber | aaaah, it works |
| 03:07:00 | Zoomber | expect i didnt fix screen so it says Screen: command not found |
| 03:07:00 | sam686 | lowercase s in screen? |
| 03:08:00 | Zoomber | yes |
| 03:08:00 | Zoomber | must be lowercase |
| 03:09:00 | Zoomber | does -r do the same thing as -rootdatadir? |
| 03:10:00 | sam686 | for bitfighter command? -r is not defined or programmed to be -rootdatadir |
| 03:10:00 | Zoomber | ok |
| 03:10:00 | Zoomber | raptor: it works! |
| 03:11:00 | Zoomber | just had to make a few edits |
| 03:11:00 | Zoomber | heres the final working version |
| 03:11:00 | Zoomber | http://pastebin.com/mEPYpsDL |
| 03:11:00 | raptor | oh good |
| 03:11:00 | Zoomber | actually, it seems like its more efficient to use this than tnlping..but of course tnlping will be more accurate |
| 03:12:00 | Zoomber | as, the app could be up, but the server could be under too much load and not responding |
| 03:12:00 | Zoomber | or needs to be restarted for some reason |
| 03:12:00 | Zoomber | tnlping can truley test if its there |
| 03:12:00 | raptor | if you want to suppress all output of a specific script then add: '&> /dev/null' to the end of the command |
| 03:12:00 | raptor | ss.sh &> /dev/null |
| 03:14:00 | Zoomber | ok |
| 03:16:00 | Zoomber | hey raptor: neat ide |
| 03:16:00 | Zoomber | idea |
| 03:16:00 | Zoomber | i can make a server-status icon |
| 03:16:00 | Zoomber | is there a command to make an image.png file un=readable by html web viewers? |
| 03:16:00 | Zoomber | or www web users |
| 03:16:00 | Zoomber | can i chmod it to do that? |
| 03:17:00 | raptor | you can make it unreadable by everyone my removing the read flag on the file |
| 03:17:00 | raptor | chmod -r file.png |
| 03:17:00 | raptor | even yourself! |
| 03:17:00 | Zoomber | ok |
| 03:17:00 | Zoomber | and then if i do an "else |
| 03:17:00 | Zoomber | is there a command to add read flag? |
| 03:17:00 | Zoomber | or is that the same command? |
| 03:17:00 | raptor | chmod +r |
| 03:18:00 | raptor | but it's best to just move the file out of the web folder |
| 03:18:00 | Zoomber | haha perfect |
| 03:18:00 | Zoomber | i guess i can do that too |
| 03:18:00 | Zoomber | or i can do mvdir |
| 03:18:00 | Zoomber | or not mvdir |
| 03:18:00 | Zoomber | whats the command |
| 03:18:00 | Zoomber | i forgot it |
| 03:19:00 | Zoomber | but its the command to change the name of a file |
| 03:19:00 | Zoomber | oh its just mv right? |
| 03:20:00 | Zoomber | ok, found it, how about this? |
| 03:21:00 | Zoomber | raptor: i think im actually having fun with this http://pastebin.com/Kaph5u5d |
| 03:21:00 | Zoomber | i forgot the fi at the bottom, but oh well |
| 03:22:00 | Zoomber | this 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:00 | | Zoomber Quit (Quit: Zoomber) |
| 03:26:00 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 03:56:00 | watusimoto | argh! |
| 03:56:00 | watusimoto | can't link! |
| 03:56:00 | watusimoto | Timer problems! |
| 04:01:00 | sam686 | include Timer.cpp file into project? |
| 04:02:00 | watusimoto | it's already there |
| 04:02:00 | watusimoto | it's new? |
| 04:02:00 | sam686 | it compiles ok for me.. |
| 04:02:00 | sam686 | it is raptor's idea to move timer to Timer.cpp |
| 04:03:00 | watusimoto | it's probably a good move |
| 04:03:00 | watusimoto | or at least not a bad one |
| 04:15:00 | raptor | what did i break? |
| 04:16:00 | watusimoto | interesting |
| 04:16:00 | watusimoto | weird |
| 04:16:00 | watusimoto | VC++ thinks Timer.cpp is a header |
| 04:16:00 | raptor | ohhh.. |
| 04:16:00 | raptor | that is my fault |
| 04:16:00 | raptor | i must have updated your project file wrong |
| 04:16:00 | watusimoto | well... not sure how that happened |
| 04:17:00 | watusimoto | I didn't even know you could override the file extension until just now |
| 04:17:00 | raptor | well, i just edited the xml.. |
| 04:17:00 | watusimoto | anyway... telling it the cpp file was in fact a cpp allowed it to commpile and link |
| 04:17:00 | raptor | excellent |
| 04:17:00 | watusimoto | so the problem is gone |
| 04:17:00 | raptor | sorry about that |
| 04:17:00 | watusimoto | no worries |
| 04:18:00 | watusimoto | just... weird |
| 04:18:00 | watusimoto | have I ever mentioned I hate xml? |
| 04:18:00 | watusimoto | :-) |
| 04:18:00 | watusimoto | the new version of chrome contains native client in the main release |
| 04:18:00 | raptor | yes |
| 04:18:00 | raptor | exploits for everyone! |
| 04:19:00 | watusimoto | at some point, I'm hoping we can make another pass at compiling BF for NaCl |
| 04:19:00 | raptor | seriously? |
| 04:19:00 | watusimoto | then it could be run as a browser game |
| 04:19:00 | raptor | (when was the first time?) |
| 04:19:00 | watusimoto | I've looked into it before and was discouraged |
| 04:19:00 | watusimoto | partially because of GLUT issues |
| 04:19:00 | watusimoto | yes, seriously |
| 04:19:00 | raptor | GLUT is bye bye |
| 04:19:00 | raptor | yay |
| 04:19:00 | watusimoto | I thin kit would be awesome if we could get it to work |
| 04:20:00 | watusimoto | just tossing that out there |
| 04:20:00 | raptor | then we can crash people's browsers! |
| 04:20:00 | watusimoto | I'm not ready to spend much time on it myself, yet |
| 04:20:00 | watusimoto | maybe it's actually secure...??? |
| 04:20:00 | raptor | ha! |
| 04:21:00 | watusimoto | maybe the devs at google know what they're doing??? |
| 04:21:00 | raptor | i don't know if that'll ever be the issue with giving the web hardware video access... |
| 04:21:00 | | Flynnn has joined |
| 04:21:00 | raptor | be the case, i mean |
| 04:21:00 | watusimoto | anyway... if it worked, it might attract new players |
| 04:22:00 | watusimoto | of course, I think the same about BSD, and I've never pursued that either |
| 04:22:00 | watusimoto | and that might be easier |
| 04:22:00 | raptor | i can spin up a BSD system pretty quickly to test... |
| 04:22:00 | raptor | i'm interested too.. |
| 04:23:00 | raptor | considering it does run on MacOS |
| 04:23:00 | watusimoto | I figure there's not many games for bsd |
| 04:23:00 | watusimoto | but... do we need another platform to maintain? |
| 04:23:00 | raptor | it's more like they have limited packagers, i think |
| 04:24:00 | watusimoto | ugh... packaging |
| 04:24:00 | raptor | yeah.... |
| 04:25:00 | raptor | so.. do you know the difference between openGL and openGL ES? |
| 04:26:00 | raptor | because if we want to go browser/mobile based, we'll have to make sure we are using the GLES subset, i think |
| 04:27:00 | watusimoto | I've read the differences |
| 04:27:00 | watusimoto | we might try to move gradually toward ES |
| 04:27:00 | watusimoto | if there's no performance downside |
| 04:28:00 | raptor | no floats? |
| 04:28:00 | watusimoto | we could probably work around that |
| 04:29:00 | watusimoto | I assume you mean for I/O stuff, not no floats anywhere |
| 04:29:00 | raptor | wait what? |
| 04:29:00 | raptor | trouble parsing that last sentence fragment |
| 04:29:00 | watusimoto | you mean no floats in the UI code |
| 04:30:00 | watusimoto | you don;t mean no floats anwyere in the app, do you? |
| 04:30:00 | raptor | i mean, gl es means no floats, correct? |
| 04:30:00 | watusimoto | but we could still measure health as a float |
| 04:30:00 | raptor | yes |
| 04:31:00 | raptor | ok i think we're on the same page now.. |
| 04:31:00 | watusimoto | we just need to specify SDL stuff as ints |
| 04:31:00 | watusimoto | ok, good |
| 04:31:00 | watusimoto | so I think it might be doable |
| 04:34:00 | raptor | we have no way of testing it though |
| 04:34:00 | raptor | we'd need a system with only GLES supported |
| 04:34:00 | watusimoto | yes |
| 04:34:00 | sam686 | test with some virtual machine? if available... |
| 04:34:00 | watusimoto | or compile against gles libraries? |
| 04:35:00 | sam686 | my computer is probably too slow for some of virtual machines |
| 04:36:00 | raptor | yeah, i'd probably have to swap out the opengl headers with gles |
| 04:38:00 | raptor | well, something to think about anyways.. |
| 04:39:00 | watusimoto | exactly |
| 04:39:00 | watusimoto | worth learning about |
| 04:40:00 | raptor | good info: http://wiki.maemo.org/OpenGL-ES#Porting_between_OpenGL_variants |
| 04:41:00 | watusimoto | always johnny on the spot with the reference link |
| 04:41:00 | watusimoto | so... port to OGL2.0, then to ES? |
| 04:42:00 | watusimoto | seems too easy |
| 04:42:00 | raptor | that's my thinking |
| 04:42:00 | watusimoto | maybe es2.0 has floats and implements fns unsupported in 1.0? |
| 04:42:00 | watusimoto | e.g. glBegin |
| 04:42:00 | raptor | not sure |
| 04:43:00 | raptor | does GL 2.0 run on windowx XP? |
| 04:44:00 | raptor | i guess it'd be up to the driver installed... |
| 04:44:00 | watusimoto | OpenGL 1.0 applications work with OpenGL 2.0 but not vice versa |
| 04:44:00 | raptor | but i'm curious abou tthe built in software render (i fthere is one) |
| 04:44:00 | watusimoto | so we're set that far |
| 04:45:00 | sam686 | opengl 2.0 probably hardware hardware support... which probably most windows XP's hardware is probably not openal 2.0 or later' |
| 04:45:00 | raptor | yay for #ifdef |
| 04:45:00 | watusimoto | Most 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:00 | watusimoto | equire a major rewrite of the application's graphics code. |
| 04:45:00 | raptor | i guess |
| 04:45:00 | watusimoto | still trying to understand that |
| 04:45:00 | watusimoto | so we use the fixed function pipeline |
| 04:45:00 | raptor | we don't use shaders, though, do we? |
| 04:46:00 | watusimoto | no |
| 04:46:00 | sam686 | my Radeon 9200 only have opengl 1.3 |
| 04:46:00 | raptor | :( |
| 04:46:00 | raptor | yeah, we'd have to abstract a lot of the drawing functions and use ifdefs |
| 04:46:00 | raptor | because i bet XP users would be alienated |
| 04:46:00 | watusimoto | but |
| 04:46:00 | watusimoto | in OpenGL ES 2.0 the fixed function pipeline has been completely removed |
| 04:46:00 | watusimoto | but we use that |
| 04:46:00 | raptor | yikes |
| 04:47:00 | watusimoto | so I guess we're in for a lot of work |
| 04:47:00 | raptor | yep |
| 04:47:00 | watusimoto | too late for me to fully comprehend this |
| 04:47:00 | sam686 | and, my laptop with intel graphics Mobile 945 |
| 04:47:00 | sam686 | Family have opengl 1.4 |
| 04:48:00 | raptor | oh yes! |
| 04:48:00 | raptor | you're ahead of us now |
| 04:49:00 | raptor | speaking of porting... windows 64bit anyone? |
| 04:49:00 | watusimoto | uh....sure |
| 04:49:00 | raptor | linux/mac is already done! |
| 04:49:00 | watusimoto | why? |
| 04:49:00 | raptor | i don't know... because 32bit is dying? |
| 04:50:00 | watusimoto | so we need to modify the gameObject hiearchy |
| 04:50:00 | sam686 | my computer is 32-bit slow and old compared to yours.. |
| 04:50:00 | watusimoto | we need a class of items that can be destroyed but never move |
| 04:50:00 | raptor | MoveObject not quite the right fit |
| 04:51:00 | watusimoto | nope |
| 04:51:00 | watusimoto | but that has all the other stuff we need |
| 04:51:00 | watusimoto | we need a moveobject and a nomoveobject |
| 04:51:00 | watusimoto | or something like that |
| 04:51:00 | raptor | DamageableObject |
| 04:52:00 | raptor | ^^ create something like that, then properly extend both it and MoveObject, perhaps? |
| 04:52:00 | watusimoto | walls are just gameObjects, I think |
| 04:52:00 | watusimoto | well, repairs are moveObjects, bt are not damageable |
| 04:53:00 | raptor | when i converted the object mask i wondered why repair/energy was moveable |
| 04:53:00 | watusimoto | moveObject is pretty far up the hiearchy... |
| 04:53:00 | watusimoto | probably because they do evverything but move |
| 04:54:00 | raptor | so maybe we need to rename MoveObject and create a better heirarchY/? |
| 04:55:00 | sam686 | FlagItem is MoveObject, and flag does move arounf in nexus and rabbit. |
| 04:55:00 | watusimoto | but moveObject is all about stuff that moves |
| 04:55:00 | watusimoto | flags move in all games, when mounted to ships |
| 04:56:00 | watusimoto | a moveObject is just a gameObject that moves |
| 04:56:00 | watusimoto | that's probably ok |
| 04:56:00 | sam686 | some things like PickupItem (RepairItem and EnergyItem) does not move. |
| 04:57:00 | watusimoto | maybe we need an item that doesn't move |
| 04:57:00 | watusimoto | and pickups could inherit from that |
| 04:57:00 | watusimoto | maybe we need a gameItem and a moveItem |
| 04:57:00 | watusimoto | or fixedItem |
| 04:57:00 | watusimoto | or something |
| 05:00:00 | watusimoto | ok, I'm renaming Item to MoveItem at least for the moment, to make things clearer |
| 05:00:00 | raptor | i like clarity |
| 05:00:00 | raptor | andFavorLongVariableNamesForClarity |
| 05:01:00 | watusimoto | that clarifies that this is probably wrong: |
| 05:01:00 | watusimoto | class EditorItem : public MoveItem, public EditorPointObject |
| 05:02:00 | watusimoto | MoveItem should be an Editoritem, not the other way round |
| 05:02:00 | raptor | ha! |
| 05:02:00 | raptor | froot loop |
| 05:02:00 | watusimoto | so if I fix that, it may give the reactors a better home |
| 05:02:00 | watusimoto | they would become editorItems, but not moveItems |
| 05:02:00 | watusimoto | as would pickupItems |
| 05:03:00 | watusimoto | maybe we can finally fix this |
| 05:04:00 | raptor | go for it! |
| 05:06:00 | sam686 | i can try moving ClientGame to ClientGame.h, then later ClientGame.cpp |
| 05:09:00 | watusimoto | I'm against it; Raptor, what do you think? |
| 05:09:00 | watusimoto | I don't have any good reasons |
| 05:09:00 | raptor | i am for moving code from headers to cpp |
| 05:10:00 | raptor | reduce compile time some |
| 05:10:00 | watusimoto | that's not what he's proposing |
| 05:10:00 | watusimoto | is it? |
| 05:10:00 | sam686 | compiling speed os very slow for me.. |
| 05:10:00 | watusimoto | me too! |
| 05:10:00 | watusimoto | maybe I misunderstood |
| 05:10:00 | watusimoto | you want to break game into 3 files? |
| 05:10:00 | sam686 | ClientGame needs GameConnection, while ServerGame in header does not need GameConnection |
| 05:10:00 | watusimoto | right |
| 05:11:00 | watusimoto | ah, I see |
| 05:11:00 | watusimoto | so break it up and fewer includes |
| 05:11:00 | sam686 | ClientGame recently might needs some of UI headers.. |
| 05:11:00 | watusimoto | I'll just be sad to have Game.cpp in more places |
| 05:11:00 | watusimoto | serverGame needs no UI headers |
| 05:11:00 | watusimoto | or at least it should not |
| 05:11:00 | raptor | ok, i the header actually looks devoid of implementation.. |
| 05:11:00 | raptor | which is good |
| 05:13:00 | sam686 | i am doing ClientGame.h for now, i could keep ClientGame in game.cpp or later move ClientGame to ClientGame.cpp |
| 05:13:00 | watusimoto | sam, I rescind my mild opposition |
| 05:14:00 | watusimoto | if we have clientgame.h, we should have clientgame.cpp |
| 05:14:00 | sam686 | ok |
| 05:14:00 | sam686 | ClientGame code size is taking up almost half of game.cpp |
| 05:15:00 | watusimoto | ok, break it up |
| 05:15:00 | watusimoto | I just like things where I know where to find them |
| 05:15:00 | sam686 | ok |
| 05:15:00 | watusimoto | I must learn to adapt |
| 05:16:00 | raptor | should we follow CamelCase class names with Capitalized first letter? |
| 05:16:00 | raptor | i've been doing that, but not sure if you wanted to follow a convention.. |
| 05:16:00 | sam686 | that may be important for linux case sensitive filename.. |
| 05:17:00 | raptor | yes please keep us lowly case-sensitive OS users in mind |
| 05:17:00 | raptor | :) |
| 05:17:00 | sam686 | #include "gAmE.cpp" may work in windows but not linux |
| 05:18:00 | sam686 | ClientGame.h or clientGame.h ? capitalize forst letter? |
| 05:18:00 | sam686 | capitalize first letter? |
| 05:19:00 | raptor | that was my question - i have been capitalizing first letter |
| 05:19:00 | raptor | Timer |
| 05:19:00 | raptor | Event |
| 05:19:00 | raptor | etc. |
| 05:19:00 | raptor | it's the c++ way! |
| 05:19:00 | raptor | (I think) |
| 05:19:00 | sam686 | ok, capitalize first letter.. |
| 05:25:00 | raptor | well good night for me |
| 05:26:00 | raptor | hasta tomorrow |
| 05:26:00 | | raptor Quit (Remote host closed the connection) |
| 05:37:00 | watusimoto | yes, ClientGame.cpp |
| 05:37:00 | watusimoto | ok, I did my push, will continue work tomorrow |
| 05:37:00 | watusimoto | good night! |
| 05:38:00 | sam686 | ok. |
| 05:38:00 | sam686 | bye.. |
| 05:38:00 | watusimoto | bye |
| 05:40:00 | | BFLogBot - Commit e2c0a92a474d | Author: watusim...@bitfighter.org | Log: whitespace, comments |
| 05:40:00 | | BFLogBot - Commit 031ebda1553d | Author: watusim...@bitfighter.org | Log: Rename Item to MoveItem |
| 06:37:00 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 07:06:00 | | BFLogBot - Commit 67fde022d55a | Author: sam8641 | Log: Move ClientGame to ClientGame.cpp and ClientGame.h |
| 08:12:00 | | kodax has joined |
| 08:30:00 | | Flynnn Quit (Quit: Leaving) |
| 09:00:00 | | LordDVG has joined |
| 09:00:00 | | LordDVG Quit (Changing host) |
| 09:00:00 | | LordDVG has joined |
| 12:32:00 | | LordDVG Quit (Read error: Connection reset by peer) |
| 12:54:00 | | watusimoto has joined |
| 13:21:00 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 13:55:00 | | watusimoto has joined |
| 14:02:00 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 14:49:00 | | raptor has joined |
| 14:49:00 | | ChanServ sets mode +o raptor |
| 14:55:00 | | watusimoto has joined |
| 15:00:00 | raptor | good morning! |
| 15:05:00 | raptor | sam686: was compiling with your new ClientGame split faster or slower? |
| 15:35:00 | | Flynnn has joined |
| 16:00:00 | watusimoto | hi |
| 16:02:00 | raptor | hi |
| 16:29:00 | watusimoto | I want to get rid of sam's new #ifndefs in the GameType code |
| 16:30:00 | watusimoto | they are only needed because of renderInterfaceOverlay |
| 16:30:00 | watusimoto | so I'm trying to figure out how to move that out of GameType, while still maintining the class hierarchy |
| 16:30:00 | raptor | yes! |
| 16:31:00 | raptor | i was curious about those ifdefs around the render methods.. |
| 16:31:00 | watusimoto | I'm thinking of creating a set of GameTypeRenderer classes that mirror the GameType hierarchy |
| 16:32:00 | watusimoto | but I can't quite wrap my head around it enough to know if it will work |
| 16:32:00 | watusimoto | we obviously need some way to do GameType specific rendering |
| 16:32:00 | watusimoto | but we don't want that code on the server |
| 16:32:00 | watusimoto | and we don't want to ifdef it out |
| 16:33:00 | raptor | maybe a child class that extends GameType, then have ClientGame extend that? |
| 16:33:00 | watusimoto | so... that's the problem of the moment |
| 16:33:00 | watusimoto | maybe, except we have to instantiate the same GameType class on client and server |
| 16:33:00 | watusimoto | the way the networking is written, that's a constraint |
| 16:34:00 | watusimoto | because GameType classes are game objects |
| 16:34:00 | raptor | so maybe CTFGame and CTFGameRender |
| 16:34:00 | watusimoto | we 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:00 | watusimoto | that would solve the problem |
| 16:35:00 | watusimoto | and both TestItem_client and TestItem_server would inherit from TestItem |
| 16:35:00 | watusimoto | that would probably be the purest solution |
| 16:35:00 | watusimoto | we'd end up with tons more classes |
| 16:35:00 | raptor | yeah... |
| 16:35:00 | raptor | more modular |
| 16:35:00 | watusimoto | but the separation between client and server would be total |
| 16:35:00 | raptor | but is that bad? |
| 16:35:00 | raptor | that would be great! |
| 16:35:00 | watusimoto | not necessarily |
| 16:36:00 | watusimoto | not necessarily so bad, that is |
| 16:36:00 | raptor | (the separation) |
| 16:36:00 | watusimoto | we'd probably need some sort of standard naming scheme, such as the _server and _client suffixes |
| 16:37:00 | watusimoto | anyway... I stuck a break point on the place where HuntersGameType was instantiated, and it becomes very obvious what is happening |
| 16:37:00 | watusimoto | I started the game, switched to a Nexus game, and looked at the stack trace both times my breakpoint was hit |
| 16:38:00 | watusimoto | the first showed how the server creates the object |
| 16:38:00 | watusimoto | the second shows how the client does it. |
| 16:38:00 | watusimoto | if you do that, I think the coding issues will become fairly clear |
| 16:39:00 | watusimoto | we'd just need to tweak the instantiation methods to pick the _client or _server version of our objects |
| 16:39:00 | raptor | is there code that the server uses that the client doesn'T? |
| 16:39:00 | watusimoto | sure |
| 16:39:00 | watusimoto | plenty |
| 16:39:00 | watusimoto | tons |
| 16:40:00 | raptor | i meant in the GameType object |
| 16:40:00 | watusimoto | yes |
| 16:40:00 | raptor | ok |
| 16:40:00 | watusimoto | sure/plenty/tons |
| 16:40:00 | | kodax Quit (Quit: Sto andando via) |
| 16:40:00 | raptor | then in my head i though that the client could just extent the server one, but that is wrong.. |
| 16:40:00 | watusimoto | no; they'd both extend an abstract parent |
| 16:41:00 | watusimoto | and we'd have to do this for everything that extends GameObject |
| 16:43:00 | watusimoto | though 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:00 | watusimoto | and we could move implementation to the proper place as we wanted to |
| 16:44:00 | watusimoto | all 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:00 | watusimoto | ok, off to lunch... |
| 16:44:00 | watusimoto | back later |
| 16:48:00 | | watusimoto Quit (Ping timeout: 240 seconds) |
| 17:20:00 | | watusimoto has joined |
| 18:09:00 | sam686 | before 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:00 | raptor | really? that stinks... |
| 18:09:00 | sam686 | GameConnection included from 73 files didn't change after GameConnection split, i guess that is because of gameObject.h is including gameConnection.h |
| 18:29:00 | | koda has joined |
| 20:33:00 | | BFLogBot - Commit 41ac86ad2272 | Author: sam8641 | Log: Move some includes and a few functions out of headers |
| 20:34:00 | sam686 | now, i got my compiling to be 3 seconds faster then before the gameConnection split. |
| 20:34:00 | raptor | hooray! |
| 20:37:00 | sam686 | i will go, will be back in 2 hours. |
| 20:37:00 | raptor | bye |
| 21:24:00 | | watusimoto Quit (Ping timeout: 245 seconds) |
| 22:39:00 | koda | what are you hooraying about? |
| 22:41:00 | raptor | faster build time |
| 22:41:00 | raptor | 0.5% faster to be exact :) |
| 22:41:00 | karamazovapy | 20% cooler |
| 22:48:00 | koda | i c |
| 23:34:00 | | raptor Quit (Remote host closed the connection) |