IRC logs for #opendune on OFTC at 2009-10-20
⏴ go to previous day
00:00:32 <proyvind> glx: did you sort out the linking issues with win32 build of libeastwood? :)
00:02:00 <glx> no, and the built dll is not usable in MSVC as it didn't create the corresponding .lib (no symbols to export/no .def file)
00:03:23 <proyvind> error on my part to fix?
00:05:02 <proyvind> could I have your latest patch btw? :)
00:05:57 <glx> for dlls you need to use __declspec(dllexport) for exported functions, or write a .def
00:07:02 <glx> it's easier with gcc for that
00:07:34 <glx> but then python will fail because it was built with msvc
00:07:47 <proyvind> TrueBrain: nice library for ini-reading? not sure what is meant by that, but I have a IniFile class in libeastwood..
00:07:59 <proyvind> glx: cruel windows world.. :p
00:08:55 <proyvind> (I didn't write the IniFile class though, so I don't have that much knowledge about it, it's on my list of code yet to clean up/rewrite)
00:21:59 <glx> windows and dlls is not an easy stuff
00:22:54 <proyvind> sounds more like evil stuff
00:24:37 <glx> though I have libeastwood.dll, libSDL_eastwood.dll with corresponding .a (mingw) and I have eastwood.dll without corresponding .lib (msvc)
00:25:40 <proyvind> glx: why did you remove inline from delayMillis?
00:26:22 <glx> oh I just wanted to replace the int with void indeed
00:27:30 <glx> because msvc doesn't like to convert void to int ;)
00:27:51 <proyvind> hm, there's no std::min with msvc?
00:28:15 <proyvind> (you've changed 'std::min' to 'min')
00:29:13 <glx> min is not in std:: (or maybe I need another include)
00:30:30 <proyvind> should be in <algorithm>
00:31:56 <proyvind> maybe I should just do a 'using namespace std;' for compatibility?
00:34:12 <glx> if I include <cliext/algorithm> it fails with another error
00:36:14 <glx> without the include I get the following errors for std::min
00:36:14 <glx> '(' : illegal token on right side of '::'
00:36:58 <glx> Erreur,...2,...fatal error C1189: #error : STL/CLR can be used only in code compiled /clr, clr:pure, or /clr:safe,...C:\Program Files\Microsoft Visual Studio 9.0\VC\include\cliext\xutility,...6
00:37:05 <glx> and that is with the include
00:38:26 <glx> with <algorithm> it fails (illegal token and syntax error)
00:39:32 <proyvind> using namespace std;
00:39:40 <proyvind> I added this as workaround for now
00:43:04 <glx> the problem was the macro :)
00:43:22 <proyvind> best thing would probably be to place that one in StdDef.h then
00:45:59 <glx> I need to find the right place to undef min :)
00:52:41 <glx> setup.py change is to make it able to try to compile (ie find headers)
00:53:36 <proyvind> I've fixed the setup.py to work
00:53:44 <proyvind> elif get_default_compiler() in ('msvc'): compile_args.append(os.environ['CPPFLAGS'].encode('mbcs'))
00:53:54 <glx> 'PyModule_AddStringConstant' : cannot convert parameter number from 'double' to 'const char*'
00:56:24 <glx> reverted my setup.py change and updated the diff :)
00:57:16 <glx> the error says VERSION is not a string
00:58:04 <glx> s/number/3/ in the error message ;)
01:02:29 <glx> hmm Player.cpp align is wrong
01:22:40 <glx> the include moves is not commited it seems
01:23:40 <proyvind> hm, thought I did, oh well, will do
01:23:47 <proyvind> just gotta finish up some stuff here first :o)
01:24:01 <proyvind> wanna encapsulate SDL types in stead of inheriting
01:24:13 <glx> anyway it's still not usable on windows
02:19:19 * glx goes to sleep, good night
08:43:17 <TrueBrain> I like a brick with a panic attack :(
08:45:38 <TrueBrain> Xaroth: I would hold that topic till the 1st of November
08:45:46 <TrueBrain> nobody really cares at this stage that there is a new frontpage :p
08:46:43 <TrueBrain> and is a shoutout a good thing? :)
08:47:12 <TrueBrain> so I suggest to keep the text for 12 days, and add a few things to it :p
08:53:02 <Xaroth> TrueBrain: technically, right, is it possible to generate the full decompiled code by itself? would be nice to have some kind of indication on how much we've converted already
08:53:35 <Xaroth> by comparing the full decompiled list with the actual decompiled list (so we know what's been removed)
08:53:58 <TrueBrain> where do you want it?
08:54:40 <Xaroth> I don't care, as long as I can reach it :)
08:55:01 <TrueBrain> well, that is my only problem .. in SVN would be a bit too much I guess, but where else?
08:55:09 <TrueBrain> via a http it is a bitch to download/update
08:55:15 <TrueBrain> maybe a hg repos ..
08:55:29 <Xaroth> it only needs to be generated once per release or so
08:55:42 <TrueBrain> once every decompiler update
08:55:54 <TrueBrain> and every new JIT data
08:55:58 <TrueBrain> so it will be a bit more often :)
08:56:01 <TrueBrain> but I can do a mercurial?
08:56:18 <TrueBrain> you want the function names with it, or just plain decomiled code?
08:56:54 <Xaroth> hm, *.h would be useful as well
08:57:08 <TrueBrain> just the complete decompiled code, compilable and runnable and all
08:57:31 <Xaroth> then i need to figure out how to process all that data :P
08:57:41 <Xaroth> but that's not a big issue i think
09:13:02 <DorpsGek> SVN: truebrain (r365) [JIT] -Fix: some invalid stat file slipped in
09:17:12 <DorpsGek> SVN: truebrain (r366) [JIT] -Fix: 1 more problem found by glx
09:17:27 <DorpsGek> SVN: truebrain (r367) -Update (r366): update decompiled code
09:19:55 <TrueBrain> for one reason or the other, I fail to compile a clean version
09:23:39 <TrueBrain> for one reason or the other, it fails to produce output for a few interrupt handlers
09:23:56 <TrueBrain> k .. well .. 'fixed' it :p
09:51:05 <Xaroth> Host is unresolved: android.client.google.com:443
09:51:14 <Xaroth> something tells me that the 1.6 update is causing some issues :P
09:58:15 <Xaroth> android.clientS.google.com, even
11:08:02 <Xaroth> grep -r "Decompiled function" clean/decompiled/*.c | wc -l
11:08:07 <Xaroth> grep -r "Decompiled function" opendune/trunk/decompiled/*.c | wc -l
11:08:21 <Xaroth> 24 is the magic number :P
11:09:04 <TrueBrain> okay ... lets get to work .. scenario loading ... yes yes ...
11:09:52 <Xaroth> cat clean/decompiled/*.c | wc -l
11:10:03 <TrueBrain> Xaroth: install sloccount
11:10:21 <Xaroth> cat opendune/trunk/decompiled/*.c | wc -l
11:10:27 <Xaroth> -that- is an improvement though :o
11:11:00 <TrueBrain> ignores stuff like whitespaces, so the data is much more sane :)
11:11:38 <TrueBrain> hmm .. the start of scenario stuff is to check if the HouseID given is 0xFF ..
11:11:45 <TrueBrain> why would you ever start a scenario with house 0xFF?
11:17:28 <Xaroth> total estimated cost to develop: $ 3,936,305
11:17:37 <Xaroth> where do i put in my bank account nr?
11:53:26 <TrueBrain> I hate assert_compile :p
11:53:44 <glx> you playing with global.h ?
11:53:58 <TrueBrain> finally figured out the size and place of HouseInfo
11:54:05 <glx> I hate it too, but it's a good help
11:54:39 <glx> just when you get the error after adding 20 variables it's not nice
11:54:52 <glx> because you need to recheck everything
11:55:07 <TrueBrain> oh, and I have a UTF-8 problem :(
11:55:58 <TrueBrain> - /* 18F3(3) */ PACK char string_18F3[3]; /*!< "<B3> " NULL terminated. */
11:56:00 <TrueBrain> + /* 18F3(3) */ PACK char string_18F3[3]; /*!< "<EF><BF>
11:56:01 <TrueBrain> <BD> " NULL terminated. */
11:58:12 <glx> though 18F3 is maybe not a string
11:58:29 <TrueBrain> well, I have others :)
11:58:35 <Xaroth> <B3> means charcode B3 right?
11:58:59 <Xaroth> hah, irssi+utf8 works :o
11:59:46 <TrueBrain> - /* 18F3(3) */ PACK char string_18F3[3]; /*!< "<B3> " NULL terminated. */
11:59:48 <TrueBrain> + /* 18F3(3) */ PACK char string_18F3[3]; /*!< "<C2><B3> " NULL terminated. */
11:59:54 <TrueBrain> when I write that symbol as UTF-8
12:00:09 <TrueBrain> glx: so is mine UTF-8, or yours?
12:00:21 <TrueBrain> mu<E1> das Setup-Programm betrieben werden.\r\n"
12:00:24 <TrueBrain> gramme de configuration doit d'abord <88>tre lanc<82>.\r\n"
12:00:27 <TrueBrain> mu<EF><BF><BD> das Setup-Programm betrieben werden.\r\n"
12:00:28 <TrueBrain> + * "\r\nLe programme de configuration doit d'abord <EF><BF><BD>tre lanc<EF><BF><BD>.\r\n"
12:00:30 <TrueBrain> * "\r\n" NULL terminated. */
12:00:31 <TrueBrain> sorry about stupid layout :(
12:00:57 <glx> all these are DOS charset indeed
12:01:15 <TrueBrain> so you write extended ASCII, and I wrote UTF-8?
12:02:07 <glx> <EF><BF><BD> is ^ in global.h but displayed as ê in cmd or dosbox
12:02:52 <TrueBrain> can you type the char for german?
12:03:11 <glx> \r\nZuerst muá das Setup-Programm betrieben werden.\r\n
12:03:19 <TrueBrain> no, it is for sure not the a thing
12:03:24 <TrueBrain> it should be a ss/b
12:03:27 <glx> \r\nLe programme de configuration doit d'abord ˆtre lanc‚.\r\n
12:03:45 <TrueBrain> please type it like you did before :)
12:03:52 <TrueBrain> (I can't write UTF-8 :p)
12:04:34 <glx> well I typed them as they are shown by MSVC (and any editor)
12:04:55 <TrueBrain> [14:03] <glx> \r\nLe programme de configuration doit d'abord ˆtre lanc‚.\r\n
12:04:57 <TrueBrain> is what you just typed
12:05:39 <glx> yes that's the exact text, it is displayed as \r\nLe programme de configuration doit d'abord être lancé.\r\n in cmd and dosbox
12:05:51 <TrueBrain> that Iw as looking for :)
12:08:03 <glx> \r\nZuerst muß das Setup-Programm betrieben werden.\r\n
12:08:31 <TrueBrain> then I now made it valid UTF-8
12:08:41 <TrueBrain> we will see later on what we have/need to do about such things exactly :)
12:08:51 <TrueBrain> for now my struct still doesn't add up, and I don't see where :(
12:09:38 <TrueBrain> global.h is getting big :p
12:10:09 <glx> anwyay they are just comments ;)
12:10:43 <TrueBrain> who can find me the mistake?
12:15:49 <glx> yes the first string is at 41C8 not 41CC
12:16:13 <TrueBrain> @calc 0x3c4a + 0x582
12:17:05 <TrueBrain> what is wrong with the math above?
12:17:22 <glx> the math is correct, you just use the wrong offset :)
12:17:35 <TrueBrain> 41CC is correct, 3C4A is ..
12:17:44 <TrueBrain> oh ... I see what is wrong ...
12:18:03 <TrueBrain> csip32 is (4), not (2) :)
12:18:39 <TrueBrain> - /* 3C46(2) */ PACK csip32 variable_3C46; /*!< ?? */
12:18:40 <TrueBrain> - /* 3C48(2) */ PACK csip32 variable_3C48; /*!< ?? */
12:18:42 <TrueBrain> + /* 3C46(4) */ PACK csip32 variable_3C46; /*!< ?? */
12:18:43 <TrueBrain> + /* 3C4A(4) */ PACK csip32 variable_3C4A; /*!< ?? */
12:18:45 <TrueBrain> or is it just 1 variable?
12:20:03 <TrueBrain> 3C4A is not a csip32, so I guess 1 :)
12:21:02 <TrueBrain> emu_get_memory16(emu_ds, 0x00, 0x3C48) = emu_dx;
12:21:03 <TrueBrain> emu_get_memory16(emu_ds, 0x00, 0x3C46) = emu_ax;
12:21:07 <TrueBrain> this strongly suggests that is in fact a csip pair
12:21:45 <glx> but f__2903_090A_0019_4354 is not clear about that fact
12:21:57 <DorpsGek> SVN: truebrain (r368) -Add: figured out a few strings, and HouseInfo; also corrected the layout of some other structs to be more uniform with the rest
12:22:31 <TrueBrain> where does f__2903_090A_0019_4354 use 3C46?
12:23:17 <glx> but 6F18 is csip so 3c46 should be csip
12:23:22 <TrueBrain> which clearly shows CSIP :)
12:23:30 <TrueBrain> k ... I have more strings ahead :)
12:23:42 <TrueBrain> well .. I found them in the memory, so I guess it is okay to document them (used or not :p)
12:24:26 <glx> I analyse the memory too (and dune2.exe)
12:28:11 <TrueBrain> now I have a list of PAK files ..
12:28:14 <TrueBrain> oh well, lets document them too :p
12:28:29 <TrueBrain> wow, tons of WSAs ..
12:28:38 <TrueBrain> then ADL and XMI ...
12:28:54 <TrueBrain> some other day ... :p
12:29:15 <glx> that's the list of all files :)
12:29:28 <TrueBrain> ds:42EB .. for who is bored :p
12:29:40 <TrueBrain> I really need a hex calculator
12:30:07 <glx> probably related to "File '%s' not listed in FileData[]" string :)
12:30:29 <glx> don't know the exact address
12:33:50 <TrueBrain> argh .... why isn't there a simple website to do hex calcualtions :p
12:37:54 <DorpsGek> SVN: truebrain (r369) -Add: figured out a few more variables
12:38:13 <TrueBrain> pff .. glx, much respect you already did so much strings :p
12:39:18 <TrueBrain> f__01F7_378D_0020_0F64 was sprintf, not?
12:40:32 <TrueBrain> it only replaces the %c ..
12:44:58 <Xaroth> ms calc can do hex calc :)
12:45:06 <TrueBrain> I used google now :p
12:45:59 <TrueBrain> ah, no, it is a full sprintf, it replaces all % entries
12:46:11 <TrueBrain> guess we can just skip it and replace it with sprintf :p
12:46:44 <glx> I lost all my VC settings
12:49:39 <TrueBrain> emu_String_sprintf or emu_Tools_sprintf?
12:51:57 <TrueBrain> plain for sure is wrong, as it is not a real one, it is emulated
12:52:26 <TrueBrain> and I like category prefixes for emu_ functions :)
12:54:08 <nsz> emu_String_Tools_Cathegory_xxx_version12_sprintf
12:55:42 <TrueBrain> lol, I just put a few prints in that function
12:55:45 <TrueBrain> it sends in MOUSE.SHP
12:55:55 <TrueBrain> what for ? :) sprintf(buf, "MOUSE.SHP", <params>)
12:57:39 <TrueBrain> glx: the [%s] is used a lot :)
12:58:33 <glx> MOUSE.SHP should be the cursor
12:58:52 <TrueBrain> I dunno what the exact params are, as it is hard to see how many are send :)
12:59:02 <DorpsGek> SVN: truebrain (r370) -Add: named 1 function
12:59:17 <glx> yes and it seems to use stack indirectly too
12:59:36 <TrueBrain> well, in case of scenario, it uses stack to write the result to
13:00:19 <DorpsGek> SVN: truebrain (r371) -Fix (r370): two params are pointers of emu_String_sprintf
13:00:59 <TrueBrain> s/of/in/ or s/of/for/
13:03:08 <glx> weird now MSVC can't run opendune
13:08:14 <TrueBrain> variable_38DE is the length of the scenario data .. but how to call something like that :p
13:08:21 <TrueBrain> same as variable_38DA is the pointer to the scenario data ..
13:08:45 <TrueBrain> hmmm .... not sure if it scenario only ..
13:09:02 <TrueBrain> it is either 0x2EE0, 0x4E20 or 0x6D60 ...
13:09:53 <TrueBrain> 0x2EE0 always in our case :)
13:09:59 <TrueBrain> I guess it depends on XMS/EMS yes/no ;)
13:11:55 <glx> ok I know why msvc can't start opendune :)
13:12:06 <glx> working directory is user dependant
13:16:24 <TrueBrain> okay ... I guess a ini file cannot be longer than 0x2EE0 bytes
13:16:32 <TrueBrain> glx: what is the biggest ini file?
13:20:05 <TrueBrain> so 38DA is used as temporary storage for reading text-files
13:21:06 <TrueBrain> or at least I see other files also using it ..
13:22:31 <TrueBrain> and f__253D_0000_0013_38F4 seems to read a text file .. or something of the likes :) No idea why it needs so many code to do that ..
13:22:57 <TrueBrain> might of cours ehave to do with PAK files ..
13:23:18 <DorpsGek> SVN: glx (r372) -Add: opendune.vcproj.user to specify default working directory
13:23:52 <glx> now debuging is possible with a clean checkout :)
13:25:54 <TrueBrain> your strings are very useful now glx :)
13:27:13 <TrueBrain> 353F:8CFD is scenario data .. I guess making a struct for it (even if it will be an array of [1]) is more nice?
13:27:20 <TrueBrain> like DosConfig, yeah :)
13:28:30 <TrueBrain> map-seed value is 32bit
13:29:36 <TrueBrain> ah, no, timeout is ..
13:34:35 <TrueBrain> lol, the ini routines have a 'default' value, always nice to know :)
13:43:22 <glx> hehe 1F81 (",") is used a lot :)
13:45:02 <TrueBrain> f__01F7_3CD5_000D_9D98 <- split string on $ I guess
13:45:06 <TrueBrain> (not looked inside the function)
13:45:54 <TrueBrain> euh, no, that string only gets the result to match
13:46:05 <TrueBrain> f__01F7_3A8A_0018_E4EE <- tries to match the entry (HUMAN$CPU as input)
13:47:11 <TrueBrain> f__01F7_39A5_001F_1A5D <- frees the result or something? Those seem related ..
13:48:12 <glx> f__01F7_3A8A_0018_E4EE is called 2 times, with 1F5B (HUMAN$CPU) and 1FBC (0NORTH$1EAST$2SOUTH$3WEST$4AIR$5VISIBLE$6ENEMYBASE$7HOMEBASE)
13:48:33 <TrueBrain> it tries to match them ..
13:49:35 <TrueBrain> HouseInfo:12 contains credits of house :)
13:50:15 <glx> you find it because it stores starting value there ?
13:51:18 <TrueBrain> euh ... not in HouseInfo, in House itself :)
13:51:29 <TrueBrain> it is hard to keep following the pointers correctly :p
13:53:44 <TrueBrain> f__01F7_39A5_001F_1A5D <- is more something like: FindNext
13:57:22 <TrueBrain> ./* 38B4(2) */ PACK uint16 playerCredits; /*!< Credits currently owned by player. */
13:57:26 <TrueBrain> I love finding such variables :)
13:58:00 <TrueBrain> it seems that the 'credit' field in House is just the 'start' credits, as for AIs a whole other set of rules is followed for 'credits' :p
13:58:11 <TrueBrain> so for now I called it creditStart :p
13:59:12 <TrueBrain> glx: we need modified scenarios to find all places :p Like when there is no HUMAN as Brain, it runs a different set of rules :p
14:00:10 <TrueBrain> f__01F7_39A5_001F_1A5D <- clears the whole temporary buffer, in a funny way :)
14:00:19 <TrueBrain> it also cleans it ..
14:01:26 <TrueBrain> oh, no, it just counts :p
14:06:31 <TrueBrain> .ini assumes \r\n I guess
14:06:35 <TrueBrain> (and yes, I talk too much :p)
14:11:07 <glx> dunno, it uses 3 strings for ,: "," ",\n" ",\r\n"
14:25:30 <TrueBrain> glx: ah, no, the +2 was to skip ID from [UNITS] :)
14:25:40 <TrueBrain> f__01F7_2252_0045_03CB <- str2int
14:31:59 <TrueBrain> f__01F7_3964_0041_7552 <- strcmp I guess
14:34:34 <glx> ,...emu_cx = 0x617A; 'a' -> 'z'
14:34:55 <TrueBrain> the sub(.., 0x20) gave it away for me :)
14:35:25 *** boekabart has joined #openDune
14:35:37 <glx> ,...emu_subw(&emu_ax, emu_bx); <-- and the result :)
14:35:51 <TrueBrain> so yes, strcasecmp it is :)
14:36:01 <boekabart> just svn:// for this one?
14:36:08 * boekabart will wait until he's home
14:36:15 <TrueBrain> sorry, havne't set up WebDAV :)
14:36:28 <boekabart> or is there smth like a svn proxy that I can run at home, i _do_ have vpn to home
14:37:17 <TrueBrain> I use SSH tunnels to forward such requests
14:39:18 <Xaroth> TrueBrain: If i manage to sneak in a reply to your news post i'll have claimed all the 'last post' entries on the forum >:)
14:39:55 <TrueBrain> if that gets you going, sure, go ahead :p :p :p
14:40:21 <Xaroth> I think Nyer missed my point btw :/
14:40:28 <TrueBrain> he misses all points :p
14:40:57 <Xaroth> communication between the dutch and the belgians have never been that efficient anyways :P
14:41:16 <TrueBrain> damn, what will I eat tonight ....
14:41:28 <TrueBrain> I ordered in last week a bit too much
14:41:30 <Xaroth> I'm having kip kerry :P
14:41:35 <TrueBrain> but I am WAY too lazy to go out ...
14:41:41 <Xaroth> then again, I'm not cooking so :P
14:42:44 <TrueBrain> f__01F7_3AF8_001D_A439 is some kind of 'split' thingy
14:43:13 <Xaroth> static links to the standard libs?
14:43:27 <Xaroth> or more home cooked stuff?
14:43:32 <TrueBrain> dunno, don't care :)
14:43:40 <TrueBrain> but what is weird about it is, that hte first time called it is given a string
14:43:59 <TrueBrain> so I guess it has some internal buffer
14:47:18 <TrueBrain> found a emu_Unit_StringToID :)
14:48:36 <TrueBrain> and that then lists all unit-names ;)
14:48:48 * boekabart used 3proxy's tcppm and succesfully svn co'ed
14:49:14 <TrueBrain> you can't spawn all types of units ..
14:49:31 <boekabart> HAHA externs to svnopenttd.org ?
14:49:46 <TrueBrain> we share the host .. so why not use stuff from it :)
14:50:00 <TrueBrain> oh, I was looking wrong, all units are defined :)
14:50:40 <Xaroth> hah, there's a topic on fed2k going on about religion vs evolution
14:51:18 <boekabart> apparently, the coding style allows goto's ? :D
14:51:35 <TrueBrain> boekabart: only for the decompiled part
14:52:04 <Xaroth> allows is a big word :P
14:52:18 <Xaroth> we tollerate it because it makes things work properly.
14:58:32 <Xaroth> @base 16 10 0x02020304
14:58:53 <DorpsGek> Xaroth: 32896.7539062
14:59:32 <Xaroth> ah well, proyvind will just have to wait for us to find those 'elusive' 4 bytes in ICON.ICN :P
15:01:30 <TrueBrain> found unit health :)
15:01:51 <TrueBrain> the value in scenario ini is a % (from 1 to 256)
15:01:55 <boekabart> don't you have the feeling that you're trying to make a trainer?
15:02:11 <Xaroth> should have heard him before
15:02:26 <TrueBrain> health or hitpoints?
15:02:29 <TrueBrain> what did we say Xaroth?
15:03:06 <boekabart> Anyway, I like the idea of the project; good luck with it!
15:03:27 <boekabart> (openAOE2 would be even cooler, of course, but hey...)
15:03:34 <TrueBrain> boekabart: never played it :p
15:03:39 <TrueBrain> and you should help out :)
15:03:54 <Xaroth> how did you find us? I suspect TrueBrain but still :P
15:03:56 <boekabart> hehe, didn't I mention the 2 kids before?
15:04:09 <TrueBrain> you did .. was worth a try ;)
15:04:19 <boekabart> i'd like to but if i'm realistic...
15:04:53 <boekabart> found you by googling 'patric stout' :D
15:05:14 <Xaroth> he's known for having his harem of stalkers :P
15:05:29 <boekabart> (in the hope of finding his home address!! )
15:05:30 <TrueBrain> google already lists OpenDUNE under my name?! Scary ...
15:05:38 <TrueBrain> boekabart: you should have used 'whois' :p
15:05:58 <TrueBrain> no .. 'whois' .. the *nix tool
15:06:03 <boekabart> google, bottom of page almost
15:06:15 <boekabart> i was actually hoping to find linkedin profile
15:06:30 <boekabart> i know where is house is (or used to be)
15:06:41 <TrueBrain> that is my student apartment :p
15:06:50 <TrueBrain> and I don't have linkedin
15:06:56 <TrueBrain> neither twitter, facebook, ....
15:07:15 <Xaroth> it links to www.opendune.org/repositories/show/toc tho :/
15:07:51 <Xaroth> ah well, i'm sure we'll have plenty of google passing by :P
15:08:42 <Xaroth> we got google, msn and yahoo crawling our forums already, though yahoo doesn't update frequently...
15:08:49 <Xaroth> so we're bound to get high up the rankings soon
15:09:14 <Xaroth> already have 2 attempts at spambots as well, but they fail :P
15:09:15 <boekabart> NO TWITTER? #openttd on twitter :)
15:09:16 <TrueBrain> I wonder what the second last value of the unit stuff does .. hmm ..
15:09:20 <TrueBrain> oh well, we will find out :)
15:09:33 <TrueBrain> I suggest Xaroth starts a twitter chnanel :p Ghehehehe :)
15:09:42 <boekabart> i'll leave you to the trainermaking, gluck!
15:09:49 *** boekabart has left #openDune
15:09:58 <TrueBrain> he just degrated our tool to 'trainermaker' :(
15:10:26 <Xaroth> and sure @ twitter, but not until i get Donut on my phone
15:10:32 <Xaroth> and a working twitter client for donut..
15:10:42 <Xaroth> (must admit google names their releases funny)
15:12:10 <Xaroth> heh, one of the 'inactive' users (most likely spambots)
15:12:11 <Xaroth> descr: China Unicom Beijing province network
15:12:39 <TrueBrain> hmm .. there is a very limited set of AI actions :p
15:12:43 <Xaroth> they even have address information o_O
15:20:09 <DorpsGek> SVN: glx (r373) -Add: figured out a few variables
15:21:49 <TrueBrain> it merged flawless :)
15:24:43 <TrueBrain> netbeans has a bit of troubles parsing OpenDUNE :p
15:24:55 <TrueBrain> it was nice of boekabart to drop by :)
15:25:44 <TrueBrain> k ... passed [UNITS], 50% of Scenario loading done .. well .. only the documenting part :p
15:27:39 <DorpsGek> SVN: truebrain (r374) -Add: figured out a few variables and function names (mostly related to Scenario loading / reading)
15:34:53 <TrueBrain> I _think_ 39EA point to the map
15:35:46 <TrueBrain> scenario loading avoids putting 2 buildings over eachother
15:36:05 <TrueBrain> Xaroth: where is my em_Building_Create! :p
15:46:54 <TrueBrain> I _think_ BuildingInfo:4 has the type of building
15:47:15 <TrueBrain> nevermind .. lalala ..
15:48:46 <TrueBrain> STRUCTURE section is _very_ simplistic :)
15:50:54 <TrueBrain> glx: what was the url to your unpak again? :)
15:50:58 <TrueBrain> we should add it to SVN I guess :p
15:54:19 <TrueBrain> I don't understand the peice that reads [MAP]
15:54:26 <TrueBrain> it checks if it is equal to a C, which is never ..
15:54:31 <TrueBrain> well .. never happened yet ..
15:55:42 <TrueBrain> no scenario has it ..
15:55:50 <TrueBrain> @calc 0xa2f - 0x8ee
15:55:56 <TrueBrain> 321 bytecode is skipped because of it
15:57:03 <glx> some scenario have garbage at the end btw
15:58:33 <glx> hhgd_ZUPQXYTW\]WXZ]`didcfimnlorkhgcgkmlklnnrxyupqsolprkdghedgiloqorxyxvrmlnjhhiihklkoollqnklopqsngjkha^_c`[`c^[^a`^^`ba]]bc`cjolqz„‡Œ•œ™’‰~|unihb]XSPSX]`]^acddeddghfhmnljkiijgehjijjjqz}xy|}}wrsrpnlhbcgjiga^a\WZ[XY]__bhknmprrsurnllmnorrtxxwwy}~~||{unonkd_^XUVTUVUSUWXXX\\]cjkmonnsvstuvsstttxyvuwz{zy|}{vqrrngbceeaabbcffb__a__efbcdfiikidgjmlnqtspnnonklmqsstusssrpmkig`_ceb^]`b`agjmrwvuvusqpnjihfijloqs
15:58:41 <glx> that's the last line in it
15:58:59 <TrueBrain> the garbage started sooner
15:59:03 <TrueBrain> ID004 already is wrong
16:01:27 <TrueBrain> Special is a valid entry in [MAP]
16:04:57 <TrueBrain> k ... mapped most of the scenario stuff
16:04:59 <TrueBrain> or at least in my head :)
16:05:58 <TrueBrain> no, [STRUCTURES] have GEN, not ID ..
16:06:19 <TrueBrain> oh, no, you are right
16:06:24 <TrueBrain> how could I have missed that :s
16:06:46 <glx> GEN is stuff with no owner
16:07:29 <TrueBrain> but yeah, slabs and walls
16:07:33 <glx> yes I checked that after writing it :)
16:08:14 <glx> and location seems to be included in GENXXXX
16:08:36 <proyvind> Xaroth: you figured out what SINF chunk in ICON.ICN is for?
16:08:36 <TrueBrain> yes ... it is freaking annoying :p
16:09:41 <TrueBrain> sound like an info field ;)
16:10:32 <proyvind> I think it's a mnemonic for "session info"
16:11:02 <TrueBrain> as I said: it sounds like an info chunk :)
16:11:19 <proyvind> that's just exactly what I'm curious about :p
16:11:31 <TrueBrain> you know the length I assume?
16:11:35 <TrueBrain> even hex is fine by me :)
16:12:48 <proyvind> IFF chunks are like this:
16:12:49 <proyvind> typedef unsigned char UBYTE; /* 8 bits unsigned */
16:12:49 <proyvind> typedef short WORD; /* 16 bits signed */
16:12:49 <proyvind> typedef unsigned short UWORD; /* 16 bits unsigned */
16:12:49 <proyvind> typedef long LONG; /* 32 bits signed */
16:12:52 <proyvind> typedef char ID[4]; /* 4 chars in ' ' through '~' */
16:12:54 <proyvind> typedef struct { ID ckID; LONG ckSize; /* sizeof(ckData) */ UBYTE ckData[/* ckSize */]; } Chunk;
16:13:26 <TrueBrain> default layout for a chunk, yes :p
16:15:25 <TrueBrain> k, so 0x02020304 is the content
16:15:47 <TrueBrain> sounds to me like boundaries, but that really is a wild guess :)
16:15:49 <proyvind> TrueBrain: memory address?
16:15:55 <TrueBrain> left, top, right, bottom
16:16:01 <proyvind> didn't find anything interesting in DUNE2.EXE at that address at least..
16:16:07 <proyvind> not interesting at first sight at least..
16:16:25 <TrueBrain> the chances of that being a mem-address are very very low :)
16:16:39 <TrueBrain> Shape Info, I would say
16:17:07 <proyvind> TrueBrain: yeah, my thought as well, none the less, file offset would be 28452 if it were a memory address..
16:17:26 <proyvind> all ahapes are 16x16..
16:17:38 <TrueBrain> are there any other ICN files?
16:17:47 <proyvind> there's different versions
16:17:54 <proyvind> the different version in the demo
16:17:57 <proyvind> has same value though :/
16:18:13 <TrueBrain> where does the ICON.ICN show?
16:18:27 <proyvind> TrueBrain: what do you mean?
16:18:40 <glx> of course it's not in global.h yet
16:19:32 <TrueBrain> (sorry, the thread was too long with too much blabla :p)
16:20:02 <proyvind> http://en.wikipedia.org/wiki/NRG_(file_format) <- nero is using IFF, from my understanding reading the EA IFF specification it's strongly advised against using same mnemonics for different purposes, so nero miiight just be using it for same purpose here.. but I'm not able to make much out of of it..
16:20:11 <proyvind> only other place I've found any references to SINF...
16:20:37 <proyvind> looking at the structure of NRG SINF structure, it would match in size though..
16:20:42 <TrueBrain> OpenTTD uses chunks too, like you describe above .. I doubt they ever cared about existing codes :p
16:20:50 <proyvind> 4 Chunk ID "SINF" 4 32bit Chunk size (bytes) 4 32bit # tracks in session
16:20:58 <TrueBrain> there are no tracks ;)
16:21:08 <TrueBrain> Xaroth: you mean the images for the game-view-map-thingy?
16:21:35 <Xaroth> concrete slab, 1 tile, CY, 4 tiles
16:21:44 <Xaroth> visual representations, iirc
16:22:16 <TrueBrain> proyvind: every tile has a SINF chunk?
16:22:31 <TrueBrain> (sorry, it is easier to ask then to lookup :p)
16:22:43 <proyvind> TrueBrain: no, there's just one SINF chunk
16:23:06 <TrueBrain> what are the values in other versions?
16:23:16 <Xaroth> <+proyvind> has same value though :/
16:23:24 <proyvind> 53 49 4E 46 00 00 00 04 02 02 03 04
16:23:32 <proyvind> this is the whole chunk
16:23:57 <TrueBrain> [18:17] <proyvind> there's different versions <- so I guessed there were ICON.ICN with other values for that chunk?
16:24:09 <TrueBrain> ah, then I misunderstood you :)
16:24:10 <proyvind> 18:23:16 <@Xaroth> <+proyvind> has same value though :/
16:24:30 <TrueBrain> proyvind: you were talking about the demo :p
16:24:57 <TrueBrain> used exactly once ..
16:25:40 <proyvind> TrueBrain: I was talking about the demo and other versions ;)
16:25:48 <glx> and that reminds me I didn't finished to extract unknown_21CD :)
16:26:17 <TrueBrain> the chunk is loaded by f__B4B1_01CD_002A_CE8A
16:26:41 <TrueBrain> result in bp - 0x12
16:27:08 <TrueBrain> euh .. sorry, let me rephrase:
16:27:29 <TrueBrain> the last is a byte too
16:27:40 <TrueBrain> 3rd value is never used
16:27:42 <proyvind> it's loaded as 4x1byte? not 1x4?
16:27:55 <TrueBrain> I can't tell how it is loaded, I can only tell how it is used :)
16:28:03 <proyvind> 4xuint8_t rather than 1xuint32_t I mean..?
16:28:17 <TrueBrain> well, it is used as [byte][byte][??][byte]
16:28:20 <TrueBrain> so the 3rd has to be a byte too :p
16:28:27 <TrueBrain> (byte being a uint8 of course)
16:29:01 <TrueBrain> basicly: load chunk (0x4953464E (in which ever endian :p)), 4 bytes, to bp-0x12
16:29:22 <TrueBrain> bp-0x12 and bp-0x11 are given to f__22A6_1158_0069_1890
16:29:32 <TrueBrain> (sign-extended, but who cares)
16:31:02 <TrueBrain> then bp-0x12, bp-0x11 and bp-0x0F is used to load chunk 0x53535445
16:32:17 <TrueBrain> oh, no, not true .. it is kept in another local variable ..
16:32:59 <TrueBrain> it is handed to f__253D_023A_0038_2BAE() as 5th param
16:34:02 <TrueBrain> b1 * (b2 << 3) * b4
16:34:04 <TrueBrain> if I read it correctly
16:34:05 <proyvind> that doesn't make me much wiser.. ;)
16:34:22 <TrueBrain> @calc 2 * (2 << 3) * 4
16:34:22 <DorpsGek> TrueBrain: Error: Something in there wasn't a valid number.
16:35:09 <TrueBrain> but that '3' is never ever used
16:35:58 <proyvind> I think at least that the 128 might make sense, there's "128 bytes of "compressed" tile data"
16:36:15 <proyvind> but I'm wondering if I already have that value from somewhere else
16:36:27 * proyvind is switching between reading from forum thread and his own code ;p
16:39:07 <TrueBrain> there are some hardcoded checks on the values
16:39:24 <TrueBrain> when the first 2 are not equal or if the first is 3 or higher, some default values are loaded
16:40:42 <TrueBrain> cool, the first 2 at '1' gives cool tiles :)
16:40:55 <TrueBrain> they are 50% of the size, that for sure
16:41:06 <TrueBrain> and they are more simple
16:41:16 <TrueBrain> like they are meant for 160x200 screen
16:41:59 <TrueBrain> Dune2 normally runs in 320x200
16:42:13 <TrueBrain> but I guess that can also be a side-result .. but okay, it makes the tiles twice as small :p
16:42:47 <TrueBrain> so I guess it means x by y, as they have to be equal :)
16:43:28 <TrueBrain> changing the last value has no clear effect
16:43:54 <TrueBrain> we have 256 colours
16:43:57 <TrueBrain> so that is unlikely
16:44:11 <TrueBrain> and '4' is a weird value for 256 colours :)
16:44:22 <TrueBrain> besides, it is only used to calculated that 128 value
16:44:35 <proyvind> maybe it's an easter egg to unlock 32 bit colors ;)
16:45:23 <TrueBrain> euh ... that '5th' param to f__253D_023A_0038_2BAE() is not used :)
16:45:34 <TrueBrain> so the 3rd and 4th value of SINF are ignored by Dune2 1.07 EU version :)
16:45:53 <TrueBrain> the first two have to be eqaul, and either 0, 1, or 2
16:46:23 <TrueBrain> value '0' segfaults
16:46:36 <Xaroth> would be useful to have double-sized window :P
16:46:36 <TrueBrain> >= 3 loads a default set
16:47:28 <TrueBrain> well, I guess I can see what those defaults are
16:48:48 <TrueBrain> of course I had some other changes pending .. lol :)
16:52:15 <DorpsGek> SVN: truebrain (r375) [JIT] -Add: invalid values for first 2 bytes of SINF chunk in ICON.ICN
16:53:05 <DorpsGek> SVN: truebrain (r376) -Add: named 3 more functions
16:53:19 <TrueBrain> proyvind: yeah, the other 2 values really seem unused (in this version of dune :p)
16:54:28 <TrueBrain> weird that '2' indicates 16x16 tiles :p
16:55:11 <DorpsGek> Xaroth: Error: invalid syntax (<string>, line 1)
16:55:13 <DorpsGek> Xaroth: Error: Something in there wasn't a valid number.
16:55:25 <proyvind> changing the third value messes things up for me when trying to run it
16:55:45 <glx> TrueBrain: no you use my method ???
16:56:16 <glx> you tried random values to see what happens
16:56:37 <proyvind> changed third value from 2 to 3 and only units were visible on the map
16:57:28 <TrueBrain> Xaroth: 4 values, yes
16:57:38 <Xaroth> TrueBrain: you keep up too :P
16:57:41 <TrueBrain> proyvind: 3rd value is '3' :p
16:57:42 <proyvind> no, I messed up something else now
16:57:48 <Xaroth> if the third value is 0x03, how can he change it from 0x02 to 0x03 :P
16:58:05 <DorpsGek> SVN: glx (r377) -Add: figured out a few variables
16:58:06 <TrueBrain> Xaroth: yeah, I noticed a bit later :$
16:59:41 <TrueBrain> proyvind: I can guess that '3' is the bpp
16:59:57 <proyvind> changing third value didn't seem to do much for me after all I guess..
17:00:23 <TrueBrain> I am getting insane here ...
17:00:26 <Xaroth> haha Fallen earth got sandworms
17:00:34 <TrueBrain> well, no 1 << 3 is 8
17:00:49 <TrueBrain> but as the game is always 8bpp .. that would be silly :p
17:01:19 <TrueBrain> how does the compression work?
17:02:11 <TrueBrain> (btw, Xaroth, this is our ticket into allowing 32bpp :p)
17:02:30 <proyvind> not really certain, I didn't wrote the original code of mine, so there's parts of it I'm not really sure about specifics of..
17:02:49 <TrueBrain> is it RLE, or is it always that a 16x16 needs 128 bytes or what ever?
17:02:58 <proyvind> I think it's always 16x16
17:02:58 <Xaroth> TrueBrain: the blitter has support for 32bpp already?
17:03:12 <TrueBrain> of course not Xaroth :p
17:03:16 <TrueBrain> proyvind: that is no compression :)
17:03:23 <Xaroth> would have saved some trouble there :P
17:03:57 <proyvind> TrueBrain: yeah, I see now, nada, no format80/format40/format2 or anything :)
17:03:59 <Xaroth> then again, we have a few experts on the topic of getting things 32bpp ready :p
17:04:40 <TrueBrain> proyvind: so all I can say is that the first 2 bytes have to be equal, either 1 or 2 or 4, and indicate some kind of 'size' in x/y of the tiles
17:04:49 <TrueBrain> (although '4' never results in any visible output :p)
17:05:03 <TrueBrain> but that might be logic, as there is no 32x32 tiles in the ICN :p
17:05:31 <TrueBrain> and I am happy, finally getting the hang on how to read this code :)
17:08:51 <proyvind> so... size: (2<<3)*(2<<3), bpp: (1<<3), ??: (4<<3)?
17:10:10 <TrueBrain> the bpp we will never know, and will remain a guess (it is never used ;))
17:11:11 <proyvind> yeah, but making a guess and telling ourself that we guessed correctly makes us all feel better ;)
17:11:48 <proyvind> it'll do good for our egos!
17:12:10 <TrueBrain> k .. let me trace the first 2 parameters a bit more after dinner
17:33:40 <proyvind> perhaps 4<<3=64 == map size?
17:33:56 <Xaroth> that'd be something for ICON.MAP
17:34:01 <TrueBrain> it is used in 2 * (2 << 3) * 4
17:34:47 <TrueBrain> emu_rcrw(&emu_cx, 0x1);
17:34:49 <TrueBrain> emu_shlw(&emu_cx, 0x1);
17:34:50 <TrueBrain> emu_rclw(&emu_cx, 0x1);
17:34:52 <TrueBrain> emu_shlw(&emu_cx, 0x1);
17:35:55 <TrueBrain> roll over .. euh ..
17:36:36 <TrueBrain> what it does: shift right, shift left (so & 0xFFFE), shift left but if value was &0x1 do |= 1, shift left
17:36:55 <TrueBrain> oh, not true, shl also sets the carry
17:37:18 <TrueBrain> the carray is always 0 at that point
17:37:23 <SmatZ> it's result is discarded by shlw
17:37:39 <TrueBrain> but .. shl now does have the second bit in his cf
17:37:47 <TrueBrain> euh ... highest bit :p
17:37:57 <TrueBrain> which is always 0 ...
17:38:14 <TrueBrain> (as it was just made 0 by rcr ..)
17:38:19 <TrueBrain> okay, I am totally lost here :p
17:38:59 <SmatZ> hmm so... first two instructions: CF is unchanged, CX &= 0xFFFE
17:39:26 <TrueBrain> but the instruction before the rcr is a 'and'
17:39:30 <TrueBrain> which always sets the cf to 0 ..
17:40:01 <TrueBrain> so in the bigger picture, it makes no sense ...
17:40:08 <TrueBrain> so it just does: cx << 2 :p
17:40:16 <SmatZ> can it be target of jump/call?
17:40:29 <TrueBrain> nope, it is stored in a static variable
17:40:38 <TrueBrain> funny enough, the lines below:
17:40:48 <TrueBrain> emu_shlw(&emu_cx, 0x1);
17:40:50 <TrueBrain> emu_shlw(&emu_cx, 0x1);
17:41:18 <SmatZ> are you sure it's code and not data?
17:41:26 <TrueBrain> I am 100% sure it is code
17:41:39 <TrueBrain> confirmed it via both my emulator as DOSBox, as the things it does when igornign the sillyness
17:41:51 <SmatZ> is it decoded correctly?
17:42:08 <TrueBrain> proyvind: fun 'facts' about those values: they should be equal. Locally it stores: (b1 << 2), (b1 << 3) and my personal favorite: -(b1 << 3) + 0x140
17:42:16 <TrueBrain> SmatZ: yes, well .. DOSBox agrees on the decoding
17:42:22 <TrueBrain> the result is also what you would expect
17:42:47 <TrueBrain> SmatZ: it was most likely some C construct which is compiled like this ..
17:43:15 <TrueBrain> oh, and there is a static variable which holds b1 & 2 :p
17:45:49 <TrueBrain> if b1 != b2 or b1 >= 3, then those values are, 4, 2, 4, 8, 0x138, where with b1 = b2 = 2 they are 2, 8, 4, 8, 0x138 and with b1 = b2 = 1 they are 0, 4, 2, 4, 0x13A
17:48:06 <TrueBrain> the 0x138 / 0x13A is used to jump forward every time .. in an array or something :)
17:49:23 <TrueBrain> euh, I was wrong, b1 = b2 = 2 gives 2, 8, 8, 16, 0x130
17:49:51 <TrueBrain> b1 = b2 = 1 gives 0, 4, 4, 8, 0x138
17:55:30 <DorpsGek> SVN: glx (r378) -Add: figured out a few variables
17:55:53 <glx> I have a big block of strings to handle (0x31D bytes)
17:57:37 <proyvind> did you reach a final conclusion? ;po
18:02:08 <TrueBrain> ghehe :) Was out for a sec, so no :p
18:04:39 *** TrueBrain has joined #openDune
18:05:01 <TrueBrain> nice ... gone was Konversation :p
18:05:56 <TrueBrain> okay ... 'size per sprite' is (b1 << 2) << 4
18:06:35 <TrueBrain> so 128 bytes per sprite ...
18:11:18 <TrueBrain> emu_addb(&emu_al, 0xFF);
18:11:19 <TrueBrain> emu_rclb(&emu_ch, 0x1);
18:14:05 <TrueBrain> proyvind: there is some kind of compression in ICN ..
18:18:56 <proyvind> hm, gives some more info as well
18:19:40 <proyvind> that explanis a bit :o)
18:22:11 <TrueBrain> fun 'fact': 22A6, which handles the loading of this file, is always called via a pointer, meaning it can runtime be changed to something else, meaning it is meant to detect the type it is loading, and adjust accordingly
18:27:02 <TrueBrain> dunno if it is really useful
18:27:19 <TrueBrain> there are 3 scenarios, b1 = b2 = 2 is what is used, the others are possible
18:27:33 <TrueBrain> b1 = b2 = 1 is clearly meant for lower-res
18:27:44 <TrueBrain> the other is something of which code is not compiled into Dune2 :)
18:28:13 <TrueBrain> size-per-sprite mostly is VERY small .. and 33F causes the sprite to never really load :p
18:28:27 <TrueBrain> I guess it can be seen as a 'failure' or 'error' :p
18:28:52 <TrueBrain> so yes, those 2 values configure everything about a sprite :)
18:29:03 <TrueBrain> it assumes 4bits = 1 pixel
18:29:09 <TrueBrain> then it all makes sense :)
18:29:40 <TrueBrain> as then it simply means: (b1 << 3) by (b2 << 3)
18:30:14 <TrueBrain> a long search for an answer we guessed a good hour ago :)
18:30:32 <TrueBrain> hmm .. I guess I can aswell C-ify this now ..
18:34:12 <TrueBrain> not enough concrete to do so .. oh well :)
18:53:37 <TrueBrain> proyvind: btw, this also means the '4' makes sense: bits per pixels
18:53:54 <TrueBrain> and '3' either the bpp, or the shift value
18:57:17 <TrueBrain> proyvind: do you have any idea what entry can be in [MAP] that starts with a C ?
18:57:26 <TrueBrain> the syntax seems to be C<number> = <fields>
18:58:49 <TrueBrain> oh, the text starting with a C is 6 chars long I estimate
18:59:02 <TrueBrain> sorry, forgot to say that :)
18:59:14 <proyvind> try checking IniFile class in libeastwood and Map* classes in doon lunacy
18:59:19 <proyvind> I don't really have too deep knowledge of them
18:59:37 <proyvind> they're kinda leftovers yet to be cleaned up and rewritten :)
18:59:43 <proyvind> launchpad.net/doonlunacy
18:59:46 <proyvind> launchpad.net/libeastwood
18:59:52 <TrueBrain> glx: is 1BC4 a typo? EFINAL?
19:01:09 <TrueBrain> weird .. 2 A finals, 3 H, 4 Os ..
19:01:53 <proyvind> they're concatenated
19:01:56 <proyvind> or whatever term to use
19:01:57 <TrueBrain> damn, launchpad is slow :(
19:02:19 <proyvind> next scene starts with first frame xor'ed over last frame of previous
19:02:38 <TrueBrain> proyvind: we were talking about the filenames
19:02:47 <proyvind> just like INTRO7[AB].WSA & INTRO8[ABC].WSA
19:02:57 <TrueBrain> and I meant the Es :)
19:03:21 <Xaroth> can be emperor, or everybody?
19:03:33 <glx> they are wsa in finale.pak
19:03:36 <TrueBrain> that indeed is possible .. hmm .. niceone Xaroth
19:03:50 <Xaroth> Emperor scenes where he talks
19:03:59 <Xaroth> and then your side talking or whatever
19:08:59 <TrueBrain> proyvind: your code also doesn't load the C thingy, what ever it might be :)
19:09:40 <TrueBrain> uncovering new features already :)
19:10:16 <proyvind> [MAP] is map seed generator
19:10:34 <TrueBrain> but there is a field which starts with a C
19:10:39 <TrueBrain> Dune2 has code for it
19:11:05 <proyvind> in which scen*.ini file?
19:11:23 <TrueBrain> as I said, the code has it, and I have no idea what this C field is/does :)
19:11:50 <proyvind> check fed2k forum posts, maybe segra has knowledge of
19:12:09 <TrueBrain> fed2k is not the most easiest to search for anything .. even more as all I know: it starts with a C :p
19:13:42 <proyvind> but try search for something with either "scenario" or "map" as keyword perhaps :o)
19:16:38 <TrueBrain> or I just read what the syntax is and try it :)
19:18:39 <proyvind> I've seen some other "hidden" features such as lemonfactor etc. being spoken of as well in the forums :)
19:18:49 <proyvind> try the dune2.exe programming thread
19:18:56 <glx> is there any reference on profile.ini somewhere ?
19:19:07 <proyvind> I don't think there actually is a profile.ini
19:19:12 <proyvind> search through the forums
19:19:17 <proyvind> I saw it being discussed the other day
19:19:23 <proyvind> you should find it easily
19:20:52 <glx> TrueBrain: when you post an url in the forum, use the [url] tag :)
19:28:51 <Xaroth> it should auto-detect urls tho
19:30:38 <TrueBrain> k, no hits on any map related thing with a C
19:30:48 <TrueBrain> and I cna't make anything out of it, although I am almost sure about the params :p
19:32:39 <TrueBrain> I can only see it useful to unreveal a piece of the map or what ever
19:32:42 <proyvind> maybe you'll have luck finding some hints in the docs that comes with the 1.07hs cd version?
19:32:52 <TrueBrain> were there docs there?
19:32:54 <proyvind> just like many of the other WW games
19:33:07 <proyvind> features described in the docs
19:33:17 <proyvind> aren't actually (enabled) in the game
19:33:33 <proyvind> ie. like the bloom that acts in same fashion as crates in c&c
19:33:55 <proyvind> there's two types of blooms :)
19:34:39 <proyvind> have you looked at segra's db?
19:34:44 <TrueBrain> and I try not to :)
19:35:02 <TrueBrain> say there is a serious misunderstanding of a piece of code
19:35:07 <TrueBrain> we would take that over, instead of investigating ourself
19:35:15 <TrueBrain> this way of 'isolated' investigation avoids that
19:35:22 <TrueBrain> in the end, we can compare both, and see who is right :)
19:36:38 <TrueBrain> we are a 'fresh' pair of eyes :)
19:38:45 <TrueBrain> C???XXYY = <background-tile>,<foreground-tile>
19:41:07 <TrueBrain> XXYY seem to start at 16x16
19:46:01 <TrueBrain> hmm .. no clue in fact what the first <background-tile> really is :p
19:46:04 <TrueBrain> it doesn't seem to differ ...
19:50:25 <TrueBrain> planetmaker: I can't find any docs? Only the dune2 files ..
19:50:33 <TrueBrain> planetmaker: ? Sorry, meant proyvind :)
19:54:34 <TrueBrain> no value makes any change
19:54:40 <TrueBrain> k, made a post about the information :)
19:56:06 <DorpsGek> SVN: truebrain (r379) [JIT] -Add: some situations in scenario loading that never happened with scenarios supplied by original Dune2
19:56:22 <DorpsGek> SVN: truebrain (r380) -Update (r379): update decompiled code
19:57:50 <DorpsGek> SVN: truebrain (r381) -Add: finally name the Scenario_Load function
19:58:19 <TrueBrain> that is a nice progress I say :)
19:58:30 <TrueBrain> the function is almost 'readable' :p
20:03:24 <glx> yes I found this myself :)
20:03:26 <TrueBrain> when using that file it gets new functions .. but it doesn't really work, when you change a value :p
20:03:39 <TrueBrain> B4B8 btw handles it
20:05:09 <TrueBrain> at least, that has Ini_GetInteger and stuff
20:05:46 <glx> anyway profile.ini is not the most important thing for now :)
20:06:35 <DorpsGek> SVN: truebrain (r382) [JIT] -Add: missing functions when suplying a 'valid' profile.ini (with tnx to MrFlibble for suplying one)
20:06:49 <DorpsGek> SVN: truebrain (r383) -Update (r382): update decompiled code
20:12:40 <TrueBrain> playerCreditsNoSilo <- clear variable name?
20:13:42 <DorpsGek> SVN: truebrain (r384) -Fix: misunderstood credit-related variables
20:40:19 <TrueBrain> bah .. building limit ..
20:41:03 <TrueBrain> the positive thing about it, for every building I destroy at his place, and rebuild at mine, he can't replace
20:46:08 <TrueBrain> 6 carry alls, 6 rockets launchers, 6 siege tanks, 6 tanks
20:50:05 <TrueBrain> ordered 8 quad/trikes, to do the exploring for me :)
20:50:27 <TrueBrain> spend 20k already ... I did tell you guys I found where money is stored, right? :)
20:51:14 <TrueBrain> I really don't have the time to play normal :p
20:51:18 <TrueBrain> this already takes enough time :)
20:53:29 <TrueBrain> 8 quad/trikes did map the whole A base
20:53:37 <TrueBrain> now the O base with just 2 Quad.trikes ...
20:55:04 <TrueBrain> yup; then again, I am not here to play the game :)
20:58:41 <TrueBrain> wow, moving 20 vehicles is SLOW
21:05:43 <TrueBrain> 5 minutes later Ordos is no more
21:06:32 <TrueBrain> haha, a carry-all is crazy
21:06:40 <TrueBrain> keeps on rotating around a single tile, enver dropping his cargo
21:22:03 <TrueBrain> [EMU] [ OUTW:01 ] Not Yet Implemented
21:23:26 <glx> .,.../* 3003(9) */ PACK char string_3003[9]; /*!< "'Thopter" NULL terminated. */
21:23:26 <glx> .,.../* 300C(9) */ PACK char string_300C[9]; /*!< "orni.wsa" NULL terminated. */
21:23:45 <TrueBrain> it is called like that all over the plac eI noticed yes
21:25:56 <Xaroth> < TrueBrain> spend 20k already ... I did tell you guys I found where money is stored, right? :) << < TrueBrain> he just degrated our tool to 'trainermaker' :(
21:26:21 <TrueBrain> well, he gave me that idea :)
21:26:35 <TrueBrain> as final attack, the last building, all units GO GO GO
21:26:39 <TrueBrain> ignore all remaining defnces!
21:27:40 <Xaroth> well, edit construction time of devastators, infinite money
21:27:46 <Xaroth> sounds like a good team for a quick victory? :P
21:28:33 <TrueBrain> haha, before the first wave was destroyed, the second came knocking
21:29:08 <TrueBrain> took just 59 minutes
21:31:18 <TrueBrain> 32k credits ... lets see :)
21:32:01 <TrueBrain> again the same map :(
21:32:06 <Xaroth> windtrap refinery (no concrete required), starport, move harvester to idle mode, order out the ENTIRE starport, minus harvester/carryall
21:32:10 <Xaroth> see how fast that goes :P
21:32:18 <TrueBrain> why harvester to idle mode?
21:34:39 <TrueBrain> more is not possible :)
21:34:41 <Xaroth> bit of luck you can probably win the map in 15-30 minutes
21:36:00 <TrueBrain> well, you need a defence
21:36:04 <TrueBrain> and one hell of a good one
21:36:22 <Xaroth> build a separate base, get a MCV :)
21:36:26 <Xaroth> they ALWAYS go for the primary base
21:36:36 <TrueBrain> well, all connected conrete
21:36:53 <TrueBrain> but it is the same map, so I have a goo didea :)
21:37:04 <TrueBrain> do I want special vehicles .. euh .. yes .. so I have to wait with SP orders :)
21:37:25 <Xaroth> siege are just as good :)
21:37:33 <Xaroth> if it's devastators it's a different thing :P
21:37:53 <TrueBrain> well, I like sonics :)
21:38:03 <Xaroth> they are useful to attack multiple things at the same time :P
21:38:21 <Xaroth> sucky as defence tho :P
21:38:33 <TrueBrain> pff ..32k, but I refuse to pay 999 for carry-all
21:39:55 <TrueBrain> oh ... which castle do I have against me ... hmm ..
21:40:13 <Xaroth> Missiles and Saboteurs
21:40:22 <Xaroth> two missiles and a saboteur
21:40:29 <TrueBrain> one of the two in A8
21:41:49 <TrueBrain> k, 6 trikes .. that should explorer :)
21:42:18 <TrueBrain> I hate it when it does that :(
21:42:29 <TrueBrain> and of course I forgot to save :(
21:47:08 <glx> the loguest part is math :)
21:49:00 <glx> Xaroth: not big as they are strings
21:51:38 <glx> arg wrong size for a string, all the rest have an offset
21:54:51 <TrueBrain> harkonnen have the palace .. shit
21:54:52 <glx> luckily I do it block after block so only 10 addresses to fix
21:56:36 <Xaroth> TrueBrain: ofcourse they do :P
21:56:56 <TrueBrain> Xaroth: one of the two only has the palace
21:57:14 <TrueBrain> yeah, you are playing the level I guess :p
21:57:30 <Xaroth> 8th mission is against both or just one?
21:57:50 <Xaroth> last time I played A8 they both had a palace
21:57:58 <TrueBrain> H8 just had 1 palace against
21:58:05 <TrueBrain> as I still don't know what ordos have
21:58:08 <Xaroth> ah well, more fun for you in A9 :)
21:58:16 <Xaroth> you can't see them, only on the map
21:58:27 <TrueBrain> currently I have a big defense problem
21:58:30 <Xaroth> they blow up buildings if they hit em
21:58:47 <Xaroth> they always come from the same path anyhow
21:59:20 <TrueBrain> 5 hangs in a short time again
21:59:23 <TrueBrain> this isn't going well :p
21:59:38 <Xaroth> hangs as in, having to gather info, or as in, crash-hang
21:59:48 <TrueBrain> when I say hang I mean hang :)
22:07:01 <TrueBrain> stupid sonic tanks destroys my base :p
22:08:12 <Xaroth> keep em far away from your base :P
22:08:23 <Xaroth> and far away from eachother unless you are coordinating them :P
22:09:22 <TrueBrain> exact same base layout
22:09:57 <Xaroth> what's start.bin used for btw?
22:10:19 <TrueBrain> well .. it is dune2.exe :)
22:10:36 <Xaroth> aka, it's a required file :P
22:11:12 <Xaroth> tempted to make a teaser for the gaming community ('clan') i hang around
22:11:47 <Xaroth> possibly leech us a fair few testers once it comes out as well :)
22:14:19 <Xaroth> teaser2 was 2.84mb, we've now gone back to 2.32mb (but slowly rising)
22:14:55 <Xaroth> mind, the zip is bigger :o
22:15:45 <TrueBrain> ha, one freeman made it to the base, and is killing it from behind :)
22:15:59 <TrueBrain> but, no palace for Ordos
22:16:16 <Xaroth> else you'd be randomly missing structures :P
22:16:21 <TrueBrain> I believe that was always .. 1 palace against you in 8, 2 in 9
22:16:50 <TrueBrain> .... you are stubber, aren't you?
22:17:11 <Xaroth> I'm not stubborn, if you say there's one palace, there's just one :)
22:17:26 <TrueBrain> o20 -> suprise suprise, 1 palace
22:18:13 <TrueBrain> k, first attack wave .....
22:20:08 <DorpsGek> SVN: glx (r385) -Add: figured out a few variables
22:21:12 <TrueBrain> 2 repair bays is useful
22:22:19 <TrueBrain> 2 sonics are not faster than repairing
22:23:07 <TrueBrain> I have lik e twice the amount of units :)
22:23:51 <TrueBrain> whoho, in the middle of my base ...
22:29:52 <glx> ok I'll retry to pass A2 (last time it crashed)
22:29:57 <TrueBrain> 4 rockets launchers can't win from a rocket turrent
22:34:06 <TrueBrain> that took way longer ... Ordos down
22:35:54 <Xaroth> right, post on the clan forum made
22:40:29 <TrueBrain> NOOOOOOOoooooooooooo .. keyboards hangs aain :(
22:44:24 <TrueBrain> so pissed, I killed every bloody building and unit I could find :p
22:44:47 <planetmaker> nice to see some progress :-)
22:45:02 <planetmaker> how difficult is it to introduce a auto-savegame?
22:45:57 <Xaroth> now or when conversion is done?
22:47:26 <glx> nice with the storage limit I have as much time as I want to eradicate ordos :)
22:48:24 <TrueBrain> no idea where the save routine is atm :)
22:48:34 <Xaroth> I think TrueBrain just summed it up :P
22:48:36 <TrueBrain> and saving sometimes also crashes the whole :p
22:51:18 <TrueBrain> and the 'enemy' too ... sure sure
22:55:00 <planetmaker> grr... hang in O3
22:55:12 <planetmaker> or rather the build menu
22:57:32 <TrueBrain> I want to finish O8 first :p
22:57:34 <TrueBrain> night planetmaker :)
22:57:56 <planetmaker> hehe... quite adicting. cost me already one night, too ;-)
22:58:07 <planetmaker> but not the next one, so see you around :-)
22:58:09 <Xaroth> and many more to come! :P
22:58:20 <TrueBrain> it is more that I want you to continue to play around :)
22:58:51 <planetmaker> no worries, I will
22:59:09 <planetmaker> for me it's one of the very very few good rt strategy games ever
23:02:56 <glx> finished A2, but I failed to eradicate ordos (though I killed 27 of its units, including a harvester)
23:03:34 <glx> and my mentat said we are fair play ;)
23:08:50 <TrueBrain> O8 has poor concrete to make good defense :(
23:10:15 <TrueBrain> I hate it that I also don't see if a unit is deviated :(
23:10:18 <glx> oh options.cfg is updated everytime menu is closed
23:14:19 <TrueBrain> they killed my sabateur :(
23:27:37 <TrueBrain> k, can't win this war tonight ..
23:27:44 <TrueBrain> O8 is really the most tricky one
23:27:55 <TrueBrain> mostly because I hate deviators
23:27:57 <TrueBrain> they are useless to me
23:29:17 <TrueBrain> well, good night :)
23:30:35 <TrueBrain> btw, glx, your last commit moved the comment of 2AF8 etc one char
23:30:54 <TrueBrain> oh, all your additions are off by one whitespace :p
23:31:08 <TrueBrain> glx: please put /* at char 65 ;)
23:31:14 <TrueBrain> keeps things easy :p
23:31:20 <TrueBrain> (yes, I am a nitpick, I know :)
23:31:24 <TrueBrain> oh well .. now really: good night :)
continue to next day ⏵