Age | Commit message (Collapse) | Author |
|
This may come back in the future to deduplicate some gfx code,
but SCI32 had two different inlined ways of doing coordinate
conversions with different rounding methods, so CoordAdjuster32
didn't get used when the graphics system was rewritten.
At the moment, SCI32 code uses the mulru/mulinc methods from
helper.h for scaling up/down coordinates.
|
|
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 only calling code for this was removed in commit 3f2469c33ed6017d3c385fbbfd01a4e690987fbc
|
|
|
|
kCelInfo subop 4 returns the pixel color at the
passed in x,y coordinates for the passed in view,
loop, cel. Shivers uses this function for the
red door puzzle, room 23601 to determine what
blocks on the puzzle board are already occupied
by pieces.
|
|
|
|
(fixes Wolfgang closeup, room 720)
|
|
bit 2 actually triggers special drawing of cels in sierra sci
svn-id: r53855
|
|
fixes laura bow 2 (especially floppy but CD is also affected somewhat by this)
svn-id: r51660
|
|
fixes cels being placed wrongly, sci0early didnt have the z adjust.
svn-id: r51537
|
|
svn-id: r51276
|
|
somewhat fixes gk1 hires inventory issue
svn-id: r51245
|
|
svn-id: r50533
|
|
The return value of GfxView::getCelInfo was used virtually everywhere
without a check for it being non-NULL. Hence instead of returning
NULL when the loop count is zero, it makes more sense to assert out
(instead of a segfault, or worse, random data being used).
svn-id: r50422
|
|
This helps to ensure proper data encapsulation.
Also reformatted some overlong comments to 80 chars per line, and
fixed some other code formatting issues.
svn-id: r50421
|
|
has a broken picture 0 resource, which would result in either crash or at least bad read from memory depending on whats read there
svn-id: r50178
|
|
svn-id: r47904
|
|
svn-id: r47891
|
|
sq6)
svn-id: r47873
|
|
now called directly w/o SciGui
svn-id: r47752
|
|
gfxcompare, gfxpaint16, gfxcache. kernel uses gfxports directly w/o going through SciGui
svn-id: r47745
|
|
corruption)
svn-id: r47661
|
|
variables from View::draw, gfx calls drawScaled() when scaleX/Y != 128, getting scaled rect inside kAnimate()
svn-id: r47322
|
|
svn-id: r47319
|
|
svn-id: r47267
|
|
to signed char for sci1 displaceX - should fix wii flickering and incorrect cel placement problems
svn-id: r47257
|
|
still need to fix coordinates and implement save/restoreBits for hires
svn-id: r47116
|
|
- Removed the custom types MemoryHandle, LoopNo, CelNo (cause we ended up having code like LoopNo loopNo = ...)
- Improved the sanity checks in frameOut()
svn-id: r47087
|
|
svn-id: r47027
|
|
svn-id: r47009
|