Age | Commit message (Collapse) | Author |
|
This is used by Torin in room 50900.
|
|
This commit implements all of the known plane transitions from
SCI2 through SCI2.1mid games. Because kSetShowStyle is always
called indirectly via the Styler game script, it is difficult to
find all the places where transitions are used. As such,
transitions that appeared to never be used have been added as
stubs which will trigger a game crash with a message to report
what was being done, so any missed transition types can be
identified quickly and then implemented.
|
|
|
|
With the addition of the transparent pic type code, the _type
property would be read uninitialised by setType if _pictureId was
set to kPlanePic.
CID 1357230, 1357231.
|
|
CID 1357229.
|
|
It is not clear if this is ever actually used by game scripts,
though.
|
|
This pass exposed two bugs, which have been fixed:
1. Checks of `_updated` and `_moved` were reversed in some areas,
which lead to rendering bugs. In SQ6 the rendering bugs were
subtle or non-existant, but in e.g. PQ:SWAT the Sierra logo and
title screen animations were totally missing.
2. The renderer formerly kept reading from ScreenItemLists when
new items were added in decrementScreenItemArrayCounts, but
this was determined to be unnecessary.
|
|
Remap would crash SCI2.1early games with 19 remap slots, and
did not actually work in most cases in SCI2.1mid+ games.
The SCI16 implementation was moved to its own separate file but
was otherwise touched as little as possible, so may still have
similar problems to the SCI32 code.
1. Split SCI16 and SCI32 code into separate files
2. Use -32 prefixes for SCI32 code and no prefix for SCI16 code,
where possible, to match other existing code
3. Avoid accidental corruption of values from the VM that may be
valid when signed or larger than 8 bits
4. Added documentation
5. Add missing remap CelObj calls
6. Inline where possible in performance-critical code paths
7. Fix bad `matchColor` function, and move it from GfxPalette to
GfxRemap32 since it is only used by GfxRemap32
8. Fix bad capitalisation in getCycleMap
9. Remove unnecessary initialisation of SingleRemaps
10. Update architecture to more closely mirror how SSCI worked
11. Clarify the purpose of each type of remap type (and
associated variable names)
12. Split large `apply` function into smaller units
13. Fix buffer overrun when loading a SCI2.1early game with remap
14. Remove use of `#define` constants
15. Warn instead of crashing with an error on invalid input (to
match SSCI more closely)
16. Change the collision avoidance mechanism between the RemapType
enum and remap kernel functions
17. Add save/load function
|
|
The old name matches the selector, but isn’t as clear.
|
|
These fields were written and never read in SSCI.
|
|
Thanks to snover for noticing this
|
|
Still not working
|
|
Any reason why flipping this condition did anything to GK1
rendering was due to other unrelated bugs in the renderer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This adds a slightly more accurate comparison algorithm that will
at least ensure that all the engine-generated planes and screen
items with matching priorities will be sorted above
script-generated planes and screen items, like in the original
engine. It still does not sort script-generated items by memory
handle order, so if that is ever a thing that actually happens,
those may still be in the wrong order.
|
|
|
|
|
|
|
|
Adding consts to try to isolate rectangles that change during
draw list processing, to be investigated for incorrect mutations
causing lower screen items to be drawn over higher screen items at
their edges.
|
|
These changes should cause ScummVM to be more accurate in edge
case rounding.
|
|
|
|
|
|
It was comparing ScreenItem*'s directly, instead of objects.
|
|
The old one would continue reading from outerRect after it was deleted.
|
|
1. Reorder member initialisations to match class member order
2. Use #pragma mark instead of comments for annotating sections
3. Remove useless >=0 checks on unsigned types
|
|
|
|
|
|
|
|
|