#gemrb@irc.freenode.net logs for 2 Jun 2014 (GMT)

Archive Today Yesterday Tomorrow
GemRB homepage

[02:58:27] --> raevol has joined #gemrb
[03:12:33] --> Eli2_ has joined #gemrb
[03:15:17] <-- Eli2 has left IRC (Ping timeout: 252 seconds)
[03:32:58] --> kpederse1 has joined #gemrb
[03:35:41] <-- kpedersen has left IRC (Ping timeout: 264 seconds)
[05:46:12] <-- edheldil has left IRC (Ping timeout: 252 seconds)
[07:10:34] --> edheldil has joined #gemrb
[07:10:39] --- ChanServ gives channel operator status to edheldil
[07:32:57] --> WingedHussar has joined #gemrb
[08:21:14] <-- WingedHussar has left IRC (Ping timeout: 276 seconds)
[08:21:20] --> WingedHussar1 has joined #gemrb
[08:58:26] <-- WingedHussar1 has left IRC (Quit: WingedHussar1)
[09:56:09] <-- Lightkey has left IRC (Ping timeout: 252 seconds)
[10:08:51] --> Lightkey has joined #gemrb
[10:18:17] --> WingedHussar has joined #gemrb
[11:19:12] <-- raevol has left IRC (Quit: Leaving)
[15:42:36] <-- WingedHussar has left IRC (Quit: WingedHussar)
[16:10:09] <-- dolio has left IRC (Read error: Connection reset by peer)
[16:25:15] --> edheldil_ has joined #gemrb
[16:27:21] --> dolio has joined #gemrb
[16:29:35] <-- edheldil_ has left IRC (Ping timeout: 252 seconds)
[16:41:34] --> edheldil_ has joined #gemrb
[17:23:43] <-- edheldil_ has left IRC (Ping timeout: 260 seconds)
[17:28:50] --> fizzle has joined #gemrb
[17:55:12] --> edheldil_ has joined #gemrb
[18:59:20] --> lezebulo has joined #gemrb
[18:59:24] <lezebulo> hi
[19:00:42] <lynxlynx> oj
[19:01:16] <lezebulo> I have a question about some code in the engine
[19:01:20] <lezebulo> in this the place to ask?
[19:01:40] <lynxlynx> yes
[19:02:12] <lezebulo> how do you guys manage to compute the field of view for a character?
[19:02:26] <lezebulo> I found stuff related to this in Map.cpp but I can't understand what it's actually doing
[19:03:13] <lynxlynx> there is no field of view, everyone has owl heads
[19:04:02] <lezebulo> hum you mean like you can see behind a wall if you are close enough to the wall?
[19:04:11] <lynxlynx> ah that, no
[19:04:19] <lynxlynx> just that you see in a full circle
[19:04:34] <lynxlynx> there is of course wall and door blocking
[19:04:51] <lezebulo> oh yeah I'm talking about this
[19:05:04] <lezebulo> how do you compute the blocking?
[19:05:55] <lynxlynx> i don't know the details
[19:06:28] <lynxlynx> the base data is a tile map on a scale bigger than pixels
[19:07:11] <lynxlynx> you can't look through windows or anything like that
[19:07:44] <lynxlynx> so the math part is probably a classical approach
[19:08:13] <lynxlynx> and being careful about corner cases and doors, which can be opened or closed
[19:08:36] <lezebulo> yeah ok I see
[19:08:49] <lezebulo> is there any documentation besides reading the code ? I mean for this kind of stuff
[19:09:01] <lynxlynx> hmm
[19:10:27] <lezebulo> I checked the web on how to compute blocking etc and it's all very complex stuff
[19:10:46] <lynxlynx> not for our implementation if nothing is included, but the data format itself is documented here: http://gemrb.org/iesdp/file_formats/ie_formats/wed_v1.3.htm#wedV1_3_WallGroup
[19:10:47] <Pepelka13> WED File Format
[19:10:57] <lynxlynx> what are you working on?
[19:11:42] <lezebulo> I'm just trying to make some overhead 2D rpg thing
[19:11:59] <lezebulo> and I was looking for how to do "blocking"
[19:12:15] <lezebulo> what I find weird is that in the gem rb codebase it doesn't seem that complex
[19:12:26] <lezebulo> but I can't understand what it's supposed to do
[19:13:14] <lynxlynx> wjp can explain any details, I'm pretty sure he wrote most of it
[19:14:15] <lezebulo> is he reading this often ? :p
[19:14:25] <lynxlynx> just stay around
[19:15:54] <lezebulo> thanks! I'll try to catch him
[19:54:06] <edheldil_> I think we use raycasting to check obscured areas
[19:58:07] <lezebulo> but in that case, do you actually do it everytime something is moving? seems expensive
[20:00:52] <edheldil_> on script update, I think
[20:01:16] <lezebulo> thx :)
[20:01:36] <lezebulo> also do you guys know how big in pixels the maps in BG1 are ?
[20:02:07] <edheldil_> but really better ask wjp
[20:02:19] <lezebulo> I'm thinking like 10k pixels, just to have an idea
[20:02:44] <edheldil_> it'seasy to check
[20:03:35] <lezebulo> probably but I have no idea how
[20:03:44] <lezebulo> I don't even have the games on me
[20:10:36] <wjp> hm?
[20:12:50] <wjp> ah
[20:13:39] <wjp> in IE each area covered by walls or such is specified in the map data by a polygon, and a "ground line"
[20:14:04] <wjp> if a character is behind this "ground line", he is covered by the polygon, and otherwise he's in front of it
[20:14:15] <wjp> we do re-compute this every time a character changes position
[20:14:39] <wjp> in theory we could cache it as long as the character doesn't cross the ground line, but we don't (yet)
[20:15:27] <edheldil_> I thought lezebulo meant fog-of-war visibility
[20:15:48] <lezebulo> yes it's what i mean
[20:16:46] <wjp> oh
[20:17:04] <wjp> I don't know too much about that bit
[20:19:23] <lezebulo> ah ok
[20:19:34] <lezebulo> is there any way I can find out how it's done besides reading the code,
[20:19:35] <lezebulo> ?
[20:20:37] <lynxlynx> nope
[20:20:55] <lezebulo> lol ^^
[20:23:16] <lezebulo> btw wjp would you know what's the size in pixels of a map in let's say BG1 ?
[20:26:29] <wjp> about 5k x 5k I think?
[20:26:38] <wjp> not sure, but that order
[20:27:07] <lezebulo> ok thanks !
[20:53:26] <-- fizzle has left #gemrb
[21:08:58] <-- lezebulo has left IRC (Quit: Page closed)
[21:46:56] --> raevol has joined #gemrb