Commit Graph

14 Commits

Author SHA1 Message Date
stephena 0afb189322 Updated copyright to 2015. Happy New Year to anyone reading these logs :)
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3131 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2015-01-01 03:49:32 +00:00
stephena 3a04afcf96 Use BSPF-defined datatypes where appropriate.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3083 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-17 14:17:19 +00:00
stephena 92aa5c2e36 Just when I thought there were no more cleanups to do ...
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3059 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-09 03:05:19 +00:00
stephena 740eeed579 You know what's better than adding move semantics and initializer
lists to the Array class?  Completely deleting all that code and
using a std::vector directly :)


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@3054 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-11-07 23:28:40 +00:00
stephena f6dd1ba27b The ROM launcher now uses a separate FBSurface for snapshots, so that
any-sized PNG can be loaded and then scaled to the available space.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2979 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-08-28 14:21:44 +00:00
stephena 78f5a2acef Reworked the PNG save code a little, making it more abstract and not
having to know about TIA, Properties, etc.  Basically, it now saves
a snapshot of either the FrameBuffer or an FBSurface, and adds 
text comments passed into it.  The contents of the surface and comments
are no longer calculated (or known) by the PNG code.

This is in preparation for saving FBSurface from anywhere, which will
help in the debugger for taking snapshots.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2928 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-06-19 16:45:07 +00:00
stephena 38b586ae7b Fixed missing initialization of FBSurface attributes.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2892 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-14 22:29:53 +00:00
stephena d04c42580b TIA rendering and Blargg/scanline effects are now working again.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2891 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-14 22:04:59 +00:00
stephena c8b27ec114 Some pretty huge changes right across the board.
Changed pointers to references in c'tor calls, making things a little safer.

Removed FBSurfaceTIA, since it was tied too closely to SDL itself.  Added a
class called TIASurface that is functionally very similar, but is more generic
and accessible by the FrameBuffer directly.  Eventually, this class will take
responsibility for all things related to rendering the TIA image (Blargg TV
effects, phosphor mode, etc).

TIA rendering is currently borked; fixes will follow ...


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2889 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-12 23:34:25 +00:00
stephena d57184a4fc Fixed loading of PNG images in the ROMInfoWidget.
Added fallback to FBSurface::drawSurface() in case certain ports don't
want to implement it natively.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2888 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-09 17:44:04 +00:00
stephena b418d5a4f5 Changed FBSurface API to access/modify source and destination rendering
rectangles.  Now that the underlying rendering is hardware accelerated,
this API more closely matches what is actually occurring.  As well, it
makes things easier comprehend: 'src' rect is the actual surface data,
and 'dst' rect is its final output onscreen (scaling, etc being applied).


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2883 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-04 16:59:11 +00:00
stephena bf283001ee Some API comment fixes, and renamed FBSurface::update() to render(),
to more clearly indicate its intent.  It looks like
FBSurface::drawSurface() is essentially the same thing, and will
probably be removed.

Fixed header issue in OSX code, that wasn't detected until moving
to Xcode 5.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2881 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-02 15:58:57 +00:00
stephena 3914b15e9b Yet more upheaval of the FrameBuffer/surface code. Moved most of the
functionality of FBSurfaceUI into FBSurface directly, since there was
absolutely no need of the SDL-specific code to know about underlying
FrameBuffer-specific stuff.  This makes a clear separation between
SDL and the core code, making porting easier in the future.  As a
result, renamed FBSurfaceUI as FBSurfaceSDL2.

Eventually, FBSurfaceTIA will disappear completely, being integrated
into FBSurface and FBSurfaceSDL2.  Again, the logic for drawing the
TIA and using Blargg, etc has absolutely no place in SDL-specific
areas of the code.

When this conversion is complete, I see FrameBufferSDL2 and FBSurfaceSDL2
as being thin wrappers around SDL-specific functions that simply push
pixel data to the video system.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2880 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-05-02 13:17:24 +00:00
stephena e7719c334e And now that the FrameBuffer class is partially working, time to break
things again :)  Work continues on refactoring the FBSurface code, and
moving thing out of the xxxSDL classes that don't really have anything
to do with SDL.  This will also make it easier to port Stella to other
graphical toolkits.


git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@2878 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2014-04-30 16:53:21 +00:00