#exult@irc.freenode.net logs for 10 Oct 2002 (GMT)

Archive Today Yesterday Tomorrow
Exult homepage


[00:47:21] --> QQtis has joined #exult
[00:47:23] <-- QQtis has left #exult ()
[01:49:08] --> Kirben has joined #exult
[01:49:08] --- ChanServ gives channel operator status to Kirben
[07:36:35] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[07:40:55] --> Kirben has joined #exult
[07:40:56] --- ChanServ gives channel operator status to Kirben
[12:05:46] --> Colourless has joined #Exult
[12:05:46] --- ChanServ gives channel operator status to Colourless
[12:06:10] <Colourless> hi
[12:07:09] <Colourless> Kirben: you still have gcc 3.2 and are having issues with thet RECTX/Rectangle stuff
[12:07:11] <Colourless> ?
[12:09:04] <Kirben> The problem should still be there, let me recheck just in case...
[12:11:10] <Colourless> in theory we should be able to get around the problem
[12:11:23] <Colourless> it will require some minor modifications
[12:12:10] <Colourless> what you need to do is add -#define NOGDI
[12:12:15] <Colourless> opps
[12:12:18] <Colourless> lets try that again
[12:13:17] <Colourless> you need -DNOGDI to the makefile as part of the cxxflags
[12:14:32] <Colourless> then remove the #define Rectangle RECTX from rect.h and schedule.h
[12:14:47] <Colourless> s/need/neet to add/
[12:18:20] <Kirben> Problem still occurs, will try that now...
[12:18:34] <Colourless> actually that might not work properly....
[12:18:44] <Colourless> might get errors elsewhere
[12:18:57] <Colourless> gcc's windows headers don't seem to use the NOGDI define
[12:19:05] <Colourless> so instead, try adding -D_WINGDI_H
[12:20:31] <Kirben> Yes still failed, with try that now...
[12:21:26] <Kirben> Still fails:
[12:21:27] <Kirben> ++ -O2 -Wno-long-long -mms-bitfields -DNEED_SNPRINTF_ONLY -DHAVE_EXT_HASH_MAP -D_WINGDI_H-DHAVE_EXT_HASH_SET -DHAVE_SSTREAM -DUSE_FMOPL_MIDI -finline-limit-1000 -DVERSION=\"1.1.0cvs\" -DEXULT_DATADIR=\"data\" -DSIZEOF_SHORT=2 -DSIZEOF_INT=4 -I./imagewin -I./shapes -I./files -I./files/zip -I./gumps -I./objs -I./tools -I. -I./audio -I./conf -I./pathfinder -I./headers -I./usecode -I./usecode/ucxt/include -I./usecode/compiler -I./data -I./server
[12:21:27] <Kirben> <command line>:1:10: warning: ISO C requires whitespace after the macro name
[12:21:27] <Kirben> In file included from c:/mingw/include/windows.h:56,
[12:21:27] <-- Kirben has left IRC (Excess Flood)
[12:21:33] --> Kirben has joined #exult
[12:21:40] <Kirben> did you get that ?
[12:22:23] <Kirben> oops missed a space
[12:23:14] <Kirben> same error as above again ^
[12:35:51] <Colourless> you need to add a space in here: -D_WINGDI_H-DHAVE_EXT_HASH_SET
[12:36:31] <Kirben> Yes I added the space but still get that error ^
[12:42:25] <Colourless> can you past what is on line 56 of c:/mingw/include/windows.h
[12:43:03] <Colourless> actually i don't think i got the entire error meessage
[12:43:12] <Colourless> [21:52] <Kirben> In file included from c:/mingw/include/windows.h:56,
[12:43:13] <Colourless> [21:52] *** Kirben (Kirben@c17722.brasd1.vic.optusnet.com.au) Quit (Excess Flood)
[12:43:39] <Kirben> complete error was:
[12:43:40] <Kirben> <Kirben> <command line>:1:10: warning: ISO C requires whitespace after the macro name
[12:43:41] <Kirben> <Kirben> In file included from c:/mingw/include/windows.h:56,
[12:43:41] <Kirben> <Kirben> from c:/mingw/include/c++/3.2/mingw32/bits/gthr-default.h:462,
[12:43:41] <Kirben> <Kirben> from c:/mingw/include/c++/3.2/mingw32/bits/gthr.h:98,
[12:43:41] <Kirben> <Kirben> from c:/mingw/include/c++/3.2/mingw32/bits/c++io.h:37,
[12:43:42] <Kirben> <Kirben> from c:/mingw/include/c++/3.2/bits/fpos.h:44,
[12:43:44] <Kirben> <Kirben> from c:/mingw/include/c++/3.2/bits/char_traits.h:46,
[12:43:46] <Kirben> <Kirben> from c:/mingw/include/c++/3.2/string:47,
[12:43:48] <Kirben> <Kirben> from imagewin/imagewin.h:32,
[12:43:50] <Kirben> <Kirben> from imagewin/iwin8.h:29,
[12:43:52] <Kirben> <Kirben> from mouse.h:26,
[12:43:54] <Kirben> <Kirben> from mouse.cc:27:
[12:43:56] <Kirben> <Kirben> c:/mingw/include/winuser.h:2292: 'LOGFONTA' is used as a type, but is not
[12:43:58] <Kirben> <Kirben> defined as a type.
[12:44:23] <Colourless> ah, i see
[12:44:27] <Kirben> line 55 - 58 of windows.h are:
[12:44:30] <Kirben> #ifndef _WINUSER_H#include <winuser.h>#endif
[12:44:49] <Kirben> #ifndef _WINUSER_H
[12:44:50] <Kirben> #include <winuser.h>
[12:44:50] <Kirben> #endif
[12:45:23] <Colourless> ok...
[12:45:41] <Colourless> remove the -D_WINGDI_H
[12:45:51] <Colourless> what is your exact error that you get with that?
[12:46:56] <Kirben> mouse.h:40: 'Rectangle' is used as a type, but is not defined as a type.
[12:46:56] <Kirben> mouse.h:41: 'Rectangle' is used as a type, but is not defined as a type.
[12:46:56] <Kirben> mouse.h: In member function `void Mouse::hide()':
[12:46:56] <Kirben> mouse.h:94: `box' undeclared (first use this function)
[12:46:56] <Kirben> mouse.h:94: (Each undeclared identifier is reported only once for each function
[12:46:57] <Kirben> it appears in.)
[12:46:59] <Kirben> mouse.h:95: `dirty' undeclared (first use this function)
[12:47:01] <Kirben> In file included from mouse.cc:28:
[12:47:03] <Kirben> gamewin.h: At global scope:
[12:47:05] <Kirben> gamewin.h:119: 'Rectangle' is used as a type, but is not defined as a type.
[12:47:07] <Kirben> gamewin.h:120: 'Rectangle' is used as a type, but is not defined as a type.
[12:47:11] <Colourless> ok, ok
[12:47:38] <Colourless> you need to add the
[12:47:40] <Colourless> #ifdef WIN32
[12:47:46] <Colourless> #define Rectangle RECTX
[12:47:47] <Colourless> #endif
[12:47:56] <Colourless> back into rect.h and schedule.h
[12:48:16] <Kirben> ok
[12:48:32] <Colourless> what I also want you to do is #include <windows.h> before the #define Rectangle RECTX line
[12:48:50] <Kirben> ok
[12:49:43] <Kirben> that works
[12:50:04] <Colourless> the error makes sense to me now :-)
[12:50:27] <Colourless> the problem is a conflict between windows and exult
[12:51:07] <Kirben> a name conflict again ?
[12:51:11] <Colourless> yep
[12:51:29] <Colourless> as you probably know there is a windows function called Rectangle
[12:51:48] <Colourless> Exult has a class called rectangle
[12:51:53] <Colourless> Rectangle i mean
[12:52:15] <Kirben> So would it be best to change that class name used by exult than ?
[12:52:35] <Colourless> sure, that would probably be the best solution :-)
[12:53:20] <Colourless> when we were attempting to use the Rectangle class the compiler was thinking that we were attemping to use the function.
[12:53:34] <Colourless> the #define Rectangle RECTX stuff was meant to get around the problem
[12:54:36] <Colourless> however, that only works properly IF the Rectangle function has been declared before the Rectangle class.
[12:58:18] <Colourless> now that it compiles for you that good for the meantime, but I really should fix the problem once and for all
[12:59:09] <Colourless> in pentagram we already renamed the class
[13:00:06] --- Colourless is now known as Cless|Away
[13:01:06] <Kirben> Should pentagram-old compile at the moment ?
[13:02:19] <Cless|Away> you should check the logs for #pentagram for a cupple changes that you might need to make (but haven't been committed)
[13:02:31] <Cless|Away> http://www.math.leidenuniv.nl/~wpalenst/pentagramlog.php
[13:02:40] <Cless|Away> anyway, i'll be back in about an hour
[13:02:48] <Kirben> ok didn't know we had a #pentagram channel
[13:11:28] <Kirben> hmm compile problem no longer occurs, must have been another compile bug in gcc 3.1 i guess.
[13:15:50] <Kirben> lets see if I get a bsod too...
[13:17:52] <Kirben> no works fine here
[13:22:20] <Kirben> weird, just got a pentagram-old commit from 2001
[13:57:48] <Cless|Away> the bsod problem that dominus had was obviously a driver bug with his the sound card he's got
[13:58:18] --- Cless|Away is now known as Colourless
[13:59:03] <Kirben> Must be real bad drivers to blue screen with just midi playback...
[13:59:31] <Colourless> well, it's not like i haven't known SB Live drivers to do things like that :-)
[14:04:14] <Kirben> Still too early to enable opengl ?
[14:05:33] <Kirben> in pentagram-old I mean
[14:05:48] <Colourless> you could. it should be ok to
[14:05:56] <Colourless> can't promise anything about it though
[14:06:07] <Colourless> it can be 'really' slow at times :-)
[14:06:18] <Colourless> can also chew up a lot of memoth
[14:06:20] <Colourless> memory
[14:08:46] <-- Colourless has left IRC (Read error: 104 (Connection reset by peer))
[14:08:48] --> Cless has joined #Exult
[14:09:12] --- Cless is now known as Colourless
[14:09:24] --- ChanServ gives channel operator status to Colourless
[14:10:09] <Kirben> So opengl in pentagram snapshots is ok now ?
[14:12:13] <Colourless> yeah i don't see why not
[14:21:14] <Kirben> Had a chance to look at execbox for exult_studio ?
[14:21:41] <Colourless> no haven't looked at it, but it really sounds like it has little chance of working
[14:25:06] <Colourless> in one way or another it should be possible to do something to get it to work using a fair amount of native win32 code
[14:25:35] <Colourless> as I understand it, all it does is redirect the text output from the compiler to a window in Exult studio
[14:34:35] <Kirben> Could it be made unix only in meantime ?
[15:01:27] <-- Kirben has left IRC (Read error: 104 (Connection reset by peer))
[16:09:12] --> wjp has joined #exult
[16:09:12] --- ChanServ gives channel operator status to wjp
[16:09:14] <wjp> hi
[16:09:25] <Colourless> hi
[16:09:54] * wjp wonders where our resident bunny went
[16:11:53] <Colourless> no idea where he is
[16:59:56] --> SB-X has joined #exult
[17:00:06] <SB-X> hi
[17:00:19] <Colourless> hi
[17:00:44] <SB-X> hi Colourless!
[17:02:26] <SB-X> i never knew there was a #pentagram channel
[17:02:45] <wjp> you didn't miss anything :-)
[17:04:30] <SB-X> does anyone here know how to make a target in a Makefile the DEFAULT GOAL if its not the first target?
[17:05:26] <wjp> add a phony target to the start?
[17:05:38] <wjp> (and point that one to the 'real' target)
[17:05:51] <Colourless> :-)
[17:05:52] <SB-X> oh nevermind i can just move it up in the file
[17:06:02] <SB-X> it is already phony :-)
[17:08:42] <Colourless> ah well, i think i should go. I've got to get up 'early' tomorrow cause I'm taking a short trip (coming back on sun 20th) to Sydney
[17:09:07] <wjp> enjoy :-)
[17:09:32] <Colourless> i would, if it were not for the fact this isn't a holiday :-)
[17:09:44] <wjp> hm, what are you going to do, then?
[17:10:29] <Colourless> simply, going over to help my dad (and his brothers) clean out my grandmother's (rip) place
[17:11:13] <wjp> ah, I see. Sorry to hear that
[17:11:57] <Colourless> ah well, that's just how things are
[17:12:03] <-- Colourless has left IRC ("cya in a week or so")
[17:40:49] --> Fingolfin has joined #exult
[17:41:07] <Fingolfin> yo
[17:41:17] --- ChanServ gives channel operator status to Fingolfin
[17:41:20] <wjp> hi
[17:42:29] <SB-X> hi
[17:50:29] * Fingolfin is still not able to link exult, possibly a compiler bug, hrm
[17:59:44] <wjp> that would be bad :/
[17:59:48] <wjp> what error is it reporting?
[18:07:57] <Fingolfin> something regarding string::assigne being defined both in libstdc++ and in one of our object files
[18:51:13] --> Dark-Star has joined #exult
[18:51:35] <Dark-Star> hi
[18:51:38] <SB-X> hi
[18:53:35] <wjp> Fingolfin: which object file?
[18:53:39] <wjp> hi
[19:03:54] <Fingolfin> ld: multiple definitions of symbol std::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned long)
[19:03:54] <Fingolfin> gumps/.libs/libgumps.a(AudioOptions_gump.o) definition of std::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned long) in section (__TEXT,__text)
[19:04:04] <Fingolfin> /usr/lib/gcc/darwin/3.1/libstdc++.a(string-inst.o) private external definition of std::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign(char const*, unsigned long) in section (__TEXT,__text)
[19:07:40] <wjp> very strange
[19:08:51] <Fingolfin> yup
[19:17:10] <wjp> does assign indeed show up in an objdump of AudioOptions_gump.o?
[19:19:27] <Fingolfin> % nm AudioOptions_gump.o | grep assign
[19:19:28] <Fingolfin> 00002e10 S _ZNSs6assignEPKcm.eh
[19:19:28] <Fingolfin> 00000654 T __ZNSs6assignEPKcm
[19:19:28] <Fingolfin> U __ZNSs6assignERKSs
[19:20:48] <wjp> I don't get those
[19:20:49] <Fingolfin> __ZNSs6assignEPKcm is the method in question according to c++filt
[19:21:15] <Fingolfin> hmm
[19:21:29] <Fingolfin> and T actually means a symbol that is defined in the text segement - what the?!?
[19:23:11] * wjp lols at c++filt manpage: "MS-DOS does not allow "+" characters in file names, so on MS-DOS this program is named c++filt"
[19:24:17] <SB-X> ...
[19:27:12] <wjp> does the assign symbol show up in any other .o files?
[19:34:25] * SB-X doesn't even have a c++filt manpage. :-(
[20:12:18] <Fingolfin> wjp: hmmm :-)
[20:12:24] <Fingolfin> wjp: lemme check
[20:13:01] <Fingolfin> wjp: yes it does - but always as "U" not as "T"
[20:36:44] <Fingolfin> yippie! I managed to link exult :-)
[20:36:52] <SB-X> !
[20:37:19] <Fingolfin> clicking on "setup" crashes, though :-(
[20:38:32] <Fingolfin> crash in operator new... hmmmm
[20:41:20] <Fingolfin> tsk tsk, not a good idea to call new[-6] it seems
[20:41:37] <Fingolfin> Shape_frame::get_rle_shape is being called with len=0 it seems
[20:43:49] <wjp> what did you do to get it to link?
[20:44:19] * wjp curses RH's teTeX package, in the meantime
[20:44:44] <Fingolfin> I found that the assign() was used to assign some char contants; I explicitly cast those to std::string first, this works around the bug it seems
[20:45:12] <wjp> they quite deliberately use old versions of texk and xdvi (because they haven't updated their japanese language support patches to the newer versions yet), causing all kinds of nice new features to be missing
[20:46:18] <wjp> (like inserting source specials in a dvi which would allow double clicking on a spot in a dvi to go to the corresponding tex source line in your editor)
[20:46:46] <wjp> weird... (re. assign)
[20:46:56] <wjp> but we established the weirdness already, I guess :-)
[20:47:19] <Fingolfin> he
[20:47:25] <Fingolfin> well for now I am wondering about that crash
[20:47:33] <wjp> do you have a backtrace?
[20:47:43] <Fingolfin> i.e. is my data somehow damaged, or are Linux/Windows simply ignoreing new[-6] calls? hm
[20:48:03] <Fingolfin> excerpt from my BT:
[20:48:04] <Fingolfin> #6 0x0008ee68 in operator new[](unsigned long) ()
[20:48:04] <Fingolfin> #7 0x000958b8 in Shape_frame::get_rle_shape(DataSource*, long, long) ()
[20:48:04] <Fingolfin> #8 0x00095794 in Shape_frame::read(DataSource*, unsigned, unsigned, int) ()
[20:48:05] <Fingolfin> #9 0x0009690c in Shape::read(DataSource*, int, int, DataSource*, int, int) ()
[20:48:05] <Fingolfin> #10 0x00033a6c in ExultMenu::setup() ()
[20:48:06] <Fingolfin> #11 0x00035854 in ExultMenu::run() ()
[20:48:08] <Fingolfin> #12 0x00031048 in Init() ()
[20:48:10] <Fingolfin> #13 0x0002f3d4 in exult_main(char const*) ()
[20:48:12] <Fingolfin> #14 0x0002e0e4 in SDL_main ()
[20:48:17] <Fingolfin> I verified that len = 0, which leads to new[-6]
[20:48:23] * wjp points at the "unsigned" behind new
[20:48:32] <wjp> new[4billionsomething] :-)
[20:49:01] <Fingolfin> yup yup
[20:49:08] <Fingolfin> system doesn't like that much
[20:49:21] <wjp> I wonder why :-)
[20:49:36] <wjp> a crash there is somewhat harsh, though
[20:49:50] <wjp> it should just report out of memory
[20:50:18] <Fingolfin> possible
[20:50:19] <Fingolfin> *** malloc_zone_malloc[21613]: argument too large: -6
[20:50:33] <Fingolfin> still, that is *not* a good thing to do in Exult in the first place. But maybe it's my data files?
[20:50:35] <wjp> or maybe there are some signed/unsigned conflicts in new[] :-)
[20:50:43] <Fingolfin> can you add some printf foo in your code and see ifthe same occurs for you?
[20:50:45] * wjp is just compiling the latest CVS
[20:50:48] <Fingolfin> thx
[20:51:45] <wjp> get_rle_shape, right?
[20:52:17] <wjp> how does len == 0 lead to new[-6]?
[20:52:27] <wjp> oh,
[20:52:29] <wjp> oops :-)
[20:53:04] <wjp> I guess len -=8; new[len + 2]; would have that effect :-)
[20:54:14] * wjp yawns while waiting for the compile to finish
[20:55:39] <wjp> ok, an assert(len > 0) there doesn't trigger
[20:56:05] <wjp> len > 6, even
[20:58:31] <wjp> is your exult.flx up to date?
[21:00:13] <Fingolfin> hm
[21:00:21] <Fingolfin> it should be autogenerated, no? lemme check
[21:00:50] <wjp> maybe your config file points to an outdated one?
[21:01:01] <wjp> although the crc checks should catch that I guess
[21:01:06] --> Darke has joined #exult
[21:01:06] --- ChanServ gives channel operator status to Darke
[21:01:22] <wjp> hi Darke
[21:01:49] * Darke pawwaves and just pokes his muzzle in to say 'hi' after recovering from a rather spectacular computer failure. *grin*
[21:02:16] <wjp> ugh, what happened?
[21:02:52] <Darke> I managed to cook three hard drives into a 'powering down' state, which, unsurprisingly, they didn't like. *grin*
[21:04:25] <wjp> 'cook'?
[21:04:27] <SB-X> Darke!
[21:04:33] <Darke> The net result is I've spent since sunday/monday trying to get my machine back into working order (acquiring new hdds, etc). I somehow managed to retrieve all the (unbackuped) data from my 60GB primary hdd, (which was refusing to actually POST properly for a few day), by some miracle. *grin*
[21:04:34] <SB-X> hi
[21:04:39] <Darke> wjp: Overheat. Lots. *grin*
[21:05:06] <wjp> maybe it finally cooled down after a couple of days? :-)
[21:05:33] <Darke> I have four hdds in a desktop/minitower case. One right above the other. The bottom one had some serious file system corruption, and about two hours of fsck running non-stop managed to cook it, and have it cook the next two up in the stack. *grin*
[21:05:37] <wjp> Fingolfin: md5sum of my exult.flx: 25a9a831fb091516abada3fd5bcecad5
[21:05:41] * Darke snickers. It wouldn't surprise him.
[21:08:10] * Darke is currently quickly flicking through the more important emails over the last four days before he has to rush off to work. He thought he might just drop in and dismiss any rumors that he's dead. *grin*
[21:08:34] <wjp> yes, we were just wondering where you had disappeared to earlier today :-)
[21:09:26] <Darke> I might duck in during the day too when at work, I need to look over the logs to see what I missed. *grin*
[21:09:44] <wjp> there has actually been pentagram cvs activity :-
[21:09:44] <wjp> )
[21:10:27] <wjp> oh, and Colourless is away until the 20th
[21:10:36] <wjp> that should about cover things :-)
[21:11:24] <Darke> I see lots has happened then. *grin*
[21:17:48] * Darke disappears off to work. He might get a chance to pop in and talk to himself for a bit later. *grin* Bye!
[21:17:54] <wjp> bye :-)
[21:17:59] --- Darke is now known as Darke|afk
[21:24:52] * Fingolfin rebuilt his .flx files still no go
[21:25:05] <wjp> same md5 as mine?
[21:25:10] <Fingolfin> yes
[21:25:16] <Fingolfin> [arrakis:~/exult] maxhorn% md5 data/exult.flx
[21:25:16] <Fingolfin> MD5 (data/exult.flx) = 25a9a831fb091516abada3fd5bcecad5
[21:25:28] <Fingolfin> *** malloc_zone_malloc[24370]: argument too large: -6
[21:25:29] <Fingolfin> Abort
[21:26:07] <Fingolfin> I ge tthe len=0 when I go to "Setup"
[21:26:11] <Fingolfin> hmm
[21:26:26] <Fingolfin> could it be that I have to say trash my old gamedat dir or something like that?
[21:26:54] <wjp> you don't have a line number in ExultMenu::setup(), right?
[21:26:54] * Fingolfin notes his exult.cfg refers to some dirs that are not there anymore
[21:27:44] <wjp> AFAICT, ::setup() only reads shapes from exult.flx
[21:28:32] <Fingolfin> gdb doesn't give me any line numbers for some reasons
[21:28:57] <Fingolfin> probably because we don't compile with -g
[21:29:37] <Fingolfin> maybe I should just add that to my flags and recompile everything
[21:29:50] <wjp> or just exultmenu.o
[21:39:07] <Fingolfin> #7 0x000959a0 in Shape_frame::get_rle_shape(DataSource*, long, long) ()
[21:39:07] <Fingolfin> #8 0x0009587c in Shape_frame::read(DataSource*, unsigned, unsigned, int) ()
[21:39:07] <Fingolfin> #9 0x000969f4 in Shape::read(DataSource*, int, int, DataSource*, int, int) ()
[21:39:07] <Fingolfin> #10 0x001197e8 in Shape::get(DataSource*, int, int, DataSource*, int, int) ()
[21:39:07] <Fingolfin> #11 0x00118f34 in Vga_file::get_shape(int, int) ()
[21:39:08] <Fingolfin> #12 0x00034068 in ExultMenu::setup() (this=0xbfffe220) at exultmenu.cc:77
[21:39:10] <Fingolfin> #13 0x00035b00 in ExultMenu::run() (this=0xbfffe220) at exultmenu.cc:345
[21:40:17] <wjp> that's the first call there
[21:40:25] <wjp> (first call to get_shape, I mean)
[21:40:59] <wjp> reading things from exult.flx does work properly in the main menu, right?
[21:41:27] <Fingolfin> main menu looks fine. crashes when I go on setup and "Black Gate". didn't try anything else yet
[21:41:43] * Fingolfin recompiles some more stuff for line numbers
[21:47:19] <Fingolfin> #6 0x0008f3f8 in operator new[](unsigned long) ()
[21:47:19] <Fingolfin> #7 0x000961d8 in Shape_frame::get_rle_shape(DataSource*, long, long) (this=0x1e9d420, shapes=0x1e10780, filepos=-2, len=-8) at vgafile.cc:415
[21:47:19] <Fingolfin> #8 0x00095fd0 in Shape_frame::read(DataSource*, unsigned, unsigned, int) (this=0x1e9d420, shapes=0x1e10780, shapeoff=4294967295, shapelen=4294967295, frnum=1) at vgafile.cc:384
[21:47:19] <Fingolfin> #9 0x00097a70 in Shape::read(DataSource*, int, int, DataSource*, int, int) (this=0x1e21f68, shapes1=0x1e10780, shapenum=23, framenum=1, shapes2=0x0, count1=37, count2=0) at vgafile.cc:886
[21:47:21] <Fingolfin> #10 0x0011ec70 in Shape::get(DataSource*, int, int, DataSource*, int, int) ()
[21:47:23] <Fingolfin> #11 0x0011e3bc in Vga_file::get_shape(int, int) ()
[21:47:25] <Fingolfin> #12 0x00034510 in ExultMenu::setup() (this=0xbfffe220) at exultmenu.cc:77
[21:47:49] <wjp> nice shapeoff/shapelen
[21:48:11] <wjp> are those 0x1e9d420 'normal' pointers for osx?
[21:48:42] <wjp> things tend to be a little higher up in the address space on my system
[21:49:46] <Fingolfin> 0xbfffe220 is a typical stack address; about the other, not fully sure, could be right, could be wrong, let me cross check
[21:51:24] <Fingolfin> SI menu I can enter! interesting
[21:52:03] <Fingolfin> for the BG menu, the "title" show up, i.e. "Ultima VII / The BLACK GATE / The Forge of Virtue", then it crashes
[21:52:15] <Fingolfin> #7 0x000961d8 in Shape_frame::get_rle_shape(DataSource*, long, long) (this=0x1e4a0a0, shapes=0x1e1dca0, filepos=-2, len=-8) at vgafile.cc:415
[21:52:15] <Fingolfin> #8 0x00095fd0 in Shape_frame::read(DataSource*, unsigned, unsigned, int) (this=0x1e4a0a0, shapes=0x1e1dca0, shapeoff=4294967295, shapelen=4294967295, frnum=1) at vgafile.cc:384
[21:52:16] <Fingolfin> #9 0x00097a70 in Shape::read(DataSource*, int, int, DataSource*, int, int) (this=0x1e37e94, shapes1=0x1e1dca0, shapenum=4, framenum=1, shapes2=0x0, count1=30, count2=0) at vgafile.cc:886
[21:52:16] <Fingolfin> #10 0x000381d4 in Game::show_menu(bool) ()
[21:53:02] <Fingolfin> the this values seem to be valid, BTW
[21:53:11] <Fingolfin> i.e they are in a possible location
[21:54:41] <wjp> pretty weird... BG and SI use the same function for the menu
[21:54:47] <wjp> (Game::show_menu())
[21:54:56] * Fingolfin notices that running Exult automaticall adds gamedat_path/savegame_path for BG in his exult.cfg, but not for SI ?!
[21:55:00] <Fingolfin> yup
[21:55:37] * Fingolfin removes most of his exult.cfg
[21:55:37] * wjp grins at email to the ML... tsk tsk... :-)
[21:55:48] <Fingolfin> doesn't help
[21:56:57] * Fingolfin scratches his head
[21:57:11] <Fingolfin> well as you noticed correctly, the Shape_frame::read() params look weird
[21:57:15] <Fingolfin> shapeof/shapelen
[21:57:33] <wjp> hm, the only get_shape function there is for menushapes
[21:58:15] <wjp> which is mainshp.flx
[22:01:12] <-- SB-X has left IRC ("X-Chat [1.6.4]")
[22:17:12] <wjp> Fingolfin: hm, do you maybe have a quotes.flg for BG, but not for SI?
[22:17:38] <Fingolfin> hm
[22:18:17] <Fingolfin> don't have any
[22:18:49] <wjp> really? that's weird. it should only get shape 4 from menushapes if you have quotes.flg
[22:20:26] <Fingolfin> [arrakis:Data/Projekte/ExultMac] maxhorn% ff "quot*"
[22:20:26] <Fingolfin> ./exult/data/quotes.txt
[22:20:26] <Fingolfin> [arrakis:Data/Projekte/ExultMac] maxhorn%
[22:20:51] <wjp> it should be in your savegame directory, btw
[22:21:01] <wjp> (which probably defaults to where you have bg/si installed)
[22:22:02] <wjp> if you installed bg/si behind data/projekte/exultmax forget I said anything :-)
[22:22:49] <Fingolfin> I did install it there, that's why I searched there
[22:23:00] <Fingolfin> i.e. this covers all of my exult/Ultima7 files
[22:24:07] <wjp> ack
[22:24:24] <wjp> forget I mentioned quotes.flg
[22:24:32] <wjp> shape 4 is just the first one in the list
[22:24:57] * wjp shouldn't read code and do geometry homework at the same time :-)
[22:26:22] <wjp> what's the md5 of your mainshp.flx files? (although I doubt that is the problem)
[22:26:47] <wjp> 457cbf7e7e5e70ec72cd5c5c37183f86 /data/u7/static/mainshp.flx
[22:26:47] <wjp> cbc05e77c1fc5a9ca3f15aba883666e6 /data/u7si/static/mainshp.flx
[22:27:20] <Fingolfin> maxhorn% md5 BG/STATIC/MAINSHP.FLX
[22:27:20] <Fingolfin> MD5 (BG/STATIC/MAINSHP.FLX) = 457cbf7e7e5e70ec72cd5c5c37183f86
[22:27:30] <Fingolfin> other one is right, too
[22:28:28] <wjp> weird idea: try swapping the mainshp.flx files
[22:29:00] <wjp> (and see if the same game still crashes, or if the crash moved with the mainshp.flx files)
[22:31:02] <Fingolfin> selecting BG now skips the BG menu and the BG game starts
[22:31:13] <Fingolfin> not quite true
[22:31:19] <Fingolfin> now I am in a wrong-colored SI menu <g>
[22:31:28] <Fingolfin> trying SI menu now
[22:31:33] <wjp> yeah, that's expected behaviour :-)
[22:31:55] * Fingolfin forgot about the entry coming before the menu as he had the disabled for the last half year or so <g>
[22:31:59] <Fingolfin> yeah no SI menu crashes
[22:32:11] <wjp> ok, so the crashes swapped too, right?
[22:32:25] <Fingolfin> yup
[22:32:33] <wjp> which would apparently mean something is wrong with the shape reader and/or datasource somewhere
[22:32:35] <Fingolfin> and Setup crashes, too
[22:32:38] <wjp> yay :-(
[22:32:42] <Fingolfin> endian issue maybe....
[22:32:56] <wjp> yes, although you'd expect those to be long gone by now
[22:33:07] <Fingolfin> wouldn't be the first time that I leave for a couple of month and somebody "optimizes" the reader code <g>
[22:33:43] <wjp> hm, the shapes/ dir hasn't been touched in ages
[22:34:54] <Fingolfin> I modified Shape::read to printout shapelen immediatly after it is set
[22:35:00] <Fingolfin> Audio subsystem request: Custom Music track
[22:35:00] <Fingolfin> shapelen (2) = 10938
[22:35:01] <Fingolfin> shapelen (2) = 3724
[22:35:01] <Fingolfin> shapelen (2) = 3724
[22:35:01] <Fingolfin> shapelen (2) = 4323
[22:35:01] <Fingolfin> shapelen (2) = 4323
[22:35:03] <Fingolfin> shapelen (2) = 897
[22:35:06] <Fingolfin> shapelen (2) = 897
[22:35:07] <Fingolfin> shapelen (2) = 2136
[22:35:09] <Fingolfin> shapelen (2) = 2136
[22:35:11] <Fingolfin> shapelen (2) = 2082
[22:35:13] <Fingolfin> shapelen (2) = 2082
[22:35:15] <Fingolfin> shapelen (2) = 709
[22:35:19] <Fingolfin> shapelen (2) = 709
[22:35:19] <Fingolfin> shapelen (2) = 10938
[22:35:22] <Fingolfin> shapelen (2) = 680
[22:35:23] <Fingolfin> shapelen (2) = 4294967295
[22:35:25] <Fingolfin> *** malloc_zone_malloc[13596]: argument too large: -6
[22:35:27] <Fingolfin> the (2) means it's the second place in there were shapelen is set
[22:35:30] <Fingolfin> I wonder if you get the same if you insert this into vgafile.cc:885
[22:35:31] <Fingolfin> std::cout << "shapelen (2) = " << shapelen << std::endl;
[22:35:38] <Fingolfin> that is when you select "Setup"
[22:36:16] <wjp> that's right after the if (shapes == 0) { ... } block, right?
[22:37:49] <wjp> exactly the same up to the 680
[22:38:01] <wjp> after that it continues with 'normal' values
[22:40:16] <wjp> hm, 4294967295 = 0xFFFFFFFF, btw
[22:42:00] <wjp> that does occur in the .shp file
[22:46:46] <wjp> at what -O level are you compiling?
[22:50:37] <wjp> hm, did you last try exult longer than 3 month 3 weeks ago?
[22:54:45] --> atrius has joined #exult
[22:55:31] <atrius> hi i have heard about exult what i have to dowload to run U vii over win 98
[22:55:34] <atrius> ?
[22:55:50] <wjp> *grin* :-)
[22:56:43] <wjp> My opinion on the issue is the same as Michael Druing's last email
[22:56:43] <atrius> what sorry i'm spanish and i don't understand that kind of strange expresions
[22:56:56] <atrius> what?
[22:57:04] <-- atrius has left #exult ()
[22:57:11] <wjp> lol
[22:57:15] <Dark-Star> hehe :)
[22:58:08] --> atrius has joined #exult
[22:58:22] <-- atrius has left IRC (Client Quit)
[22:58:37] --> atrius has joined #exult
[23:00:27] <-- atrius has left IRC (Client Quit)
[23:01:23] <wjp> Fingolfin: could you output shapeoff too there?
[23:02:03] <wjp> oh wait, that was already in the backtrace earlier
[23:07:03] <wjp> it's weird... it did read part of mainshp.flx correctly, since the number of shapes in it (count1) is correct
[23:09:56] <Fingolfin> wjp: possible that it was longer than 4 month - there were issues compilgine exult for quite some time
[23:10:24] <wjp> interestingly there is no 0xFFFFFFFF in mainshp.flx... so it must be pulling that one from thin air
[23:11:16] * Fingolfin just got Spider-Man the game, and gave it a brief try. not bad, but the steering I have to get used to, really...ugh
[23:11:27] <wjp> there's a game? :-)
[23:11:37] <wjp> (not really all too surprising, I guess)
[23:25:24] <Fingolfin> "Read the FAQ, Man" ? :-)
[23:25:30] <wjp> yes :-)
[23:25:37] * Fingolfin gotta memorize that one :-
[23:25:40] <Fingolfin> :-) even
[23:25:42] <wjp> yeah, me too :-)
[23:55:21] * wjp should be going
[23:56:15] <wjp> hm, btw, you might want to take a look at Colourless' commit on 13 June. It looks ok at first glance, but it modifies exactly the file reading and shape reading parts, so who know
[23:56:18] <wjp> g'night
[23:56:23] <-- wjp has left IRC ("Zzzz...")