IRC logs for #opendune on OFTC at 2012-12-17
⏴ go to previous day
05:39:16 *** Xaroth|W1rk has joined #openDune
08:39:44 *** Xaroth|W1rk is now known as Xaroth|Work
08:40:25 *** Xaroth|Work is now known as Guest1720
11:07:03 <TrueBrain> Xaroth: pick a name ... naming yourself Guest1720 is never funny ... sjeeeessss :P
11:23:34 *** Xaroth|Work has joined #openDune
11:23:34 *** ChanServ sets mode: +o Xaroth|Work
11:23:50 <Xaroth|Work> stupid nickserv :|
12:37:05 *** TrueBrain has joined #openDune
18:01:45 <TrueBrain> hi glx; there is a bug about French version; I cannot reproduce it, but maybe you can give it a looksy?
18:07:32 <glx> having the dmp would indeed be nice :)
18:24:04 <TrueBrain> I tried ... couldnt really find an issue
18:24:06 <TrueBrain> might be an old bug ofc
18:54:57 <TrueBrain> I have a hard time not flaming people ... I dislike arrogant people who have looked at the code for a few days and act like they have been, like us, for a few years ... so hard to maintain calmness and reply in kind ...
18:57:26 <TrueBrain> hmm .. to download from 4shared you have to sign up? Blegh ...
19:09:28 <TrueBrain> test@example.com / testtest
19:09:31 <TrueBrain> for that download, glx ;)
19:09:48 <TrueBrain> test@example.com was already taken :P
19:36:06 <TrueBrain> glx: in MSVC, where are printfs put to?
20:17:18 <glx> usually in the console window, but we close it at start and redirect to a file
20:19:31 <glx> the console window is annoying too :)
20:27:48 <glx> well I can but without the right pdb
20:28:02 <TrueBrain> yeah .. and for some reason we dont store the revision in crash.log yet
20:28:08 <TrueBrain> so ... I couldnt find it either :P
20:28:20 <TrueBrain> somthing I would like to fix soon too
20:32:20 <TrueBrain> hmm, no backspace in Windows keymap?
20:33:20 <TrueBrain> the shift got stuck, lolz
20:39:32 <glx> it may also be a custom build
20:40:11 <TrueBrain> yeah .. we have the revision, we should put it in there
20:40:35 <TrueBrain> right, finally got the time to check the keymaps
20:40:40 <glx> that means adding version detection to MSVC
20:40:52 <glx> (and stealing more from openttd ;) )
20:41:05 <TrueBrain> findversion.sh is already there
20:41:07 <TrueBrain> but we should update those
20:41:16 <TrueBrain> like also we should 'borrow' the crashlog_unix ;)
20:47:38 <Xaroth|Work> it's only stealing if it's not allowed :)
20:49:59 <Xaroth|Work> btw, anything I can assist with
20:54:54 <Xaroth|Work> there's a way to block people
20:55:24 <glx> hmm findversion.sh seems unused to me
20:59:51 <glx> mingw doesn't compile btw
21:02:36 <Xaroth|Work> I'm porting the Coding Style page from the wiki to the github wiki
21:04:33 <TrueBrain> glx: can you fix it?
21:05:19 <TrueBrain> lol @ button at bottom of that page ... haha, I love that humor :)
21:07:33 <TrueBrain> right, I guess I have time for one more issue .... next week I will setup a linux machine correctly to debug the alsa/x11 deadlock ..
21:07:40 <TrueBrain> dont feel like tracing MIDI shit today .. hmmm
21:08:10 <TrueBrain> lets try to figure out what happens with enemies firing at you
21:08:27 <TrueBrain> Xaroth: did you install DosBox already to validate?
21:12:31 <Xaroth|Work> lemme do that now
21:12:35 <TrueBrain> when I test, units reveil
21:12:39 <TrueBrain> at least, when they have rockets
21:13:05 <Xaroth|Work> lolz, dosbox homepage has a dune 2 mentat as logo
21:13:50 <TrueBrain> ah, it is not the units that does the unveiling
21:13:53 <TrueBrain> it are the missiles
21:14:32 <TrueBrain> so when they shoot, they should be visible
21:16:33 <glx> hmm ok to fix the compilation we need to drop <win2000 support
21:16:49 <TrueBrain> as that sounds weird tbh :P
21:17:09 <glx> 4 of the VK_OEM you added need win2000
21:17:37 <TrueBrain> and no, we are not going to drop support of those older ones just over a keymap :P
21:17:43 <glx> plus, minus, comma and period
21:18:00 <Xaroth|Work> do they actually do anything?
21:18:01 <TrueBrain> is that why it was 0xBE?
21:18:49 <glx> yes they were added in win2000, nice virtual key code as they magically are the same whatever keyboard layout is used
21:18:54 <TrueBrain> glx: so .. how about, in the top of that file: #ifndef VK_OEM_PLUS #define VK_OEM_PLUS 0xBB #endif /* VK_OEM_PLUS */
21:19:19 <TrueBrain> we already used 0xBE ;)
21:19:29 <TrueBrain> which I found odd, and replaced with VK_OEM_COMMA :P
21:20:07 <TrueBrain> do you have any means to test if that would work on Windows 98?
21:20:17 <TrueBrain> else those users just will have to do without those 4 keys ...
21:20:23 <TrueBrain> it is not like they are super important ;)
21:20:29 <Xaroth|Work> got dosbox running
21:20:52 <Xaroth|Work> or actually, Dosbox + D-Fend, cuz i'm lazy in setting it up
21:21:12 <glx> I should have a VM somewhere
21:21:29 <TrueBrain> I would say: commit the fix first, then if you find the time, please do test it :)
21:24:30 <TrueBrain> lolz, just noticed we already double the screen resolution of the game, hihi :)
21:28:25 <glx> oh we already dropped old windows with timer queues it seems
21:31:11 <glx> so the fix is easier that defining the missing VK
21:32:38 <glx> referencing git commits in commits is ugly
21:32:39 <TrueBrain> okay .. key repeat .. well, it does end up in OpenDUNE ..
21:33:53 <TrueBrain> wtf @ end of Input_EventHandler
21:33:58 <TrueBrain> is it missing some lines, or ... wuth?!
21:34:12 <TrueBrain> those 2 fors do absolutely nothing
21:36:26 <TrueBrain> ah, by the looks it did some interrupt calling
21:38:57 <TrueBrain> lol @ commit message :P
21:39:15 <TrueBrain> github makes it nice, but in the github client it looks odd :P
21:39:49 <TrueBrain> is that the best place for that define btw? Hmm ... yes, it kinda is
21:39:52 <TrueBrain> as only that file doesn't comply
21:40:12 <glx> timer.c defines it too :)
21:40:28 <glx> but as we don't have a global include for now
21:40:42 <TrueBrain> nah, I like this more ... easier if in time it is needed
21:40:59 <TrueBrain> although we should add a runtime check and warn if version is wrong
21:41:11 <TrueBrain> so much we can copy from there, it is amasing :)
21:42:05 <TrueBrain> Xaroth: key repeat, does that work in Dune2 (DOSBox)
21:42:34 <Xaroth|Work> any specific case, or should I try to find the first case i can find?
21:42:37 <glx> IIRC it does, at least for map moving
21:42:48 <TrueBrain> ah, yes, so: typing
21:43:32 <Xaroth|Work> yes @ scrolling, in fact, it continues scrolling after i release keypress
21:43:35 <Xaroth|Work> (which is annoying)
21:46:25 <glx> weird he's using official 0.7
21:46:28 <TrueBrain> just try saving a game
21:46:57 <Xaroth|Work> will have results for hiscore list in a minute
21:47:47 <TrueBrain> ah, I Think I found why repeating doesnt work ...
21:47:53 <TrueBrain> lets see who is to blame
21:48:42 <Xaroth|Work> seeing you made the most commits, i'm going to go for you :P
21:49:34 <TrueBrain> hmm ... code is correct ...
21:50:04 <TrueBrain> INPUT_FLAG_KEY_REPEAT is never set, only in ShowHelp of Mentat
21:50:07 <TrueBrain> which is odd, at best
21:50:36 <Xaroth|Work> repeats in hiscore list as well
21:51:09 <TrueBrain> I would say this got initialized wrong ....
21:52:51 <TrueBrain> why would the key-repeat flag be switche don for HElpList ... and off everywhere else ....
21:52:56 <TrueBrain> this is weeeiiirrrrddddd
21:53:02 <glx> added trace to the report
21:54:24 <TrueBrain> which line was 1804?
21:54:31 <TrueBrain> I Guess I have to switch tags
21:55:03 <TrueBrain> t->hasStructure = true
21:55:07 <TrueBrain> makes little sense :S
21:55:55 <glx> hmm visual studio changed colors
21:56:01 <glx> how is that possible ????
21:56:21 <glx> I just enable line numbers in editor
21:56:40 <TrueBrain> all line-numbers are off ..
21:56:44 <TrueBrain> and quick, disable line numbers again :P
21:57:07 <glx> they are ok for me, it uses 0.7 source :)
21:57:19 <TrueBrain> weird ... I switched to tag 0.7 ...
21:57:24 <TrueBrain> owh well, tell me, which line is it? :)
21:57:43 <TrueBrain> that is not possible
21:57:58 <TrueBrain> if you go up one, to the Gui_DRaw blabla
21:58:03 <TrueBrain> it was off by 3 lines there for me
21:58:17 <TrueBrain> reads line 2011, but the UpdateMap is at 2014
21:58:55 <glx> t->houseID = s->o.houseID;
21:58:55 <glx> 000000013F8715C1 movzx ecx,byte ptr [rbx+8]
21:58:56 <glx> 000000013F8715C5 mov r9d,eax
21:58:56 <glx> 000000013F8715C8 shr eax,8
21:58:56 <glx> 000000013F8715CB and ecx,7
21:58:58 <glx> 000000013F8715CE and ax,3Fh
21:58:58 <glx> 000000013F8715D2 shr r9d,18h
21:59:00 <glx> 000000013F8715D6 or ecx,20h
21:59:00 <glx> 000000013F8715D9 and r9w,3Fh
21:59:02 <glx> 000000013F8715DE shl ecx,10h
21:59:02 <glx> 000000013F8715E1 shl r9w,6
21:59:04 <glx> 000000013F8715E6 or r9w,ax
21:59:04 <glx> ->000000013F8715EA add r9w,word ptr [r13+rbp]
21:59:06 <glx> 000000013F8715F0 movzx r10d,r9w
21:59:06 <glx> 000000013F8715F4 mov eax,dword ptr [r15+r10*4+93700h]
21:59:08 <glx> 000000013F8715FC and eax,0FFF8FFFFh
21:59:08 <glx> 000000013F871601 or ecx,eax
21:59:10 <glx> 000000013F871603 mov dword ptr [r15+r10*4+93700h],ecx
21:59:31 <TrueBrain> 'true' rarely causes a memory dereference :P
21:59:39 <TrueBrain> so yeah, source doesnt match with binary ;)
21:59:51 <glx> so indeed it should be t = &g_map[position]
22:00:11 <glx> compilation merged the 3 lines I think
22:01:39 <TrueBrain> anyway, still makes no sense :P
22:01:47 <TrueBrain> guess indeed his savegame got overly corrupted
22:03:03 <TrueBrain> so ... what is wrong with the key repeat ... hmmmmmm
22:05:13 <TrueBrain> I would strongly doubt we would have missed those statements several times .. so ... meh ...
22:07:08 <TrueBrain> then again, how many rewrites did it take before input.c worked ...
22:07:51 <DorpsGek> TrueBrain: base <fromBase> [<toBase>] <number>
22:07:57 <DorpsGek> TrueBrain: 110111101110
22:08:00 <TrueBrain> 1-binary system, lolz
22:09:26 <TrueBrain> nicely optimized code! :)
22:10:13 <TrueBrain> what value does 'position' have, is that information available?
22:10:58 <TrueBrain> I _think_ that s->o.position got corrupted
22:11:08 <TrueBrain> as while loading, there is NO validation of this kind of information
22:11:11 <TrueBrain> it is assumed to be valid
22:11:44 <glx> no way to know position value
22:12:03 <TrueBrain> not in the crash.dmp? Also no s->o.position?
22:12:11 <TrueBrain> (it contains a bit of memory, sometimes just enough)
22:12:15 <glx> the code says it's in eax
22:14:09 <TrueBrain> I Would just close it with: it appears your savegame got corrupted
22:14:23 <TrueBrain> if he is toying with all those tools ..... something has to break :P
22:15:54 <TrueBrain> Xaroth: if you load a savegame, go to Mentat, and press Down
22:15:57 <TrueBrain> does it keep going?
22:17:15 <Xaroth|Work> if i keep key down
22:17:16 <TrueBrain> well, isnt that odddddd
22:17:25 <Xaroth|Work> until i release, obviously
22:17:30 <TrueBrain> no, that is what I meant
22:17:35 <TrueBrain> we were talking about key repeats ;)
22:17:41 <TrueBrain> so key repeat works there, right ..
22:17:42 <Xaroth|Work> you phrased odd :)
22:17:51 <TrueBrain> use your brain! Dammit :P
22:17:51 <Xaroth|Work> mouse hover over an item kinda fucks it up
22:17:52 <glx> yeah press means press and keep pressed :)
22:18:25 <Xaroth|Work> the Press event is usually a down and up sequence :P
22:18:34 <TrueBrain> and what was I trying to diagnoze?
22:18:38 <TrueBrain> dont be so pendantic :P
22:18:47 <TrueBrain> I love you anyway, no worries
22:19:00 <TrueBrain> owh, snap, I had a better remark ... can I take thatone back?
22:19:06 <TrueBrain> okay, here comes the one you should have read:
22:19:13 <TrueBrain> I will still come to your wedding, no worries
22:19:16 <TrueBrain> sounds so much worse!
22:21:18 <Xaroth|Work> but no, it doesn't sound that much worse
22:21:22 <Xaroth|Work> not from you at least.
22:21:31 <Xaroth|Work> you try too often
22:21:34 <TrueBrain> and this input stuff really makes little sense :(
22:22:26 <TrueBrain> it does exactly what it should do, but it is not what we expect it to do ...
22:26:37 <TrueBrain> went back to old old versions, but ... it really reads what it reads .. hmm
22:26:43 <TrueBrain> what can it be ....
22:28:17 <TrueBrain> one of the better things about Git .. fast instant history
22:29:17 <TrueBrain> I hate to admit it ... but I am clueless ...
22:31:23 <TrueBrain> would it be possible ......
22:31:33 <TrueBrain> key repeat was handled by sending up/down?
22:44:14 <TrueBrain> I dislike having no single clue what can e wrong (key repeat still :P)
22:45:18 <glx> IIRC it's your code ;) (yeah very helpful)
22:45:32 <TrueBrain> in fact, Alberth did this part
22:45:37 <TrueBrain> but it is correct, as far as I can tell
22:49:18 <TrueBrain> what also sucks, is that back then internet didnt exist
22:49:26 <TrueBrain> so no posts about how libraries had to be used back then
22:49:29 <TrueBrain> means, no documentation :P
22:51:52 <TrueBrain> Xaroth: last bug of the evening: if you go the mentat, press (and keep pressed) down, go back to the map, you can still press (and keep pressed) to scroll down in the map?
23:00:03 <TrueBrain> ah, hmmmmmmmm ... it is never initialized
23:01:02 <Xaroth|Work> TrueBrain: not if i hold down while pressing exit
23:01:36 <Xaroth|Work> repeat stops functioning for everything
23:02:11 <TrueBrain> I am not asking you to find the limits of Dune2 :P
23:02:14 <TrueBrain> ffs, work with me a bit :)
23:03:01 <Xaroth|Work> also, releasing before exiting, no more repeat
23:03:07 <Xaroth|Work> and ffs, give me some time to test :P
23:06:41 <TrueBrain> so little bugs, and already a duplicate \o/
23:06:55 <TrueBrain> but now you don't make sense to me :)
23:07:01 <TrueBrain> so .. after you have been in the Mentat window
23:07:04 <TrueBrain> does auto-repeat still work?
23:07:22 <TrueBrain> (key-auto-repeat, as in, if you hold a button down, it repeats itself *Troll*)
23:08:00 <Xaroth|Work> step 1, always, load game
23:08:05 <Xaroth|Work> ordos, mission 1, half way through
23:08:24 <Xaroth|Work> case 1: go to mentat screen, press and hold key, exit mentat screen, release key, try to scroll by keys
23:08:27 <TrueBrain> I just want you to test 1 thing: load a game, go to mentat, return to game, press down .. does it auto-repeat? :)
23:08:38 <Xaroth|Work> case 2: go to mentat screen, press and hold, release, exit mentat screen, try to scroll by keys
23:08:47 <Xaroth|Work> case 3: go to mentat screen, exit mentat screen, try to scroll by keys
23:08:58 <Xaroth|Work> in all 3 cases i was unable to have repeat scroll
23:09:06 <Xaroth|Work> while before going to the mentat screen it did function
23:09:15 <TrueBrain> then I know what is going on
23:09:29 <Xaroth|Work> i was being thorough, for once :P
23:15:05 <TrueBrain> enhancement and bu fixed
23:15:11 <TrueBrain> who is the greatest, I am the greatest
23:16:16 <TrueBrain> well ... that was a good bug-fix evening :)
23:16:35 <TrueBrain> 8 release-stoppers left
23:18:40 <Xaroth|Work> does that dude have to give his oppinion on everything?
23:19:02 <Xaroth|Work> i mean.. DUH, every idiot knows that in an environment where you're EXTREMELY limited in the resources you have
23:19:08 <Xaroth|Work> safety checks go out the door first :P
23:19:48 <TrueBrain> the reason Dune2 doesnt have it, is simple: they didnt care
23:20:03 <TrueBrain> hell, I am pretty sure you can crash a lot of games even now by modifying the savegame
23:20:08 <TrueBrain> most do some CRC checking, but that is it :P
23:20:22 <TrueBrain> so I dont think it is related to resources as such
23:20:33 <TrueBrain> more .. well .. lazyness :P
23:20:41 <TrueBrain> that said, as Open Source project you do need to validate
23:20:50 <TrueBrain> it shouldn't be hard, not much to validate tbh
23:20:53 <glx> dune2 prevents some of them by encoding files
23:20:53 <TrueBrain> position is the biggest
23:21:16 <TrueBrain> I guess types etc also have to be limited
23:21:21 <TrueBrain> I already added protection in scripts
23:21:29 <TrueBrain> they can no longer overflow (They could .. in fact, many scripts did)
23:21:55 <glx> but savegames are not encoded
23:22:37 <TrueBrain> we have a Load() function, so validation is trivial
23:22:40 <TrueBrain> just .. it needs to be done :P
23:23:03 <TrueBrain> its funny, I think the user does know how to program in a languag elike Python or something
23:23:11 <TrueBrain> just slap a try{} block around it, and be done :)
23:23:16 <TrueBrain> wish C was so easy ....
23:23:48 <Xaroth|Work> if C was as easy as python, i'd be much better in it :P
23:24:59 <glx> indeed Load() is already split so adding the checks is trivial
23:28:18 <glx> there's a XXX_Load() for each type
23:52:24 <TrueBrain> hmm, how to skip the intro again?
continue to next day ⏵