Zhiqi Yin
efa9717c69
SCUMM HE: Bug fix for moonbase stack memory corruption
...
What:
The bug is reproducible in the following ways:
1. quiting the game
2. enter challenge mode state 2, when the game starts move mouse around
the menu buttons (choose building or weapons)
Observed behavior: In he/wiz_he.cpp:2839, the function failed to return since
the stack around variable 'color' was corrupted. The game will crash then.
Analysis:
Since other function will modify memory area around local variable 'color',
the bug shoud be caused by memory overwritten. The memory write happens
in this modified file. From the code, it only wants to write a certain amount
of pixels. So I found 2 places where more pixels are written. This causes
stack memory corruption.
Fix:
Add checking. If we have written enough pixels then break.
Testing:
The game UI looks correct. Single player mode game is tested.
Bug no longer observable. Tested for both cases mentioned above.
2019-03-12 00:25:25 +01:00
Alexander Tkachev
7ac4bddfa9
HE: Add Moonbase Net dummy
2016-08-30 23:26:29 +02:00
Eugene Sandulenko
36526cb27b
SCUMM HE: Moved Moonbase to ScummEngine_v100he
2016-05-26 21:30:02 +02:00
Eugene Sandulenko
edb8e6865b
SCUMM HE: Eliminated global _vm reference in Moonbase AI
2016-05-26 21:22:30 +02:00
Eugene Sandulenko
2b5ecc4f88
SCUMM HE: Wrapped Moonbase AI into a class
2016-05-26 21:06:43 +02:00
Eugene Sandulenko
056c5a7ae7
SCUMM HE: Fixed SCUMM wrapper for nuking array in U32.
...
This was leading to an out of bounds assert.
2016-05-26 12:16:04 +02:00
Eugene Sandulenko
ed5adcbc59
SCUMM HE: Fix bug with parameter initialization, add more debug output
2016-05-24 11:07:48 +02:00
Eugene Sandulenko
44333f7453
SCUMM HE: Added main Moonbase AI code
2016-05-22 00:45:05 +02:00
Eugene Sandulenko
26b5416433
SCUMM HE: Moved Moonbase stuff to v90he
2016-05-22 00:45:04 +02:00
Eugene Sandulenko
e4de5bf9ce
SCUMM HE: Added implementation for Sortie and DefenderUnit classes
2016-05-22 00:45:04 +02:00
Eugene Sandulenko
1585727ee0
SCUMM HE: Fix T14 special mode blending.
...
This fixe energy shield color.
2016-05-13 00:27:37 +02:00
Eugene Sandulenko
8d08912d22
SCUMM HE: Implement 50/50 T14 blend mode
2016-05-12 18:25:10 +02:00
Eugene Sandulenko
c5ed11eaed
SCUMM HE: Merge in quad and singles code
2016-05-12 15:41:13 +02:00
Eugene Sandulenko
17832f2ab1
SCUMM HE: Fix picky Amiga port. Again
2016-05-12 13:08:08 +02:00
Eugene Sandulenko
a5f83f8058
SCUMM HE: Implemented Additive T14 blending mode
2016-05-12 10:54:34 +02:00
Eugene Sandulenko
543920a1d6
SCUMM HE: Started code for loading FOW resources
2016-05-10 18:07:36 +02:00
Eugene Sandulenko
200882277a
SCUMM HE: Initial code for Moonbase FOW
2016-05-10 11:23:13 +02:00
Eugene Sandulenko
b8f288873b
SCUMM HE: Fix premultiplied T14 calculation
...
We were hitting integer overflow which lead to shadow artifacts.
2016-05-04 22:53:46 +02:00
Eugene Sandulenko
ebeeb467c4
SCUMM HE: Fixes to T14 image clipping
2016-05-03 19:52:18 +02:00
Eugene Sandulenko
adf5129a2b
SCUMM HE: Clip T14 Wiz images properly
2016-05-03 12:23:51 +02:00
Eugene Sandulenko
b72890ea30
SCUMM HE: Implement premultiplied transparency rendering
2016-05-02 22:19:14 +02:00
Eugene Sandulenko
521b079495
SCUMM HE: Fix T14 output positions
2016-05-02 10:32:50 +02:00
Eugene Sandulenko
052f52747a
SCUMM HE: Bugfix T14 decoder
2016-05-02 09:37:17 +02:00
Eugene Sandulenko
148a1a196c
SCUMM HE: More work on T14 codec
2016-05-02 09:37:17 +02:00
Eugene Sandulenko
fcdbd2c066
SCUMM HE: Further work on T14 codec
2016-05-01 16:51:08 +02:00
Eugene Sandulenko
73b8dfe5ce
SCUMM HE: Initial code for Moonbase-specific class
2016-04-29 22:22:20 +02:00