Commit Graph
137148 Commits
Author SHA1 Message Date
Vincent Pelletier 3c2689a65f TINYGL: Optimise scissorPixel.
Scissor operations happen in a 2d rectangle, but it used to take a buffer
offset as a parameter. As a result, it had to divide that value with its
width, which is an expensive operation, which has to be done for each
pixel candidate for display (even before z-buffer comparison when
applicable, in current implementatoin).
But callers actually generate the buffer offset from rectangular
coordinates, so propagate these instead.
This sadly increases API redundancy, but saves a lot of time in a very
frequent occurrence (especially when enabling dirty rect mechanism,
which is not yet enabled by default).
2016-07-21 15:56:29 +02:00
Vincent Pelletier abd69a4271 GRIM: Adds support for loading embedded colormaps.
Very few material files define their own color maps:
  DATA000.LAB/blue.mat
  DATA000.LAB/orange.mat
  DATA000.LAB/pink.mat
  DATA000.LAB/white.mat
  DATA001.LAB/bren_chest.mat
  DATA001.LAB/bren_shin.mat
  DATA001.LAB/bren_skin.mat
  DATA001.LAB/bren_thigh.mat
  DATA004.LAB/bren_chest.mat
  DATA004.LAB/bren_shin.mat
  DATA004.LAB/bren_skin.mat
  DATA004.LAB/bren_thigh.mat
Also, walk (but ignore) downscaled mipmaps. Even fewer files contain them, and
they contain a single image each (with 3 mipmaps):
  DATA000.LAB/dflt.mat
  DATA000.LAB/shadow.mat
2016-07-21 15:40:50 +02:00
Paweł Kołodziejski 31517c227c Merge pull request #1271 from vpelletier/grim_showfps
GRIM, EMI: Expose show_fps in engine options tab.
2016-07-21 12:55:13 +02:00
Lothar Serra Mari 5f769b43d6 NEWS: Mention GOB1EGA fixes by DrMcCoy 2016-07-21 07:40:20 +02:00
Paul Gilbert 4ff4215706 TITANIC: Display first 5 savegame slots in PET RealLife tab 2016-07-20 22:23:42 -04:00
Paul Gilbert 0ed7b463e8 TITANIC: Fixes for saving & loading savegames 2016-07-20 21:51:44 -04:00
Paul Gilbert 2db54279e9 TITANIC: Fixes for saving/loading savegame headers 2016-07-20 20:12:45 -04:00
Paul Gilbert d8fec87200 MADS: Fix incorrect indentation 2016-07-20 19:34:24 -04:00
Paul Gilbert 543434aa78 TITANIC: Fix destroying previous game project when loading savegame 2016-07-20 19:03:30 -04:00
Paul Gilbert 1102203396 TITANIC: Add missing engine saving functionality 2016-07-20 18:49:41 -04:00
Eugene Sandulenko 9d2a35710a JANITORIAL: Indentation fixes 2016-07-20 23:18:05 +03:00
Eugene Sandulenko a2e4157114 JANITORIAL: Fix indentation 2016-07-20 23:11:08 +03:00
Sven Hesse aca13f7ba9 GOB: Work around broken resource sizes in Gobliiins EGA
The EGA version of Gobliiins, similar to Little Red Riding Hood,
claims a few resources are larger than they actually are. The original
happily reads past the resource structure, but we'll instead fix
the size of the resource after loading.

This fixes bug #7162.
2016-07-20 21:59:22 +02:00
Eugene Sandulenko 46aadaa0e0 FULLPIPE: Some renames in MovGraphLink 2016-07-20 22:56:28 +03:00
Thierry Crozat abb33e5362 DRASCULA: Fix slight delay when interrupting intro animation
The delay occurred when trying to interrupt the animation while at
the start of the first scene with Igor. After the interruption (skipping
the intro, return to launcher or quitting ScummVM) it would continue
to play the animation for a bit longer than necessary.
2016-07-20 20:18:40 +01:00
Thierry Crozat 8380023c51 CREDITS: Add myself as developer for the drascula engine
I forgot to do it when I rewrote big chunks of the engine code three
months ago.
2016-07-20 19:12:45 +01:00
Paul Gilbert a13134b38d TITANIC: Clarify CVideoSurface _field48 as _freeMovieSurface 2016-07-20 13:44:19 -04:00
Sven Hesse 8546ecab04 AGOS: Fix wrongly indented debugC() statement
GCC 6's -Wmisleading-indentation warns about the debugC() statement
being wrongly indented, as if belonging into the else's branch, which
it clearly doesn't.
2016-07-20 18:39:42 +02:00
Paweł Kołodziejski d1be78ca49 Merge pull request #1269 from vpelletier/tinygl_optimise_light
Tinygl: optimise gl_shade_vertex
2016-07-20 14:39:05 +02:00
Paweł Kołodziejski 9acb1b9039 Merge pull request #1275 from vpelletier/valgrind
TINYGL, GRIM: Fix various errors (mostly memory leaks) found by valgrind
2016-07-20 14:09:52 +02:00
Paweł Kołodziejski fa4fccda4e Merge pull request #1266 from vpelletier/tinygl_zline
TINYGL: Simplify zline.cpp .
2016-07-20 14:03:58 +02:00
Paul Gilbert c5792fce4b TITANIC: Clarify movie/surface has frame fields & variables 2016-07-20 07:56:26 -04:00
Paul Gilbert d5bf17e73f TITANIC: Add movie _handled flag, simplify frame timinig code 2016-07-20 07:38:13 -04:00
Lothar Serra Mari 7bc91d48a1 NEWS: Add MM V0 improvements by segrax 2016-07-20 11:31:08 +02:00
Paul Gilbert 53c7517dfb TITANIC: Fix loading movies for playback 2016-07-19 22:41:03 -04:00
Eugene Sandulenko 52abd69551 SCUMM: Use more portable rounding function 2016-07-19 16:22:59 +03:00
Eugene Sandulenko 8af6a0ddd2 Merge pull request #785 from segrax/master
SCUMM: Maniac V0: Walkbox / Timing improvements
2016-07-19 14:22:17 +03:00
Robert Crossfield 67071b42bc SCUMM: Maniac V0: Implement 'simulator' for CPU lag (as the original engine occasionally ran at less than 60Hz). Fix call to 'getClosestPtOnBox', whcih was being passed X * V12_X_MULTIPLIER and Y * V12_Y_MULTIPLIER, but the box coordinates, where not 2016-07-19 20:39:58 +10:00
Lothar Serra Mari fdd21f1942 NEWS: Mention the changes introduced since the last NEWS update
I tried to cover most of the things that seem to be interesting
for the end user. I excluded the SCI32 stuff because a) it's not
officially supported and b) I don't have the slightest clue what
most of the changes to the SCI32 engine do. :)

