1This is a list of important changes in SGE's version history.
2
3030809:
4-Better Makefiles (autodetects SDL, Freetype & SDL_Image).
5-Better library numbering (thanks Sam!).
6-Fixed a problem with newer version of g++ and c-linkage.
7-Better C support (thanks Ippei!).
8 SGE is now configured to support C and C++ with the same
9 library file (set C_COMP=n in Makefile.conf to disable).
10-Resynced the TTF code with SDL_ttf 2.0.6 (.fon and stream support).
11-Added filled and gourand shaded polygons.
12-Removed some harmless warning with MS Visual C++.
13-Added multicolored lines.
14-Cleaned up the text input functions (the return value has changed a bit).
15-Fixed some bitmap rendering bugs in sge_Text.
16-Some minor updates and bugfixes.
17
18
19020904:
20-Corrected some errors in the documentation.
21-Fixed problems with Visual C++.
22-Fixed line clipping.
23-Resynced the TTF code with SDL_ttf 2.0.5, some functions added.
24-Fixed alpha levels with the TTF renderer (thanks Marco!).
25-Fixed small error in rotate clipping logic.
26
27
28020104:
29-Added sge_FloodFill(), a fast non-recursive flood fill function.
30-Fixed a problem with the example 'speedtest' with gcc v3.
31-Some portability fixes.
32-Some small changes to the makefiles.
33-Added a "Beginners guide to SGE" to the documentation.
34-Added anti-aliased ellipses and circles.
35-Better alpha blending in AA lines.
36-Fixed a problem when AA rotating 32bit surfaces.
37
38
39010629:
40-Many, many optimizations.
41-Split sge_draw into sge_surface and sge_primitives.
42-Fixed some bugs with hardware surfaces.
43-Fixed bugs with 24 bpp.
44-Added sge_PutPixelAlpha() - put pixel with blending.
45-Most drawing primitives now have an 'Alpha' version too.
46-Added anti-aliased lines (from SDL_gfxPrimitives).
47-Added anti-aliased bezier curves.
48-Added anti-aliased triangles.
49-Texture mapped rotation/scaling is back! It's a bit faster than normal
50 rotation but not as nice and it can't do interpolation. Use the flag
51 'SGE_TTMAP' to select this renderer with sge_transform().
52-A new example is included: 'speedtest', benchmarks most of SGEs
53 primitives. Inspired by the example from SDL_gfxPrimitives.
54-Synced the TTF code with SDL_ttf 2.0.3; SGE now uses FreeType 2!
55 Changed the makefile to use the new freetype-config tool.
56 Note that FreeType2 can load more font formats than just truetype.
57
58
59010606:
60-Small fix in sge_draw.h.
61-Fixed sge_Lock_ON(). Added sge_getUpdate() & sge_getLock() to get the
62 current mode.
63-Fixed a signed-cast in sge_tt_text.cpp.
64-New rotation/scaling engine! Much faster and can do interpolated
65 rendering. Use sge_transform()/sge_transform_surface() to access the new
66 features. See documentation for more info.
67
68
69010224:
70-Fixed errors with SDL_VERSIONNUM for older versions of SDL.
71-Synced the TTF code with SDL_ttf 1.2.2.
72 New functions:
73   sge_TTF_FontAscent() returns ascent
74   sge_TTF_FontDescent() returns descent
75   sge_TTF_FontLineSkip() returns recommended line skip
76   sge_TTF_SetFontStyle() sets font style (SGE_TTF_NORMAL|SGE_TTF_BOLD|
77     SGE_TTF_ITALIC|SGE_TTF_UNDERLINE)
78   sge_TTF_GetFontStyle() returns the current style.
79 Thanks to Idigoras Inaki (IIdigoras@ikerlan.es) for betatesting this!
80-Fixed more problems with MSVC. Should work now.
81-Added sge_BF_TextSize().
82-Exorcised the old and horrible sge_tt_input_object class!
83 New classes for text handling and rendering:
84   sge_TextEditor  - edits textstrings
85   sge_text        - render and buffers text
86   sge_TextSurface - same as sge_surface (but with text)
87   sge_TextSsprite - same as sge_ssprite (      "      )
88   sge_TextSprite  - same as sge_sprite  (      "      ).
89-Minor changes to the sge_shape classes (mostly bugfixes).
90-Added border_warp() in sge_ssprite.
91-New flag for sge_BF_OpenFont(): SGE_BFPALETTE. sge_BF_OpenFont() will
92 use an 8bit surface for the font if this flag is set, this makes
93 sge_BF_SetColor() much faster (~O(1)), but makes bliting a bit slower.
94-Replaced font.bmp with a new font from Garrett Banuk's SDL Console
95 (http://www.wpi.edu/~mongoose/SDL_Console).
96-Better Makefile ('install' is possible now).
97-Added sge_Bezier(), draws a bezier curve.
98-Updated documentation.
99
100
101010101:
102-Clipping now also works in newer versions of SDL, but stay away from SDL 1.1.5!
103-Fix for MDK7.2 include error.
104-Some fixes for RedHat7 (the infamous gcc 2.96) from Chuck (clc@alum.mit.edu).
105-Cleaned up the makefiles, everything is now configured in Makefile.conf.
106-Some fixes for MS VisC/C++ from Seung Chan Lim (limsc@maya.com or slim@djslim.com).
107-Updated SFont support.
108
109
110000930:
111-This is a hack to get SGE working with SDL 1.1.5. When using the new version of
112SDL SGE will not perform pixel clipping (for now). The "Big Alpha Flip" in SDL
113also changes how SGE handles alpha!!! SDL_ALPHA_OPAQUE and SDL_ALPHA_TRANSPARENT
114is always set to the correct values (even under old versions of SDL).
115* THIS VERSION OF SGE IS NOT WELL TESTED! * Use SGE000714 if you don't have SDL
1161.1.5 and don't feel lucky (this version of SGE should work with older versions of
117SDL - I think...). The documentation is not yet updated. I think you need a new
118version of SDL_img if you want SFont support.
119
120
121000714:
122-Improved performance in sge_HLine().
123-Changed all Sint32 coords to Sint16 (SDL uses Sint16).
124-Added delay functions: sge_CalibrateDelay() and sge_Delay() [sge_misc].
125-Johan E. Th�lin has contributed a new part to SGE: [sge_blib] (Tadaa!).
126-Nuked the old sge_sprite class and did it better this time [sge_shape].
127-A new class: sge_screen, a tool class when working with shapes [sge_shape].
128-sge_CalcYPitch() and sge_pPutPixel() added. Used for precalculating the y pitch
129 offset [sge_draw].
130-Some new routines for rotating and scaling bitmaps [sge_rotation].
131-Updated and added some examples.
132-Updated documentation.
133
134
135000418:
136-Improved the makefiles.
137  * Always link your code against libSGE.a or libSGE.so *
138-Fixed freetype.h include problem.
139-Added sge.h - use it instead of the sge_*.h files.
140-Separated the TT and bitmap code.
141-Added some alpha component support:
142 -sge_CreateAlphaSurface()
143  Creates a 32bit alpha surface (RGBA - 8/8/8/8). The alpha channel is
144	blended on blitting. *SGE only supports 32bit alpha surfaces*
145 -sge_MapAlpha()
146  Use this function to map Uint32 color values (RGBA) for alpha surfaces.
147	The color value can then be used with any of SGEs functions.
148 -The TTF functions now support alpha blending. Use sge_TTF_AA_Alpha() to
149  turn this feature on.
150 -sge_AlphaFader()
151  Fades from (sR,sG,sB,sA) to (dR,dG,dB,dA).
152-Added SFont (Karl Bartel's font format) support to the bitmapfont routines.
153 Open the sfont with sge_BF_OpenFont("filename",SGE_BFSFONT). Note that most
154 sfonts need a alpha channel to look good which means it can't be loaded as
155 a .bmp file (they do not support alpha). To enable SGE to load .png files
156 uncomment 'USE_IMG = y' in the makefile (requires the SDL_img library!),
157 this will enable SGE to load any image format SDL_img supports. If you do
158 this, remember to link your code with SDL_img (not necessary if you use
159 libSGE.so).
160
161
162000312:
163-Fixed a bug in sge_Line().
164-Added (still testing, no documentation) collision routines.
165-More work on the sprite class.
166
167
168000115:
169-Added this text file.
170-The TTF routines can now draw non anti-aliased text also. Control this with
171 sge_TTF_AAOff() - Turns anti-aliasing OFF
172 sge_TTF_AAOn()  - Turns anti-aliasing ON -DEFAULT-
173-A new flagsystem (finally). The following routines are effected:
174   sge_tt_input... - 'int type' replaced by 'Uint8 flags'
175   sge_BF_OpenFont - 'int flags' replaced by 'Uint8 flags' (no API change)
176   sge_BF_input    - 'Uint8 flags' added  *PLEASE UPDATE YOUR SOURCE*
177 The following flags can be used: SGE_FLAG1 - SGE_FLAG8 (defined in sge_draw.h), but
178 routine specific flags are also provided. The flags can be ORed, eg.
179 SGE_FLAG1|SGE_FLAG2|...
180 The input functions has the following flags:
181   SGE_IBG   - Preserve background (only in tt, BF always preserves the background)
182   SGE_IDEL  - Delete text when finished
183   SGE_INOKR - No keyrepeat
184 NOTE! sge_tt_input: The old ('type') and the new ('flags') flags are not the same!
185 If you do not update your source code, this will happend:
186   type=0 => flags=0 - OK, same
187   type=1 => flags=SGE_IBG - OK, same
188   type=2 => flags=SGE_IDEL - NOT THE SAME! (should be SGE_IBG|SGE_IDEL)
189-TrueType font support optional, check the README.
190
191
192000102:
193SGE now supports win32 crosscompiling. Support for bitmap fonts added. Some printf()
194like functions added.
195
196
197991222:
198Fixed a small bug in sge_UpdateRect, more work on the circle routines. SGE can now
199be linked to both C and C++ code, check the README file for more information.
200
201
202991219:
203Fixes some problems with lines and adds some ellipse routines. Update: Oops, the
204sge_FilledEllipse function was missing - fixed.
205
206
207991208:
208SGE now has a sprite class *VERY BETA* and a nice surface rotation function. This
209version is tested with SDL 0.10 and 1.0.
210
211
212990905:
213New version, with a completed text edit class.
214
215
216990827:
217Released a new version, now with documentation.
218
219
220990826:
221First public release of SGE (r990826). Have fun!
222
223
224/Anders Lindstr�m
225