Timestamps are in GMT/BST.
| 00:00:33 | sam686 | could try p.set( (F32) floorf(atof(argv[i]) * gridSize * 1000) *.001f, (F32) floorf(atof(argv[i+1]) * gridSize * 1000) *.001f ); |
| 00:00:43 | sam686 | without if(gridSize != 1) part |
| 00:01:57 | sam686 | it works without crash changing if(rgidSize != 1) into if(true) |
| 00:02:26 | raptor | so even with 1000 it didn't work?? |
| 00:02:33 | raptor | that's odd |
| 00:02:54 | sam686 | its not that, its the if(gridSize != 1) part when gridSize is really 1 |
| 00:03:01 | raptor | yes i know |
| 00:03:03 | sam686 | such as if you save over the level |
| 00:03:06 | raptor | but that works fine on linux |
| 00:03:33 | sam686 | let me give you the saved-over foiled |
| 00:04:24 | sam686 | http://sam6.25u.com/upload/db_kaen_foiled_saved_over.level |
| 00:04:29 | sam686 | now does that crash you? |
| 00:05:03 | raptor | testing |
| 00:05:15 | sam686 | try testing from hosting, not from editor |
| 00:05:41 | raptor | works fine for me |
| 00:06:05 | raptor | both from editor, and from straigh hosting |
| 00:06:27 | sam686 | on windows it crashes on me |
| 00:06:42 | raptor | well that's no good |
| 00:06:52 | raptor | ok, change it to always do the rounding |
| 00:06:58 | sam686 | basically the same stack trace like if without that rounding attempt stuff. |
| 00:06:59 | raptor | if that fixes it for you |
| 00:11:56 | | BFLogBot Commit: 29c8b766172f | Author: sam8641 | Message: Fix a crash problem, on windows it could still crash when loading foiled.level after editor saved over it. |
| 00:16:01 | sam686 | well, there a new problem I just found, bot zone did generate, but not correctly |
| 00:16:02 | sam686 | http://sam6.25u.com/upload3.php |
| 00:16:05 | sam686 | oops |
| 00:16:11 | sam686 | http://sam6.25u.com/upload/screenshot_146.png |
| 00:18:01 | sam686 | even happens on un-modified foiled |
| 00:18:10 | raptor | umm |
| 00:18:18 | raptor | that happens with your poly2tri fix, which I reverted |
| 00:18:35 | raptor | are you sure you've compiled the latest? |
| 00:19:14 | sam686 | yes im on the latest |
| 00:20:41 | sam686 | the Trick i do is /showzones while testing in editor, then host. showzones stuck on |
| 00:20:55 | raptor | no problem here |
| 00:21:00 | raptor | let me try in my windows vm |
| 00:21:28 | sam686 | still the same problem for me hosting un-modified foiled |
| 00:21:41 | sam686 | and that was straight from /dlmap |
| 00:22:38 | sam686 | I thought my changes to shapes.cc didn't have any effect |
| 00:22:58 | raptor | ha |
| 00:22:59 | raptor | pl |
| 00:23:00 | sam686 | try putting some assert there instead to check if triangle is NULL |
| 00:23:01 | raptor | ok |
| 00:23:08 | raptor | it's not null |
| 00:23:14 | raptor | it would hard crash if its null |
| 00:23:35 | raptor | wait, let me get the original |
| 00:24:05 | sam686 | are you sure it will hard crash? something it happen to not crash if it is just reading junk. |
| 00:24:26 | sam686 | sometimes not something |
| 00:26:38 | raptor | confirmed zones are bad on windows... n ot on linux |
| 00:26:43 | sam686 | clicking the "X" on console while bitfighter is running incorrectly gives me thousands of memory leak when using VLD (visual leak detector)... |
| 00:26:46 | raptor | let me try reducing it to 100 |
| 00:27:13 | raptor | yeah, but where are the leaks |
| 00:27:48 | sam686 | http://sam6.25u.com/upload/text1312/131201_00-27-42.txt |
| 00:28:32 | sam686 | basically I think it bypassed the usual exitToOS when clicking "X" on console |
| 00:28:50 | sam686 | on windows only that is |
| 00:28:52 | raptor | ah, that might happen |
| 00:29:20 | raptor | reducing it to 100 makes it crash again... |
| 00:29:39 | sam686 | but then how does VLD (visual leak detector) catch that way of exiting and print stuff? |
| 00:31:21 | sam686 | still have strange odd zones as in the screenshow |
| 00:33:14 | fordcars | Later! |
| 00:33:16 | | fordcars Quit (Quit: Page closed) |
| 00:34:45 | raptor | yeah... |
| 00:35:24 | raptor | well, I'm not to worried - it's on a level with duplicate barriers, and only happens when hosting.. |
| 00:35:30 | raptor | when hosting on windows, that is |
| 00:35:49 | raptor | I know of a fix, but it'll have to wait until we update to clipper 6 |
| 00:36:03 | sam686 | this fixes the bot zones problem: p.set( (F32) floorf(atof(argv[i]) * gridSize * .01f) * 100.f, (F32) floorf(atof(argv[i+1]) * gridSize * .01f) *100.f ); |
| 00:36:16 | sam686 | but now I get this: http://sam6.25u.com/upload/screenshot_147.png |
| 00:36:38 | raptor | hahaha |
| 00:36:49 | raptor | that's windows floating problems in the extreme... |
| 00:37:14 | | Darrel Quit (Quit: IRC client killed.) |
| 00:37:30 | sam686 | perhaps we need to do rounding not on the barriers and polywalls, but on the botzone buffer stuff or the input points to poly2tri |
| 00:37:56 | raptor | we do |
| 00:38:11 | raptor | roudning and upscaling is alread done |
| 00:38:39 | sam686 | then why is my screenshot doing that when I do the rounding to extreme in readPolyBounds? |
| 00:38:43 | raptor | the issue is that there are 2 barriers that are identical on top of each other, but they have slightly different coords |
| 00:38:52 | raptor | i have no idea |
| 00:41:50 | sam686 | yuck, you applying the rounding to LineItem? |
| 00:42:13 | raptor | yep, it's everywhere |
| 00:42:38 | raptor | it's just a bandaid until clipper 6 |
| 00:43:42 | sam686 | the problem is the level is loaded in editor with position being off quite a bit and saving over it can ruin the accuracy of points.. |
| 00:44:26 | sam686 | that also destroyes the advantage of not multiplying/dividing my gridSize |
| 00:45:21 | sam686 | could also make forcefield/turret snap incorrectly on existing level because of barrers being loaded rounded |
| 00:45:22 | raptor | rounding at 0.001 doesn't ruin much accuracy |
| 00:46:08 | raptor | i don't see another answer to the problem unless we remove it completely and just allow the crash on that one level |
| 00:46:46 | raptor | at least until after release and we can update to clipper 6 |
| 00:52:10 | | BFLogBot Commit: ebb574e7c0f5 | Author: buckyballreaction | Message: Update windows installer to include notifier |
| 00:53:12 | | phil is now known as phill_ |
| 00:53:42 | raptor | sam686, I'm ready to tag and build for release. what do you think we should do? |
| 00:54:18 | sam686 | let me try one thing for 10 minutes, what if I do rounding in mergeBotZoneBuffers? |
| 00:54:31 | sam686 | at the buttom just before return |
| 00:54:44 | raptor | we're already rounding |
| 00:55:05 | raptor | has points upscaled by 1000 and converted to S64 |
| 00:55:12 | raptor | cliipper does that |
| 00:55:17 | sam686 | I don't see no rounding before mergePolysToPolyTree |
| 00:55:33 | raptor | let me look - i'll let you try for a few minutes |
| 00:55:54 | raptor | but you're right - that may be the better place to round |
| 00:56:34 | raptor | ok, yup, you're right again, it's not done until mergePolysToPolyTree |
| 00:59:50 | raptor | you can have more than 10 minutes, too.. :) |
| 01:05:08 | sam686 | looks like that fixed it. |
| 01:05:50 | raptor | reaaly |
| 01:07:08 | | BFLogBot Commit: 658ec52bfd86 | Author: sam8641 | Message: Move rounding to a much better place, so it don't effect level loading position |
| 01:07:11 | sam686 | there, no problems on Foiled for me |
| 01:07:35 | sam686 | and who needs precise acuracy on bot zones? i don't |
| 01:08:07 | raptor | too true |
| 01:08:10 | raptor | good idea |
| 01:08:13 | raptor | let me test, as well |
| 01:09:59 | sam686 | you can put comments near the bottom of mergeBotZoneBuffers where I added, I thought I put some comments but forgot to save when commiting. |
| 01:10:12 | sam686 | don't worry its only the comments I forgot to save |
| 01:10:30 | raptor | wow, rounding to 1... |
| 01:10:40 | raptor | did it need to round that high? |
| 01:11:04 | sam686 | bot zones still looks fine for me |
| 01:11:15 | sam686 | i can test lower values.. |
| 01:12:49 | raptor | actually, it looks good |
| 01:12:55 | raptor | i tested with narrow walls |
| 01:13:03 | raptor | and they worked with s_bot |
| 01:13:09 | raptor | want me to add comments? |
| 01:13:17 | sam686 | sure |
| 01:16:10 | sam686 | oops, and remove the 2 extra unneeded inputPolygons[0]; |
| 01:16:31 | raptor | heh' ok |
| 01:17:08 | raptor | done |
| 01:17:15 | raptor | i'll be back in a few minutes to tag for release |
| 01:17:18 | sam686 | ok |
| 01:17:26 | | BFLogBot Commit: c29f911722d4 | Author: buckyballreaction | Message: Move comments about point-rounding for botzones |
| 01:26:59 | sam686 | be sure to set CS_PROTOCOL_VERSION 38 |
| 01:27:14 | sam686 | there are several people with old unreleased 019 |
| 01:27:46 | sam686 | on the comments, so // pre_019 = 37 or something, // 019 = 38 |
| 01:28:30 | sam686 | or maybe // early testing 019 = 37 // 019 = 38 |
| 01:32:17 | sam686 | make early unreleased 019 (37) is incompatible with todays 019 (038), or else... join errors mixing early 019 and current 019. |
| 01:34:42 | sam686 | By changing CS_PROTOCOL_VERSION to 38, that easily helps display "out of date" on people having early 019 builds as well. |
| 01:36:28 | raptor | ok good idea |
| 01:39:46 | raptor | TAGGING FOR RELEASE |
| 01:39:52 | raptor | I can't believe this day is here... |
| 01:40:53 | sam686 | On a positive side for me, my massive ping drops and connection lag spikes appears gone.. http://sam6.25u.com/upload/text1312/131201_01-40-12.txt (but later shows no dropped ping) |
| 01:42:03 | | BFLogBot Commit: f7cf2de7a6fe | Author: buckyballreaction | Message: Update build number for 019 and update CS_PROTOCOL_VERSION to invalidate all the many beta versions |
| 01:42:05 | | BFLogBot Commit: 95c3c8c8735b | Author: buckyballreaction | Message: Tag 019 release |
| 01:42:57 | raptor | building for windows... |
| 01:47:17 | sam686 | do check if it can join the server I have up (with tagged update) |
| 01:47:30 | raptor | ok |
| 01:47:31 | sam686 | it might display my empty level of broken levelgen though.. |
| 01:48:12 | | Platskies has joined |
| 01:49:19 | raptor | looks good |
| 01:49:33 | raptor | let me recompile master with the CS_PROTOCOL cahnge |
| 01:54:01 | | Skybax_ has joined |
| 01:56:48 | | Skybax Quit (Ping timeout: 246 seconds) |
| 01:58:58 | phill_ | this is awkward, I didn't notice that none of my changes caused any noticable difference until I realized I didn't change the default bot option |
| 01:59:35 | | Skybax_ is now known as Skybax |
| 01:59:46 | raptor | :) |
| 01:59:47 | sam686 | or you can do /addbot your_bot_file |
| 02:00:20 | raptor | windows builds completed and tested |
| 02:00:24 | raptor | on to osx... |
| 02:03:03 | Skybax | Is release time almost here? LD |
| 02:03:04 | Skybax | *:D |
| 02:03:14 | raptor | :) |
| 02:03:33 | raptor | binaries will be up in about 1 hour or so |
| 02:03:42 | sam686 | what does this recent changes look like? https://code.google.com/p/bitfighter/source/list |
| 02:03:56 | raptor | like a miracle |
| 02:05:15 | raptor | osx is a little tricky... |
| 02:05:42 | | fordcars has joined |
| 02:08:32 | raptor | fordcars: this may be the last PPC release... |
| 02:09:04 | raptor | and I'm not entirely confident it'll run... |
| 02:10:39 | fordcars | Nuuuuuu! |
| 02:10:42 | sam686 | get rid of your outdated ppc OSX operating system and use more up-to-date PPC linux? Not sure of there anyone still using PPC... |
| 02:10:57 | fordcars | Only Debian will really run on PPC I think |
| 02:11:05 | fordcars | *Newer OS |
| 02:11:09 | raptor | openSUSE 12.2! |
| 02:11:16 | fordcars | :P |
| 02:11:26 | fordcars | Maybe I could update my Motorolla though |
| 02:12:50 | fordcars | I was seriously thinking of actually putting Linux on one of my PPCs |
| 02:13:04 | fordcars | 1ghz 1gb ram |
| 02:13:20 | phill_ | excuse I'm gonna be immature for a second. I FKIN DID IT YEAAAAAAA |
| 02:13:27 | phill_ | sorry, bye good luck |
| 02:13:37 | kaen | hehe |
| 02:13:40 | kaen | hello again all |
| 02:13:43 | sam686 | on linux you have up to date compiler as well |
| 02:13:44 | fordcars | Hi |
| 02:13:58 | kaen | I noticed a pretty little tag in my hg repo :) |
| 02:14:00 | fordcars | Yeah that's true |
| 02:18:13 | raptor | osx 32bit build done |
| 02:19:02 | phill_ | raptor: are ships spawned on random waypoints? |
| 02:19:10 | raptor | should i put the notifier in t osx apps? |
| 02:19:33 | raptor | phill_: there are spawn points in the editor to specify |
| 02:19:44 | phill_ | yes, but are ships spawned on them randomly? |
| 02:19:48 | sam686 | robot spawns in the same random location as player ships do, depending which team player/bots are in |
| 02:20:00 | raptor | oh, yes |
| 02:20:37 | sam686 | neutral spawn point, anyone could randomly spawn there. |
| 02:20:40 | phill_ | I was wondering, it gets kind of annoying when you spawn right on top of a firefight, would it be something I could look into changing so that doesn't happen so often? |
| 02:22:28 | phill_ | I know you have that invulnerability period, but there's no time to settle down and it's really hard to escape fire when bullets are already aimed at you |
| 02:22:38 | sam686 | it partly depends on the level, if there is little spawn points, its hard to spawn away from fire fight.. |
| 02:23:05 | sam686 | as in only 1 or 2 spawn points |
| 02:23:39 | phill_ | Yea I get that totally. I'm just trying to aleviate the problem. |
| 02:24:00 | sam686 | It is possible to have checks put in while spawning (but not in LUA at the moment) |
| 02:24:34 | sam686 | might be possible on LUA in fact, by using onShipSpawn and setLoc() |
| 02:24:48 | sam686 | setPos() not setLoc i meant |
| 02:25:03 | kaen | ah, that's a good idea |
| 02:25:11 | kaen | perhaps worth making a core mechanic |
| 02:25:48 | raptor | the only way to do it would without adding too much complexity, I think, would be to add an option to chose spawn point on the c-map when you die |
| 02:25:55 | kaen | you could calculate the "pressure" of a spawn point using the distance of all the enemies from it, then just spawn at the point with the lowest pressure. |
| 02:26:09 | phill_ | kaen: exactly what I had in mind |
| 02:26:19 | kaen | O(nm) distance squared calculations, but those are cheap |
| 02:27:54 | phill_ | It could be something I could figure out and play with to see if it feels right so you guys don't need to waste time with it |
| 02:41:49 | | BFLogBot Commit: 489f253999a5 | Author: buckyballreaction | Message: Add notifier in Resources section of .app |
| 02:52:03 | raptor | osx build done |
| 02:52:09 | raptor | builds |
| 02:57:10 | kaen | :o |
| 02:57:19 | kaen | must be in the home stretch, then? |
| 02:59:10 | fordcars | Please! |
| 03:03:17 | sam686 | Does any of you get this warning? |
| 03:03:19 | sam686 | ../lua/lua-vec/liblua-vec.a(loslib.c.o): In function `os_tmpname': |
| 03:03:19 | sam686 | /home/sam686/bf019/lua/lua-vec/src/loslib.c:60: warning: the use of `tmpnam' is dangerous, better use `mkstemp' |
| 03:04:15 | sam686 | I have seen it for a long time now, its when building bitfighter on linux, still built ok for me. |
| 03:04:51 | sam686 | and that warning only shows up when linking |
| 03:05:51 | raptor | hmmm can't use google code for downloads |
| 03:06:05 | raptor | any way to track downloads on bitfighter.org> |
| 03:06:07 | raptor | ? |
| 03:06:53 | raptor | oh, no new ones staring jan 14th |
| 03:06:58 | raptor | oh good |
| 03:07:45 | sam686 | theres this: http://sourceforge.net/projects/bitfighter.mirror/ |
| 03:08:19 | raptor | what the heck |
| 03:08:27 | raptor | where did that come from??? |
| 03:08:38 | sam686 | it showed up on google search |
| 03:09:25 | Nothing_Much | is that official? |
| 03:09:32 | Nothing_Much | also hello |
| 03:09:55 | sam686 | I don't know who put up the bitfighter.mirror... |
| 03:10:18 | kaen | sam686, you can fix it by add LUA_USEMKSTEMP or something like that to the lua-vec define flags |
| 03:10:35 | kaen | I did it once but didn't commit because I was working on other stuff. |
| 03:10:52 | phill_ | anyone know the targeting range of a seeker of the top of their head? |
| 03:10:54 | sam686 | its just a warning, not an error, no big deal.. |
| 03:11:31 | raptor | uhh 600? |
| 03:11:37 | raptor | mayeb 400 |
| 03:11:42 | raptor | radius |
| 03:12:04 | phill_ | 600 sounds a bit long, I'll go with 400 |
| 03:12:07 | raptor | but it'll stay alive for like 8 seconds |
| 03:13:24 | raptor | yep 400 |
| 03:14:26 | phill_ | thanks |
| 03:20:06 | raptor | early bird IRC special: http://code.google.com/p/bitfighter/downloads/list |
| 03:20:29 | phill_ | should I clap? |
| 03:21:00 | raptor | not sure |
| 03:21:13 | kaen | \o/ |
| 03:21:38 | fordcars | Guys, do private messages (to the bot) actually count in onMsgReceived |
| 03:21:54 | kaen | ask bitfighter! |
| 03:21:56 | kaen | :) |
| 03:22:01 | raptor | too late! |
| 03:22:26 | raptor | no more development until Christmas! |
| 03:22:41 | sam686 | go test it now, I don't know if onMsgReceived can receive /pm |
| 03:22:44 | kaen | o.o |
| 03:22:45 | fordcars | UhOkokokok |
| 03:22:49 | kaen | I don't think it will |
| 03:22:59 | fordcars | Even if it is to the bot? |
| 03:23:10 | raptor | no pms in onmsgreceived |
| 03:23:16 | raptor | deliberate |
| 03:23:35 | fordcars | awww ok thanks! |
| 03:24:39 | phill_ | raptor: Is it alright if I remove the attackNearbyEnemies() fn, it wasn't used before and I further deprecated it |
| 03:25:00 | raptor | sure, do what you like |
| 03:25:12 | sam686 | if it is not used you can do whatever like remove it.. |
| 03:25:22 | phill_ | don't tell me that now I feel too powerful |
| 03:25:33 | sam686 | if that function inside a bot file, do whatever, it doesn't effect other bots |
| 03:32:20 | raptor | actually, kaen, could you make a short 4-6 list of highlight changes? |
| 03:32:53 | raptor | if you have time - it would be posted on forums/sites/etc.. |
| 03:35:26 | kaen | sure thing! |
| 03:35:48 | kaen | I was just F5 bombing the home page for your announcement post :P |
| 03:36:02 | kaen | where's that big list, raptor ? |
| 03:36:37 | sam686 | here? http://beta.etherpad.org/bf_019_changes |
| 03:36:52 | kaen | that's the one! |
| 03:37:00 | raptor | Linus distros will have to wait a bit... |
| 03:37:03 | raptor | *linux |
| 03:45:55 | | Platskies__ has joined |
| 03:46:30 | | Platskies Quit (Ping timeout: 252 seconds) |
| 03:50:43 | kaen | these are my favorites: http://pastie.org/8519999 |
| 03:50:57 | kaen | let me know if you had a different format in mind (more commentary?) |
| 03:51:20 | raptor | perfect - just the new features |
| 03:51:49 | raptor | maybe even less commentary - people don't hold attention on game websites... |
| 03:51:51 | raptor | :) |
| 03:53:44 | | Skybax Quit (Read error: Connection reset by peer) |
| 03:54:51 | | Skybax has joined |
| 03:57:09 | | destroyerimo_ has joined |
| 03:57:30 | raptor | argh... dedicated build problems on the master |
| 03:57:46 | raptor | looks like several development packages are missing |
| 04:10:49 | raptor | ok... updated the auto-updaters... |
| 04:11:01 | fordcars | Cool dude |
| 04:11:13 | fordcars | :) |
| 04:13:06 | amgine123 | :) |
| 04:14:12 | raptor | ok, master should be notifying clients |
| 04:14:17 | raptor | we did it now! |
| 04:14:36 | raptor | sam686: you still have a server up? |
| 04:14:49 | sam686 | oh yes |
| 04:15:05 | raptor | ok good - because I'm having trouble getting dedicated to compile... |
| 04:16:47 | sam686 | my visual studio sometimes displays hundreds of: fatal error C1033: cannot open program database 'c:\other\bitfighter\hg019\exe\bitfighter.pdb' |
| 04:17:06 | sam686 | often happen if I interrupt the build and stop it, I have to rebuild or clean to fox |
| 04:17:09 | sam686 | fix* |
| 04:17:36 | sam686 | tends to happen on visual 2008 only though.. |
| 04:18:49 | raptor | odd |
| 04:19:24 | sam686 | oh boo. its because of debug and release build using the same .exe output it couldn't delete debug bitfighter.pdb when I am building release build while running debug bitfighter.exe |
| 04:20:10 | sam686 | Wish it did the way I had on my old bitfighter project, separate bitfighter_debug.exe for debug build.. |
| 04:20:51 | raptor | ok, on to the forum post (main website done) |
| 04:24:14 | fordcars | it's out? |
| 04:24:27 | fordcars | I love you guys :,( |
| 04:24:39 | fordcars | <3 |
| 04:25:03 | Skybax | What |
| 04:25:07 | fordcars | 019 |
| 04:25:10 | Skybax | YAY |
| 04:25:18 | Skybax | TIME TO HAZ |
| 04:25:26 | fordcars | YAY |
| 04:25:45 | sam686 | http://bitfighter.org/ scroll all the way down... all I see is a white box just above "Bitfighter videos on YouTube" |
| 04:25:49 | Skybax | Will it replace my old one or do I have to delete it? |
| 04:25:57 | fordcars | sam, me too |
| 04:26:05 | raptor | Skybax: what platform? |
| 04:26:08 | fordcars | updater does the work :) |
| 04:26:11 | Skybax | Windows |
| 04:26:12 | fordcars | Windows I think |
| 04:26:13 | raptor | should replace |
| 04:26:29 | raptor | actually, haha, you're the first to test the windows updater... let me know how it goes... |
| 04:26:30 | Skybax | Awesome |
| 04:26:39 | Skybax | Well it installed well lol |
| 04:26:40 | raptor | forgot to test that... |
| 04:27:02 | Skybax | Yay the fullscreen thingy is fixed! |
| 04:29:21 | raptor | kaen: post look OK?: http://bitfighter.org/forums/viewtopic.php?f=20&t=2154 |
| 04:29:32 | fordcars | Arent't the tutorial messages on by default?? |
| 04:29:59 | raptor | heh, not if your upgrading :) |
| 04:30:18 | fordcars | Ahhhh sweeeet |
| 04:30:25 | fordcars | Awesome, simply awesome |
| 04:30:55 | Skybax | Yes |
| 04:30:58 | fordcars | Bitfighter really feels more modern and stable |
| 04:31:03 | Skybax | I LIKE IT |
| 04:31:11 | fordcars | And smoother orf course |
| 04:31:17 | | raptor changes topic to 'Welcome GCI students! Feel free to ask anything! | Bitfighter 019 released! | http://www.bitfighter.org/downloads | Join us in the forums! at http://bitfighter.org/forums/ | Channel logs http://bitfighter.org/irclogs/' |
| 04:31:32 | raptor | please be stable please be stable please be stable please be stable |
| 04:31:57 | fordcars | haha |
| 04:32:13 | | phill_ Quit (Ping timeout: 265 seconds) |
| 04:39:41 | raptor | ok, dedicated build is building now... after installing X and friends |
| 04:39:41 | raptor | sigh |
| 04:41:47 | sam686 | I think there might be a small bot problem in a level "Clot", looks like the bot goes a long way around to the teleporter, i have to look closer at that.. |
| 04:44:24 | raptor | great, three segfaults, one for each dedicated server... |
| 04:45:34 | raptor | back in about an hour... |
| 04:55:48 | | Skybax_ has joined |
| 04:58:37 | | Skybax Quit (Ping timeout: 272 seconds) |
| 04:58:59 | | phill_ has joined |
| 05:03:50 | | Nothing_Much Quit (Read error: Connection reset by peer) |
| 05:04:14 | | Nothing_Much has joined |
| 05:06:20 | | Nothing_Much Quit (Remote host closed the connection) |
| 05:07:32 | sam686 | parhaps it might help to put that little green square Asteroid Spawn in the instructions? |
| 05:08:05 | sam686 | some people already asking "what that green square" |
| 05:09:23 | | Nothing_Much has joined |
| 05:09:46 | | Nothing_Much Quit (Remote host closed the connection) |
| 05:10:31 | fordcars | Can someone make a thread about the database in forums? |
| 05:10:33 | | Nothing_Much has joined |
| 05:10:36 | sam686 | skybax says /rate gives 400 error |
| 05:10:41 | sam686 | yet raptor says it worked fine? |
| 05:11:09 | fordcars | I get that too |
| 05:14:35 | kaen | 1. can't be your own map |
| 05:14:41 | kaen | 2. has to actually be on the DB |
| 05:15:58 | sam686 | maybe its a windows-only bug? me on windows using /rate up: get 400 bad request |
| 05:16:29 | sam686 | levels not in db actaully says it is not in database |
| 05:18:43 | Skybax_ | Would be cool if you could rate levels in the pleiades page |
| 05:19:51 | Skybax_ | OH YOU CAN |
| 05:19:53 | Skybax_ | I'm silly |
| 05:22:24 | fordcars | kaen, make a thread about the databse please! |
| 05:22:32 | fordcars | Or somebody |
| 05:22:51 | fordcars | Allot of people won't even know that it exists |
| 05:23:50 | kaen | ok I will |
| 05:23:51 | amgine123 | gtg bye |
| 05:24:11 | kaen | haha Skybax_ is going nuts on the DB :) |
| 05:24:22 | kaen | feels soooooooooo good to finally watch other people use it |
| 05:24:31 | kaen | I've been building it for like six months... |
| 05:24:57 | kaen | just sitting... waiting... staring at the empty level lists |
| 05:28:05 | | amgine123 Quit (Ping timeout: 250 seconds) |
| 05:29:37 | Skybax_ | I'VE BEEN WAITING A LONG TIME |
| 05:29:39 | Skybax_ | TOO |
| 05:29:49 | | Skybax_ is now known as Skybax |
| 05:35:50 | Skybax | Okay I'm done >.> |
| 05:38:31 | fordcars | kaen, it's awesome! |
| 05:39:04 | fordcars | The only problem is I never can type peliedeas correctly :/ |
| 05:39:38 | fordcars | Do levelgens go on it too? |
| 05:39:40 | sam686 | http://bitfighter.org/pleiades/ |
| 05:39:45 | sam686 | I think yes |
| 05:39:50 | fordcars | haha thanks :P |
| 05:40:42 | sam686 | maybe /rate might actually be working i think, even though it gives some 400 error. don't know if its because of sending to master or trying to do http... |
| 05:44:14 | | kumul Quit (Quit: Leaving) |
| 05:46:29 | Skybax | Idk |
| 05:46:51 | sam686 | I figured out why /rate sometimes doesn't work, it doesn't work if you join a server, but works if you host.. |
| 05:47:41 | Skybax | Weird |
| 05:50:28 | fordcars | Yeah |
| 05:51:12 | sam686 | sometimes after you done hosting but not quit the game, and join a server, /rate sometimes continue to work |
| 05:53:45 | Skybax | I'm eating a day old bacon burger from jack in the box |
| 05:55:13 | fordcars | cool |
| 06:00:26 | Skybax | It was tasty |
| 06:01:21 | fordcars | awesome |
| 06:01:25 | fordcars | :P |
| 06:01:29 | fordcars | I am hungry actualy |
| 06:01:42 | Skybax | I'm still hungry |
| 06:01:52 | Skybax | Usually I'd eat like three burgers but there was only one left in my fridge |
| 06:02:09 | fordcars | Wow |
| 06:02:31 | fordcars | I haven't had a burger in like 1 year |
| 06:02:37 | Skybax | I bought 20 of them on thursday |
| 06:03:28 | fordcars | Holy |
| 06:03:51 | raptor | howdy folks |
| 06:03:57 | raptor | how goes the 019? |
| 06:04:16 | raptor | crashes yet? |
| 06:04:22 | | Skybax_ has joined |
| 06:04:49 | Skybax_ | I had leftovers and they went in the fridge |
| 06:04:56 | Skybax_ | No crashes! |
| 06:05:14 | raptor | yay |
| 06:06:38 | | Skybax Quit (Ping timeout: 240 seconds) |
| 06:06:44 | | Skybax_ is now known as Skybax |
| 06:12:25 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 06:16:18 | raptor | going to bed.. good night! |
| 06:16:21 | | raptor Quit () |
| 06:18:07 | | Flynnn has joined |
| 06:24:33 | | phill_ Quit () |
| 06:28:55 | kaen | let me know if I missed anything, guys: http://bitfighter.org/forums/viewtopic.php?f=20&t=2156 |
| 06:31:48 | Skybax | You can also upload and rate maps in the web browser |
| 06:33:55 | kaen | you can also upload a zip of all your levels on the web app |
| 06:34:06 | kaen | although they won't have screenshots |
| 06:34:14 | kaen | (it's an experimental feature) |
| 06:34:40 | kaen | anyway, night guys! |
| 06:34:44 | Skybax | Night |
| 07:53:11 | | phil__ has joined |
| 07:53:26 | | Platskies__ Quit (Ping timeout: 240 seconds) |
| 07:57:58 | | phil__ Quit (Read error: Connection reset by peer) |
| 08:13:08 | fordcars | night guys! |
| 08:13:10 | | fordcars Quit (Quit: Page closed) |
| 08:35:51 | | Skybax Quit (Ping timeout: 272 seconds) |
| 08:36:57 | | Skybax has joined |
| 08:44:51 | | Darrel has joined |
| 08:51:18 | | BFLogBot Commit: 5e3c7dd718e5 | Author: sam8641 | Message: Fix /showbots, there was a duplicate isTestServer() |
| 08:59:36 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 09:22:42 | | Skybax Quit (Ping timeout: 246 seconds) |
| 09:31:17 | | Flynnn has joined |
| 09:53:05 | | Flynnn Quit (Quit: This computer has gone to sleep) |
| 10:49:27 | | Watusimoto has joined |
| 11:14:06 | | Platskies has joined |
| 11:28:10 | | Platskies Quit (Ping timeout: 246 seconds) |
| 11:28:30 | | Darrel Quit (Ping timeout: 252 seconds) |
| 11:30:28 | | Platskies has joined |
| 11:36:24 | | alex_velea has joined |
| 11:41:01 | | Platskies Quit (Ping timeout: 245 seconds) |
| 11:44:51 | | Platskies has joined |
| 12:17:36 | | antoniomdk has joined |
| 12:17:53 | antoniomdk | Hi! |
| 12:32:39 | | antoniomdk Quit (Quit: Page closed) |
| 12:32:42 | Nothing_Much | Hi the |
| 12:32:48 | Nothing_Much | Alright |
| 12:33:07 | | antoniomdk has joined |
| 12:33:48 | Nothing_Much | Hi there |
| 12:33:58 | Nothing_Much | antoniomdk: Hello |
| 12:34:48 | | Platskies Quit (Quit: Gotta go) |
| 12:41:32 | Nothing_Much | release official WOO |
| 13:07:25 | | alex_velea Quit (Ping timeout: 250 seconds) |
| 13:24:10 | | Darrel has joined |
| 13:41:36 | | Watusimoto Quit (Ping timeout: 252 seconds) |
| 13:51:11 | | phill_ has joined |
| 13:53:53 | | Watusimoto has joined |
| 13:57:37 | phill_ | morning Watusimoto |
| 13:57:46 | | alex_velea has joined |
| 13:58:39 | Watusimoto | hi |
| 13:59:51 | | antoniomdk Quit (Ping timeout: 250 seconds) |
| 14:16:22 | destroyerimo_ | hi |
| 14:16:30 | destroyerimo_ | u guys released a new version? |
| 14:27:56 | Watusimoto | we did |
| 14:27:59 | Watusimoto | mostly |
| 14:28:07 | Watusimoto | still a few more steps to go |
| 14:35:35 | destroyerimo_ | great |
| 14:35:43 | | destroyerimo_ is now known as destroyerimo |
| 15:01:19 | | antoniomdk has joined |
| 15:30:36 | | YoshiSmb has joined |
| 15:43:12 | alex_velea | Hello |
| 15:43:25 | alex_velea | Can someone help me in a matter? |
| 15:45:10 | alex_velea | I've created the operator == for DatabaseObject |
| 15:45:11 | alex_velea | bool operator==(const DatabaseObject &r) const { logprintf("We are in == operator"); if (mExtentSet == true and r.mExtentSet == true) { logprintf("both of em are set"); if (mExtent == r.mExtent) return true; else return false; } return false; } |
| 15:45:30 | alex_velea | http://ideone.com/QeDT1w -> here |
| 15:45:57 | alex_velea | And when i try to use it -> if (&mAllObjectsActions[i] == &DatabaseEl[j]) it doesn't use it :( |
| 15:46:23 | alex_velea | mAllObectsActions and DatabaseEl are Vector<DatabaseObject * |
| 15:55:33 | | YoshiSmb Quit (Ping timeout: 250 seconds) |
| 16:35:12 | | Bob1_ has joined |
| 16:35:41 | Bob1_ | good morning! Congrats to the dev team on getting 019 out the door! |
| 16:41:23 | | Bob1_ Quit (Quit: Page closed) |
| 16:41:55 | kaen | morning alex_velea |
| 16:41:58 | kaen | taking a look now |
| 16:42:37 | kaen | ok, that line |
| 16:42:44 | kaen | is not going to invoke the operator== |
| 16:43:03 | kaen | because you are comparing the *address* of mAllObjectsActions[i] and DatabaseEl[j] |
| 16:43:19 | kaen | you need to do |
| 16:43:23 | kaen | if (mAllObjectsActions[i] == DatabaseEl[j]) |
| 16:43:37 | kaen | & means two different things in c++ |
| 16:43:47 | kaen | three actually, but only two are relevant here |
| 16:44:02 | kaen | in a declaration such as bool operator==(const DatabaseObject &r) |
| 16:44:31 | kaen | it means that r should be a reference to the DatabaseObject (saves a very expensive copy operation) |
| 16:45:00 | kaen | when applied to a variable, it means the numerical address of that variable in memory |
| 16:48:15 | | Watusimoto Quit (Ping timeout: 246 seconds) |
| 17:04:37 | alex_velea | It's there a program / method to see the changes between changes? |
| 17:04:51 | alex_velea | To see the changes in 109 and the change that i made to the project .. |
| 17:05:04 | alex_velea | So i can write a changelog :) |
| 17:08:53 | kaen | yep :) |
| 17:09:07 | kaen | hg diff -r <revision> |
| 17:09:57 | kaen | if you want to see the diff against the official 019 release, do: hg diff -r 95c3c8c8735b |
| 17:43:46 | | Watusimoto has joined |
| 17:44:15 | Watusimoto | raptor: I did #19 and the new #20 |
| 17:49:29 | Watusimoto | and updated the build instructins in the wiki (though further review is always a good idea) |
| 18:09:37 | | Watusimoto Quit (Ping timeout: 246 seconds) |
| 18:54:24 | | Canseco has joined |
| 19:31:10 | | raptor has joined |
| 19:31:10 | | ChanServ sets mode +o |
| 19:36:46 | raptor | howdy folks |
| 19:36:51 | raptor | how has been the fallout from release? |
| 19:38:53 | raptor | that good, huh? |
| 19:43:06 | raptor | time for linux building |
| 19:48:06 | sam686 | well oops, I left my bitfighter client sitting on a server list/chat room, its why you always saw me in the chat list. |
| 19:48:22 | sam686 | but not in online players (debug build) |
| 19:54:21 | raptor | hi sam686 |
| 20:11:45 | raptor | that osx editor instructions is really weird... |
| 20:14:06 | sam686 | the strange problem is, the screwed up editor instructions doesn't happen on windows, only OSX? |
| 20:14:16 | sam686 | sky_lark posted some screenshots http://bitfighter.org/forums/viewtopic.php?t=2155 |
| 20:15:51 | raptor | yeah |
| 20:15:56 | raptor | doesn't happen in Linux either... |
| 20:16:04 | raptor | i will test in my OSX vm |
| 20:23:00 | | kumul has joined |
| 20:26:38 | raptor | kaen: how is debian going? should I make some debs for download on bitfighter.org in the interim? |
| 20:29:45 | | Canseco Quit (Remote host closed the connection) |
| 20:30:36 | raptor | got a weird LINT error: |
| 20:30:37 | raptor | [ 281s] bitfighter.x86_64: W: file-contains-date-and-time /usr/bin/bitfighter |
| 20:30:39 | raptor | [ 281s] Your file uses __DATE and __TIME__ this causes the package to rebuild when |
| 20:30:40 | raptor | [ 281s] not needed |
| 20:31:09 | | antoniomdk Quit (Ping timeout: 250 seconds) |
| 20:31:35 | sam686 | at near the top of UIEditorInctructions.cpp, static S32 col2 = UserInterface::horizMargin + S32(gScreenInfo.getGameCanvasWidth() * 0.25) + 45; |
| 20:31:59 | sam686 | maybe mac build sets the col2 first and then run the gScreenInfo constructor? |
| 20:32:17 | sam686 | which results on zero CanvasWidth |
| 20:32:20 | | Flynnn has joined |
| 20:38:17 | | Skybax has joined |
| 20:38:27 | raptor | no-manual-page-for-binary bitfighter |
| 20:38:30 | raptor | lovely |
| 20:38:30 | Skybax | Goodmorning |
| 20:40:49 | raptor | hi |
| 20:40:53 | phill_ | hello |
| 20:40:57 | raptor | sam686: that seems really weird |
| 20:41:49 | sam686 | Try replacing gScreenInfo.getGameCanvasWidth() with ScreenInfo::GAME_WIDTH |
| 20:42:04 | raptor | ok |
| 20:42:50 | sam686 | besides col2/3/4 there is also TimeLeftRenderer.cpp rightAlignCoord to changes |
| 20:43:10 | raptor | how would that manifest itself? |
| 20:44:01 | sam686 | maybe, as I said above, it doesn't run the constructor of gScreenInfo, to set the default value until later on, possibly after |
| 20:44:25 | sam686 | the ordering of global variables and global constructors is so messed up |
| 20:44:30 | raptor | i agree |
| 20:44:38 | raptor | that's why I prefer to stay away from them... |
| 20:44:43 | sam686 | sometimes depends on linker files too |
| 20:44:59 | sam686 | the ordering of linker files i mean |
| 20:45:09 | | Skybax Quit (Read error: Connection reset by peer) |
| 20:45:47 | raptor | fails to compile - GAME_WIDTH is not available in this context |
| 20:46:01 | sam686 | ScreenInfo::GAME_WIDTH ? |
| 20:46:07 | raptor | yeah - it's a private var |
| 20:46:41 | sam686 | make it public, its a static const anyway |
| 20:47:41 | raptor | i'll just make the cols private vars of the class |
| 20:47:50 | raptor | because static stuff is ugly |
| 20:48:22 | sam686 | don't forget to do the same to TimeLeftRenderer.cpp rightAlignCoord |
| 20:48:28 | raptor | ok |
| 20:49:26 | | Skybax has joined |
| 20:51:28 | sam686 | I do think all static const stuff that ONLY exists on .h but no .cpp usually get initalized first and is available.. the problem is the external or being initalized on .cpp |
| 20:51:30 | raptor | yup, that fixed it |
| 20:51:40 | raptor | good find |
| 20:51:52 | raptor | let me clean up and commit.. |
| 20:53:44 | alex_velea | I'm sorry to say this .. but .. can someone extend my deadline for my task? The ideea behind the task it's not complete and i've got some final's coming up .. i would really appreciate that. |
| 20:53:56 | raptor | alex_velea: sure thing |
| 20:54:04 | raptor | how many days do you want? |
| 20:54:11 | alex_velea | Don't know exactly |
| 20:54:24 | alex_velea | I solve a 'part' of the task. |
| 20:54:49 | alex_velea | watusimoto told me that the wallsegmentmanager thing was just to manage the walls .. but i think that it olso stores them somehow. |
| 20:55:00 | alex_velea | I will figure it out .. hope so at least. |
| 20:55:28 | raptor | ok |
| 20:55:53 | alex_velea | If you can give it +3 days i think will be enought. |
| 20:56:15 | | Watusimoto has joined |
| 20:56:35 | raptor | oh oops, i did the wrong one... |
| 20:56:46 | Watusimoto | hi |
| 20:57:03 | Watusimoto | how are things going? |
| 20:57:06 | alex_velea | Well |
| 20:57:13 | Watusimoto | I see multiple error threads have popped up in the forums! |
| 20:57:16 | alex_velea | Good in large view. |
| 20:57:24 | Watusimoto | :-) |
| 20:57:46 | raptor | we played some good games last night - 019 felt good |
| 20:58:06 | alex_velea | watusimoto .. i think sth it's not that right with the redo task. |
| 20:58:37 | alex_velea | I managed to make that the vectors with DatabaseObjects are ok .. with efficient memory |
| 20:59:13 | Watusimoto | ok |
| 20:59:16 | alex_velea | But i think that the problem is in the mChunker section .. that i don't know what it is :D |
| 20:59:24 | Watusimoto | what are the symptoms? |
| 20:59:35 | alex_velea | I think that is like a 1/0 map if there are walls |
| 20:59:39 | Watusimoto | you should not have to get that deep into the database, I think |
| 20:59:47 | alex_velea | Well .. |
| 21:00:06 | alex_velea | It works for the DatabaseObject vectors .. for all of them |
| 21:00:12 | alex_velea | the redo / undo step |
| 21:00:16 | Watusimoto | ok, good |
| 21:00:36 | alex_velea | it fails when i rebuildEverything() |
| 21:00:56 | alex_velea | and i get an assert at some point. let me get it another time |
| 21:01:37 | alex_velea | "Assert: Expected an WallItem! in /home/ivy/veleandu-redoundo/zap/WallSegmentManager.cpp line 212" |
| 21:01:37 | Watusimoto | ok |
| 21:02:56 | Watusimoto | it obviously does not like wall |
| 21:03:12 | Watusimoto | and wal comes from the wallDbObject you passed into the fn |
| 21:03:20 | alex_velea | fn? |
| 21:03:24 | Watusimoto | function |
| 21:03:28 | alex_velea | ohh |
| 21:03:43 | Watusimoto | when you call buildWallSegmentEdgesAndPoints, you are supposed to pass it a wall |
| 21:04:01 | Watusimoto | what are you passing for wallDbObject? |
| 21:04:15 | Watusimoto | well... clearly a non-wall, which is why you get the assert |
| 21:04:21 | alex_velea | Yep |
| 21:04:29 | alex_velea | That's true. |
| 21:04:29 | Watusimoto | I don't know if that helps at all, or you already figured all that out |
| 21:04:33 | alex_velea | I will need to look to see how things are inserted |
| 21:04:55 | alex_velea | My problem it's that i don't really know what i need to change |
| 21:05:13 | Watusimoto | well how are you calling it? |
| 21:05:16 | alex_velea | I solved the vectors with databaseobjects |
| 21:05:19 | Watusimoto | and why are you calling it? |
| 21:05:32 | alex_velea | because that's the way it was. |
| 21:05:39 | Watusimoto | ok, I am confused |
| 21:05:50 | alex_velea | let me get to the original code |
| 21:05:52 | Watusimoto | what do you mean by solving the vectors of databaseobjects? |
| 21:06:28 | alex_velea | They react ok with the undo / redo actions |
| 21:06:37 | alex_velea | They contain what they should contain |
| 21:07:20 | alex_velea | Here's a portion of the original code |
| 21:07:21 | alex_velea | For the undo() function |
| 21:07:21 | alex_velea | setDatabase(mUndoItems[mLastUndoIndex % UNDO_STATES]); GridDatabase *database = getDatabase(); mLoadTarget = database; |
| 21:07:39 | alex_velea | i changed the setDatabase with my undo method .. it works ok |
| 21:08:00 | alex_velea | but i get the assert when i call the next function |
| 21:08:00 | alex_velea | rebuildEverything(database); // Well, rebuild segments from walls at least |
| 21:08:11 | alex_velea | https://code.google.com/p/bitfighter/source/browse/zap/UIEditor.cpp |
| 21:08:13 | alex_velea | line 364 |
| 21:10:34 | Watusimoto | with your undo, you probably won't need to set the database at all -- the database probably won't change |
| 21:10:51 | Watusimoto | I imagine you are adding and deleting objects from it |
| 21:10:56 | alex_velea | Yep |
| 21:12:25 | Watusimoto | did you modify rebuildEverything? |
| 21:13:04 | alex_velea | Nope |
| 21:13:12 | alex_velea | I will try to change sth tomorrow |
| 21:13:43 | alex_velea | To copy the mChucker and all that jazz in my action of -undo- so i can see what's the problem. |
| 21:13:51 | alex_velea | But for the moment i just don't know |
| 21:14:35 | Watusimoto | you are getting too deep in -- the problem isn't inside the database |
| 21:14:41 | alex_velea | here's a part of my 'version' of undo .. http://ideone.com/SHbpbc i did not change a lot .. that was my aim. I created a class that stores the changes and has a metdhod that alters the DB with that changes |
| 21:14:43 | Watusimoto | let's just walk through this a little |
| 21:15:09 | Watusimoto | undo calls rebuildEverything, and passes the object database |
| 21:15:28 | Watusimoto | rebuildEverything calls recomputeAllWallGeometry(), and passes the same database |
| 21:16:09 | Watusimoto | recomputeAllWallGeometry calls buildAllWallSegmentEdgesAndPoints, again passing the same database |
| 21:16:54 | Watusimoto | buildAllWallSegmentEdgesAndPoints iterates through that database, and pulls out everything that is a wallType |
| 21:17:13 | Watusimoto | that is, everything that passes this test |
| 21:17:14 | Watusimoto | x == BarrierTypeNumber || x == PolyWallTypeNumber || |
| 21:17:14 | Watusimoto | x == WallItemTypeNumber || x == WallEdgeTypeNumber || x == WallSegmentTypeNumber; |
| 21:17:32 | Watusimoto | where x is the type of the object being tested |
| 21:17:55 | Watusimoto | it then iterates over all those found objects, calling buildWallSegmentEdgesAndPoints() |
| 21:18:47 | Watusimoto | buildWallSegmentEdgesAndPoints() looks for things of type PolyWallTypeNumber; if the passed object is not that, it casts to WallItem * |
| 21:18:52 | Watusimoto | if that cast fails, you get your assert |
| 21:18:53 | alex_velea | That's true .. but that's just a part of it. |
| 21:18:55 | Watusimoto | so. |
| 21:19:03 | alex_velea | I don't know where the walls are stored. |
| 21:19:06 | alex_velea | As themself |
| 21:19:25 | Watusimoto | but... if you modified none of the above chain, it should never assert unless... |
| 21:19:30 | alex_velea | if you create an wall sith 5 segments the db will contain only 1 rectangle in mAllObjects |
| 21:19:33 | alex_velea | In that vector |
| 21:19:48 | Watusimoto | unless your database has things in it that pass the test above but are not PolyWalls or WallItems |
| 21:19:59 | Watusimoto | which it should not |
| 21:20:05 | Watusimoto | but maybe it does |
| 21:21:29 | alex_velea | I will test that |
| 21:21:33 | alex_velea | again |
| 21:21:39 | alex_velea | But i don't think it does |
| 21:21:42 | alex_velea | but just to make sure :) |
| 21:23:35 | Watusimoto | well, there is no other explanation |
| 21:24:33 | Watusimoto | you can add your own assert higher up in the chain; perhaps loop through all the items in the database and ensure none have types Barriertype, WalLEdgeType, or WallSegmentType |
| 21:24:51 | Watusimoto | because almost certainly one of them is of that type |
| 21:24:59 | Watusimoto | and you need ot figure out where it is coming from |
| 21:30:17 | raptor | we gotta get rid of gScreeenInfo... |
| 21:35:07 | alex_velea | I did not figured out what caused that .. but i will try to solve it. Still i think that that mChucker it's the problem but i will fix it :D goog night everyone |
| 21:37:34 | Watusimoto | I would suggest that you chreat a db checker like what I suggested above, put in a function, and call it from various places in your code to see where things go wrong |
| 21:37:42 | Watusimoto | but... good night! |
| 21:37:47 | Watusimoto | raptor: we must kill all globals! |
| 21:38:21 | Watusimoto | though screenInfo seems rather benign, as all computers will have a single screen |
| 21:38:38 | Watusimoto | and even if we have mutliple clients in one instance, there will still be one screen |
| 21:38:44 | Watusimoto | why is it irking you? |
| 21:41:47 | | alex_velea Quit (Ping timeout: 250 seconds) |
| 21:45:47 | | Kiryx Quit (Ping timeout: 260 seconds) |
| 21:50:11 | | Skybax Quit (Ping timeout: 245 seconds) |
| 21:57:49 | raptor | static initilaization problems |
| 21:58:14 | raptor | there are some global static for rendering columns in the editor help - and they reference gScreenInfo |
| 21:58:39 | raptor | but on OSX they are initialized in a different order and the help screen has all columns on one side |
| 22:02:00 | Watusimoto | ah, is that way osx help is screwed up (guessing that's what's behind the reports) |
| 22:02:31 | raptor | yes |
| 22:02:42 | raptor | didn't we attempt to remove it once/ |
| 22:02:44 | raptor | ? |
| 22:05:53 | | Skybax has joined |
| 22:09:09 | | HylianSavior has joined |
| 22:09:37 | Watusimoto | I don't recall that |
| 22:09:43 | Watusimoto | we have a seeker design problem |
| 22:09:51 | raptor | maybe I made a fatal attempt |
| 22:10:02 | Watusimoto | when a cloud of seekers is homing in on you, and you face certain death... |
| 22:10:11 | raptor | yes |
| 22:10:18 | Watusimoto | ...the first hits you and the area damage wipes the rest out. and you survive! |
| 22:10:25 | raptor | ah |
| 22:10:37 | raptor | so the area damage |
| 22:10:39 | Watusimoto | which is kind of cool unless you were really trying ot kill the dude |
| 22:11:05 | Watusimoto | the area damage also feels weird when a seeker crashes into a wall and kills you anyway |
| 22:11:08 | raptor | kaen made it so it would not affect other seekers shot at the same firing rate from the same ship |
| 22:11:30 | Watusimoto | well, i'm playing with phill_'s bot, and it happened a couple of times |
| 22:11:50 | raptor | hmmm.... ok |
| 22:11:59 | Watusimoto | I'm thinking we should not have area damage on seekers |
| 22:12:01 | raptor | i even thought about adding in seeker-to-seeker immunity |
| 22:12:14 | Watusimoto | what is the goal of it? |
| 22:12:22 | Watusimoto | of seeker area damage? |
| 22:12:42 | raptor | oh? area damage was specifically added at the request of several community members (there was some thread about it) |
| 22:13:01 | raptor | I didn't think it was a bad idea since seekers were underused and still needed adjustment |
| 22:13:05 | Watusimoto | I actually thought it was a neat idea |
| 22:13:11 | raptor | so I figured to try it for 019 |
| 22:13:16 | Watusimoto | so if you had asked me I would have said sure |
| 22:13:32 | raptor | we could do something like delayed explosions between seekers... |
| 22:13:43 | raptor | like we do with mines, but maybe a slightly longer delay |
| 22:14:01 | raptor | hmm, maybe not - that might look weird |
| 22:14:07 | Watusimoto | but maybe we should go back to the question of what situations is seeker area damage good? |
| 22:14:46 | Watusimoto | I think it's bad when you have the swarm-die-off effect I described |
| 22:14:58 | Watusimoto | I think it's bad when a seeker crashes into a wall and damages you anyway |
| 22:15:03 | | BFLogBot Commit: a6a7a0a13eb1 | Author: buckyballreaction | Message: Line endings |
| 22:15:04 | | BFLogBot Commit: cf3a4bac1552 | Author: buckyballreaction | Message: Fix OSX editor help column rendering. We should probably have a coding convention of not using global statics in global statics to avoid weird initialization problems like this |
| 22:15:08 | raptor | ok |
| 22:15:22 | raptor | we could reduce the radius damage |
| 22:15:25 | Watusimoto | so if we can identify some situations where it's good we can focus on those |
| 22:15:31 | raptor | sorry, reduce the radius itself |
| 22:15:34 | Watusimoto | right |
| 22:15:55 | raptor | the idea, i think, was that seekers were expensive and so you should still get some bang for the buck |
| 22:15:56 | Watusimoto | that wouldn't really solve either problem |
| 22:16:07 | raptor | but then we made seekers cheaper |
| 22:16:26 | Watusimoto | Have you tried phill_'s new s_bot? |
| 22:16:33 | raptor | one of the earlier iterations.. |
| 22:16:37 | raptor | let me try the newest |
| 22:16:40 | Watusimoto | try the latest when you get a chance |
| 22:16:44 | Watusimoto | it can be pretty deadly |
| 22:16:55 | Watusimoto | it fires before you see it, then it appears amid a swarm of angry seekers |
| 22:18:21 | raptor | aaaach |
| 22:18:46 | raptor | yeah, i see what you mean... |
| 22:19:00 | raptor | better than the first iteration for sure |
| 22:19:21 | Watusimoto | yes |
| 22:19:24 | Watusimoto | pretty effective |
| 22:20:05 | raptor | i think one improvement would be to make it aim along the a* path when it shoots seekers |
| 22:20:17 | Watusimoto | I think it does |
| 22:20:21 | raptor | really? |
| 22:20:25 | raptor | let me try again.. |
| 22:20:41 | Watusimoto | that was my advice to him earlier, though I did not expain it nearly as clarly as you just did |
| 22:20:42 | sam686 | raptor, your new commit about fixing OSX help, now causes help to screw up if you: go to editor, go fullscreen (changes getGameCanvasWidth), press F1. Note that it only runs UI constructor one time, and then it sets getGameCanvasWidth back to 800. |
| 22:21:13 | raptor | well great |
| 22:21:13 | Watusimoto | see phill_'s notes in the case |
| 22:21:20 | Watusimoto | http://www.google-melange.com/gci/task/view/google/gci2013/6468504886706176 |
| 22:21:51 | Watusimoto | step 3 refers to the next a* waypoint, I think |
| 22:21:58 | raptor | ah... so it does |
| 22:22:03 | raptor | good |
| 22:22:13 | Watusimoto | I told him to taret ships in neighboring zones by aiming for that point |
| 22:22:42 | Watusimoto | but only when the angle between the shooter, the point, and the target falls into some range (seekers can't turn too sharply) |
| 22:22:51 | Watusimoto | step 2 refers to that angle |
| 22:23:29 | raptor | sam686: I don't see a problem on Linux... |
| 22:23:34 | Watusimoto | the bot rarely makes stupid into-the-wall shots now |
| 22:23:37 | raptor | but i believe you |
| 22:23:45 | raptor | I don't know the proper 'fix' |
| 22:24:40 | sam686 | you need to exit out of existing client, and start bitfighter and go fullscreen, then goto editor and press F1. (your fullscreen resolution should be bigger then 1024x768, it has no effect at 800x600) |
| 22:25:00 | raptor | ok |
| 22:25:31 | raptor | ah, going to fullscreen before the editor does it... |
| 22:25:34 | raptor | i see now |
| 22:25:40 | raptor | grumble grumble |
| 22:27:03 | raptor | maybe nows the time to get rid of gScreenInfo... |
| 22:30:10 | sam686 | static const on only .h file is usually safe, the problem is when using extern / using .cpp file to store global variables, you might not know which variables run constructor first. |
| 22:30:22 | raptor | exactly |
| 22:31:42 | sam686 | its partly why colors.h don't have colors.cpp, to make sure there no black color problem. |
| 22:32:23 | raptor | i remember that |
| 22:34:23 | Watusimoto | phill_: are you around? |
| 22:36:01 | | BFLogBot Commit: 9eeef99bb1ac | Author: buckyballreaction | Message: Allow placement of neutral/hostile Core in editor. They don't affect game score |
| 22:36:16 | raptor | Watusimoto: I'm seriously thinking of trying to get rid of gScreenInfo |
| 22:36:33 | Watusimoto | I have no problmes with doing that, but what will you replace it with? |
| 22:36:43 | raptor | what would be a good plan of attack? make all the methods static? or create the object on a ClientGame*? |
| 22:36:51 | raptor | not replacing it |
| 22:37:10 | raptor | rather morphing it into something so we don't have to use 'extern' |
| 22:37:14 | sam686 | move ScreenInfo into ClientGame? |
| 22:37:33 | Watusimoto | the important question is this (and sam686 may have a good answer). If there are mutliple clients playing in one bf instance, how many uiManagers will we have? |
| 22:37:41 | Watusimoto | one per player or one overall |
| 22:37:53 | Watusimoto | if one overall, then you can put stuff on uiManager |
| 22:38:16 | Watusimoto | if one per player, then we'll need something to manage the uimanagers, and that can be where the stuff goes |
| 22:38:22 | raptor | I have a hard time believing many people use multiple clients in one instance... |
| 22:38:33 | Watusimoto | currently none do |
| 22:38:39 | sam686 | the problem is each client need to have their own UIGame as some variables shouldn't be shared (i think) |
| 22:38:42 | raptor | because the implementation doesn''t seem complete to me |
| 22:38:53 | Watusimoto | it's not at all complete |
| 22:38:58 | Watusimoto | not even a little bit complete |
| 22:39:06 | Watusimoto | it's a future project |
| 22:39:09 | raptor | ah |
| 22:39:20 | raptor | sounds like a bit future project... |
| 22:39:22 | raptor | *big |
| 22:39:32 | sam686 | I kindof started doing that 2 client game on one fullscreen bitfighter game |
| 22:39:48 | Watusimoto | I agree that there will be to uigames |
| 22:39:52 | sam686 | you can't fullscreen 2 bitfighter clients at the same time. |
| 22:39:52 | Watusimoto | two |
| 22:40:22 | Watusimoto | if there are two uigames, each will have to be associaetd with a clientgame |
| 22:40:31 | Watusimoto | and now the clientgame has its own uimanager |
| 22:40:55 | Watusimoto | probably that would stay the same, so each player would have their own uimanager |
| 22:41:08 | Watusimoto | and we'd need some larger entity to manage the uimanagers |
| 22:41:12 | Watusimoto | a screenmanager class, perhaps |
| 22:41:17 | Watusimoto | or displayManager |
| 22:41:30 | Watusimoto | so mayne that is where you can put your static methods and such |
| 22:42:04 | sam686 | less globals = easier to implement multiple ClientGame |
| 22:43:17 | Watusimoto | yes |
| 22:43:38 | Watusimoto | though screen constants and such really are global |
| 22:43:55 | sam686 | there is a /showpaths crash that needs fixing first, along with some other possible bugs |
| 22:44:19 | Watusimoto | raptor: does that help you at all? |
| 22:44:20 | raptor | soo... screeninfo on clientgame? |
| 22:44:32 | sam686 | probably yes |
| 22:44:38 | raptor | i was not expect to have to implement a new architecture for this huge new feature... |
| 22:44:46 | Watusimoto | I was thinking on a new class |
| 22:45:05 | Watusimoto | that for now will only exist for this purpose |
| 22:46:09 | Watusimoto | looking at screenInfo |
| 22:46:14 | Watusimoto | it really *is* a class |
| 22:46:30 | Watusimoto | so now I'm confused |
| 22:46:57 | Watusimoto | raptor: what do you need to do to fix this initializatio problem? What is an example of something that needs to be changed? |
| 22:47:26 | Watusimoto | none of this is clientgame stuff |
| 22:47:29 | Watusimoto | it's all ui stuff |
| 22:47:38 | | kumul Quit (Ping timeout: 264 seconds) |
| 22:50:40 | | Skybax Quit (Ping timeout: 246 seconds) |
| 22:51:15 | raptor | Watusimoto: gScreenInfo is a global object declared in ScreenInfo.cpp |
| 22:51:24 | Watusimoto | right |
| 22:51:28 | raptor | so to access it it needs to be extern'd in the .h |
| 22:51:35 | Watusimoto | yes |
| 22:51:58 | | Skybax has joined |
| 22:52:06 | Watusimoto | if it were not a global object, how would you access it where you need it? |
| 22:52:23 | raptor | un UIEditorInstruction.cpp we have this: static S32 col3 = UserInterface::horizMargin + S32(gScreenInfo.getGameCanvasWidth() * 0.5) |
| 22:52:27 | raptor | *in |
| 22:53:55 | raptor | the problem is that on OSX, it is initialized in a different order (probably because of the linker) and gScreenInfo.getGameCanvasWidth() is 0 |
| 22:54:33 | raptor | initialization/linker order problems happen because of the use of things like extern |
| 22:55:04 | raptor | and objects declared globally in .cpp files... |
| 22:56:25 | raptor | to prevent these annoying ordering issues means not using 'extern' |
| 22:56:32 | Watusimoto | ok |
| 22:56:35 | raptor | which means not declaring gScreenInfo in a .cpp |
| 22:56:47 | raptor | which means it should be an object on some other object |
| 22:56:48 | Watusimoto | so in UIEI, where will you get the canvas width? |
| 22:56:52 | raptor | or just have static methods |
| 22:57:10 | raptor | godo question - that's why I asked about a suggested plan of attack |
| 22:57:13 | raptor | *good |
| 22:57:14 | Watusimoto | getcanvaswidth is a static method, no? |
| 22:57:31 | Watusimoto | ok |
| 22:57:53 | sam686 | getCanvasWidth is not static function in ScreenInfo |
| 22:57:59 | Watusimoto | so what if screenInfo were available on the UI object? |
| 22:58:04 | sam686 | as we was accessign through gScreenInfo |
| 22:58:22 | raptor | sounds fine to me |
| 22:58:32 | Watusimoto | then every ui class could call this->mScreenInfo->gtegameCanvasWidth() |
| 22:58:40 | Watusimoto | would that solve the problem? |
| 22:58:41 | raptor | sure |
| 22:58:44 | raptor | yes |
| 22:58:50 | sam686 | the problem that can happen is, gScreenInfo and a bunch of others global constructor first the main() runs, except at which order? |
| 22:59:10 | raptor | that's was my question - a good place for it to reside |
| 22:59:29 | sam686 | if it is a single .cpp file, usually constructor runs first at the top then bottom |
| 22:59:32 | raptor | if it's on UI, would there be only one instance? |
| 22:59:41 | raptor | and does this object need to have only one instance? |
| 22:59:46 | sam686 | except we have multiple .cpp file, so it depends what order linker adds them |
| 22:59:47 | Watusimoto | though if its on UI, that would mean it got replicated for every ui class, unless it was a static |
| 23:00:03 | raptor | I think it needs to be singleton |
| 23:00:09 | raptor | yeah... it does |
| 23:00:11 | Watusimoto | there should be only one instance, yes |
| 23:00:27 | Watusimoto | so it could be a static, or it could live on antoher singleton class |
| 23:00:36 | raptor | yes |
| 23:00:49 | Watusimoto | which is why I was asking about uimanager before |
| 23:01:01 | Watusimoto | looking for a singleton class that will remain so into the future |
| 23:01:14 | raptor | seems like that is better then, if UIManager is a singleton |
| 23:01:23 | Watusimoto | it is right now |
| 23:01:26 | raptor | I'm not too familiar with UIManager code.. |
| 23:01:39 | Watusimoto | there is one uiManager per client game |
| 23:01:57 | Watusimoto | it's the interface between cleintgame and all the ui code |
| 23:02:12 | Watusimoto | clientgame only talks to uimanager |
| 23:02:23 | Watusimoto | uimanager delegates from there |
| 23:02:40 | raptor | ok, now I think we're sync'ing up... |
| 23:02:46 | Watusimoto | but if we have two client games, we'll porobaby have two ui managers |
| 23:02:54 | Watusimoto | and it will no longer be a singleton |
| 23:02:56 | raptor | yeah - and we can't have two screeninfos |
| 23:03:36 | Watusimoto | but there will need to be something to manage these two uimanagers, to tell which one which part of the screen to use. and that thing (screenManager??) will be a singlegon |
| 23:03:49 | Watusimoto | so that is (ultimately) where screenInfo should live |
| 23:04:05 | raptor | maybe it should be a static on VideoSystem |
| 23:04:44 | Watusimoto | so do one of the following 1) Expedient - put it on ui manager, and we change it later or 2) create a new class that does nothing but hold screenInfo, and put it there |
| 23:05:08 | Watusimoto | videosystem? let me look at ath |
| 23:05:49 | Watusimoto | I suppose it could go there |
| 23:05:54 | raptor | it controls video set-up, all static methods |
| 23:06:08 | Watusimoto | ok, that is option 3 |
| 23:06:22 | Watusimoto | I think you should do that for now |
| 23:07:11 | raptor | heh VideoSystem uses gScreenInfo 47 times |
| 23:09:22 | raptor | 330 total uses |
| 23:10:08 | raptor | I'm thinkg that #2 might be best - create a new class, instantiate it and clean it up in main() |
| 23:10:12 | raptor | main.cpp |
| 23:10:27 | raptor | DisplayManager sounds good, too |
| 23:11:27 | Watusimoto | ok, that woudl be fine as well |
| 23:11:33 | Watusimoto | but |
| 23:11:46 | raptor | argh |
| 23:11:48 | Watusimoto | woudl we need that for tests? if so, creating it in main is painful |
| 23:11:48 | raptor | but |
| 23:12:08 | raptor | how to access it from other classes? |
| 23:12:30 | raptor | yeah.. |
| 23:13:02 | Watusimoto | access it statically |
| 23:13:20 | Watusimoto | then it's just like a global! |
| 23:13:34 | raptor | argh |
| 23:14:02 | kaen | that's fine, as long as it has defined initialization |
| 23:14:12 | kaen | and defined access semantics |
| 23:14:31 | kaen | (two clientgames aren't writing to it at the same time) |
| 23:14:57 | kaen | sounds like a good case for a singleton |
| 23:14:57 | | BFLogBot Commit: fa5bae0be57a | Author: buckyballreaction | Message: Revert cf3a4bac1552 that fixes OSX editor help screens. We need to rethink this... |
| 23:15:00 | kaen | and good day all |
| 23:15:12 | raptor | ok, I think I'm a little fuzzy here on how to do that - declare a "static DisplayManager;" in some header as a public var? |
| 23:15:35 | Watusimoto | no you create the class |
| 23:15:42 | raptor | because that's starting to sound like the 'extern' problem |
| 23:15:52 | Watusimoto | then havve static screeninfo |
| 23:16:00 | kaen | wat is correct, you just create the class and use it as normal |
| 23:16:12 | Watusimoto | it's really the same thing, but maybe will fix the link issue |
| 23:16:22 | Watusimoto | because it's not technically the same thing |
| 23:16:24 | kaen | class DisplayManager { static mScreenInfo; static ScreenInfo getScreenInfo() }; |
| 23:16:39 | raptor | ahhh |
| 23:16:41 | Watusimoto | ^^ |
| 23:16:55 | kaen | as long as it's not used in the static initialization of some other variable, it's safe |
| 23:16:58 | raptor | that makes so much more sense now |
| 23:17:07 | kaen | (if not, however, then you do get the same problem) |
| 23:20:29 | Watusimoto | kaen: when you get a chance, check out phill_'s latest bot work |
| 23:20:54 | Watusimoto | I left some comments for him, but basically I think he's pretty much there |
| 23:21:07 | Watusimoto | it's a dangerous bot (at least for me) |
| 23:21:55 | kaen | if it has to be used for static initialization (I imagine it is or we wouldn't be having this discussion), instead do getScreenInfo() { static ScreenInfo screenInfo; return screenInfo } |
| 23:22:12 | kaen | which has defined initialization order, even when called from static initializations |
| 23:22:36 | kaen | (and return a mutable reference) |
| 23:23:43 | raptor | do I need to return a reference? static ScreenInfo& getScreenInfo(); or a pointer? or will static like that be guaranteed to be the same object? |
| 23:23:56 | sam686 | another problem was the use of gScreenInfo in a global variable... that if happen to run first it will either crash or be zero |
| 23:23:58 | | Platskies has joined |
| 23:25:27 | | Platskies Quit (Client Quit) |
| 23:25:45 | | Platskies has joined |
| 23:27:45 | raptor | or should I return a poniter? |
| 23:27:55 | kaen | static is guaranteed to be the same. pointer or mutable reference is just a stylistic choice |
| 23:28:07 | kaen | I'm on sort of a reference kick. |
| 23:28:11 | raptor | heh |
| 23:28:13 | raptor | ok |
| 23:28:16 | raptor | thank you |
| 23:28:25 | kaen | my pleasure :) |
| 23:29:09 | Watusimoto | I don't think I've ever written a function that returned a reference |
| 23:30:15 | Watusimoto | so what's our plan... a few fixes in response to 019 then release 019a? |
| 23:30:29 | raptor | interesting idea... |
| 23:30:30 | kaen | you're not supposed to, but for a singleton it's guaranteed to be ok :P |
| 23:30:43 | raptor | wasn't that our idea from 018a to 019? |
| 23:30:48 | kaen | hehe |
| 23:30:49 | Watusimoto | yes |
| 23:31:05 | Watusimoto | also... the website redesign is kind of dangling |
| 23:31:13 | raptor | this release took 8 months, i think 016 was barely longer... |
| 23:31:32 | Watusimoto | this was a HUGE release |
| 23:32:27 | raptor | yes, it was... |
| 23:32:40 | kaen | :wq |
| 23:32:43 | kaen | oops |
| 23:32:49 | kaen | can you tell what editor I'm using? :P |
| 23:33:22 | Watusimoto | the one true editor |
| 23:33:40 | kaen | gotcha! it's ST3 in vintage mode :) |
| 23:33:52 | Watusimoto | ST _is_ the one true editor |
| 23:34:16 | kaen | :q doesn't actually work, but sometimes I slip and let fly a vimism |
| 23:34:32 | kaen | oh! |
| 23:34:43 | kaen | did you know cmake generate ST project files, Watusimoto ? |
| 23:34:55 | Watusimoto | you mentioned that it did |
| 23:34:55 | kaen | cmake can* |
| 23:35:01 | Watusimoto | never tried it though |
| 23:35:07 | kaen | ah ok. I'm still pretty excited about it :) |
| 23:36:18 | Watusimoto | it's definitely cool |
| 23:36:41 | Watusimoto | so... guys... what about the website overhaul that no one wants to talk about? |
| 23:37:14 | kaen | I still want to make it happen. But admittedly it's pretty low priority on my list. |
| 23:37:38 | Watusimoto | yes, but if we let it drift too long, we'll lose our jimmysquid |
| 23:37:43 | Watusimoto | if we haven;t already |
| 23:37:53 | Watusimoto | that's really my only concern |
| 23:38:13 | Watusimoto | because of all of us, I like our current site best and the redesign least |
| 23:39:43 | Watusimoto | should zone icons grow to fill the zone? |
| 23:40:22 | raptor | grow? or shrink? |
| 23:41:06 | Watusimoto | yes -- should a big zone have a big icon? |
| 23:41:57 | | Skybax_ has joined |
| 23:42:19 | kaen | I like them all being the same size. Looks better imo |
| 23:42:27 | | BFLogBot Commit: 82bba04b15eb | Author: watusimoto | Message: It _is_ an error message, after all! |
| 23:42:29 | | BFLogBot Commit: 0214b6f14129 | Author: watusimoto | Message: Merge |
| 23:42:31 | kaen | but it would be nice if they shrunk when the zone was too small |
| 23:42:47 | | Skybax Quit (Ping timeout: 272 seconds) |
| 23:42:53 | Watusimoto | they woudl get really hard to see if much smaller |
| 23:49:21 | | raptor Quit (Ping timeout: 245 seconds) |
| 23:51:27 | | raptor has joined |
| 23:51:27 | | ChanServ sets mode +o |
| 23:52:18 | raptor | I don't know about scaling... the idea seems too different |
| 23:53:47 | raptor | ok, DisplayManager with the new ScreenInfo is compiling, but launching the game is throwing asserts |
| 23:53:51 | raptor | and quits |
| 23:54:09 | raptor | this is my .h: http://pastie.org/8521720 |
| 23:54:35 | raptor | this is my .cpp: http://pastie.org/8521721 |
| 23:54:40 | raptor | am I doing something wrong? |
| 23:54:49 | raptor | I bet I need to return a reference... |
| 23:55:05 | sam686 | perhaps something is accessing getScreenInfo() first without the static ScreenInfo initalizing? |
| 23:55:30 | raptor | that could be... |
| 23:55:57 | raptor | but then I'm in the realm of ordering problems again... |
| 23:56:05 | raptor | which I'm trying to avoid |
| 23:56:38 | sam686 | take off the ScreenInfo DisplayManager::mScreenInfo; from .cpp and then it will be fine? |
| 23:57:34 | raptor | fails to link |
| 23:57:41 | sam686 | take off the statics? |
| 23:58:05 | raptor | we need statics so we can access it statically |
| 23:58:26 | raptor | like this: DisplayManager::getScreenInfo().getGameCanvasWidth() |
| 23:58:44 | sam686 | but then that static means extern, and having to initalize them at .cpp (unless its a const U32/S32) |