CARDS(3) FreeBSD Library Functions Manual CARDS(3)
Cards_LoadCards, Cards_LoadFreeCell, Cards_InvertSurface – bitmap
Cards_LoadCards(SDL_Surface *surfaces, size_t count, SDL_RWops *rw,
enum Cards_Flag flags);
Cards_LoadFreeCell(SDL_Surface *surfaces, size_t count, SDL_RWops *rw,
enum Cards_Flag flags);
Cards_LoadCards() and Cards_LoadFreeCell() load bitmap resources into an
array of count surfaces. Resources can be loaded from 16-bit NE
executables or from 32-bit PE executables.
Cards_LoadCards() loads card bitmaps from a CARDS.DLL or Windows 3.0
SOL.EXE file rw.
Indices of loaded surfaces are defined by the following:
Suit Cards_Club, Cards_Diamond, Cards_Heart, Cards_Spade.
Rank Cards_A, Cards_2, Cards_3, Cards_4, Cards_5, Cards_6,
Cards_7, Cards_8, Cards_9, Cards_10, Cards_J, Cards_Q,
Back Cards_Back1, Cards_Back2, Cards_Back3, Cards_Back4,
Cards_Back5, Cards_Back6, Cards_Back7, Cards_Back8,
Cards_Back9, Cards_Back10, Cards_Back11, Cards_Back12.
Other Cards_Empty, Cards_X, Cards_O.
Where suit and rank constants are added together to form an index. Note
that there are gaps in the indices and some surface pointers will be set
to NULL. The maximum number of surfaces is defined by Cards_CardCount.
The dimensions of the loaded surfaces are defined by Cards_CardWidth and
Cards_LoadCards() accepts the following flags:
Cards_ColorKey Use color key transparency for the Cards_Empty,
Cards_X and Cards_O surfaces.
Cards_AlphaCorners Make the rounded card corners transparent.
Cards_BlackBorders Make all card borders black.
Cards_LoadFreeCell() loads bitmaps from a FREECELL.EXE file rw.
Indices of loaded surfaces are defined by Cards_KingRight, Cards_KingLeft
and Cards_KingWin. Note that there are gaps in the indices and some
surface pointers will be set to NULL. The maximum number of surfaces is
defined by Cards_FreeCellCount.
The dimensions of the loaded surfaces are defined by Cards_KingWidth and
Cards_LoadFreeCell() accepts the following flags:
Cards_ColorKey Use color key transparency.
Cards_InvertSurface() inverts the colors of a surface loaded by
Upon successful completion, the value 0 is returned; otherwise the value
-1 is returned.
The cards.dll repository: https://code.causal.agency/june/cards.dll
contains various versions of the files CARDS.DLL, FREECELL.EXE and
Error messages are set with SDL_SetError() and can be retrieved with
Cards_LoadCards() and Cards_LoadFreeCell() may fail for the following
reasons: any SDL_RWops or SDL_Surface error; invalid MZ, NE or PE
signatures; missing resource table; invalid resource hierarchy; missing
Cards_InvertSurface() may fail for any SDL_Surface error or if the
surface format is not supported.
The New Executable format, documented in exefmt.txt.
The Portable Executable format, documented at
C. McEnroe <email@example.com>
FreeBSD 12.0-RELEASE-p10 August 22, 2019 FreeBSD 12.0-RELEASE-p10