#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2015-02-19

Timestamps are in GMT/BST.

00:00:07Watusimoto_My guess is that something isn't being saved properly
00:00:16Watusimoto_though I suppose that's pretty obvoius
00:01:01Watusimoto_write a test!!
00:01:14kaen_mbp has joined
00:02:25Watusimoto_hi kaen_mbp
00:05:39kaen_mbp Quit (Ping timeout: 245 seconds)
00:08:11Watusimoto_bye kaen_mbp
00:08:34raptorheh
00:26:18sam686hi raptor, watusimoto, seen my problem yet i had at one time? http://sam6.25u.com/bitfighter/bf_upload_to_db_bug_019d.avi
00:26:30raptorhi sam686
00:26:36raptorno, i didn't see that. let me look
00:28:04raptorwhoa!
00:28:10raptordid your entire level disappear??
00:28:36sam686it reverts any unsaved changes that is made
00:28:44sam686and even blanks out the level when changing filename
00:29:02raptorcould that be because it tried to reload a file from the new name?
00:29:15sam686probably yes
00:29:37raptorside note - there are two bugs, right? the first one being the level credits not saving?
00:29:58sam686not just level credits, also every unsaved changes
00:30:10raptorahh
00:31:12raptorhuh
00:31:14sam686I had a spawn point disappear when uploading to DB, because i didn't save after adding spawn point
00:31:26raptorwould a good fix be to save the level first?
00:32:23sam686probably yes, or at least ask that level needs saving
00:40:12raptorok, i'll take a look, probably tomorrow... i'm sleepy right now
00:40:17raptorgood night!
00:41:01raptor Quit ()
02:02:46kaen_mbp has joined
02:07:18kaen_mbp Quit (Ping timeout: 250 seconds)
04:04:17kaen_mbp has joined
04:08:38kaen_mbp Quit (Ping timeout: 250 seconds)
04:46:15BFLogBot_ Commit: c6b9130737 | Author: watusimoto | Message: Variable names and the like -- no change in functionality
04:46:17BFLogBot_ Commit: abf7fce68a | Author: watusimoto | Message: Comments
04:46:18BFLogBot_ Commit: bc5f033ff7 | Author: watusimoto | Message: Better to call parent, even when it does nothing
04:46:20BFLogBot_ Commit: e1d914a1ec | Author: watusimoto | Message: Add some sample code (commented out) that will cause Text/Line Items to be removed from clients after player changes teams. TNL does not send the removal until the object has changed somehow.
04:46:21BFLogBot_ Commit: c3fa344bec | Author: watusimoto | Message: Add more tests, do some cleanup and renaming in TNL
04:51:58Watusimoto_ Quit (Ping timeout: 250 seconds)
04:55:40LordDVG has joined
06:05:50kaen_mbp has joined
06:10:09kaen_mbp Quit (Ping timeout: 256 seconds)
06:46:04CrazyLinuxNerd Quit (Quit: Going.. Going.. Gone)
06:46:59CrazyLinuxNerd has joined
07:02:45LordDVG Quit (Remote host closed the connection)
08:07:24kaen_mbp has joined
08:07:38Darrel Quit (Ping timeout: 244 seconds)
08:07:45Darrel has joined
08:11:33kaen_mbp Quit (Ping timeout: 246 seconds)
08:54:47Darrel Quit (Ping timeout: 252 seconds)
08:55:09Darrel has joined
10:08:57kaen_mbp has joined
10:13:28kaen_mbp Quit (Ping timeout: 265 seconds)
10:25:17koda has joined
11:14:48raptor has joined
11:14:48ChanServ sets mode +o
11:14:54raptorgood day!
11:28:33kaen_mbp has joined
12:55:47Watusimoto_ has joined
13:20:13Watusimoto_ Quit (Ping timeout: 264 seconds)
13:29:09koda Quit (Quit: koda)
13:38:29watusimotohi
13:45:13raptorhello
13:53:15watusimotoI learned a lot about TNL scoping last night
13:53:40watusimotobefore getting totally stuck on a problem we didn't even know was a problem
13:54:05watusimotobut I woke up this morning with a solution to that, and another bug that, it turns out, I created in my recent mucking around
13:54:25watusimotohooray for mental downtime
13:54:50raptorthe shower, in the morning, is where i usually end up solving the tough problems at work...
13:55:21watusimotopretty funny how the mind works
13:55:43watusimotothe tnl problem I was trying to solve was you have a red text item, which is visible to you on the red team
13:55:54watusimotoI fixed things so that red text is no longer sent to the blue team
13:56:00raptoroh good
13:56:08watusimotobut if you are on the red team, and change to blue, what should happen?
13:56:09raptorno more client-side hacks!
13:56:22watusimotothe red text is no longer in scope...
13:56:45raptorisn't there a team flag on the network packet? that would need to update the client
13:56:57watusimotothe text didn't change -- there is no flag to set
13:57:01watusimotoonly the client changed
13:57:14watusimotoif you change the team of the text, yes, it works as expected
13:57:48watusimotobut if the player changes, what happens is the object is marked as out of scope, but is not actually deleted on the client until the text itself changes somehow
13:58:06watusimotowhich it never does, so the now blue player still has access to the red text
13:58:33watusimotoso I found what I think is a relatively elegant solution to that problem, easily implemented, which I will try tonight
13:58:41raptori thought a team change triggers scope updates for all objects in the vicinity of the player
13:58:54watusimotoit turns out there is a special culling mechanism for when we run out of slots for ghosted objects
13:58:55LordDVG has joined
13:59:11watusimotothe trick will be, I think, to trigger this culling mechanism when you switch teams
13:59:13raptorso add the objects to that
13:59:51watusimotoit's not a list of objects to cull, but rather a process that passes over all objects in scope
14:00:05raptorah
14:00:14watusimotoanyway, I'll create a mechanism to trigger this manually, and then do that when the ship changes teams
14:00:34watusimotothen the red text will be removed from the blue (formerly red) client
14:00:56watusimotothat same mechanism would work for all sorts of things; mines, for example, or other items that were in scope, but no longer are
14:00:57raptorso does that mean... if i change teams and there was a cloaked, non-moving teammate beside me, do i still see him after the switch?
14:01:12raptorit seems like there should already be a mechanism for this somewhere
14:01:16watusimotothat's a different case; nothing has changed for that, yet
14:01:24watusimotothere is a different case for that out there
14:01:43watusimotoyou would not see him because th elcient handles the cloaking
14:01:49watusimotobut you would still know about him
14:01:55watusimotoor rather the client would
14:01:55raptorah that's right
14:01:59raptorbe we don't want it too
14:02:04raptorthat should be server-ish side
14:02:07watusimotobut fixing that will be similar
14:02:19raptor*to
14:02:21watusimotoyes, it will be server side at some point
14:02:21raptoryeah, ok
14:02:27sam686i think part of the reason it doesn't remove non-scope objects from clients right away is to save bandwidth when its back into scope and that object haven't changed, also for when changing teams back and forth doesn't need to resend unchanged text items
14:02:37watusimotoI'm just working on items hidden from one team
14:02:48watusimotosam686: yes, that's almost certainly it
14:03:19watusimotoI'm not deleting all objects, only triggering the culling mechansim that will remove out-of-scope items
14:03:35watusimotoand I've already changed the way scoping works so that red text is considered out-of-scope for blue teams
14:03:54watusimotoso when combined, we get what we want, without too much overhead
14:04:19raptori was sure TNL already provided something for this..
14:04:43watusimotoit provides the culling mechanusm, and will remove the out-of-scope objects if they change somehow (move, for example)
14:05:21watusimotobut I think they decided that a stationary object, once you know about it, you'll always know about it.
14:05:31watusimotoand that usually works, except for text and lines
14:06:04watusimotoanother advantage is that we could make red text available to blue players by changing the scoping rules on the server; no mod to client required
14:06:15sam686back in about 015? it was limited to about 1024 or 2048 ghostable objects per client, i think i did something that removed unscoped items to free enough entries for more ghostable items in scope
14:06:18watusimotoso we could make a server option to show all text to all players, or something
14:06:37watusimotomaybe that mechansim I am referring to was written by you
14:06:48watusimotoit basically gets triggered when there are only 10 slots left
14:07:11raptorsam686 increased it... just for one specific map, i think - Fast Nexus
14:08:33sam686well, the limit of ghostable objects (and a few other things) can't be changed except between incompatible versions
14:08:37watusimotohaving a test set up to test various scenarios has made figuring this out really easy
14:08:47watusimototweak tnl, run the test
14:09:19watusimotoI think raptor meant you changed the number globally to make a specific map still work
14:10:00raptoryes
14:10:04sam686tnlEvents should not be changed or it could break compatibility with master, but tnlGhost is server-clisnt only, master connection don't use tnlGhost
14:10:11raptorjust as a history lesson :)
14:10:42watusimotomy fix will change nothing on the clients; only affects when the server culls out-of-scope objects using existing mechanisms
14:10:58watusimotothis could be backported to 019x, though it would hardly be worth it
14:12:17raptornah... too complicated for 019x
14:12:25watusimotoif you want to see where in the code, look in ghostconnection.cpp, and look for "< 10"
14:12:38watusimotothat's the block that needs to be triggered when a player changes teams]
14:12:55watusimotoanother nice feature is it only affects object scoping for the particular client, not all clients
14:27:53sam686http://sam6.25u.com/upload/text1502/150219_13-26-24.txt something like that might do
14:28:28sam686noticed that my if(mGhostFreeIndex > MaxGhostCount - 10) check runs the loop 2 times in order to remove unscoped objects..
14:50:00watusimotoWe don't want to remove unscoped objects on every pass... only when the player changes teams
14:50:35watusimotoby keeping unchanging unscoped objects around, it lets "discovered" items show up on the cmdrs map even when the fall out of scope
14:51:41watusimotooops. earlier I should have written - 10, instead of < 10 :-)
14:52:56watusimotobut yes, your code might do the trick
14:55:04sam686if you read the function void GhostConnection::removeUnscopedObjects() it only affects 1 client, if you do gameConnection->removeUnscopedObjects() if you put that function into ghostConnection
14:55:33watusimotoyes
14:55:41watusimotoand call that from the c2s change teams
14:55:48watusimotofunction
14:55:59watusimotoor rahter, from a function that is called from inside that
15:27:39raptormeeting! back soon
16:53:50koda has joined
17:28:41watusimotough... here at work I've written over 600 lines of code and can't test it at all. who knows if any of it works?!?
17:53:59Watusimoto_ has joined
18:07:16raptortest after full compile and run in production !
18:18:19LordDVG Quit (Remote host closed the connection)
18:42:23raptor Quit (Remote host closed the connection)
18:45:44koda Quit (Quit: koda)
19:06:06Watusimoto_ Quit (Ping timeout: 246 seconds)
20:15:09Watusimoto_ has joined
21:24:29watusimoto Quit (Quit: Leaving.)
21:50:00koda has joined
22:28:39watusimoto has joined
22:28:39ChanServ sets mode +o
22:29:22koda Quit (Quit: koda)
23:11:13CrazyLinuxNerd Quit (Ping timeout: 264 seconds)
23:37:00raptor has joined
23:37:00ChanServ sets mode +o

Index Search ←Prev date Next date→

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