IRC logs for #opendune on OFTC at 2011-08-01
⏴ go to previous day
07:02:34 *** Alberth has joined #openDune
07:02:34 *** ChanServ sets mode: +o Alberth
12:31:52 <DorpsGek> SVN: glx (r2158) -Add: removed some useless stuff in AB01
13:42:20 <DorpsGek> SVN: glx (r2159) -Add: C-ified MPU_NoteOn()
14:47:44 <glx> hmm MPU_Interrupt can corrupt stack it seems
14:49:12 <glx> that could explain some hangs caused by midi
14:50:03 <glx> yes just need to finish to convert AB01 :)
14:52:49 <glx> though the hang might also be 2 threads calling midi at the same time
15:04:38 <glx> ntdll.dll!_ZwWaitForSingleObject@12() + 0x15 octets
15:04:38 <glx> > opendune.exe!emu_sbbw(unsigned short * dest=0x0458f6e0, unsigned short val2=0xf5cc) Ligne 124 + 0xc octets C
15:04:38 <glx> opendune.exe!Video_Tick() Ligne 203 C
15:04:38 <glx> opendune.exe!Timer_InterruptRun() Ligne 126 + 0xa octets C
15:04:47 <glx> this call stack is weird too ;)
15:05:28 <TrueBrain> didn't know sbbw did anything that fancy :D
15:05:41 <glx> VideoTick never calls it ;)
15:06:07 <TrueBrain> then again, it also says: +C octets
15:09:29 <Alberth> common code with another function which got merged?
15:21:53 <DorpsGek> SVN: glx (r2160) -Add: C-ified MPU_Control()
15:36:24 <DorpsGek> SVN: glx (r2161) -Fix (r2160): a line disappeared
16:29:50 <DorpsGek> SVN: glx (r2162) -Add: C-ified MPU_281A() (and fixed a conversion error in MPU_Control())
17:29:30 <DorpsGek> SVN: glx (r2163) -Add: C-ified MPU_1B48()
17:43:40 <DorpsGek> SVN: glx (r2164) -Add: C-ified MPU_16B7()
18:05:49 <DorpsGek> SVN: glx (r2165) -Add: C-ified MPU_FlushChannel() and MPU_289D(). And decompiled is finally gone.
18:35:35 <Alberth> First milestone reached! \o/
18:59:30 <glx> but it still hangs randomly
19:00:16 <TrueBrain> you can't have it all ;)
19:00:48 <glx> there's probably timing issues too
19:01:08 <glx> anyway it eats too much cpu :)
19:01:22 <TrueBrain> OpenDUNE still burns at 100% CPU :P
19:01:28 <TrueBrain> guess it will become fixable soon
19:01:41 <TrueBrain> we can move most of the UpdateRect in the code that changes the screen
19:01:51 <TrueBrain> meaning we only have to poll the event thread, and really sleep the rest of the time
19:02:11 <TrueBrain> but first, getting ride of libemu :p
19:02:39 <glx> next step will be to cleanup mt32mpu.c
19:03:14 <glx> it still access variable via emu_get
19:04:55 <TrueBrain> and I might give driver.c a spin to remove the emu shit :P
19:49:42 <DorpsGek> SVN: alberth (r2166) -Fix (r2155): Whitespace fixes.
20:01:59 <TrueBrain> OpenDUNE no longer works here
20:02:02 <TrueBrain> SDL doesn't even start
20:04:33 <TrueBrain> glx: why do you want me to wait 280 SECONDS before I can play the game?
20:04:39 <TrueBrain> sleep(140) means 140 seconds ...
20:05:12 <TrueBrain> unsigned int sleep(unsigned int seconds);
20:05:40 <Alberth> it starts here, except I immediately selected 'load game' from the main menu
20:06:50 <TrueBrain> on linux, it should sleep for 280 seconds :p
20:06:58 <TrueBrain> usleep is not POSIX it seems .. hmm ..
20:07:47 <Alberth> oh, I was missing 21 revisions :p
20:08:22 <TrueBrain> that would solve it
20:08:24 <TrueBrain> but it is not that pretty
20:09:20 <glx> not really, you need a * 1000
20:09:43 <TrueBrain> any real reason to let the client wait?
20:10:28 <glx> dunno it was function(10) with function doing a 14ms delay via video sync wait
20:10:43 <TrueBrain> can't you just remove it?
20:10:48 <TrueBrain> (I don't really like sleeps like that :D)
20:11:18 <TrueBrain> normally it has to wait for the system to prepare itself etc etc, but that is a bit mute in our case :D
20:11:37 <glx> it works without the sleep
20:11:44 <TrueBrain> so lets remove them :D
20:11:51 <glx> I guess it was to wait for the hardware
20:11:55 <TrueBrain> saves me one ugly change :D
20:12:38 <TrueBrain> to make sleep() what it should be :D
20:12:51 <TrueBrain> sleep() is POSIX-2001
20:12:53 <DorpsGek> SVN: glx (r2167) -Fix: remove unneeded sleeps
20:13:06 <Alberth> TrueBrain: looks fine :)
20:13:32 <TrueBrain> I am kinda attached to the idea of POSIX C :D
20:13:59 <DorpsGek> SVN: truebrain (r2168) -Fix: sleep() is in seconds, not like Sleep in milliseconds (sorry MSVC)
20:17:16 <TrueBrain> glx: in simple words, what is the difference between MPU and DSP, and when is which used?
20:17:59 <glx> DSP is used for voices, MPU is used for music and soundeffects
20:18:00 <TrueBrain> and they both communicate via 1 common API?
20:18:32 <TrueBrain> okay. I see everywhere this 'driver', are those values predefined?
20:19:07 <TrueBrain> ah, no, I see, it is just a free slot in an array
20:21:55 <TrueBrain> glx: are you working on anything (and if so, what?) on the driver stuff? I don't want to give you more work with colliding patches :D
20:22:49 <TrueBrain> then I won't start to do the g_mt32mpu_cs :D
20:23:41 <TrueBrain> good I asked :D Hihi
20:24:19 <DorpsGek> SVN: alberth (r2169) -Add: Remove bitmask array from input segment.
20:33:44 <TrueBrain> I realised: I can't test
20:33:50 <TrueBrain> so it is a bit useless for me to do those things :)
20:33:56 <TrueBrain> anyway, that patch should be working
20:36:04 * Alberth likes the number of - lines
20:37:03 <DorpsGek> SVN: alberth (r2170) -Add: Moved history out of input segment.
20:37:17 <TrueBrain> does remove the last emu_ files :) But I need someone with working voice to confirm they still work with this patch :D
20:39:17 <TrueBrain> right, lets tackle those annoying csips in some weird struct ... like 'var805E' ... lolz
20:42:21 <glx> for now voices assert (and I didn't touch this part)
20:42:45 <TrueBrain> with my patch, or what do you mean?
20:43:18 <TrueBrain> remember that dsp.c also reads local memory via direct access
20:43:21 <TrueBrain> dunno if that is related in any way
20:44:19 <glx> dsp only gets DriverInfo from memory
20:45:03 <glx> maybe the address changed
20:49:08 <DorpsGek> SVN: alberth (r2171) -Codechange: Some input function can be made static.
21:00:59 <DorpsGek> SVN: alberth (r2172) -Add: Removed mouseX/Y from input segment.
21:02:08 <TrueBrain> it breaks my patch :'(
21:03:02 <TrueBrain> (I am just kidding, FYI :P
21:03:03 <glx> sorry, but the only way to fix mine :)
21:03:54 <DorpsGek> SVN: glx (r2173) -Fix: yet another try to solve the cs's hell for drivers
21:06:21 <glx> anyway GetInfo will be simplified later
21:07:43 <TrueBrain> but what do you think about my patch?
21:07:52 <TrueBrain> removes last emu_ files :P
21:11:05 <TrueBrain> does it also not damage voices? :P
21:12:11 <TrueBrain> haha, yup; gimme one sec
21:13:46 <glx> I'm removing the latest emu_sbb \o/
21:14:08 <DorpsGek> SVN: truebrain (r2174) -Fix: no longer generate for decompiled in MSVC project generator
21:17:41 <Alberth> uint16 tempBuffer[2] <-- does that allow padding between both values?
21:17:42 <glx> hmm where is src/table/houseanimation
21:17:55 <TrueBrain> owh, it is not there
21:17:59 <TrueBrain> generator just picked up on it
21:18:13 <TrueBrain> Alberth: I don't understand the question?
21:18:43 <Alberth> struct { uint16 x; uint16 y } allows padding between x and y. Does that also hold for arrays?
21:19:11 <TrueBrain> else uint8 *p; p++, would never work Alberth ;)
21:19:59 <DorpsGek> SVN: truebrain (r2175) -Add: remove last emu_ wrappers
21:24:15 <TrueBrain> I am trying to get this animation for houses out of g_global
21:24:19 <TrueBrain> what a terrible stuff
21:24:36 <TrueBrain> turns out to be a double loop
21:24:53 <TrueBrain> 50% shell script? Where? :P :P
21:25:14 <TrueBrain> we also haven't done anything since 2008 :P
21:25:26 <TrueBrain> Alberth: seems this is the old OpenDUNE project
21:25:36 <TrueBrain> when we started one, we noticed someone else started a project called OpenDUNE
21:25:38 <Alberth> oh, that could be the case
21:25:41 <TrueBrain> so we asked if we could get the domain
21:25:48 <TrueBrain> (where also dutchies I believe)
21:25:57 <TrueBrain> I would never release anything under GPLv3 :P
21:26:27 <Xaroth|Work> he still frequents the forums
21:27:02 <Alberth> 3K lines is also a bit small for a complete disassembled game :p
21:28:50 <DorpsGek> SVN: alberth (r2176) -Add: Named and removed 0A94 and 0A96 variables of input segment.
21:33:02 <TrueBrain> struct_a b[2] = { 0, }
21:34:53 <Alberth> not sure, and I don't have a book to find out
21:43:49 <TrueBrain> meh; I could detect the length of 2 of the 3 arrays, but the 3rd depends on what happens in the 2nd
21:50:42 <TrueBrain> my convertor is big and ugly :P
22:01:22 <TrueBrain> just for lolz, check my converter :D
22:31:13 <TrueBrain> I thought it would be quick :D
22:31:18 <TrueBrain> lets see if intro is still working
22:34:37 <DorpsGek> SVN: truebrain (r2177) -Add: move the House Animation data from memory into table/ (what a bitching work it was), named what-ever I could, and moved related variables out of g_global
22:36:36 <DorpsGek> SVN: truebrain (r2178) -Fix: useless empty variable
22:39:27 <TrueBrain> added csip32 to the list
22:39:32 <TrueBrain> this makes me happy
22:41:12 <TrueBrain> most of them are all concentrated in drivers, so that will be relative easy :)
22:45:33 <glx> emu_cx is a conversion error :)
22:45:50 <TrueBrain> hmm ... I have some struct that is readonly
22:49:27 <DorpsGek> SVN: glx (r2179) -Fix (r1751): conversion error
22:50:40 <TrueBrain> glx: can you remember how many selection types there are?
22:50:45 <TrueBrain> I have seen it somewhere, but i can't remember
22:51:49 <glx> that: /* 3A0E(2) */ PACK uint16 selectionType; /*!< Type of selection. 0 = ??, 1 = target/destination, 2 = place object, 3 = unit, 4 = structure, 7 = intro. */
22:54:13 <DorpsGek> SVN: truebrain (r2180) -Fix (r2177): forgot svn-props
22:58:55 <DorpsGek> SVN: truebrain (r2181) -Fix (r2177): wrongly named the variable that holds the table
23:00:38 <DorpsGek> SVN: truebrain (r2182) -Add: table/selectiontype, with some static information about selection
23:10:04 <DorpsGek> SVN: truebrain (r2183) -Add: resolved SelectionType->variable_00 from csip to array with numbers (yes, it is this vague :p)
23:10:43 <TrueBrain> 2 emu_get_memorycsip left outside drivers :D
23:19:04 <TrueBrain> lol; think I found the pathfinder :P
23:19:13 <TrueBrain> completely unintended :D
23:20:21 <TrueBrain> it has a start tile, and a dest tile
23:20:27 <TrueBrain> is called from script
23:20:32 <TrueBrain> when I dsiable it units don't move
23:21:37 <TrueBrain> but it is not a pf I noticed as such
23:23:14 <TrueBrain> but it is a bit odd
23:24:12 <TrueBrain> it seems it first tries to find it by simple methods
23:24:17 <TrueBrain> if fails, it continues on more complex
23:24:57 <TrueBrain> and it is then copied to the unit
23:25:02 <TrueBrain> with a max of 14 tiles in front of it
23:37:33 <DorpsGek> SVN: truebrain (r2184) -Add: moved the last non-driver related emu_get_memorycsip (yeah) and while doing uncovered what appears to be the pathfinder
23:37:53 <TrueBrain> we have many today :)
23:43:19 <DorpsGek> SVN: truebrain (r2185) -Codechange: some coding police in global.h, removing some unused stuff
23:43:39 <TrueBrain> input.c also still needs doing ... bah :D
23:43:43 <TrueBrain> has some tables ...
23:47:58 <DorpsGek> SVN: truebrain (r2186) -Codechange: coding police in input.h
23:55:52 <DorpsGek> SVN: truebrain (r2187) -Codechange: commented input.h a bit more, to give a realistic idea what is left
23:57:08 <DorpsGek> SVN: truebrain (r2188) -Add: moved extendedKey out of g_input
continue to next day ⏵