Commit Graph

121 Commits

Author SHA1 Message Date
Max Horn
07f7761479 Backend modularization: Create timer manager, savefile manager and audio mixer in the backends for increased flexibility
svn-id: r24443
2006-10-22 15:42:29 +00:00
Max Horn
f95f5ed133 Added OSystem::getTimerManager and OSystem::getMixer methods (wip)
svn-id: r24405
2006-10-21 12:03:43 +00:00
Torbjörn Andersson
d7b786ea41 Implemented "iconify window" opcode. This, of course, needs support in the
backend to work, and so far it's only done in the SDL backend. See the new
kFeatureIconifyWindow flag. (This is patch #1568775.)

svn-id: r24060
2006-10-02 04:46:50 +00:00
Max Horn
ca7880df6c Added new method OSystem::getScreenChangeID(), which can be used by code to track screen changes even without getting all EVENT_SCREEN_CHANGED events
svn-id: r23661
2006-08-04 13:10:28 +00:00
Max Horn
eaff9344a4 Added OSystem::setFocusRectangle (first part of Nintendo DS patch)
svn-id: r23449
2006-07-09 09:40:44 +00:00
Joost Peters
240acc427a make grabRawScreen() pure virtual, since it's now _required_ to be implemented by backends for certain SCUMM games to function properly.
This happened when ScummEngine::moveScreen() was changed in revision 23215 and causes Indy4 to fail the assert(_system->grabRawScreen(...)) on PSP (and Symbian?), where this function was not implemented.

svn-id: r23383
2006-07-07 09:00:18 +00:00
Eugene Sandulenko
14ec3f45fa - Heavily modified patch #1214784: "Disable overlay scaling"
- Eriktorbjorn's patch from same tracker item for scaling sword1/2 cutscenes
  is applied as is. It lacks resolution switch on-the-fly.
- GUI widgets are repositioned on the fly and use most space, even aspect
  ratio corrected screen is used without scaling
- Heavy tesing is required, but works for me in all cases except for bug
  #1483272: "GUI: SCUMM pause dialog breaks upon scaler switch" which needs more
  work.
- I probavly broke some backend or two

svn-id: r22505
2006-05-17 23:52:45 +00:00
Max Horn
ae50315fa0 Added a default implementation of the OSystem CD API (which simply does nothing)
svn-id: r22370
2006-05-06 18:10:38 +00:00
Max Horn
bbac9e43ee Actually, 3-4 alpha bits are fine, too :)
svn-id: r21965
2006-04-17 09:45:18 +00:00
Max Horn
4683b427ee Clarify that kFeatureOverlaySupportsAlpha should only be set if at least a few bits of alpha are present
svn-id: r21963
2006-04-17 09:31:13 +00:00
Max Horn
eb60d6abfe Document how the alpha color component is to be interpreted
svn-id: r21962
2006-04-17 09:23:51 +00:00
Max Horn
9217472f0e With this change, backends are now responsible for instantiating their OSystem class before calling scummvm_main (Note: PalmOS and Symbian are not yet converted, and won't work currently)
svn-id: r21557
2006-04-02 14:16:31 +00:00
Max Horn
188cdf937d Clarified that OSystem::setWindowCaption currently only supports ASCII captions
svn-id: r20780
2006-02-20 13:09:39 +00:00
Max Horn
36934b611d Change CVS keywords to SVN keywords
svn-id: r20510
2006-02-11 09:53:53 +00:00
Eugene Sandulenko
ea42bad781 Update copyright notice
svn-id: r20088
2006-01-18 17:39:49 +00:00
Max Horn
eef4e5caec Augmented OSystem docs
svn-id: r19522
2005-11-08 22:28:31 +00:00
Eugene Sandulenko
b36677af71 Update FSF address. Eek. Actually that took place on May 1, 2005
svn-id: r19142
2005-10-18 01:30:26 +00:00
Eugene Sandulenko
6b4484472b Remove trailing whitespaces.
svn-id: r18604
2005-07-30 21:11:48 +00:00
Max Horn
1a615346ab Moved class SoundMixer to Audio::Mixer (didn't call the namespace 'Sound' because we already have many classes with that name)
svn-id: r18039
2005-05-10 23:48:48 +00:00
Max Horn
72f4c03b0b Moved (In/Out)SaveFile(Manager) and Timer to namespace Common
svn-id: r18038
2005-05-10 23:17:38 +00:00
Paweł Kołodziejski
e774f60ec6 fixed warnings
svn-id: r18004
2005-05-09 17:24:25 +00:00
Max Horn
34f569108c Fix doxygen comment
svn-id: r17999
2005-05-09 12:22:57 +00:00
Max Horn
013e30eb38 Added two new methods to OSystem: grabPalette and grabRawScreen
svn-id: r17974
2005-05-08 21:39:05 +00:00
Max Horn
0dffba3c43 oops
svn-id: r17971
2005-05-08 17:44:54 +00:00
Max Horn
74f15bea74 Fix doxygen warning
svn-id: r17970
2005-05-08 17:13:08 +00:00
Max Horn
25d56525c8 Replace OSystem::hasAlpha with a feature flag
svn-id: r17695
2005-04-19 20:35:48 +00:00
Max Horn
2cfb9322e2 Added new (optional) OSystem::initBackend() method; this (and its usage) fixes bugs #1160977 and #1184664
svn-id: r17694
2005-04-19 20:22:50 +00:00
Max Horn
359c39722b Added some comments on how the graphics in OSystem are meant to work, based partially on a nice mail by Marcus, and adding in some information of my own. Certainly could be improved in style, language, content and everything, but once again it should be better than nothing...
svn-id: r17359
2005-04-03 21:38:39 +00:00
Max Horn
eb6301e562 Added some overlay method comments. They could be better and explain more, but it's at least a start
svn-id: r17358
2005-04-03 21:07:49 +00:00
Marcus Comstedt
ac54a40ea2 Added possibility to have an overlay with an alpha channel.
svn-id: r17353
2005-04-03 19:40:54 +00:00
Max Horn
4daf4c47b8 Fix method names to comply to our coding standards
svn-id: r17134
2005-03-14 08:24:39 +00:00
Max Horn
4b5b9bc984 mouse cursor palette better fits into the 'mouse' category than in the 'graphics' category (IMO)
svn-id: r17102
2005-03-12 16:33:03 +00:00
Eugene Sandulenko
7bb53f3bf1 Patch #1013937 "OSystem layer with bigger resolution". Now you will always
get at least 640x400 window. And finally we have means of implementing
nice looking GUI.

Also updated all backends. If your backend has ability to run with 640x400 or
640x480 resolution then read patch tracker item to find out details. Other
port maintainers shouldn't worry, as this patch doesn't affect them, they
still get their 320x200.

svn-id: r17055
2005-03-09 23:07:32 +00:00
Eugene Sandulenko
f420dd3b78 Implement OSystem method disableCursorPalette(bool disable) as mentioned
in patch #1013937 (OSystem layer with bigger resolution).

svn-id: r16820
2005-02-20 02:04:45 +00:00
Eugene Sandulenko
78ee0bfdaf Mouse part of big patch #1013937 (OSystem layer with bigger resolution)
svn-id: r16800
2005-02-17 23:01:00 +00:00
Torbjörn Andersson
4dda4eb31b On Fingolfin's suggestion I put back the inclusion of util.h into Rect, for
MIN() and MAX(). I then removed util.h from a bunch of files which I don't
think need it any more. (Please let me know if I got too blood-thirsty!)

This reverts some of the changes I made this morning.

svn-id: r16541
2005-01-11 13:25:02 +00:00
Torbjörn Andersson
13e2c224c8 This is probably not the optimal fix, but at least ScummVM compiles again.
svn-id: r16538
2005-01-11 08:06:19 +00:00
Max Horn
6f6668ce21 Reduce dependencies on common/savefile.h from 88 to 14
svn-id: r16528
2005-01-10 22:18:39 +00:00
Max Horn
e794581308 Moved mutex stuff into a seperate header
svn-id: r16526
2005-01-10 22:04:04 +00:00
Max Horn
788c828026 yet another attempt to get makeInstance working for gcc 3.3, gcc 3.2, and MSVC (thanks to wjp for the suggestion). Works fine with GCC 3.2 and 3.3
svn-id: r16525
2005-01-10 21:06:49 +00:00
Max Horn
bc44b5ec15 Added new interface SeekableReadStream
svn-id: r16493
2005-01-09 01:41:43 +00:00
Andrew Kurushin
3b61b06aee - remove "extern" before OSystem::makeInstance
svn-id: r16457
2005-01-06 19:34:07 +00:00
Max Horn
5d88c39549 Modify the singleton code once more to help overcome an issue with MSVC 7 (see also patch #1095133)
svn-id: r16454
2005-01-06 18:38:34 +00:00
Max Horn
74bf578bda Changed the singleton code to allow for custom object factories; this allowed me to change OSystem to use the singleton base class, too
svn-id: r16404
2005-01-01 19:19:06 +00:00
Max Horn
f52be9df68 Changed OSystem::instance() to return a reference, not a pointer (it now matches the Singleton interface)
svn-id: r16402
2005-01-01 18:53:47 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
f09293b22c Clean up OSystem::Event
svn-id: r15990
2004-12-05 17:42:20 +00:00
Max Horn
ba74a8e7f6 Added some more mixer doxygen docs; cleaned up Mixer API a bit, removing some very specialised methods
svn-id: r15914
2004-11-27 15:58:18 +00:00
Max Horn
8ac347fd95 Added OSystem::beginGFXTransaction / endGFXTransaction (not yet implemented, though :-)
svn-id: r15864
2004-11-22 23:25:08 +00:00
James Brown
2ae3166f2d Add new clearScreen OSystem call. Currently only implemented in SDL backend. This call is currently only used for clearing the launcher screen to remove garbage from the main screen before reentering.
svn-id: r15799
2004-11-13 04:33:33 +00:00