-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWHATSNEW.pygame
575 lines (397 loc) · 17.7 KB
/
WHATSNEW.pygame
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
This file has been dedicated to the public domain, to the extent
possible under applicable law, via CC0. See
http://creativecommons.org/publicdomain/zero/1.0/ for more
information. This file is offered as-is, without any warranty.
========================================================================
2.0.3
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Potential cause for glitchy window behavior during transitions
2.0.2
------------------------------------------------------------------------
Pygame SGE misc changes:
* Updated to avoid deprecated (and seemingly very poorly maintained)
Pygame APIs where possible.
2.0.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Bad ordering of steps on room start leading to warnings
- Broken conversion from sge.gfx.Color to int
Pygame SGE misc changes:
* Changed the method used for sge.gfx.Sprite.swap_color to massively
improve efficiency.
2.0
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Future queue cleared by previously playing music that was stopped
- Nonfunctional implementation of resolution changing
- Incorrect isometric tiling implementation
Pygame SGE misc changes:
* Made more robust against Pygame giving a wrong display size.
* All drawing methods now support anti-aliasing.
1.7.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Incompatibility with Pygame 2
1.7
------------------------------------------------------------------------
Pygame SGE misc changes:
* Improved the implementation of the pixelate transition.
1.6
------------------------------------------------------------------------
Pygame SGE misc changes:
* Removed support for Python 2.
1.5.1
------------------------------------------------------------------------
Pygame SGE misc changes:
* Made the uniseg dependency optional.
* Altered the way fonts are handled.
1.5
------------------------------------------------------------------------
Pygame SGE misc changes:
* Changed the way lines are automatically split, using the uniseg
module, so that it is done properly.
Pygame SGE bugfixes:
- Failure to support screen blending with objects
1.4.4
------------------------------------------------------------------------
Pygame SGE misc changes:
* Added some optimizations when certain SGE features are not being used.
Pygame SGE bugfixes:
- Crash when attempting to use gfx.TileGrid.render
- Loss of frames when changing frame rate and image index sequentially
- Incorrect error when passing a non-color as a color
1.4.3
------------------------------------------------------------------------
Pygame SGE misc changes:
* Added support for using pygame_sdl2 if pygame is unavailable.
* Changed the way specific scaling amounts in fullscreen are handled.
* Use the "current" (as of the game start) screen resolution for auto-
scaling. This avoids problems with using higher resolutions in some
systems.
Pygame SGE bugfixes:
- Some incompatibilities with pygame-cffi
1.4.2
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Broken collision_line function
- Scale2x only working with exact multiples of 2
1.4.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Bad warning that caused the program to crash
1.4
------------------------------------------------------------------------
Pygame SGE misc changes:
* Removed the default "paused" image; simple text is used by default
instead.
* When the game attempts to load an unsupported music format, this is
caught and ignored with a warning printed.
Pygame SGE bugfixes:
- Two of the same color not being treated as equal
1.3
------------------------------------------------------------------------
Pygame SGE misc changes:
* Changed the way the channel used when none are free is decided.
Pygame SGE bugfixes:
- Collision functions detecting collisions with intangible objects
- Failure to remove objects as collision checkers properly
1.2
------------------------------------------------------------------------
Pygame SGE misc changes:
* Tweaked the method of adjusting alpha.
Pygame SGE bugfixes:
- Collision functions not working with floats
- Incorrect sizes reported for text of sprite fonts
- Warning message that showed up when switching rooms
1.1.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Some gratuitous incompatibilities with Pygame-cffi
- Cruft in __all__ left over from previous SGE versions
1.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Crash caused by attempting to use Scale2x
1.0.2
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Crash caused by failing to convert two values to integers
1.0.1
------------------------------------------------------------------------
Pygame SGE misc changes:
* The amount of time things like images are cached has been reduced from
30 seconds to 15 seconds.
Pygame SGE bugfixes:
- Text projections not using the cache properly, wasting RAM
- Cache causing a delay of garbage collection for unused sprites
1.0
------------------------------------------------------------------------
Pygame SGE additions:
+ Support for the Scale2x algorithm
Pygame SGE bugfixes:
- More cases of background layers being positioned wrongly
- Text drawing not supporting alpha transparency
- Some joystick axis values being able to go outside the allowed range
- Failure to cap joystick values in some cases
0.24
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Background layers sometimes being positioned a pixel off
- Transparency of some image formats being incorrectly accounted for
0.22
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Incorrect assumption made by sge.Sprite.from_text
- Switching sge.game.current_room immediately causing problems
- "z" argument of sge.Game.project_text not having an effect
- Incorrectly taking origin into account in Sprite.from_tileset
0.21
------------------------------------------------------------------------
Pygame SGE misc changes:
* Removed code that converted sge.Sprite.__init__'s ``directory``
argument to an absolute path. Absolute paths can exacerbate a problem
Pygame has dealing with non-ASCII directories.
0.20
------------------------------------------------------------------------
Pygame SGE additions:
+ Support for screen blending (slow)
Pygame SGE bugfixes:
- Incorrect radius being calculated for iris transitions
- Outdated code which would have caused a crash if it was reached
- Choice of area in Object.collision ignoring x and y arguments
- Animation end event not working with reversed animation
0.19
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Minor visual defect of transitions
- Deletion of objects in the create event causing unpredictable failures
0.18.2.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Referencing a non-existent variable
0.18.2
------------------------------------------------------------------------
Pygame SGE misc changes:
* Improved optimization.
Pygame SGE bugfixes:
- Remaining minor case of eternal caches
0.18.1
------------------------------------------------------------------------
Pygame SGE misc changes:
* Improved debug information for a certain error.
Pygame SGE bugfixes:
- Crash caused by a mere warning
- Collision areas being voided by a bad check, and causing said warning
0.18
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Create events being called twice
- Some problems with collision lists
0.17
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Memory leeching problem caused by permanent caching
0.16
------------------------------------------------------------------------
Pagame SGE bugfixes:
- Room background_x and background_y not shifting the background uniformly
- Incorrect sprite font size implementation (caused a crash)
- Failure to set bounding box to the sprite bounding box when set to None
- Phantom objects left in collision check lists when starting a new room
- Room projections only being shown in the first view
- Joystick axis values above 1 and below -1 being allowed
0.15
------------------------------------------------------------------------
Pygame SGE misc changes:
* Pixelate transition now spends most of its time pixelating.
Pygame SGE bugfixes:
- Current room's event_room_end not being called when the game ends
- Sprites loaded from tilesets not being given enough frames, and having
many frames pasted onto early frames as a result
- Valid images being blocked by files that weren't valid images
- sge.Object.visible attribute being ignored
- Transitions obscured by projections created in or after the step event
0.14
------------------------------------------------------------------------
Pygame SGE misc changes:
* Improved error messages when failing to load images or sounds.
* Made Six an external dependency.
Pygame SGE bugfixes:
- Redundantly checking for collision with the same object multiple times
- sge.Music.length not working
- Background position in rooms not being reset
0.13
------------------------------------------------------------------------
Pygame SGE removals:
- Unused and unmaintained "_reset" method in sge.Object
Pygame SGE misc changes:
* Slightly adjusted how text height is calculated.
* Made some optimizations to some properties.
* Refactored some code to make it easier to read
* Removed unnecessary use of weak references
* Made it compatible with both Python 2 and Python 3
Pygame SGE bugfixes:
- Some values not being rounded, resulting in crashes
- Typo of "radians" instead of "math.radians" which of course failed
- Mistake in calculation of move_direction when in quadrant II
- sge.Object.move_direction rotating backwards
- Create events of objects created during create events being skipped
- Valid usages of sge.Object.collision causing errors
- Collision detection of objects marked as intangible not being cleaned
up properly
- Possibility of floats being used where ints expected with background layers
- Sprite fonts being completely broken
- Sound "file not found" error not being raised correctly
- Sound volume attribute not being taken into account
- Music volume attribute not being taken into account in one case
- Incomplete resetting when calling sge.Game.start or sge.Room.start a second time
- Joystick hat values being vertically inverted
- Low-color images with the smoothscale option causing the game to crash
- Colorkey transparency not taking effect in Sprite.draw_sprite
- Paused state being preserved when starting a new room
- Sounds and music continuing to play when restarting the game
- Collisions still being detected by destroyed objects
- Alarms still running when restarting the room or game
- Multiple gamepads with the same name causing rejection of all but the last
0.12
------------------------------------------------------------------------
Pygame SGE misc changes:
* The whole display system has been rewritten. The resulting system is
noticeably less efficient than the old system, but much easier to
debug and extend. This was done mostly so that zoom support could be
implemented without a lot of needless headaches.
* Hardware acceleration is now enabled by default, since Pygame's
software rendering optimizations aren't used anymore.
Pygame SGE bugfixes:
- sge.mouse.get_x and sge.mouse.get_y not taking scaling into account
0.10.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- sge.Game.project_text alignment not working properly
0.10.0
------------------------------------------------------------------------
Pygame SGE misc changes:
* If sge.game.scale is set, the window is now not resizable.
* Objects can now be destroyed multiple times safely.
* Pause screen improved.
Pygame SGE bugfixes:
- Window size being the monitor size when exiting fullscreen
- Alarms being broken
- Setting sprites to non-integer sizes causing a crash
- Text entry area in sge.get_text_entry being in the wrong place
- Mistakes in room and game resetting which could sometimes cause errors
- Destruction of objects causing problems with concurrent iteration
- Drawing partially transparent shapes not working as intended
- Font files not being loaded successfully when multiple choices given
- Backgrounds not displaying properly with view ports outside the window
- Game projections of sprites not taking suggested origin into account
- sge.Game.project_sprite not working with sprite IDs
0.9.2
------------------------------------------------------------------------
Pygame SGE bugfixes:
- 2-frame delay between a music ending and the queued music starting
- Small chance of a crash happening
- Passing sprite IDs to Room.project_sprite not working
0.9.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- sge.Game.project_rectangle, sge.Game.project_ellipse,
sge.Room.project_rectangle, and sge.Room.project_ellipse being broken
- Projection methods with outlines not projecting the shapes correctly
0.9.0
------------------------------------------------------------------------
Pygame SGE bugfixes:
- sge.Sound.playing never decreasing.
- Music not being controlled when paused or when a dialog was up.
0.8.0
------------------------------------------------------------------------
Pygame SGE misc changes:
* Room.project_* methods made much more efficient.
* Collision detection divided into sections within rooms, making it more efficient.
Pygame SGE bugfixes:
- Room.draw_sprite destroying the sprite that is projected
- Multiple views not working properly with scaling
- Changing from windowed to fullscreen mode resulting in the wrong resolution
- Rotated precise collision detection not working
0.7.0
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Axis checking taking trackballs into account (outdated behavior)
- Joystick checks returning None if non-existant components were checked
- Objects list not being reset when it is supposed to be
- Directional collision detection being faulty
- Mouse being invisible while a modal dialog box was shown
- Collision detection of multiple objects (e.g. of the same class) not working
- Custom mouse sprites sometimes appearing behind other objects
- Mouse not working with split-screen
- Custom mouse sprites not working when the game was paused
0.6.0
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Changing a font's size causing bold, underline, and italic to be reset
- sge.Music.play "loops" argument not conforming to the spec
- Objects and views getting reset wrongly when the room was (re)started
0.5.1
------------------------------------------------------------------------
Pygame SGE bugfixes:
- Certain valid image names not being accepted for the loading of sprites
- Python 3 version being completely broken
0.5.0
------------------------------------------------------------------------
Pygame SGE misc changes:
* Now called "the Pygame SGE" rather than "SGE Pygame".
* Appearance of modal dialog boxes changed.
Pygame SGE bugfixes:
- sge.BackgroundLayer not being able to accept sprite IDs
- Sprites being rotated about the center instead of the origin
- Projections being broken (arguments in a method call were messed up)
- Text wrapping wrongly
- Mouse being moved to the top-left corner of the window on room start
if it started outside the window
- sge.Room.project_text not working with font IDs
0.4.0
------------------------------------------------------------------------
SGE Pygame misc changes:
* Collision detection changed to be more efficient.
* Now called "SGE Pygame" instead of "Stellar Game Engine - Pygame 1.9".
SGE Pygame bugfixes:
- Projected objects flickering when delta timing was enabled
- sge.StellarClass.image_fps not being used if a sprite was available
- Background layers being offset when scaling the window
- Rectangles replacing the area they drew on rather than blending
- sge.Sprite.draw_sprite not accepting sprite names
0.3.0
------------------------------------------------------------------------
Pygame implementation additions:
+ DEBUG constant (causes more verbose information to be printed if True)
Pygame implementation bugfixes:
- IOError being raised if Pygame's mixer module was unavailable
0.2.1
------------------------------------------------------------------------
Pygame implementation bugfixes:
- Views being allowed outside the room
- Crash when changing an object's sprite
- image_xscale and image_yscale not being factored into objects' origins
- Image being offset if an object's xscale or yscale was negative
0.2.0
------------------------------------------------------------------------
Pygame implementation additions:
+ sge.hardware_rendering
+ Automatic font substitution (e.g. Liberation Sans for Arial)
+ sge.real_trackballs
Pygame implementation bugfixes:
- Problems with scaling
- Problems with partial screen updates
- Wrong correction of views being outside the room
- Object disappearing bug
- Background disappearing bug
- Split-screen problem
- Background change not showing up when changing rooms
- Bug with partial view of dynamic objects
- Background update bug
0.1.0
------------------------------------------------------------------------
First release
Note: many features were unimplemented in this version. They were all
later implemented in version 0.2.0.