Please excuse if you made a noteworthy contribution I missed
to mention in this NEWS update. It was not on purpose.
2016-07-19 11:38:37 +02:00
Vincent Pelletier f4554c1541 GRAPHICS: Optimise PixelBuffer::getValueAt and PixelBuffer::setPixelAt.
Avoid doing a lot of operations just to move 2 or 4 bytes around.
Inline these methods as they are hot-spots and do very little: call
overhead becomes significant.
2016-07-19 11:08:35 +02:00
Robert Crossfield 44000ba826 SCUMM: Maniac V0: Implement original walkbox queue, Cleanup actor walk code 2016-07-19 18:54:14 +10:00
Lothar Serra Mari 8d8503863a I18N: Update revision date in de_DE.po 2016-07-19 09:47:05 +02:00
Lothar Serra Mari ba308cd289 I18N: Regenerate translations data file 2016-07-19 09:30:38 +02:00
Lothar Serra Mari e6b9a06df4 I18N: Update German translation 2016-07-19 09:29:22 +02:00
Lothar Serra Mari ccb99d4a74 I18N: Regenerate translations template from source code 2016-07-19 09:26:03 +02:00
Paul Gilbert 2ea4116e0a TITANIC: gcc compilation fixes 2016-07-18 22:32:28 -04:00
Paul Gilbert 18e06f727a TITANIC: Fix loading of movies with only a single video track 2016-07-18 21:51:50 -04:00
Paul Gilbert 87379442ff TITANIC: Fix scanning for files not to free resources 2016-07-18 21:47:19 -04:00
Paul Gilbert 25e8d1d5a8 TITANIC: Simplify data usage in CStarControlSub20 2016-07-18 19:28:10 -04:00
Paul Gilbert 5387d4dd7b TITANIC: Added CStarControlSub20 copyFrom/copyTo methods 2016-07-18 18:59:10 -04:00
Eugene Sandulenko aadc853146 FULLPIPE: Adjusted debug output 2016-07-18 22:40:52 +03:00
Vincent Pelletier 72217813c6 GRIM: Do not crash on extreme FPS values.
Easily triggered with disabled FPS limit and staying for a few seconds in
the F1 menu.
2016-07-18 17:33:53 +02:00
Vincent Pelletier 0de75f613a GRIM, EMI: Disable FPS limit when engine_speed is 0.
Also, only set engine_speed to config file when forcing 60fps.
2016-07-18 16:32:03 +02:00
Vincent Pelletier 16379fcc55 GRIM, EMI: Expose show_fps in engine options tab. 2016-07-18 16:31:57 +02:00
Vincent Pelletier 7d2f4a3185 GRIM, EMI: Avoid repeating GUIO1(GAMEOPTION_LOAD_DATAUSR).
To ease addition of future engine-level, game-independent options.
2016-07-18 16:31:42 +02:00
Vincent Pelletier 638b841c74 TINYGL: Simplify zline.cpp .
drawLine was broken for dx = 0 lines.
Also, the split between fillLineGeneric and drawLine, along with the many
parameters exchanged (with obscure names with subtle differences), made
the code hard to understand.
This implementation should be easier to check.
There was no visible CPU usage change.
Fixes GRIM's ticket printer, which are composed of a lot of vertical
segments.
2016-07-18 15:55:08 +02:00
Paul Gilbert 3ee3784073 TITANIC: Added remaining CStarControlSub12 virtual methods 2016-07-17 23:18:06 -04:00
Paweł Kołodziejski d467980499 Merge pull request #1262 from vpelletier/tinygl_dirty2d
GRIM: Fix drawLine/Rect/Polygon in TinyGL renderer
2016-07-18 05:17:35 +02:00
Vincent Pelletier d844acb438 GRIM: Fix some "Mismatched free() / delete / delete []" errors (valgrind) 2016-07-18 04:36:37 +02:00
Vincent Pelletier f12cb15801 GRIM: release movie frame in GfxTinyGL::~GfxTinyGL. 2016-07-18 04:36:37 +02:00