#bitfighter IRC Log

Index Search ←Prev date Next date→

IRC Log for 2015-05-15

Timestamps are in GMT/BST.

00:00:25raptor Quit (Client Quit)
00:36:23empyrean has joined
00:37:54empyrean Quit (Remote host closed the connection)
00:52:27empyrean has joined
00:57:08empyrean Quit (Remote host closed the connection)
01:07:22Flynnn has joined
05:12:51Flynnn Quit (Quit: Leaving)
08:14:57koda has joined
13:16:04empyrean has joined
13:18:01empyrean Quit (Remote host closed the connection)
13:25:31watusimoto has joined
13:25:32ChanServ sets mode +o
14:54:24koda Quit (Ping timeout: 264 seconds)
14:55:07raptor has joined
14:55:07ChanServ sets mode +o
15:01:01raptorhello
15:08:14molodoy has joined
15:08:24molodoy Quit (Client Quit)
16:22:14raptorwatusimoto: sorry i've been busy and haven't had much time to spend on physfs yet - however, before I precompile it; are we sure we want to use it? I think it's a good idea, but I honestly haven't thought of all the implications yet
18:53:55raptor Quit (Ping timeout: 265 seconds)
19:15:21raptor has joined
19:15:21ChanServ sets mode +o
19:20:56raptorluajit updated - i should update our repo, too
19:21:03amgine123 has joined
19:21:18amgine123hello anything new to test ?
19:22:38watusimotohello
19:22:48raptorhi
19:22:58watusimotoraptor: I think so -- it solves a problem we will have
19:23:08watusimotowhich is hosting out of zip files
19:23:15watusimotowhich is something I'd like to support
19:23:24watusimotothough arguably not a critical feature
19:23:40raptorit also removes complexity with copying resources, etc.
19:23:48raptorwhich I wholeheartedly want to remove
19:23:59raptorhowever, i was htinking about one thing-
19:24:19amgine123wattsimo did you see my privite message
19:25:04raptorif we have a 'system' dir with sfx/music/levels/etc., and a user dir all meshed together, how would we allow editing of 'system' level files (assuming they would be the default stock levels)
19:25:07raptor?
19:25:14watusimotoamgine123: how do you add the teams?
19:25:43watusimotoraptor: how do we manage it now?
19:26:06raptorwe copy all system resources into the user dir on first launch, then from thereafter onward the game is run out of the user dir
19:26:07watusimotothey normally would copy the stock levels to their "working" folder
19:26:13amgine123If you add prest teams they are not the correct color [17:22] <amgine123> they will all be red even though some teams should be blue ect [17:22] <amgine123> or yellow
19:26:24watusimotoright, and the user modifies their "working" copy
19:26:28raptoryes
19:26:37watusimotoso... that wouldn't change
19:26:44raptorbut physfs abstracts away the idea of a rootdatadir
19:26:55watusimotonot exactly
19:26:57raptorwe would, presumably, mush them together
19:27:04watusimotowe mush them together, yes
19:27:16watusimotobut we have "working" and "system copy"
19:27:19watusimotoin that order
19:27:27watusimotoso the working version is always grabbed if it existss
19:27:46watusimotophysfs lets you add folders in a search-priority order
19:27:51raptorahhh
19:27:54raptori wasn't sure about that
19:28:13watusimotobut the levels aren't a good example
19:28:30watusimotobecause if I delete a bm.level from my levels folder, we won't go grab another copy
19:28:34raptorso the only cases i'm really worried about are mushed system/user resources because only the user ones would be modifiable
19:28:37watusimotowe just wouldn't want to host that level
19:28:44watusimotobut the sfx might be better
19:28:53watusimotoI have my modified sfx folder, then my system sfx
19:29:02watusimotosorry local and system
19:29:16watusimotoif I have a phaser.wav in my local version, that gets used
19:29:23watusimotoif I don't, then system copy gets used
19:29:33raptoryes, that makes sense, and is good
19:29:35watusimotoso if I want to modify the sfx, I modify my local copy
19:29:38watusimotoand all is good
19:30:02watusimotoso for some resources, we'd have two folders (perhaps) a user specifyable override, and the system default
19:30:04raptori'm thinking of a case taht is little different
19:30:08watusimotofor levels, we'd just have one
19:30:13raptorfor levels... ah
19:30:16raptorjust the user one?
19:30:35watusimotobecause you define which levels you want to host with by creating a folder and putting htme there, them poitning bf at that folder
19:30:43watusimotono overrides involved
19:30:52raptorok
19:30:53watusimotobut I want to expand that to other mechanisms
19:30:57raptorthat's a better idea
19:31:02watusimotoaim it at a zip file instead of a folder
19:31:05raptorand what i wanted to figure out
19:31:23watusimotoaim it at a playlist, in which case you might have multiple folders where those levels might live
19:31:34watusimotoaim it at pleiades
19:31:38watusimotoetc.
19:31:46raptorwhich i think will be awesome
19:31:54watusimotoindeed it would
19:32:03raptori had it in my mind that it was an all-or-nothing system/user mesh
19:32:03watusimotopleiades would become a level server
19:32:07watusimotono
19:32:17watusimotothere is one problem, though
19:32:32watusimotoand that is there is only one "instance" of physfs
19:32:46watusimotoso you don't have one version for sfx and antoehr for levels
19:32:51watusimotoyou just have one
19:33:03raptorone FS, right
19:33:13watusimotowhich complicates things a bit if we want to use it in different contexts
19:33:40raptorlike how? a bitfighter instance doesn't use more than one 'FS' right now...
19:33:49watusimotofor basic game resources, we can share a single instance -- point it at a user folder, and also a system folder, so it works like the sfx version I specified above
19:33:58watusimotoexcept we'd point it at the rootdatadir
19:34:10watusimotoand keep everything in its own subfolder, as we do now
19:34:20watusimotoso you can have physfs fine sfx/phaser.wav
19:34:24watusimoto*find*
19:34:57watusimotoif it is pointed at the root resources folder, it will figure out that sfx is a subfolder, and phaser.wav is a file in that subfolder
19:35:09watusimotobut we want to use it in a very different way for levels
19:35:17watusimotoso we really need two instances
19:35:25raptori don't understand... for levels
19:35:55raptori thought it wasn't all-or-nothing - so we could only load levels from one *real* folder
19:35:57watusimotook, for all game resources except levels, we will point physfs at a user resource folder, and the system resource folder
19:36:16watusimotoand there can be an sfx folder in each
19:36:22watusimotoand a robots folder in each
19:36:23watusimotoetc.
19:36:38watusimotoand when the game wants to load a sfx, it will look in both folders to find one
19:36:43watusimotoand everything works fine
19:36:47watusimotowith me so far?
19:37:33raptoryep
19:37:52raptorthis is more-or-less sounding like the original issue i had in my head...
19:38:52watusimotook, so for all that it will work the way you described in the google case you made
19:38:59watusimotobut for levels it will be different
19:39:02watusimotobecause
19:39:12watusimotoif I say "play all levels in folder x"
19:39:27watusimotoI don't want it looking at x in my local resources, and x in my system resources
19:39:39watusimotoI want *only* the levels in my local folder x
19:40:01watusimotobut if we are using physfs for resources, it will be pointed at two folders
19:40:22raptorand that is exactly my original issue
19:40:31raptorwhich i failed to articulate
19:40:34watusimotobut we don't want that
19:40:39raptorcorrect
19:40:43watusimotoalthough...
19:40:45watusimotomaybe...
19:41:38watusimotoif we can enumerate all the files in the local copy of x, when we go to load them, maybe it will work, as it will always find a level in the local folder (because the list of stuff to load came from the contents of that folder)
19:41:53watusimotoso it might never need to look elsewhere
19:42:24watusimotobecause it will only be looking for files that exist in the first search location
19:42:29watusimotobecause that is what we enumerated
19:42:44watusimotoas long as the user doesn't try to delete levels in mid-game
19:42:52watusimotoor some other stupid thing like that
19:42:56raptorwait, how does that exclude the system levels?
19:43:11watusimotoif I have a system folder with levels x,y,z
19:43:17watusimotoand a local folder with levels a,b,c
19:43:28watusimotosorry
19:43:29watusimotostart over
19:43:45watusimotosystem folder has x1,y1,z1,a1
19:43:55watusimotoand local folder has a2,b2,c2
19:44:12watusimotowhere x1 and x2 are different copies of the same level
19:44:12amgine123use alt + #
19:44:23watusimotoand I say play all levels in local folder
19:44:30amgine123on build 20 that you gave me it adds the teams but it doesnt change its color
19:44:48watusimotoif we look in the local folder, we'll find a, b, c
19:44:49amgine123Why not jsut have poeple load levels from pleadies
19:45:05watusimotoand when we load a, we'll get a1, and we'll never load x,y, or z
19:45:08amgine123that way they can play any level they want
19:45:17watusimotoamgine123: that;s coming
19:45:18amgine123maybe imj thinking of somthing esle
19:45:44amgine123the idea is that you have people load levels from pleadies and people will be able to "search" for level instead of installing the entire server
19:46:01watusimotoamgine123: yes
19:46:40amgine123dunno if its doable
19:47:09watusimotoraptor: the key is in the enumeration; to grab only a,b,c and not x,y, or z
19:48:07raptorhow about just not enumeration the system levels dir?
19:48:12raptor*enumerating
19:48:56watusimotoyes, that's the solution
19:49:35watusimotoI do not know what tools for enumeration that physfs provides
19:49:53raptorok, so to wrap up this topic -
19:50:01raptor1. we will only load user levels
19:50:07watusimotoprobably what we need to do is to migrate from a folder based model to a playlist based model
19:50:08raptor2. we hope phsyfs can accomodate
19:50:13raptor3. physfs is the way to go
19:50:16watusimotoand generate the playlists from the target folders
19:50:39watusimotoI *think* physfs is the way to go
19:50:47amgine123 Quit (Ping timeout: 246 seconds)
19:50:55watusimotowell, yes, it probably is
19:51:02raptorit looks really good, tried-and-true, stable-and-popular
19:51:24watusimotohere is a weird possibility
19:51:33watusimotoif we are playing levels in a zip file, for example
19:51:47watusimotothat would mean that physfs would be pointed at that zipfile as a possibel source of data
19:52:04watusimotoif the users places a sfx in that folder, that might get loaded instead of the intended version
19:52:29raptoryep, but i place that in the realm of user-error
19:52:35watusimotonot a deep concern, but there may be some weird side effects we haven't thought of
19:52:47amgine123 has joined
19:52:55raptorok, do we need cdrom support for physfs?
19:53:01watusimotono
19:54:25amgine123100 free zaps for whoever figures out this captcha i got -_- http://imgur.com/8G5sCPK
19:54:50amgine123troll captcha XD
19:55:14watusimotoI got it but I'm not telling!
19:55:29watusimotoit is pretty ridiculous
19:56:05amgine123my guess its it just blank but i could be wrong
19:56:55raptorthat's nuts
19:57:16amgine123@raptor what does it mean if A build I created runs fine on one system but crashes on another -_-
19:57:28raptorit could be dozens of things
19:57:48raptorusually a problem with the bad system, and not the game - but it may be the game
19:58:44amgine123ok i may need to check my code again
20:07:34amgine123I think I vaugly make out DC FACL
20:10:23raptorDOOM WAD support!
20:14:55watusimotoawesome!
20:18:48raptorwin32 compiled dll at 142K
20:27:37watusimotodo we actually need to manually copy the dlls, or can that be automated in cmake?
20:27:54raptoralready automated - we just need to drop them in the lib folder
20:28:21watusimotoyou mean manually copy them into the lib folder, no?
20:28:35raptorjust the once, into the repo
20:28:48watusimotoor anytime they are subsequently updated
20:28:59raptorif we really want to recompile, yet
20:29:01raptor*yes
20:29:14watusimotoso I guess then that I had it working, because when I copied the dll, my problems were fixed
20:29:30raptorwell... but you had the whole source tree in the repo
20:29:39watusimotoI expected to be able to run cmake, then compile in vcc, and have everything just work
20:29:42raptorthis is just one-time precompile like the rest of the libs
20:29:58raptoryes, that will work after this one-time compile
20:30:20watusimotoso if I download the project onto a fresh machine, I need to 1) run cmake 2) compile in vcc 3) copy dlls?
20:30:59raptorideally, when i'm done, you just compile bitfighter sources after running an updated cmake, and... done
20:31:15raptorno physfs source checked into our repo
20:31:51watusimotoso we just store the dll in the repo?
20:32:15raptoryes, like the others
20:32:20watusimotoah, I see
20:32:42raptorso... this brings up a point of conversation
20:32:42watusimotook, that was not how I understood it to work
20:33:03raptorthere are 2 ways i handle dependent libraries:
20:33:48raptor1. Include source in the repo, compile statically into bitfighter if not found already on the Linux/OSX system (always compile statically on Windows)
20:34:16raptorlike alure and poly2tri
20:34:48watusimoto(that is what I was trying to do)
20:35:17watusimoto(as I like having the source available to see how things work)
20:35:21raptor2. Don't include source, precompile dynamic libs into the lib/ folder, include headers in the repo for windows/OSX (nothing needed on Linux because it is a standard package in most distros)
20:35:28watusimoto(fewer black boxes and all that)
20:35:35raptorlike for SDL and zlib
20:35:41raptornow
20:35:53raptori choose one over the other based on a number of factors:
20:36:11raptor1. source size (sometimes it's in the 10s of MB)
20:36:33watusimoto(like SDL)
20:36:35raptor2. popularity and existence (usually I choose option 2 if it is a standard lib in most distros)
20:36:44raptorlike OpenGL
20:36:49raptorno, bad example
20:36:54watusimoto(ubiquitous)
20:37:18raptorlike vorbis or SDL
20:37:21raptoryes
20:37:48raptornow, there is room for me to change how i do things, but i've found that it's one of those 2 that seems to work best... so far
20:38:12watusimotoso for physfs, we have small source, unknown ubquity (esp. on OSX)
20:38:39watusimotoand a need to look at the internals while we get this figured out
20:38:40raptorhowever, I've never liked #2 (including DLLs, etc.) because it seems to dirty up the repo and add significant size. I've toyed with the idea of providing an SDK that can be added on that will provide those
20:38:53raptorubiquity is high - it is everywhere on Linux
20:39:05watusimotoI generally prefer #1
20:39:11watusimotobut there is a 3rd possibility
20:39:21raptori prefer #1, too... however, it still adds significant noise/size to th repo
20:39:30watusimotoI don't care about that
20:39:35watusimotorepos are cheap :-)
20:39:42raptorphysfs, for instance is about 4.5MB of mostly other projects sources (like zlib and 7zip)
20:40:04watusimotobut possibility #3 is to script out the retieval and compilation to dlls of the various libs
20:40:12watusimotono source, no dlls
20:40:16watusimoto(in the repo)
20:40:21raptorexplain
20:40:26raptoris that like my SDK idea?
20:40:41raptori.e. ahve a zip file with all the DLL/LIB files in it so developers can just use them
20:41:08watusimotohg get physfs-source; msbuild compile physfs-source; move compiled dlls; cleanup
20:41:19raptormaybe provide a bitfigter-windows-SDK download
20:41:46watusimotoI didn't actually realize physfs was so big
20:41:47raptorah, that introduces a secondary layer into the build system (with needed complexity) that i'm not sure I'd want
20:42:19watusimotoit does create some dependency on having certain tools available (hg, git, msbuild, etc.)
20:43:04raptoryes
20:43:09watusimotodo you think physfs is available on osx?
20:43:26watusimoto(i.e. can we count on it?)
20:43:27raptornot natively, i don't think, but i can easily build a framework...
20:43:37raptori.e. the precompile option
20:43:44watusimotoright
20:44:38raptorsee here for something like the SDK idea: http://www.freeorion.org/forum/viewtopic.php?f=9&t=1787
20:45:40raptorthe idea being that the freeorion source doens't have dependency source or binaries in the main repo, so they provide it/them as a separate download
20:48:58watusimotowell, if I were doing it, I would just dump everything into the source tree... so it's good I am not doing it :-)
20:49:45watusimotobut that's what comes of being windows-centric, when I can count on nothing
20:50:25raptoryeah - i don't know what's best...
20:51:30raptori could dump in the physfs sources, if you think that's best - it'll be about 4.5 MB. THe precompiled libraries for OSX/Windows will probably add up to about about 1MB or so
20:52:53raptori come from a very modular, keep-it-small mentality - probably due to my Linux exposure
20:53:38watusimotoyeah, let's just build the dlls, like you did, and I'll purge the source from my commits before I push them
20:54:31raptorhuh... no matter how hard i try, cd-rom support isn't disabled...
20:59:16amgine123 Quit (Quit: Page closed)
21:11:12amgine123 has joined
21:15:44raptorok watusimoto, here are the compiled libraries for windows - i haven't hooked them up to CMake yet, but maybe you already have that done: http://sam6.25u.com/upload/lib.zip
21:15:57raptori need to do some circuits homework, so i'll see about OSX later
21:16:12raptorthose are compiled 'release' linked to our zlib1.dll
21:16:27raptorlater!
21:17:51watusimotook, heading outmyself
21:17:52watusimotobye
21:17:57raptor Quit ()
21:18:03watusimoto Quit (Read error: Connection reset by peer)
21:26:59amgine123 Quit (Quit: Page closed)
21:47:00amgine123 has joined
22:11:04fordcars has joined
22:18:00amgine123 Quit (Quit: Page closed)
22:18:41amgine123 has joined
22:35:35amgine123 Quit (Quit: Page closed)
22:44:44fordcars Quit (Ping timeout: 246 seconds)
23:03:49empyrean has joined
23:05:21empyrean Quit (Remote host closed the connection)
23:06:51amgine123 has joined
23:22:18amgine123 Quit (Quit: Page closed)
23:22:18Raven67854 Quit (Remote host closed the connection)
23:25:53Raven67854 has joined
23:31:17amgine123 has joined
23:47:35amgine123 Quit (Quit: Page closed)

Index Search ←Prev date Next date→

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