aboutsummaryrefslogtreecommitdiff
path: root/engines/supernova/graphics.cpp
AgeCommit message (Collapse)Author
2018-03-11SUPERNOVA: Fixes formattingJoseph-Eugene Winzer
Because of confusion when indentation level is raised and thus tabs or spaces should be used when aligning code, this commit switches to tabs to avoid any further confusion.
2018-01-23SUPERONVA: Sets uninitialized values to 0Joseph-Eugene Winzer
2018-01-23SUPERNOVA: Fix warning when not finding image fileThierry Crozat
2018-01-23SUPERNOVA: Load images on demandThierry Crozat
2018-01-23SUPERNOVA: Reduce memory usage to store sections and simplify codeThierry Crozat
Each section was store dusing the full image size. Now it only uses the section size, which should reduce considerably the amout of memory used for each image. Also when a section has one or more next section, they were all drawn on the surface for this section, but then they were drawn again on their own surface. And while this should not cause any issue, this was really unnecessary (and prevented optimizing the surface size for each section). So now this is no longer the case and the surface for a section only contains this section.
2018-01-23SUPERNOVA: Add getting translated images from the engine data fileThierry Crozat
2018-01-23SUPERNOVA: Clean indentationsThierry Crozat
2018-01-23SUPERNOVA: Fix compilation using MSVC9, silent some CppCheck warningsStrangerke
2018-01-23SUPERNOVA: Initializes clickField.next with 0Joseph-Eugene Winzer
It seems it is possible that some objects or subsequent click fields 'pointed' to by next are outside of the initialized range and are expected to be zeroed. This would explain the non-deterministic freezes I experienced.
2018-01-22SUPERNOVA: Enables renderImage() to render inverse sectionsJoseph-Eugene Winzer
Besides the addition of inverse sections, the 'fullscreen' parameter was removed as it was used only for testing purposes in the beginning.
2018-01-22SUPERNOVA: Removes 'inverse section' caseJoseph-Eugene Winzer
This code section was converted from the original source, where the sections are directly drawn to the screen instead of buffered. If a section > 128 is set as parameter, the function takes the dimensions of section - 128 and draws this region of section 0 to the screen, thus restoring it. It would not make sense loading part of section 0 in seperate Surfaces especially since kMaxSection is smaller than 128 the else branch is never entered so removing it doesn't change the programs behavior.
2018-01-22SUPERNOVA: Buffers sections of image on initJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Replaces magic numbersJoseph-Eugene Winzer
2018-01-22SUPERNOVA: ReformattingJoseph-Eugene Winzer
Substitute size_t with ScummVM defined uint type
2018-01-22SUPERNOVA: Enables debug console and preload imagesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Implements loading of newspaper imagesJoseph-Eugene Winzer
While the 640x480 images are loaded correctly, they are displayed cropped to 320x240, the default resolution.
2018-01-22SUPERNOVA: Adds missing copyright notesJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Returns if section is invalidJoseph-Eugene Winzer
Sections with an x2 value of 0 cannot span any area and are thus invalid
2018-01-22SUPERNOVA: ReformattingJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Convert 18bit VGA to 24bit CLUT8Joseph-Eugene Winzer
Colors on VGA are 6bit per color channel, that is why the colors were so dark in earlier commits. Shifting the colors left by 2 gives us an approximated value for CLUT8.
2018-01-22SUPERNOVA: Fix OOB write in paletteBrightness()Joseph-Eugene Winzer
Palette color 255 doesn't seem to be used
2018-01-22SUPERNOVA: Add palette fade in/outJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Fix image palette loadingJoseph-Eugene Winzer
Mistakenly, during image loading the system palette was completely substituted by the image palette although the first 16 colors are supposed to be preserved.
2018-01-22SUPERNOVA: add renderBox()Joseph-Eugene Winzer
2018-01-22SUPERNOVA: fix palette corruption on decodingJoseph-Eugene Winzer
2018-01-22SUPERNOVA: (TEMP COMMIT) drawing to screen surfaceJoseph-Eugene Winzer
2018-01-22SUPERNOVA: Added basic game loop and play sound samplesJoseph-Eugene Winzer
There has been many other changes like copy/pasting room definitions, skeleton for image decoder, .. Getting supernova mod format support seems to be a good next step.