43 Commits

Author SHA1 Message Date
Thierry Crozat
011a9cd43f SUPERNOVA: Fix warning 2019-09-14 00:32:25 +01:00
Jaromir Wysoglad
0366f3da27 SUPERNOVA: Add help screen translation 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
f9d13b8d2c SUPERNOVA: Add translated Indiana Joe image 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
7164016b34 SUPERNOVA: Refactor .dat file access 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
0e31a6163d SUPERNOVA: Merge create_supernova tools 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
7ea4d03597 SUPERNOVA: Add size computation to create_image. 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
b0e386b014 SUPERNOVA: Fix MS1 image loading 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
061d14e799 SUPERNOVA: Add ciphered text image translation. 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
12f4211fb2 SUPERNOVA: Load MS2 datafiles from .dat file. 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
714a4f909b SUPERNOVA: Refactor graphics 2019-07-28 15:09:14 +01:00
Jaromir Wysoglad
5f355734fd SUPERNOVA: Partial merge of the engine
I am merging the second engine to the first one. Both should be
fully functional as before right now

Current merge file status:
console: should be done
graphics: should be done
detection: 0% merged
imageid: appears to not be used anywhere, so it may be removed
resman: partialy merged
rooms: totaly different, 0% merged
screen: should be done
screenstatic: done
sound: partialy done
state: a lot different, just started to merge
supernova: mostly done
2019-07-28 15:09:14 +01:00
Joseph-Eugene Winzer
ff36f94c1f SUPERNOVA: Adds missing initializations 2019-02-06 09:42:11 +01:00
Joseph-Eugene Winzer
2a170fb929 SUPERNOVA: Moves constants to screen.h 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer
3bc9a5a779 SUPERNOVA: Corrects header includes 2018-04-15 18:28:38 +01:00
Joseph-Eugene Winzer
6187e25199 SUPERNOVA: Renames NULL to nullptr 2018-04-15 18:23:11 +01:00
Joseph-Eugene Winzer
d963827dbb SUPERNOVA: Renames MSNImageDecoder to MSNImage 2018-04-15 18:23:11 +01:00
Joseph-Eugene Winzer
a38db245ed SUPERNOVA: Fixes formatting
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-03-11 23:25:00 +01:00
Joseph-Eugene Winzer
6fe9af93f3 SUPERONVA: Sets uninitialized values to 0 2018-01-23 02:15:46 +00:00
Thierry Crozat
d8284756bb SUPERNOVA: Fix warning when not finding image file 2018-01-23 02:15:43 +00:00
Thierry Crozat
177539ba2e SUPERNOVA: Load images on demand 2018-01-23 02:15:41 +00:00
Thierry Crozat
841e7182f2 SUPERNOVA: Reduce memory usage to store sections and simplify code
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-23 02:15:37 +00:00
Thierry Crozat
0f4d364e63 SUPERNOVA: Add getting translated images from the engine data file 2018-01-23 02:15:33 +00:00
Thierry Crozat
d1bdfd2bde SUPERNOVA: Clean indentations 2018-01-23 02:15:32 +00:00
Strangerke
4c9fc3cdbc SUPERNOVA: Fix compilation using MSVC9, silent some CppCheck warnings 2018-01-23 02:15:32 +00:00
Joseph-Eugene Winzer
aa447e81bc SUPERNOVA: Initializes clickField.next with 0
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-23 00:00:12 +00:00
Joseph-Eugene Winzer
dc12a0fd23 SUPERNOVA: Enables renderImage() to render inverse sections
Besides the addition of inverse sections, the 'fullscreen' parameter was
removed as it was used only for testing purposes in the beginning.
2018-01-22 23:54:41 +00:00
Joseph-Eugene Winzer
a54c9084c1 SUPERNOVA: Removes 'inverse section' case
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-22 23:54:41 +00:00
Joseph-Eugene Winzer
ef1bbce68e SUPERNOVA: Buffers sections of image on init 2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
7c4a763710 SUPERNOVA: Replaces magic numbers 2018-01-22 23:42:08 +00:00
Joseph-Eugene Winzer
6c4768a051 SUPERNOVA: Reformatting
Substitute size_t with ScummVM defined uint type
2018-01-22 23:42:07 +00:00
Joseph-Eugene Winzer
018cff8c42 SUPERNOVA: Enables debug console and preload images 2018-01-22 23:42:07 +00:00
Joseph-Eugene Winzer
5ebe90a45e SUPERNOVA: Implements loading of newspaper images
While the 640x480 images are loaded correctly, they are displayed
cropped to 320x240, the default resolution.
2018-01-22 23:42:02 +00:00
Joseph-Eugene Winzer
38e9e2d3e7 SUPERNOVA: Adds missing copyright notes 2018-01-22 23:34:49 +00:00
Joseph-Eugene Winzer
55c67005a6 SUPERNOVA: Returns if section is invalid
Sections with an x2 value of 0 cannot span any area and are thus invalid
2018-01-22 23:17:48 +00:00
Joseph-Eugene Winzer
85aa1985ac SUPERNOVA: Reformatting 2018-01-22 23:17:48 +00:00
Joseph-Eugene Winzer
bd48a32c5a SUPERNOVA: Convert 18bit VGA to 24bit CLUT8
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-22 21:16:37 +00:00
Joseph-Eugene Winzer
8e55efa748 SUPERNOVA: Fix OOB write in paletteBrightness()
Palette color 255 doesn't seem to be used
2018-01-22 21:16:37 +00:00
Joseph-Eugene Winzer
0c72f52ad8 SUPERNOVA: Add palette fade in/out 2018-01-22 21:16:27 +00:00
Joseph-Eugene Winzer
ca8c87ff2e SUPERNOVA: Fix image palette loading
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-22 19:31:42 +00:00
Joseph-Eugene Winzer
332763e825 SUPERNOVA: add renderBox() 2018-01-22 19:31:42 +00:00
Joseph-Eugene Winzer
9b4bade4f6 SUPERNOVA: fix palette corruption on decoding 2018-01-22 19:31:39 +00:00
Joseph-Eugene Winzer
ec0d557697 SUPERNOVA: (TEMP COMMIT) drawing to screen surface 2018-01-22 19:30:54 +00:00
Joseph-Eugene Winzer
64e6673d10 SUPERNOVA: Added basic game loop and play sound samples
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.
2018-01-22 19:28:18 +00:00