freesci-develop
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [freesci-develop] Glutton OS X sound support & wrapper for FreeSCI,


From: Matt
Subject: Re: [freesci-develop] Glutton OS X sound support & wrapper for FreeSCI, was: Concerning C416: No sound on Mac OS X
Date: Sun, 28 Sep 2003 12:20:02 -0700

Just a month or two ago I got glutton running on OS X, sans sound (if I
remember correctly it wasn't too difficult). Not sure how it is now.
After my mail yesterday I stayed up for some more hours and compiled Glutton and ran some tests. Compiled fine but starting SQ4 resulted in the following error:
While processing relocation block 0007:099e:
Relocation failed for index 0000
- No locals
- obj#0 at 01c6 w/ 4 vars
- obj#1 at 0218 w/ 4 vars
- obj#2 at 03de w/ 6 vars
- obj#3 at 0568 w/ 6 vars
- obj#4 at 0604 w/ 6 vars
- obj#5 at 0684 w/ 6 vars
- obj#6 at 0818 w/ 15 vars
- obj#7 at 0922 w/ 11 vars
Triggering breakpoint...
Missed breakpoint in seg_manager.c, line 747
(full startup at the end of this mail).

I have feeling this might be more game/script related than platform related. Trying to start SQ5 showed even more error messages (but then again I doubt Glutton was supposed to support that one right now). I will try to compile and run on my linux box to see if the same error comes up.

 FreeSCI's SDL graphics driver is the slowest graphics driver we
have at the moment, and I'm not convinced that our implementation
is to be blamed (although I'd be more than happy to see an improvement
I think there is a decent speed for the graphics (i.e. I don't think we were complaining about speed or so but see my message more down) and I am sure that the additional SDL layer does not improve the speed. I thought SDL was using Quartz or was this planned for a future version? Quartz would be the top speed for OS X, Open GL is supported but its not as fast if I understood everything correct. Is there any other multi-platform graphics engine out there that has currently OS X support?

  So far, FreeSCI has managed to avoid any dependencies on non-system
libraries at least on the UNIX side (on the non-UNIX side, our general
infrastructure would make it possible not to depend on glue libraries
such as libSDL-- and there has been some work on getting this to work
for Win32, if I recall correctly-- but UNIXish systems are the only
ones that don't need SDL at the moment). As we already have all of the
relevant infrastructure in place, I don't see any point in dropping
support for non-SDL libraries.
If speed would be an issue and the freesci model does not match up completely with SDL then we could check on implementing a specific Quartz support engine into freesci (that would make it probably the fastest script reader/emulator in the OS X world) but I am not sure if that would not be overkill. What other graphics engine that freesci supports right now works really well with it next to SDL? Maybe we just need to port that one.

Glutton is nowhere as stable as the main branch, doesn't have savegames
etc., so a public release for non-glutton would be better.
Starting on a correct wrapper would be nice though as there would be immediate feedback and by the time Glutton is stable the wrapper would also be close to a final version.
I personally was thinking of creating a real
preferences file in ~/Library/Preferences, creating a good icon,
We already have one (a png file), but it's a little lower in resolution
than most OS X icons are.
We should stay with the same icon preferably, would look nicer. It would not be too hard to take the same one and just increase the resolution.
adding
open dialogs, and maybe adding a preference windows. Just recently it's
become easy to make SDL applications even more OS X like, so there may
be some more possibilities.
Note that recent work on a game selection screen indicates that we may
actually have a built-in mechanism for setting preferences soon, however:
 a) This hasn't been implemented yet
 b) It won't look like OS X
Still, as there's some considerable potential overlap here, you should
be aware of this-- it may be worth to co-ordinate efforts to build a
common configuration infrastructure which both approaches would merely
be frontends to.
ScummVM has this too, 'in script/emulator' preferences and game selection. I think this works great for most platforms and it would be the best to give Glutton the same feel for all platforms. Maybe we should just have a wizard setup for new games externally to Glutton? The wizard would move the game resources to a Glutton sub directory and ask for the initial settings. The rest of the settings or changes to the settings could then be run within Glutton with the general setup.

Also, would the performance for the adlibemu be better with (real)
sound cards instead if the basic Apple soundcards? The only card I
What kinds of performance issues are you having? Note that there are
two well-known problems in 0.3.x which may be related to this:
 (a) Sound timing is generally quite a bit off-- we don't play notes
in advance; as such, timing is off if the sound server process/thread
is not scheduled to be run at precisely the point in time it requests
to be run. (Yes, this is stupid, and it's why we got rid of the entire
 sound subsystem in its current form for glutton).
 (b) The SDL graphics driver (in its current implementation) is quite
slow, i.e. you might be blaming the wrong subsystem here.
You know this just makes want to run FreeSCI under linux to make sure. It sounds (really;) like (a) and (b), the screen builds up not all too fast in Space Quest 3 and the sound is just 'late'. Concerning speed, I am running a 1 Ghz Powerbook and ~700 Mhz PowerMac, so I expected faster (I remember the speed for this game very well, I played it for hours on my XT and 286, its currently running about the 286 speed). What would be a easy way to see where the performance issue is located? You mentioned the connection to SDL, any way to enable some debug screen output to check the speed with and without SDL on OS X?


==Glutton error output======
Unrecognized game id: 0x07a8f43f, Loading resources...
Patching "SCRIPT.000": OK
Patching "SCRIPT.119": OK
Patching "SCRIPT.120": OK
Patching "SCRIPT.405": OK
Patching "SCRIPT.410": OK
Patching "SCRIPT.514": OK
Patching "SCRIPT.541": OK
Patching "SCRIPT.700": OK
Patching "TEXT.000": OK
Patching "TEXT.405": OK
Patching "TEXT.410": OK
Patching "TEXT.541": OK
Patching "TEXT.700": OK
Patching "VIEW.992": OK
Patching "VIEW.993": OK
Patching "VIEW.994": OK
Resmgr: Detected SCI01
FreeSCI, version 0.6.0
While processing relocation block 0007:099e:
Relocation failed for index 0000
- No locals
- obj#0 at 01c6 w/ 4 vars
- obj#1 at 0218 w/ 4 vars
- obj#2 at 03de w/ 6 vars
- obj#3 at 0568 w/ 6 vars
- obj#4 at 0604 w/ 6 vars
- obj#5 at 0684 w/ 6 vars
- obj#6 at 0818 w/ 15 vars
- obj#7 at 0922 w/ 11 vars
Triggering breakpoint...
Missed breakpoint in seg_manager.c, line 747





reply via email to

[Prev in Thread] Current Thread [Next in Thread]