00:01:20 | kaen | dude |
00:01:22 | kaen | get this |
00:01:35 | kaen | I just logged into my google account on this thing |
00:01:39 | kaen | it read my emails apparently |
00:01:40 | kaen | and |
00:01:42 | kaen | no joke |
00:01:56 | kaen | just reminded me that my favorite coffee shop closes in an hour |
00:02:12 | raptor | hahaha |
00:02:27 | kaen | I am stunned right now |
00:03:28 | kaen | or maybe it was just from my search history |
00:03:44 | kaen | but this little panel came up that said "dream acres espresso closes in one hour" |
00:05:16 | raptor | phillreeder: new tasks up |
00:07:42 | raptor | Watusimoto: on another note |
00:08:03 | raptor | many people have been trying to compile bitfighter on cheap opengl hardware |
00:08:37 | raptor | whether its an raspberry pi or some arm or x86 based tablet |
00:09:02 | raptor | and people are having performance problems because we chose to have the 'linesmooth' option permanently on |
00:09:10 | raptor | so... should we add back the option? |
00:09:43 | raptor | and i think these type of users will increase |
00:10:02 | kaen | I think so |
00:11:09 | Watusimoto | sure -- 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:23 | Watusimoto | but if the choice is that or nothing... |
00:11:33 | Watusimoto | are you talking about an INI option or a build option? |
00:11:57 | raptor | ini or menu option |
00:12:09 | sam686 | ini option for quick on/off without recompile |
00:12:16 | raptor | so these folks don't have to compile themselves with a patch |
00:12:25 | raptor | or special build flag.. |
00:13:02 | kaen | ini sounds ok |
00:13:03 | sam686 | maybe even default line smooth to OFF when it detects vender string as one of software renderer |
00:13:16 | sam686 | there is some way to get opengl vendor string |
00:13:38 | kaen | I like that idea |
00:13:44 | kaen | just look for the word "software" |
00:14:01 | kaen | although, Debian Sid just says "Gallium LLVM Pipe" or something |
00:14:15 | sam686 | or look for the word "microsoft" in case of windows crappy software opengl 1.1 |
00:14:49 | raptor | yeah - 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:10 | kaen | I feel like there should be |
00:16:14 | raptor | heh: http://stackoverflow.com/questions/3235225/how-to-tell-whether-an-opengl-context-is-hardware-accelerated |
00:16:24 | Watusimoto | definitley not a menu option |
00:17:04 | raptor | ok, INI it is! |
00:17:45 | kaen | SDL_GetVideoInfo( )->hw_available |
00:17:49 | kaen | is all I'm finding |
00:17:55 | kaen | no word on how authoritative it is |
00:18:26 | kaen | sdl docs say: |
00:18:29 | kaen | "Is it possible to create hardware surfaces ?" |
00:18:39 | sam686 | it 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:06 | kaen | docs specifically state hardware surfaces |
00:19:11 | raptor | i wouldn't trust that in SDL... |
00:19:13 | kaen | but this is unfamiliar territory for me |
00:20:03 | raptor | also 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:08 | kaen | yeah me either |
00:20:08 | kaen | a much more robust system, I think |
00:20:09 | kaen | would 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:13 | sam686 | I have written one SDL window without opengl (my fast intel SSE2 3d software renderer that is no opengl at all) |
00:20:31 | sam686 | not as fast as hardware thats for sure.. |
00:20:52 | sam686 | And I only did software 3D polygons, didn't do dots or lines.. |
00:26:13 | | Darrel Quit (Quit: IRC client killed.) |
00:32:25 | sam686 | The problem with bitfighter -dedicated (levelgen: blizzard control) is in TextItem::recalcTextSize |
00:32:56 | sam686 | if mSize is 0 on unpackUpdate, text size will be calculated client side |
00:33:18 | raptor | sam686: kaen already fixed it via another means |
00:34:01 | Nothing_Much | Hey guys, I'll be ready tonight this time for game night @ 10pm est |
00:34:12 | sam686 | its like that on dedicated build, cause we not including font.cpp stuff in dedicated. |
00:58:01 | | Skybax has joined |
00:59:20 | raptor | i still don't think I know exactly what pysoy is after reading the homepage... |
01:02:09 | | Kiryx Quit (Ping timeout: 272 seconds) |
01:05:19 | Watusimoto | it's a kind of edamame |
01:06:19 | raptor | my french boss says everything is edamame |
01:09:31 | | Nothing_Much Quit (Remote host closed the connection) |
01:09:51 | | Nothing_Much has joined |
01:10:16 | Watusimoto | Bedtime... sigh... another evening with no fix for the bug I've been working on for weeks... |
01:10:36 | Watusimoto | but maybe did do a little groundwork? |
01:10:41 | | BFLogBot Commit: 64fb2150549a | Author: watusimoto | Message: Remove unneeded includes |
01:10:42 | | BFLogBot Commit: e1692497341a | Author: watusimoto | Message: Comment |
01:10:44 | | BFLogBot Commit: 390687fae1b0 | Author: watusimoto | Message: Use isCurrentUI<> |
01:10:45 | | BFLogBot Commit: 3198ba4d44c3 | Author: watusimoto | Message: Try to avoid instantiating UIs (especially UIGame) before they are actually needed |
01:10:47 | | BFLogBot Commit: 46dff91ca42a | Author: watusimoto | Message: Make local static |
01:10:49 | | BFLogBot Commit: 4d6bd7ed7956 | Author: watusimoto | Message: Do less during idle when we're not in a game |
01:10:50 | | BFLogBot Commit: bc7ce5072d31 | Author: watusimoto | Message: Merge |
01:10:51 | raptor | that's Ok... I'm shooting for friday release and don't mind if it doesn't get in... |
01:11:01 | raptor | !! i thought you said no refactors! |
01:11:14 | Watusimoto | what refactor? |
01:11:32 | Watusimoto | this is pretty minor stuff |
01:11:38 | raptor | nothing.. nevermind... i saw the several commits and feared for the worst :) |
01:11:42 | Watusimoto | :-) |
01:11:54 | sam686 | new problem to test, change level in a middle of engineering teleporter, I can't fire |
01:12:01 | sam686 | I was on 018a.. |
01:12:58 | Watusimoto | We 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:18 | | Skybax Quit (Read error: Connection reset by peer) |
01:15:28 | Watusimoto | isCurrentUI<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:27 | | Skybax has joined |
01:23:41 | sam686 | Someone forgot to put something in UIGame.cpp: #include <math.h> |
01:24:37 | sam686 | and the problem still exists: pressing ESC while connecting to server and going to server list, gives me "Pushing duplicate UI into mPrevUIs" |
01:27:10 | | phillreeder Quit (Ping timeout: 246 seconds) |
01:27:56 | Watusimoto | I 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:06 | | phillreeder has joined |
01:31:18 | Nothing_Much | 1:30 left! |
01:32:38 | | Watusimoto Quit (Ping timeout: 264 seconds) |
01:44:02 | phillreeder | how can I update my clone on google code to use the latest version? |
01:48:30 | | amgine has joined |
01:48:41 | amgine | sup |
01:48:54 | | amgine is now known as Guest29295 |
01:48:54 | Guest29295 | did you ever fix the nsap[ problem i found in the 19 beta |
01:49:03 | | Guest29295 is now known as amgine123 |
01:49:24 | amgine123 | where objects free moved snap to there oringal locations |
01:54:22 | Nothing_Much | phillreeder: I think it's hg up |
01:58:22 | Nothing_Much | 1 hour guys! |
01:58:49 | raptor | phillreeder: you can pull from the main clone like so: hg pull -u https://code.google.com/p/bitfighter/ |
01:59:09 | raptor | but you'll probably have multiple branches (which is OK) |
01:59:39 | raptor | just 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:56 | amgine123 | ratpro was teh snap bug fixed |
02:10:02 | raptor | hi amgine123, which bug? |
02:10:32 | raptor | (explain it again please) |
02:15:04 | | BFLogBot Commit: 7496748db15c | Author: buckyballreaction | Message: Fix compiling |
02:39:27 | amgine123 | if 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:39 | amgine123 | intead of the new one |
02:42:20 | raptor | sam686: did you test that engineer problem in 019? |
02:42:47 | sam686 | not yet.. |
02:45:50 | | Skybax_ has joined |
02:45:52 | Nothing_Much | 15 min! |
02:46:14 | raptor | it seems to me that Nothing_Much wants to play tonight... |
02:46:24 | | Skybax Quit (Ping timeout: 265 seconds) |
02:46:35 | Nothing_Much | You guys busy? |
02:46:43 | raptor | Nothing_Much: you'd better join now anyways - ther's 5 people playing now |
02:46:49 | Nothing_Much | oh cool! |
02:46:54 | Nothing_Much | lemme just finish one thing |
02:47:08 | phillreeder | raptor do you need me to keep my clone on google code? |
02:47:33 | raptor | let me see if we still need it... |
02:47:43 | phillreeder | weird stuff happened when I branched and I want to recreate it |
02:48:01 | raptor | you can just creat another clone |
02:48:32 | raptor | i think we want the old around to pull code later |
02:48:55 | raptor | i have 2 or 3 clones myself :) |
02:49:45 | phillreeder | mmkm I'll let it sit idle |
03:05:58 | sam686 | I guess /lag 100 makes people think its running on vps, but my sam test is really not |
03:06:09 | raptor | haha |
03:06:56 | | Skybax_ is now known as Skybax |
03:11:44 | Nothing_Much | nicely done whoever was in the server! |
03:11:55 | sam686 | I was in |
03:12:20 | Nothing_Much | good job sam686 :) |
03:13:58 | sam686 | yes 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:08 | sam686 | happens on 019 too |
03:14:44 | sam686 | the strange part if energy being reduced for nothing trying to fire bouncer in a can't fire mode |
03:15:25 | sam686 | and the shield constantly blinks too while out of energy |
03:15:38 | sam686 | but only in can't fire mode |
03:16:17 | Nothing_Much | shield blinked when I was using it for some reason sometimes |
03:18:20 | sam686 | none 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:42 | phillreeder | what's the ai class |
03:25:57 | raptor | all ai is in the bot script itself |
03:26:01 | | Canseco has joined |
03:26:06 | raptor | take a look at resources/robots/s_bot.bot |
03:26:19 | raptor | *most* ai, i should say |
03:26:35 | raptor | pathfinding is taken care of in the c++ |
03:29:14 | raptor | back later |
03:29:22 | | raptor Quit () |
03:30:25 | | Platskies has joined |
03:35:54 | | BFLogBot Commit: 5745edbab20f | Author: buckyballreaction | Message: Remove dangling glPopMatrix |
03:36:10 | | Platskies Quit (Quit: Leaving) |
03:39:15 | | Canseco Quit (Remote host closed the connection) |
04:05:56 | amgine123 | ratpro did you see my bug |
04:09:32 | | Little_Apple has joined |
04:09:50 | | phillreeder Quit (Ping timeout: 264 seconds) |
04:14:55 | | noneofmynickswor has joined |
04:17:58 | | kumool Quit (Ping timeout: 246 seconds) |
04:22:27 | | Flynnn has joined |
04:24:58 | | noneofmynickswor Quit (Ping timeout: 246 seconds) |
04:25:16 | | Flynnn has left #bitfighter |
04:33:30 | | Skybax_ has joined |
04:34:53 | | noneofmynickswor has joined |
04:36:02 | | kumool has joined |
04:36:10 | | Skybax Quit (Ping timeout: 246 seconds) |
04:39:36 | | noneofmynickswor Quit (Ping timeout: 260 seconds) |
04:44:44 | | Skybax has joined |
04:46:35 | | Little_Apple Quit (Ping timeout: 250 seconds) |
04:47:02 | | Skybax_ Quit (Ping timeout: 264 seconds) |
05:44:05 | | Skybax Quit (Read error: Connection reset by peer) |
05:49:47 | | Platskies has joined |
05:55:15 | | raptor has joined |
05:55:15 | | ChanServ sets mode +o |
05:55:22 | raptor | hello again |
05:56:00 | raptor | amgine123: with your bug, did you also move the turrets? or just the walls? |
05:56:22 | amgine123 | sellected all |
05:56:24 | amgine123 | and moved |
05:56:28 | amgine123 | gtg now goodnight |
05:57:42 | raptor | good night |
05:57:44 | raptor | and ha! |
05:57:46 | raptor | it is a bug |
05:57:49 | raptor | good find |
05:58:00 | raptor | man... now i have to look through editor code |
06:00:41 | | amgine123 Quit (Ping timeout: 250 seconds) |
06:00:55 | kaen | don't look directly into its eyes! |
06:01:00 | kaen | it'll turn you to stone |
06:01:36 | raptor | i think... |
06:02:30 | raptor | i 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:35 | raptor | i'll be right back.. |
06:02:50 | kaen | ok |
06:03:04 | sam686 | screenshot? |
06:03:38 | raptor | http://imagebin.org/279252 |
06:03:47 | | raptor Quit () |
06:05:04 | kaen | please be a GPU bug ... |
06:05:06 | kaen | please. |
06:05:46 | kaen | sam686, did you ever see my dough.levelgen? |
06:05:56 | kaen | the soft-body physics simulator? |
06:06:29 | sam686 | I 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:50 | sam686 | only happened on windows back then.. |
06:07:32 | sam686 | i don't think I haven't seen your levelgen |
06:08:50 | | raptor has joined |
06:08:50 | | ChanServ sets mode +o |
06:09:39 | sam686 | I have seen that same green block problem back then on 017? only happen on windows switching to fullscreen, was fixed afterwords.. |
06:09:55 | raptor | does it work for you sam686? |
06:10:00 | raptor | because is till get them blocks |
06:10:06 | raptor | *i still |
06:10:15 | sam686 | it works for me on 019 just fine, after switching to fullscreen and back, oglconsole works fine |
06:10:41 | sam686 | try opengl software rendering? |
06:10:53 | sam686 | and see if green block problem still there? |
06:10:53 | raptor | how would I force that again? |
06:11:09 | sam686 | on linux, don't know how.. |
06:11:13 | raptor | I mean, short of uninstalling my drivers, which i don't want to do.. |
06:11:45 | sam686 | might be some startup variable like BLAHBLAH_DISABLE_HW=1 ./bitfighter |
06:11:58 | raptor | LIBGL_ALWAYS_SOFTWARE=1 |
06:12:02 | raptor | i'll try that |
06:12:36 | raptor | didn't work.. |
06:12:49 | sam686 | your fps should be slower or CPU heavy if it really doing software rendering.. |
06:13:05 | raptor | yeah, cpu was same and fps was high |
06:14:28 | raptor | anyways, 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:28 | kaen | I was able to mitigate that but not eliminate it |
06:16:40 | raptor | you worked on that kaen? |
06:16:43 | kaen | I didn't commit, though I forget why |
06:17:02 | raptor | looks like in 018a, the behavior is to just have the turret stay put.. |
06:17:19 | sam686 | One cheap way to prevent turret/fprcefield from going crazy is in EngineeredItem::mountToWall |
06:17:26 | kaen | UIEditor.cpp:3048 |
06:17:30 | sam686 | setPos(pos); instead of setPos(anchor);' |
06:17:30 | kaen | engrObj->mountToWall(snapPointToLevelGrid(mMoveOrigins[i] + cumulativeOffset), wallSegmentManager); |
06:17:39 | kaen | remove the call to snapPointToLevelGrid |
06:17:54 | kaen | oh, I remember now |
06:18:11 | kaen | I didn't figure out how to re-snap them when the dragging stopped instead |
06:19:44 | kaen | I've decided that I need to start taking notes ... |
06:20:00 | raptor | i've dediced that I need to start not opening UIEditor.cpp |
06:20:13 | kaen | See, you made eye contact didn't you. |
06:20:25 | kaen | Always carry a mirror for the corners. |
06:21:06 | kaen | I'm serious about this GUI library thing. |
06:21:25 | kaen | UIEditor is conservatively 30% UI Code |
06:22:14 | kaen | and I'm sure we can split out the UI part from the Editor part at least |
06:24:44 | kaen | shifting gears |
06:24:57 | kaen | raptor, can you give me an overview of how to build the android project? |
06:25:40 | kaen | I ended up getting the NDK, eclipse-adt, and google's android-studio on this laptop ... |
06:25:42 | raptor | duuhhhmmmm |
06:25:48 | raptor | uhmmmm |
06:25:48 | kaen | and I also have an IDE on my tablet |
06:25:53 | kaen | ah, I see |
06:26:04 | kaen | ok, I'll just get reading :) |
06:26:06 | raptor | wait wait... |
06:26:12 | raptor | somethings coming to me... |
06:26:47 | raptor | #1 you'll need SDL2 |
06:27:23 | raptor | ah, and the SDL file 'README-android.txt' is a good primer |
06:27:39 | kaen | ah, beautiful |
06:27:55 | raptor | under the section 'For more complex projects' |
06:28:43 | raptor | go into build/android/SDL-android-project/jni |
06:28:49 | raptor | in our tree |
06:28:54 | raptor | and run the ndk-build |
06:29:35 | raptor | then you'll probably have to update our Java main file to match the newer SDL2... |
06:29:48 | raptor | sooo.. good luck! |
06:30:17 | kaen | \o/ |
06:31:29 | raptor | i'm sure as you go through it you'll jog my memory |
06:32:55 | kaen | last line of SDL-android-project/README_SETUP.txt: "Good luck!" |
06:33:27 | kaen | ha! it's from you! |
06:33:30 | kaen | I knew it. |
06:33:58 | raptor | haha |
06:37:30 | raptor | hmmm... glIsTexture is always detecting false for the texture handle.. |
06:38:38 | kaen | /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:43 | sam686 | did you make any uncommited changes? |
06:38:55 | raptor | sam686: nope |
06:39:03 | kaen | I have a folder like that, but it has linux-x86_64 |
06:39:13 | raptor | oh kaen, i hit that before... let me see what i did |
06:40:01 | raptor | i think you have to provide a full path to the ndk-build binary |
06:40:08 | raptor | if you didn't |
06:41:12 | kaen | same error with full absolute path |
06:42:36 | raptor | oh wait, maybe it was full path to the .mk file |
06:43:00 | sam686 | green text looks fine on my linux.. no green blocky gl console |
06:43:17 | raptor | yeah - and it's fine on kaen's linux system, too... |
06:43:21 | raptor | let me try osx |
06:43:36 | sam686 | did you already tried full rebuild? (make -B) |
06:43:50 | raptor | i'll do that |
06:43:53 | kaen | ndk-build with debug output: http://ix.io/9br |
06:44:56 | raptor | i don't understand any of that... |
06:45:03 | raptor | did it start to compile lua-vec? |
06:45:42 | sam686 | it looks more like just cmake.. |
06:46:17 | raptor | full recompile and no change |
06:46:38 | sam686 | when did the problem started? after an update? |
06:46:50 | raptor | noticed it 2 days ago |
06:46:54 | raptor | i'll do a bisect... |
06:47:19 | sam686 | try running all rhe way back on 018a |
06:47:26 | sam686 | is the problem there on 018a? |
06:47:57 | raptor | nope |
06:48:44 | kaen | I can't find any object files |
06:48:50 | sam686 | weard, why only raptor get green blocks, but other people are fine? |
06:48:56 | kaen | hmm ok I'll google around a little bit |
06:52:26 | raptor | kaen: I went into build/android/SDL-android-project/jni directory and just ran ~/path/to/ndk-build |
06:52:41 | raptor | and it worked... |
06:52:54 | raptor | well, started compiling anyways |
06:58:17 | | kumool Quit (Quit: Leaving) |
07:03:46 | kaen | if I were to venture a guess, I'd say there's no 32bit gcc for me to compile with in the NDK |
07:03:59 | raptor | the ndk includes its own |
07:04:10 | raptor | do you have the sdk installed, too? |
07:04:38 | kaen | man I'm dumb |
07:04:42 | kaen | I'm on 32bit |
07:04:50 | kaen | I downloaded a 64 bit NDK |
07:04:55 | raptor | ha! |
07:04:59 | raptor | welcome to midnight! |
07:05:04 | kaen | hehe |
07:05:31 | raptor | aww man, my bisect is going back a ways... |
07:06:01 | raptor | i'm at least 3/4 of the way to 018a... |
07:21:40 | raptor | sam686: 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:07 | raptor | I need to sleep now - good night! |
07:23:19 | sam686 | ok |
07:25:09 | raptor | ha |
07:25:11 | raptor | found a fix |
07:25:48 | sam686 | it would be hard for me to fix if I don't know if doing that will fix it.. |
07:29:03 | raptor | kaen: 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:29 | raptor | i have all the dependencies in both the 'scripts' and 'editor_plugins' folder |
07:30:18 | raptor | ok sam686, fixed it |
07:30:25 | | BFLogBot Commit: f46639d44f45 | Author: buckyballreaction | Message: Fix texture loss with oglconsole |
07:30:30 | kaen | I updated them, just haven't pushed yet :x |
07:30:36 | raptor | ah ok |
07:30:59 | raptor | good night all! one bug on our polish list left... |
07:31:07 | kaen | night! |
07:31:09 | raptor | (minus the cant-duplicate ones) |
07:31:13 | | raptor Quit () |
07:38:05 | | Skybax has joined |
07:47:05 | | Skybax_ has joined |
07:47:37 | | Invisible has joined |
07:47:44 | Skybax_ | kaen! Levelgen Tutorial 03 is empyty! |
07:47:58 | kaen | I know, I'm sorry :< |
07:48:13 | kaen | I've been so busy with 019 I haven't been able to work on it |
07:48:41 | Skybax_ | 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:05 | kaen | that was more just to let you get a feel for levelgens |
07:49:13 | kaen | it's supposed to be a really gentle introduction |
07:49:20 | kaen | here's the crash course: |
07:49:30 | kaen | say you want to do something when a ship spawns |
07:49:33 | Skybax_ | I've taken like 5 different coding introductions and they're all basically the same lol |
07:49:42 | kaen | first, you write a function |
07:49:56 | kaen | function onShipSpawned(ship) --[[ do something with the ship ]]-- end |
07:50:00 | kaen | then in you main() you do |
07:50:09 | kaen | bf:subscribe(Event.ShipSpawned |
07:50:10 | kaen | ) |
07:50:14 | kaen | simple as that |
07:50:39 | | Skybax Quit (Ping timeout: 272 seconds) |
07:50:44 | Skybax_ | So that's how that one level is done where after the first death the ships spawn somewhere else? |
07:50:45 | kaen | here's a list of all the events, Skybax_ |
07:50:46 | kaen | http://bitfighter.org/luadocs019/group___event_enum.html |
07:50:48 | | Skybax_ is now known as Skybax |
07:50:56 | kaen | Skybax, probably |
07:53:04 | Skybax | So this is how you get the game to see what you're doing, but then how do you make it do stuff? |
07:53:28 | Skybax | The "do something with the ship" part |
07:53:38 | kaen | ok, so you remember textItem:setText, right? |
07:53:41 | kaen | that's a method call |
07:53:45 | Skybax | Okay |
07:53:52 | kaen | you can do all sorts of things like that to any object |
07:54:15 | kaen | here's everything you can do to a ship: http://bitfighter.org/luadocs019/class_ship.html |
07:54:41 | kaen | ship:setHealth(0) is always a fun exercise |
07:55:12 | kaen | so that page I linked you to is the API documentation, it has that information for every object type in the game. |
07:55:13 | Skybax | Does that make the ship go boom? |
07:55:17 | kaen | indeed. |
07:56:06 | Skybax | That is a lot of things |
07:58:09 | kaen | it is literally all the things |
07:58:14 | kaen | (in bitfighter) |
07:58:30 | Skybax | Yes |
07:58:44 | Skybax | Which is a lot when I look at it in a list like this lol |
08:00:05 | Skybax | Happy Thursday |
08:00:17 | Skybax | Hurrrr I don't even know what to do with all of this |
08:00:30 | kaen | use the search box :) |
08:00:40 | kaen | also, enjoy the burden of choice |
08:01:00 | kaen | but most importantly, ask me any specific questions you might have. |
08:01:01 | Skybax | The burden of choice is always what made all my highschool essays late |
08:01:17 | kaen | it's the number one obstacle in programming |
08:01:22 | kaen | and happy thursday to you, too |
08:01:25 | Skybax | Choosing a topic was always the hardest part xD |
08:03:32 | kaen | I'm a little disappointed I only got through tutorial two ... |
08:03:44 | kaen | I remember I kept finding bugs while I was writing the tutorials xD |
08:04:13 | Skybax | Hahaha |
08:04:43 | Skybax | Hmmm... maybe I should have made a map riddled with teeny tiny killzones for Quartz' Stupid Contest |
08:04:55 | Skybax | Oh well |
08:05:17 | Skybax | It would have been a Rabbit gametype. Definitely |
08:08:51 | Skybax | And as per usual with my maps, increasingly infuriating |
08:09:24 | Skybax | Seems like that would be a dead giveaway with everything I make... if playing it makes you angry, Skybax made it |
08:14:51 | Skybax | Quartz wanted me to name his BitTown team "Dean Winchester"... So I named it "Jimmy Dean's Winchesthair" |
08:18:19 | kaen | hehe |
08:19:36 | Skybax | This should be fun |
08:28:27 | | Kiryx has joined |
08:34:18 | | watusimoto has joined |
08:34:18 | | ChanServ sets mode +o |
08:44:28 | | Darrel has joined |
09:39:39 | | Invisible Quit (Ping timeout: 260 seconds) |
10:13:11 | | Platskies Quit (Read error: Connection reset by peer) |
11:05:59 | | Skybax Quit (Ping timeout: 272 seconds) |
12:24:13 | | Watusimoto_ has joined |
12:24:33 | | Invisible has joined |
12:37:25 | | YoshiSmb has joined |
12:38:31 | YoshiSmb | Hi everybody. |
13:14:45 | watusimoto | hi |
13:14:56 | watusimoto | just a logo idea I was toying with last night: |
13:14:57 | watusimoto | http://imgur.com/cCQvMy8 |
13:18:06 | | koda has joined |
13:29:57 | | phillreeder has joined |
13:35:46 | YoshiSmb | ahh |
13:40:01 | | YoshiSmb Quit (Ping timeout: 250 seconds) |
13:43:03 | | phillreeder Quit (Ping timeout: 272 seconds) |
13:54:10 | | Invisible Quit (Ping timeout: 245 seconds) |
14:01:27 | | Darrel Quit (Read error: Operation timed out) |
14:02:51 | | Darriel has joined |
14:12:56 | | phillreeder has joined |
14:20:45 | | Darriel is now known as Darrel |
14:29:10 | | Watusimoto_ Quit (Ping timeout: 265 seconds) |
14:49:41 | | alex_velea has joined |
14:50:51 | | Invisible has joined |
14:52:53 | | kumul has joined |
15:46:04 | alex_velea | Hey @watusimoto .. you there? |
15:46:15 | watusimoto | hi, sort of |
15:46:19 | watusimoto | how's it going? |
15:48:36 | alex_velea | Hmm |
15:48:38 | alex_velea | Not too good |
15:49:07 | alex_velea | I've been trying to get in touch with you in the last days but near missed every time :D |
15:49:41 | alex_velea | About 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:51 | alex_velea | walls are very messed up in the editor |
15:49:57 | watusimoto | I was away on a trip, and not on much |
15:50:09 | watusimoto | ah, the walls |
15:50:23 | watusimoto | they are very complex, but at your level I don't think it matters much |
15:50:37 | watusimoto | I mean to say that I don;t think you need to get involved in the complexity |
15:50:47 | alex_velea | the class WallSegmentManager contains a vector of GridDB as main think .. so that's sick |
15:51:03 | alex_velea | my ideea was the following. |
15:51:09 | alex_velea | To create a undoAction Class |
15:51:14 | watusimoto | yes, but you shouldn't have to worry about that |
15:51:19 | alex_velea | whick contains actions to do at the clas |
15:51:29 | alex_velea | like -> delete this item |
15:51:31 | alex_velea | Insert that item |
15:51:38 | alex_velea | So in this way we can undo / redo things. |
15:51:41 | watusimoto | yes |
15:51:47 | alex_velea | But i don't know how to do that with walls |
15:51:50 | watusimoto | what actions do you think you need? |
15:52:04 | watusimoto | insert, delete, modify geometry, modify attributes |
15:52:06 | alex_velea | modify = detele_old + insert noew |
15:52:17 | watusimoto | and each needs to be reversible (undo and redo) |
15:52:29 | alex_velea | well ... redo = swap(insert, delete) :0 |
15:52:55 | alex_velea | That's ok .. especially in the gridDB class. |
15:52:56 | watusimoto | and you need to have a grouping object that lets you do a similar operation to multiple items -- such as moving three objects |
15:53:29 | alex_velea | In my ideea .. |
15:53:31 | watusimoto | I think the walls can be treated just like any other object |
15:53:38 | alex_velea | In my undo class i will have multiple actions |
15:53:46 | alex_velea | That will cover multiple items actions |
15:53:47 | watusimoto | except you may need to trigger some rebuild action after the walls have been altered |
15:53:57 | alex_velea | i hope so. |
15:54:06 | alex_velea | I saw that there is a wallsegment class. |
15:54:11 | alex_velea | i was looking for it now |
15:54:17 | alex_velea | To see what it's happening there |
15:54:21 | watusimoto | I think you will want to have one undo/redo object per step (and that object could have mulitple sub-objects) |
15:54:36 | alex_velea | yep |
15:54:40 | alex_velea | That was the main ideea |
15:54:42 | watusimoto | good |
15:54:53 | watusimoto | ok, so you are approaching it like I would. good |
15:55:06 | alex_velea | and to know which actions to do |
15:55:17 | alex_velea | I keep my last_gridDB |
15:55:25 | alex_velea | Just the last one .. so i can know what changed |
15:55:47 | alex_velea | and verify every element in the new db if it exists in the last one |
15:56:36 | alex_velea | I will try to do it by tomorrow .. but can you add 24h, please, just to be sure? |
15:56:49 | watusimoto | sure, no problem |
15:56:54 | alex_velea | Ohh ... and how can i test this? |
15:57:06 | watusimoto | I don't really understand your comment about keeping the last_gridDB |
15:57:11 | alex_velea | Create a new file with a main in it .. create an object and work with |
15:57:19 | watusimoto | you can test in a couple of ways |
15:57:48 | watusimoto | the easiest (and least reliable) would be to simply... test it. Manipulate objects in the editor manually and undo/redo |
15:58:05 | watusimoto | or you could add some tests to verify that undo returns objects to their original state |
15:58:19 | alex_velea | Can i write to some log files, somehow? |
15:58:45 | watusimoto | we 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:04 | watusimoto | log file, sure. To write to the log, use logprintf() |
15:59:17 | watusimoto | but you'll probably want to remove those statements when you are done |
15:59:23 | alex_velea | Ok :D |
15:59:24 | alex_velea | Got it |
15:59:41 | watusimoto | logprintf also shows up in the system console, and in the in-game console whic you can see with "/" |
16:00:47 | watusimoto | I 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:52 | alex_velea | logprintf with printf sintax? |
16:00:56 | watusimoto | yes |
16:01:00 | watusimoto | there are tons of examples |
16:01:10 | | Canseco has joined |
16:01:34 | watusimoto | we have a saveUndoState command curerntly, that acts as a good marker of where undoable things happen |
16:01:54 | alex_velea | Yep. |
16:01:58 | alex_velea | That's true. |
16:02:04 | alex_velea | About the lastGridDB thing .. |
16:02:11 | watusimoto | you could alter that and pass it info to let it create an undo state for you |
16:02:37 | alex_velea | I meant to say that if i want to get the actions that happened i need to know that changed |
16:02:43 | watusimoto | like, for example, saveUndoState(oldGeom, newGeom) |
16:03:19 | watusimoto | or saveUndoState(oldGeom, newGeom, "Move objects") |
16:03:22 | watusimoto | something like that |
16:05:20 | watusimoto | UndoObject o(id, oldGeom, newGeom, "Move Object"); saveUndoState(o); |
16:05:53 | watusimoto | UndoObject(id, oldAttrs, newAtters, "Update attributes"); |
16:06:20 | watusimoto | UNdoObject o(id, "Delete object"); |
16:06:41 | watusimoto | just thinking out loud here |
16:07:07 | watusimoto | UndoObject o(id, geom, attrs, "Create object") |
16:08:39 | watusimoto | Vector<UndoObject> objs; ... UndoObject o(objs, "Create several objects") |
16:09:17 | alex_velea | another q ... |
16:09:20 | alex_velea | On linux |
16:09:35 | alex_velea | Can i build the entire project and run 'my version of it' ? |
16:09:55 | alex_velea | !gci |
16:09:55 | BFLogBot | GCI Students Welcome! Please see: http://bitfighter.org/wiki/index.php/GCI_Student_Bootstrap for getting started. |
16:10:34 | watusimoto | I gave you +24 hours |
16:10:41 | watusimoto | yes |
16:10:43 | watusimoto | you can |
16:10:47 | alex_velea | cmake -DCMAKE_BUILD_TYPE=Debug .. ? |
16:11:27 | watusimoto | probably -- 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:42 | watusimoto | I do beleive that the instructions should work |
16:13:24 | watusimoto | you should probably create your own clone of the repo and you can do whatever you want with it |
16:16:46 | alex_velea | i created my own clone .. but if i run bitfighter it just closes :( |
16:17:08 | alex_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:38 | kumul | well this sucks http://google-opensource.blogspot.com/2013/05/a-change-to-google-code-download-service.html |
16:19:55 | | Invisible1 has joined |
16:20:07 | | Invisible Quit (Ping timeout: 272 seconds) |
16:22:46 | kumul | but sourceforge has a import functionality for this |
16:22:54 | kumul | who knew it was still alive |
16:29:18 | Nothing_Much | kumul: what does that mean? |
16:29:42 | kumul | Nothing_Much, what? about source forge? i just hate it and find it ugly as sin |
16:30:08 | Nothing_Much | n ono |
16:30:13 | Nothing_Much | the google thing |
16:30:43 | kumul | Nothing_Much, oh, it means they dont want anybody uploading into gcode projects? |
16:31:08 | kumul | instead they want people to use gdrive |
16:32:31 | Nothing_Much | ah |
16:34:57 | kumul | bitfighter depends on the download section. so i thought i'd let you guys know. |
16:36:32 | watusimoto | alex_velea: you need to copy over the various resource folders into wherever you are running the execuatble |
16:37:23 | watusimoto | so, 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:14 | watusimoto | (though copying is probably better so you don't accidentally checkin a modified resource) |
16:38:44 | watusimoto | by default the execuatble looks for levels in a subdir called levels, under the exe folder |
16:38:50 | watusimoto | same for the other resources |
16:38:59 | watusimoto | hi kumul |
16:40:04 | watusimoto | we'll probably revert to hosing the files on bitfighter.org as we did long ago |
16:40:22 | kumul | hello watusimoto |
16:40:47 | kumul | that wont go offline right? |
16:40:54 | watusimoto | bitfighter.org? |
16:41:04 | watusimoto | I hope not! |
16:44:30 | kumul | oh dear... |
16:46:23 | kumul | This might be easier http://sourceforge.net/p/forge/documentation/Google%20Code%20Importer/ |
16:48:13 | | thread_ has joined |
16:48:55 | thread_ | Happy Thanksgiving! |
16:54:41 | watusimoto | kamul: what are you trying to do? |
17:08:26 | kumul | nothing. I dont have any projects on gcode. just letting you guys know |
17:12:01 | kaen | happy thanksgiving, all |
17:12:47 | | thread_ Quit (Ping timeout: 250 seconds) |
17:17:36 | | Invisible1 Quit (Ping timeout: 246 seconds) |
17:27:14 | | watusimoto Quit (Ping timeout: 264 seconds) |
17:40:31 | | Flynnn has joined |
17:40:36 | | raptor has joined |
17:40:37 | | ChanServ sets mode +o |
17:40:41 | raptor | good day! |
17:41:09 | | koda Quit (Ping timeout: 252 seconds) |
17:41:41 | raptor | alex_velea: after compiling on linux, in the 'exe' folder you have to copy over or link the resources |
17:41:56 | raptor | here 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:41 | raptor | sooo.... release tomorrow? yes? RIGHT? |
17:51:55 | kaen | YES! |
17:53:40 | Nothing_Much | Happy Thanksgiving |
17:53:46 | Nothing_Much | Oh release tomorrow? :D |
17:54:08 | raptor | part of me like the idea of releasing tomorrow just to spite quartz |
17:54:25 | Nothing_Much | how and why's that? |
17:54:54 | raptor | just in jest - he's been making fun of us for always saying we'll release 'soon' |
17:55:00 | raptor | >) |
17:55:11 | Nothing_Much | haha |
18:01:03 | kaen | hahaha |
18:01:06 | kaen | me too :) |
18:02:19 | raptor | ok, what's left? do we really care about that one Lua memory leak too much? |
18:02:30 | raptor | I mean 018a had worse leaks in it |
18:02:37 | raptor | but it has the potential to eat up lots of RAM... |
18:02:45 | kaen | I really don't |
18:03:12 | kaen | the only way it leaks is if you do something we explicitly warn against. |
18:03:32 | raptor | yes, not an accidental thing like with the ones in 018a |
18:06:25 | raptor | and that editor bug with the turrets - did that get introduced with some other fix or addition? |
18:09:24 | raptor | kaen: is there a way to just pull a commit as a diff file from github? |
18:16:19 | | Kiryx Quit (Ping timeout: 265 seconds) |
18:17:24 | | BFLogBot Commit: 72391ee78d57 | Author: buckyballreaction | Message: Pull in fonstash fixes from upstream |
18:23:35 | | LordDVG has joined |
18:30:17 | kaen | hmm no idea |
18:30:31 | kaen | regarding either |
18:31:02 | kaen | don't be mad, raptor ... |
18:31:08 | | BFLogBot Commit: 0ff944ec70ab | Author: kaen | Message: reimplement findAllObjects() to accept zero ObjTypes |
18:33:33 | raptor | say what |
18:34:08 | raptor | tell me about your last commit... |
18:34:19 | raptor | did we purposefully remove that before? |
18:34:30 | | Little_Apple has joined |
18:35:04 | raptor | oh man, does zero return the entire database?? |
18:35:22 | kaen | I thought you removed it on purpose |
18:35:40 | kaen | it returns the DB, but it doesn't do a query for zero |
18:36:04 | kaen | but I needed it for some plugins :/ |
18:36:12 | raptor | hmm |
18:36:20 | raptor | i don't remember if i did |
18:36:25 | raptor | so, i'm not mad |
18:36:40 | kaen | I remember we discussed it and both concluded there was no good reason to query for all objects |
18:36:55 | kaen | but then I wrote some plugins and discovered that I needed to query for all objects. |
18:37:36 | raptor | hah |
18:37:59 | Little_Apple | im off |
18:38:02 | Little_Apple | happy thanksgiving! |
18:39:10 | | BFLogBot Commit: f7cc0a871ba3 | Author: buckyballreaction | Message: Update controller profile (from Little_Apple) |
18:42:29 | | Little_Apple Quit (Ping timeout: 250 seconds) |
18:42:34 | | Canseco Quit (Remote host closed the connection) |
18:48:44 | | Kiryx has joined |
18:54:32 | kaen | wow Ship::idle is a nightmare. |
18:54:43 | raptor | don't remind me... |
18:54:54 | kaen | I'm looking at that boost CSP bug :/ |
18:55:36 | raptor | it 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:35 | | BFLogBot Commit: e967ad383f34 | Author: buckyballreaction | Message: Fix compiler warning |
18:58:44 | kaen | one thing that sticks out is processMove(ActualState) versus processMove(RenderState) in the client/server paths |
18:59:04 | raptor | sam686 might have been working on this... were you sam686? |
18:59:15 | kaen | I'm really hoping he was ... |
18:59:20 | kaen | this seems out of my grasp. |
18:59:26 | raptor | honestly, i'm not convinced something can be done |
18:59:37 | raptor | because i bet it is being client-side predicted |
18:59:47 | raptor | it's just the lag from the server that makes it go a little further |
19:00:05 | raptor | that's my guess... and with problems like this, I'm not sure what to do about it.. |
19:00:55 | kaen | maybe 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:02 | kaen | when I tested via -lag |
19:01:33 | | Quartzy has joined |
19:01:49 | kaen | but, this is the third time I've muddled through ship::idle and I still don't have a sure-fire fix. |
19:01:58 | kaen | so I'm not deeply concerned about it. |
19:01:59 | | alex_velea Quit (Ping timeout: 250 seconds) |
19:02:05 | kaen | happy turkey day, Quartzy :) |
19:02:15 | Quartzy | You too! |
19:02:19 | Quartzy | Lol oh now I feel bad |
19:02:27 | raptor | hi Quartzy |
19:02:27 | Quartzy | Skybax "I stayed up really late just so I could be here when the server opens." |
19:02:31 | raptor | heh |
19:02:34 | Quartzy | Hey so I've come to beg. |
19:02:37 | Quartzy | Somebody want to host the server? |
19:02:37 | raptor | need me to set one up? |
19:02:40 | Quartzy | >_> |
19:02:43 | raptor | i'll do it on the master |
19:02:45 | Quartzy | that would be excellent sir |
19:03:03 | raptor | i'll PM you.. |
19:03:27 | Quartzy | And I shall PM you back then! |
19:03:53 | raptor | err... PM in IRC, I mean (I'm never sure if people mean forums or not with 'PM) |
19:04:00 | Quartzy | ahaha OK |
19:07:35 | sam686 | interesting, just when I mention IRC on my PM to quartz, he joins here.. |
19:07:50 | sam686 | hi |
19:08:05 | raptor | hi sam686 |
19:08:10 | raptor | i'm getting Quartzy set up |
19:08:14 | sam686 | ok |
19:13:28 | Nothing_Much | is this for 019 018a? |
19:14:43 | Quartzy | Interesting, you have much untapped power... |
19:14:57 | Quartzy | Do you even realize your potential? |
19:16:23 | Nothing_Much | Quick question: What's GL_NICEST? |
19:17:29 | sam686 | GL_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:50 | Nothing_Much | What about software rendering? |
19:18:27 | sam686 | not sure, haven't tried it |
19:18:36 | sam686 | Theres also GL_FASTEST |
19:19:02 | sam686 | but still no line smoothing is probably faster then fastest line smoothing |
19:19:11 | Nothing_Much | Ah okay |
19:19:35 | Nothing_Much | so is there a server on 019 or 018a? |
19:20:06 | sam686 | the level contest levels probably be on 018a, i think |
19:20:20 | sam686 | but may move to 019 once it is release |
19:21:54 | Nothing_Much | alright |
19:25:15 | sam686 | already thers 4 players online... make that 5 if you count me, on 018a |
19:27:21 | raptor | contest server up in 30 |
19:27:34 | Nothing_Much | minutes or seconds? |
19:27:37 | raptor | seconds |
19:27:43 | Nothing_Much | nice |
19:35:47 | Quartzy | Trying to put up the contest discussion now |
19:36:09 | Quartzy | Unfortunately 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:10 | Quartzy | fml |
19:36:17 | Nothing_Much | these maps are crazy |
19:36:26 | Quartzy | yes |
19:41:32 | phillreeder | raptor: how exactly will this seeker thing work |
19:41:57 | | Quartzy Quit (Quit: Page closed) |
19:53:45 | | LordDVG Quit (Remote host closed the connection) |
20:11:31 | | alex_velea has joined |
20:13:45 | | Watusimoto has joined |
20:17:22 | raptor | phillreeder: I think Watusimoto has a specific idea on the task |
20:18:02 | Watusimoto | raptor: you did a "fix compiling" checkin yesterday where you restored the #include <math> that I had deleted |
20:18:07 | Watusimoto | why is that needed? |
20:18:24 | Watusimoto | (I want to add an apporpriate comment so I don't delete it again) |
20:18:26 | raptor | there were atan2 calls laying about |
20:18:33 | raptor | and other math calls, i think |
20:18:38 | Watusimoto | odd that it isn't needed on windows |
20:18:48 | Watusimoto | so "needed for linux" is about right? |
20:18:54 | raptor | odd and windows coexist in many sentences |
20:18:58 | raptor | no |
20:19:07 | raptor | it would be needed in osx, too |
20:19:13 | Watusimoto | ok |
20:19:26 | raptor | i think that 'windows.h' file for windows builds adds stuff it shouldn't... |
20:19:32 | sam686 | I once had a missing include <math.h> on UIGame.cpp that I had to add to compile in windows, forgot when though |
20:20:24 | Watusimoto | ok, commented |
20:20:32 | sam686 | I guess cmath works too |
20:21:03 | phillreeder | hey watusimoto what did you have in mind for the seeker bot task? |
20:21:13 | Watusimoto | oh yes, that task |
20:21:54 | Watusimoto | I 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:08 | sam686 | one problem, how to change level (no level changers in contest server) |
20:22:49 | Watusimoto | my 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:16 | Watusimoto | sam686: what makes a server a contest server? |
20:23:24 | sam686 | the map contest i mean |
20:23:26 | sam686 | on 018a |
20:23:48 | sam686 | its raptor/quartz set it up |
20:24:11 | Watusimoto | phillreeder: do you haev any thoughts on how to do the targeting? |
20:27:30 | Watusimoto | I have some rough thoughts about how to get started if you're not sure |
20:27:45 | raptor | man - some of those were genuinely great levels |
20:28:01 | raptor | some fit the theme quite well |
20:28:52 | | koda has joined |
20:28:59 | | Flynnn Quit (Quit: Leaving) |
20:29:17 | raptor | Watusimoto: I'm planning on releasing tomorrow.. what do you thinK? |
20:29:42 | Watusimoto | I'm thinking I;d better get fixing my bug! |
20:29:51 | kaen | which? |
20:29:55 | raptor | i'm going to start going through revisions... |
20:29:56 | kaen | the lingering frame? |
20:29:58 | raptor | !release |
20:29:58 | BFLogBot | To release, follow the checklist: http://bitfighter.org/wiki/index.php?title=Release_checklist |
20:30:02 | Watusimoto | the lingering frame |
20:30:14 | Watusimoto | sounds like an edward gorey book |
20:30:21 | raptor | there are some other minor bugs found... |
20:30:26 | raptor | but I think it's time |
20:30:36 | phillreeder | Wastusimoto: 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:40 | raptor | i'm working on an editor one... sigh... |
20:30:42 | | raptor becomes stone |
20:31:10 | phillreeder | so, 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:11 | kaen | hehe |
20:31:28 | Watusimoto | yes |
20:32:01 | phillreeder | is this a more generalized targeting, or specifically for seekers? |
20:32:03 | Watusimoto | if you have a bot in a certain location, how can it find a target that a seeker would hit |
20:32:12 | Watusimoto | the task is just for seekers |
20:32:21 | Watusimoto | the logic is completely different for different types of weapons |
20:32:27 | phillreeder | alright |
20:32:28 | Watusimoto | we have an ok algo for phasers |
20:32:37 | raptor | i recommend starting with projectileshooter.bot, it doesn't move and has a much smaller codebase to alter |
20:32:38 | Watusimoto | we have a different task for bouncers |
20:33:02 | raptor | then you can tack on the algo to s_bot |
20:33:34 | phillreeder | so in the .bot we would have to change the targeting stuff to use different ones, |
20:33:58 | Watusimoto | so 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:38 | Watusimoto | so the level is divided into nav zones, which are concave polygons with info about which polygon is connected to which other polygons |
20:34:50 | Watusimoto | so the bot will be in one zone |
20:35:05 | Watusimoto | it can see everything within that zone via a straight line |
20:35:28 | Watusimoto | each zone has a list of all the neighboring zones |
20:35:29 | phillreeder | that's convenient |
20:36:08 | Watusimoto | it was a huge joint effort between sam686, raptor, and myself, over about a week, to find a good way to do that |
20:36:28 | Watusimoto | we started with a script that sam686 wrote in lua, then found a way to do it in c++ about 200x as fast |
20:36:48 | Watusimoto | now we can generate these zones for large levels in under half a second |
20:36:55 | raptor | now that is one of my favorite collaborative memories... |
20:36:59 | Watusimoto | indeed |
20:37:04 | phillreeder | does each bot generate its zones every tick? |
20:37:09 | Watusimoto | no |
20:37:12 | phillreeder | or is it map based |
20:37:15 | Watusimoto | the zones aer static |
20:37:18 | phillreeder | mmk |
20:37:24 | Watusimoto | map based |
20:37:25 | Watusimoto | the bot always knows which zone it is in |
20:37:47 | sam686 | back then we also once have the game cache the level.. except very slow string vs very fast binary writing/reading file cache.. |
20:37:52 | Watusimoto | so perahsp you could start looking for targets in your current zone, then the neighboring zones, then... |
20:38:03 | phillreeder | and if a bot is in one zone, everything in that zone is directly visisble |
20:38:11 | phillreeder | alright this is making sense |
20:38:13 | Watusimoto | at some point potential targes will be so far away they will be out of range |
20:38:24 | Watusimoto | the trick with seekers is that they go around corners |
20:38:33 | Watusimoto | so you don't need line of sight |
20:38:49 | Watusimoto | you kind of need line of sight to line of sight |
20:38:51 | phillreeder | first 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:52 | Watusimoto | or something like that |
20:39:02 | phillreeder | this'll be fun |
20:39:09 | Watusimoto | oh yes, I imagine it will! |
20:39:15 | raptor | ah... there's a setLoadout option you can use |
20:39:32 | Watusimoto | this will help |
20:39:32 | Watusimoto | http://bitfighter.org/luadocs/ |
20:39:42 | raptor | ^^ that |
20:39:43 | raptor | thanks |
20:39:51 | phillreeder | gratze |
20:40:14 | Watusimoto | http://bitfighter.org/luadocs/class_robot.html |
20:40:18 | phillreeder | coulda used this a while ago |
20:40:56 | Watusimoto | num Robot::getFiringSolution is the method for targeting phasers |
20:41:12 | sam686 | stupid engineer teleporter to teleport out of bounce |
20:41:23 | raptor | Watusimoto: 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:30 | Watusimoto | setLoadout() is one way to do it |
20:41:44 | Watusimoto | what do you mean by "distinguish"? |
20:42:12 | raptor | in the editor |
20:42:17 | raptor | draw a barrier |
20:42:19 | raptor | add a turret |
20:42:34 | raptor | drage the barrier - and watch the turret slide on the shadow |
20:42:39 | raptor | *drag |
20:42:56 | Watusimoto | compiling... |
20:46:23 | Watusimoto | my turrets do not slid |
20:46:24 | Watusimoto | e |
20:46:27 | phillreeder | should I use setLoadoutNow() instead of setLoadout() on the main() of the .bot |
20:46:36 | Watusimoto | probably |
20:46:41 | phillreeder | I'm reading that setLoadout() requires it to be on a loadout zone |
20:46:43 | raptor | phillreeder: yes |
20:46:51 | Watusimoto | probably yes |
20:47:01 | raptor | thanks to kaen, our docs actually mean what the say! |
20:47:09 | Watusimoto | and say what they mean! |
20:47:16 | Watusimoto | raptor: not seeing what you are describing |
20:48:35 | raptor | oh |
20:48:37 | raptor | sorry |
20:48:39 | raptor | add wall |
20:48:43 | raptor | add turret to wall |
20:48:45 | raptor | select all |
20:48:47 | raptor | drag |
20:48:52 | Watusimoto | ah, select all |
20:50:13 | Watusimoto | ok |
20:50:24 | raptor | see it now? |
20:50:33 | Watusimoto | yes |
20:50:38 | phillreeder | is 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:50 | raptor | phillreeder: just give it any 3 |
20:50:56 | phillreeder | mmk :( |
20:51:09 | sam686 | you could try making all modules the same? |
20:51:17 | raptor | i can't remember if i prevented that... |
20:51:24 | raptor | oh! we need to add linesmooth |
20:51:58 | raptor | sam686: did you do any work towards linesmooth? |
20:52:03 | raptor | if not, i'll do it.. |
20:52:10 | sam686 | not yet.. |
20:52:19 | sam686 | i guess i haven't started on it |
20:53:03 | Watusimoto | so raptor what is your question? |
20:53:14 | Watusimoto | what is going on with the turret? |
20:53:34 | raptor | yeah, is that a bug? |
20:53:46 | Watusimoto | yes |
20:53:47 | raptor | i want it to ignore the shadows |
20:53:56 | Watusimoto | it won't/can't |
20:54:00 | raptor | so i need to differentiate it |
20:54:06 | raptor | hmm... |
20:54:27 | Watusimoto | the 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:47 | raptor | that's what 019a behavior is, i think |
20:54:50 | raptor | 018a |
20:54:58 | raptor | somehow that changed... |
20:55:09 | Watusimoto | the 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:12 | Watusimoto | however |
20:55:20 | phillreeder | ok, I just tried to get them to shoot seekers instead of phasers but they're not shooting anything |
20:55:26 | Watusimoto | the wall your dragging also has edges (drawin in blue) |
20:55:37 | phillreeder | confirmed that the loadout is correct |
20:56:03 | Watusimoto | so maybe we could pass the dragged wall edges to the turret snap function instead of the "all wall edges" |
20:56:48 | Watusimoto | except 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:14 | Watusimoto | phillreeder: the bot had enough energy? |
20:57:20 | Watusimoto | (it probably did) |
20:57:22 | | Skybax has joined |
20:57:44 | phillreeder | yea the weren't firing despite only moving (without shielding) |
20:57:53 | Watusimoto | try the same thing with phasers instead of seekers |
20:57:59 | phillreeder | they must've had full energy |
20:58:19 | phillreeder | still works |
20:58:29 | Watusimoto | the phasers work, but seekers don't? |
20:58:32 | phillreeder | yep |
20:58:41 | Watusimoto | how about triples or bouncers or... |
20:59:22 | phillreeder | bouncers are a nope |
20:59:26 | phillreeder | keep in mind |
20:59:48 | phillreeder | all I'm doing is changing the fireAtObject(enemy, Weapon.Phaser) to Weapon.Seeker |
20:59:59 | Watusimoto | and seeker is in your loadout? |
21:00:03 | phillreeder | with the correct loadout at the beginning |
21:00:04 | Watusimoto | you're sure? |
21:00:35 | phillreeder | logprint(bot:getLoadout()[2]) --> 2 |
21:00:41 | phillreeder | Weapon.Seeker = 2 |
21:00:55 | Watusimoto | can you show us the line where you set the loadout? |
21:01:05 | raptor | pastie your code?: http://pastie.org |
21:01:25 | phillreeder | bot:setLoadoutNow(Weapon.Phaser,Weapon.Seeker,Module.Shield,Module.Sensor,Module.Turbo) |
21:01:29 | phillreeder | one line |
21:02:21 | phillreeder | you want the whole thing? I've literally changed two lines |
21:02:48 | Watusimoto | you can put a breakpoint inside fireAtObject and trace thorugh and see why it won't fire |
21:03:11 | phillreeder | in the .cpp or the bot? |
21:03:15 | Watusimoto | the .cpp |
21:03:56 | raptor | it could be that he is conflicting with some other s_bot code |
21:04:41 | phillreeder | what the hell...what happened to my source |
21:04:42 | sam686 | how about, making first weapon as Seeker? |
21:04:55 | phillreeder | I'll try that |
21:04:58 | sam686 | not sure if bot have a setActiveWeapon function.. |
21:04:58 | phillreeder | in one sec |
21:05:01 | Watusimoto | try fireWeapon? |
21:05:10 | sam686 | theres getActiveWeapon |
21:06:20 | sam686 | theres fireWeapon(Weapon.Seeker) |
21:06:42 | Watusimoto | in terms of implementing the firing target detection, you'll probably want to expand Robot::getFiringSolution() to work with seekers |
21:06:43 | phillreeder | hold up, you want the break point in fireAtObject or fireWeapon? |
21:06:58 | Watusimoto | before breakpoint, just try fireweapon |
21:06:59 | phillreeder | fireAtObject is in the .bot, bot:fireWeapon() is the .cpp |
21:07:18 | Watusimoto | ah, fireAtObject is a bot method |
21:07:28 | Watusimoto | I was wondering why I didn;t see it in the lua api |
21:08:23 | phillreeder | setting the seeker to the first weapon doesn't help |
21:09:43 | Watusimoto | try fireWeapon instead of fireAtObject |
21:10:59 | sam686 | I guess fireAtObject have a problem, it only fires phaser, or doesn't fire at all if no phaser in loadout.. |
21:11:35 | phillreeder | hold on |
21:11:53 | phillreeder | bot:hasWeapon(weapon) is failing |
21:12:46 | phillreeder | ok, the setLoadout is failing |
21:12:52 | phillreeder | Watusimoto was right |
21:13:27 | raptor | setLoadoutNow is failing? |
21:13:40 | phillreeder | yes, setLoadoutNow is the problem |
21:13:58 | raptor | sam686: is it just one line that is needed for linesmooth? |
21:14:10 | sam686 | tes, for the most part |
21:14:13 | sam686 | yes |
21:14:50 | Watusimoto | kaen: 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:26 | Watusimoto | I don't know how far you advanced into the lua testing stuff |
21:15:26 | phillreeder | robot.cpp doesn't have a setLoadoutNow()... |
21:15:28 | raptor | sam686: is it the linesmooth or the blend one? |
21:15:52 | phillreeder | I believe that might be the problemo |
21:15:59 | Watusimoto | Ship::lua_setLoadoutNow |
21:16:01 | sam686 | the blend enabling one is only for making line smooth work, it works fine without line smoothing.. |
21:16:14 | sam686 | line smooth requires transparency blending |
21:16:15 | | raptor Quit (Read error: Connection reset by peer) |
21:16:26 | Watusimoto | our new way of naming the methods is to prefix the lua methods with lua_ to avoid naming conflicts |
21:16:29 | | raptor has joined |
21:16:29 | | ChanServ sets mode +o |
21:17:04 | phillreeder | oh yea I got that |
21:17:23 | phillreeder | but, does the .bot have the ability to call Ship::lua_setLoadoutNow() |
21:17:25 | raptor | RObot is a child of Ship, so it inherits setLoadoutNow |
21:17:30 | phillreeder | oh |
21:17:32 | phillreeder | right |
21:17:36 | phillreeder | I should've seen that |
21:17:45 | sam686 | you may need to find fireAtObject at s_bot, you can put in a different weapon to fire |
21:17:52 | Watusimoto | look at the picture at the top of http://bitfighter.org/luadocs/class_robot.html#ac6ccc1e71ef03e12eaa151cccbca6f28 |
21:18:42 | Watusimoto | also, if you look in the lua docs, it will tell you which class hs the functino |
21:18:54 | sam686 | I have problem opening s_bot into windows notepad now.. everything is on one line. |
21:19:01 | Watusimoto | e.g. int Ship::getFlagCount ( ) |
21:19:25 | sam686 | can be a problem when someone without visual studio C++ wants to edit s_bot |
21:20:06 | Watusimoto | though 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:21 | Watusimoto | so there's no perfect answer |
21:20:52 | Watusimoto | that said, stripping crlf from s_bot was unintentional |
21:21:15 | sam686 | doesn't happen on linux "nano" instead of "vi" |
21:21:31 | Watusimoto | nano... pshaw |
21:21:44 | phillreeder | after calling bot:setLoadoutNot(Weapon.___,...), logprint(bot:getLoadout()[1]) always prints '1' |
21:22:02 | Watusimoto | that doesn't seem right... |
21:22:46 | Watusimoto | ok, who last edited checkForSpeedzones()? |
21:22:47 | phillreeder | I mean '0' not 1 |
21:23:03 | Watusimoto | that had crlfs onit |
21:23:09 | Watusimoto | I feel VINDICATED! |
21:24:26 | phillreeder | here's some fun info: |
21:25:00 | phillreeder | if I neglect to call bot:setLoadoutNow(...) then bot:getLoadout()[1] is '8' which is the phaser |
21:25:17 | Watusimoto | that's what you would expect |
21:25:28 | phillreeder | but when I do call setLoadoutNow(), then getLoadout()[1] is always '0' |
21:25:39 | Watusimoto | that's what you would expect also |
21:25:46 | Watusimoto | if setLoadoutNow() had a bug |
21:26:19 | phillreeder | what? why would setLoadoutNow(...) put 0 for the loadout |
21:26:35 | Watusimoto | did you read the 2nd line of my post ? :-) |
21:26:52 | phillreeder | oh |
21:27:15 | phillreeder | I 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:14 | Watusimoto | I think you should not see what you are seeing |
21:28:31 | phillreeder | ...uh... |
21:29:17 | phillreeder | oh well, I gotta go do some stuff for tonight, cya guys later |
21:29:46 | Watusimoto | later! |
21:30:21 | Watusimoto | we can try to create a test for that bot situation |
21:30:46 | raptor | i was sure i tested setLoadoutNow with bots... |
21:30:55 | raptor | becasue I made it specifically for bots |
21:34:12 | sam686 | For better testing, try setLoadoutNow on levelgen, it appears it should be able to work if there nothing wrong |
21:34:41 | sam686 | works for any ship, that if there isn't a problem |
21:35:03 | raptor | oh |
21:35:25 | raptor | maybe you need the 'ship' object to use it in a bot file |
21:35:32 | raptor | or 'robot' |
21:35:37 | raptor | i.e. 'this' |
21:35:44 | sam686 | robot have all ship command, it should still work |
21:36:07 | sam686 | that is... if there isn't any bugs in that function.. |
21:37:46 | sam686 | yes you need something like bot:setLoadoutNow(... in a bot file |
21:40:08 | | BFLogBot 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:45 | raptor | actually, can a bot use any of the 'ship' methods? |
21:47:51 | raptor | on itself? |
21:48:11 | sam686 | yes, I believe you can.. |
21:49:27 | sam686 | its 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:13 | | Kiryx Quit (Ping timeout: 240 seconds) |
21:54:59 | | BFLogBot Commit: 61618d84c0b8 | Author: watusimoto | Message: Comment |
21:55:01 | | BFLogBot Commit: 4fa8f7d63e01 | Author: watusimoto | Message: Fix line endings |
21:55:02 | | BFLogBot Commit: 079e49454b45 | Author: watusimoto | Message: Prevent old loadout from popping up on screen when starting hosting |
21:55:04 | | BFLogBot Commit: c028bd084a7a | Author: watusimoto | Message: Force screen to be blank during pre-game timeless period |
21:55:05 | | BFLogBot Commit: 5f5469e3afe1 | Author: watusimoto | Message: Merge |
21:55:26 | raptor | Watusimoto: did you do it? you solved the bug? |
21:55:33 | Watusimoto | partially |
21:55:37 | Watusimoto | mostly |
21:55:44 | Watusimoto | at least as it manifests itself to me |
21:56:04 | Watusimoto | not sure if this will help the way you see it (which I cannot reliably reproduce) |
21:57:29 | | YoshiSmb has joined |
22:03:46 | phillreeder | back 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:46 | phillreeder | prints '7'. My conclusion: what the hell? |
22:05:13 | sam686 | its like if you do logprint(Weapon.Seeker), it doesn't print "Seeker", it instead prints a number. |
22:05:33 | Watusimoto | phillreeder: something is definitely wrong |
22:05:45 | Watusimoto | can you write a very simple bot that just reproduces the weird behavior? |
22:06:04 | Watusimoto | maybe just one that has a single fn, main() that sets loadout and prints it |
22:06:35 | | YoshiSmb Quit (Ping timeout: 250 seconds) |
22:07:30 | raptor | i'm testing junk |
22:07:37 | raptor | but have to go to dinner soon... |
22:08:05 | sam686 | or maybe you had multiple logprint at the same time, as a result you get confused into which logprint was printing that number.. |
22:08:39 | phillreeder | sam686: if you're referring to me, I'm pretty sure |
22:08:44 | phillreeder | as in very |
22:09:25 | sam686 | getLoadout() might return 8, maybe cause the bot have not spawned in yet.. |
22:09:51 | | BFLogBot Commit: 4fca7c74cd3f | Author: watusimoto | Message: Fix weird shift in position after first frame of level |
22:10:09 | raptor | fpr tje recprd |
22:10:09 | phillreeder | would make sense except for that if you call setLoadoutNow() it changes that |
22:10:18 | raptor | for the record, this prints correct values: http://pastie.org/pastes/8515587/text |
22:10:26 | raptor | that is a simple loadout changing bot i just made |
22:10:42 | Watusimoto | you used timer!!! |
22:10:51 | raptor | is that bad? |
22:10:57 | Watusimoto | it's great! |
22:11:01 | raptor | I love timer |
22:11:05 | Watusimoto | I absolutely love that class |
22:11:10 | Watusimoto | and it seems rather neglected |
22:11:26 | raptor | i think bobdaduck has made good use of it... |
22:11:53 | Watusimoto | how could he not? |
22:11:58 | raptor | kaen: /clearcache doesn't work on bots for some reason... |
22:13:10 | phillreeder | so is it that you can't call setLoudoutNow() until after a delay? |
22:14:09 | raptor | oh oops, nevermind kaen, i had to restart the level |
22:15:19 | Watusimoto | man, I am falling alseep |
22:15:29 | Watusimoto | I am going to bed soon |
22:15:45 | Watusimoto | or at least falling alseep if I don't make it |
22:16:02 | Watusimoto | raptor: I fixed all symptoms that I see of the lingering frame issue |
22:16:17 | Watusimoto | but I could never reproduce the case in the way you did |
22:16:26 | Watusimoto | so I don;t know if your bug is fixed. |
22:16:31 | Watusimoto | but my variant is |
22:16:49 | raptor | let me check |
22:17:04 | Watusimoto | it is purely a client side issue, so we could fix it more in 019a if we want |
22:17:25 | raptor | hmm... i didn't see it in my test... |
22:17:39 | raptor | didn't see it again |
22:17:43 | raptor | maybe it IS fixed |
22:18:23 | raptor | Watusimoto: it looks fixed! |
22:18:28 | raptor | i'll have to study it... |
22:18:30 | Watusimoto | excellent! |
22:18:33 | Watusimoto | ok |
22:18:53 | Watusimoto | I'll leave the bug open, and we can close it after you've looked it over |
22:19:13 | Watusimoto | but that was my last pre-release project, that I now of |
22:19:24 | Watusimoto | we also need to figure out what to do about the notifier |
22:19:41 | Watusimoto | i.e. how to package it and ship it. I'd like to include it with 019 |
22:19:49 | Watusimoto | I think it works well enough |
22:20:45 | raptor | hmmm... i'm not sure i want to package it together... |
22:20:47 | Skybax | When 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:28 | raptor | that happens when you load a level with those - it's because it disregards invalid geometry |
22:21:39 | raptor | that is not a bug... |
22:21:58 | Skybax | Okay |
22:22:02 | raptor | the exploit only works when saving the first time placing them |
22:22:04 | Watusimoto | don't make invisible walls!!! |
22:22:44 | Skybax | But I like them |
22:22:48 | raptor | ok, i have to go - i've been adding minor bugs/tasks to the polish list as i go along |
22:22:52 | Watusimoto | ok |
22:22:54 | raptor | later! |
22:22:59 | Watusimoto | happy thanksgiving! |
22:23:07 | raptor | thanks! you too |
22:23:11 | | raptor Quit () |
22:23:25 | Watusimoto | phillreeder, alex_velea is there anything I can give you before I fall asleep completely? |
22:24:37 | alex_velea | Hmm |
22:24:43 | alex_velea | I don't think so. |
22:24:55 | alex_velea | Now i'm strugling with the boost:shared_ptr |
22:24:57 | alex_velea | But it think it's ok |
22:25:28 | | YoshiSmb has joined |
22:26:17 | Watusimoto | ok; 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:23 | Watusimoto | I mostly understand it |
22:29:54 | alex_velea | Ok |
22:30:00 | alex_velea | Can i ask you sth? |
22:30:21 | Watusimoto | yes |
22:30:33 | alex_velea | in the undo function we change the current GridDatabase here |
22:30:35 | alex_velea | setDatabase(mUndoItems[mLastUndoIndex % UNDO_STATES]); |
22:30:39 | Watusimoto | es |
22:30:40 | Watusimoto | yes |
22:30:50 | alex_velea | but the function does not change everything |
22:30:57 | alex_velea | the setDatabase() |
22:31:16 | Watusimoto | what does it not change? |
22:32:09 | | YoshiSmb Quit (Ping timeout: 250 seconds) |
22:32:10 | alex_velea | Ohh |
22:32:12 | alex_velea | i'h sorry |
22:32:17 | alex_velea | I think i got it wrong |
22:32:20 | alex_velea | wrong example |
22:33:19 | alex_velea | GridDatabase *newDB = new GridDatabase(); // Make a copy |
22:33:20 | alex_velea | newDB->copyObjects(getDatabase()); |
22:33:28 | Watusimoto | ok |
22:33:42 | alex_velea | but the copyObj function copies only |
22:33:43 | alex_velea | for(S32 i = 0; i < source->mAllObjects.size(); i++) addToDatabase(source->mAllObjects[i]->clone()); |
22:33:48 | alex_velea | all objects |
22:33:50 | Watusimoto | that is supposed to make a copy of the database |
22:33:54 | alex_velea | Does not copy |
22:34:03 | alex_velea | wallsegmentmanager |
22:34:06 | Watusimoto | ah |
22:34:24 | Watusimoto | wallsegmentmanager gets cleared and rebuilt after every database change |
22:34:40 | alex_velea | but if so .. where do we keep our walls? |
22:34:47 | alex_velea | in allobj? |
22:34:51 | Watusimoto | wallSegmentManager->recomputeAllWallGeometry |
22:35:17 | alex_velea | but we keep them in mAllObjects inside the griddatabase class? |
22:35:28 | Watusimoto | you pass it a database and it manages the wall edges and such |
22:35:33 | Watusimoto | of every object in the db |
22:35:37 | alex_velea | ohh |
22:35:40 | alex_velea | I got it now. |
22:35:43 | alex_velea | I think |
22:35:57 | alex_velea | So every unit in the level it's in that GridDatabase |
22:36:10 | alex_velea | I thought that the walls are in the wallsegmentmanager |
22:36:15 | Watusimoto | so when you alter a wall geometry, you'll call one of the functions that calls recomputeAllWallGeometry or its variants |
22:36:23 | Watusimoto | no the walls are in the GridDatabase |
22:36:32 | Watusimoto | the wall objects |
22:36:43 | Watusimoto | but you'll notice that when two walls cross, their outlines do not |
22:36:44 | alex_velea | thank you very much :) |
22:36:59 | Watusimoto | those outlines are the wall edges, and they are computed and managed separately |
22:37:21 | Watusimoto | they are not really objects in the sense that the walls aer, more something extra |
22:37:38 | Watusimoto | so that helps? |
22:37:39 | alex_velea | I get it now. |
22:37:57 | alex_velea | I will try to do it by morrow. Thank you watusimoto |
22:38:02 | alex_velea | And sorry for your time.... |
22:38:22 | Watusimoto | no worries |
22:38:26 | Watusimoto | I'm here to help |
22:38:43 | Watusimoto | it really is ok to ask for assistance |
22:40:56 | Watusimoto | ok, good night! |
22:41:00 | | Watusimoto Quit (Remote host closed the connection) |
23:18:58 | | YoshiSmb has joined |
23:19:23 | | alex_velea Quit (Ping timeout: 250 seconds) |
23:46:25 | | koda Quit (Quit: koda) |
23:50:35 | | YoshiSmb Quit (Ping timeout: 250 seconds) |