Commit Graph
118490 Commits
Author SHA1 Message Date
Strangerke f4a7bf910d TRECISION: rename some comments in Sound, rework a bit soundtimer 2021-05-29 21:24:24 +01:00
Strangerke 299551b0fd TRECISION: Use Common::Point in several places instead of 2 int16 2021-05-29 21:24:24 +01:00
Strangerke 3bc1ec607d TRECISION: get rid of sysdef.h 2021-05-29 21:24:24 +01:00
Filippos Karapetis dbe1fddb0e TRECISION: Move _screenBuffer and change it to a Graphics::Surface 2021-05-29 21:24:24 +01:00
Filippos Karapetis a65cca4c7e TRECISION: Draw the first animation frame fully
Fixes some of the animation glitches
2021-05-29 21:24:24 +01:00
SupSuper 24e9483cc4 TRECISION: Yet another fix to seeking dialog videos 2021-05-29 21:24:23 +01:00
SupSuper 6e042dba1b VIDEO: Allow setting _lastTimeChange in overridden classes 2021-05-29 21:24:23 +01:00
Filippos Karapetis f597204547 TRECISION: Simplify and fix sortTable initialization 2021-05-29 21:24:23 +01:00
Filippos Karapetis 9052efb497 TRECISION: Simplify alt room initialization 2021-05-29 21:24:23 +01:00
Filippos Karapetis 450ae98a19 TRECISION: Split control panel initialization 2021-05-29 21:24:22 +01:00
Filippos Karapetis e1e3ea3bd1 TRECISION: Move isCloseupOrControlRoom() to LogicManager 2021-05-29 21:24:22 +01:00
Strangerke 17373849d1 TRECISION: Remove text.text.cpp 2021-05-29 21:24:22 +01:00
Strangerke 4c54b6ea46 TRECISION: Move 3 variables out of globvar, remove globvar.cpp, process.cpp and extern.h 2021-05-29 21:24:22 +01:00
Filippos Karapetis a263e7aa11 TRECISION: Group the exit mouse handling code 2021-05-29 21:24:22 +01:00
Filippos Karapetis 492712d699 TRECISION: Refactor the visual references code
The dirty rect code already checks for intersecting rects, so this code
is redundant. Also, the way it was changed, it produced clipping bugs
in cases like climbing up/down staircases, which are now gone.
Also, this allows to change the _sortTable into a list.
Finally, the room object index is now calculated when the object's
dirty rect is added, which simplifies the room object index code.
2021-05-29 21:24:21 +01:00
Filippos Karapetis d1c8992780 TRECISION: Rename _index to _objectId, remove _curFrame 2021-05-29 21:24:21 +01:00
Filippos Karapetis 11ec5214dd TRECISION: Refactor sortTable as a Common::Array 2021-05-29 21:24:21 +01:00
Filippos Karapetis 303ece965e TRECISION: Refactor object visibility
- Added methods to toggle and query object visibility
- Added methods to update object animations
- All dirty rect handling is done inside setObjectVisible()
- The above allows the complete removal of the associated object
  visibility methods and variables (RegenRoom(), PaintRegenRoom(),
  VideoObjStatus, OldObjStatus
- Object dirty rects are now set once when the room changes in
  InitRegenRoom(), and are updated when any call to change object
  visibility is made to setObjectVisible()
2021-05-29 21:24:21 +01:00
Filippos Karapetis 6b33fe9eac TRECISION: Init _pathFind and _renderer 2021-05-29 21:24:20 +01:00
Filippos Karapetis 08f471fabe TRECISION: Remove the unused actor y coordinates 2021-05-29 21:24:20 +01:00
Strangerke 3e1d8219cd TRECISION: Reduce redirectionsin goToPosition, pointOut and viewPanel 2021-05-29 21:24:20 +01:00
Strangerke 8286d47ca9 TRECISION: Reduce the number of redirections in nextStep, remove g_vm in 3D.cpp 2021-05-29 21:24:20 +01:00
Strangerke a0484e8abd TRECISION: Remove some dead code in buildFramelist 2021-05-29 21:24:20 +01:00
Strangerke 54f94a74ec TRECISION: move distance functions to utils, some comment renaming 2021-05-29 21:24:19 +01:00
Strangerke adf880c1be TRECISION: Remove 3dact.cpp 2021-05-29 21:24:19 +01:00
Strangerke 85fa769d35 TRECISION: Move some global code to a new class PathFinding3D (WIP) 2021-05-29 21:24:19 +01:00
Filippos Karapetis 2b8d915547 TRECISION: Document all dialogs / cutscenes 2021-05-29 21:24:19 +01:00
Filippos Karapetis 891d522877 TRECISION: Split the playDialog() calls out of endChangeRoom() 2021-05-29 21:24:19 +01:00
Strangerke afcc3a724e TRECISION: Make some functions private in Renderer3D 2021-05-29 21:24:18 +01:00
Strangerke 4eeb08e89a TRECISION: Stop returning a dummy value in read3D 2021-05-29 21:24:18 +01:00
Strangerke 3094e4ba68 TRECISION: Move 3Drend into a renderer class 2021-05-29 21:24:18 +01:00
Strangerke 982c0d1444 TRECISION: Reduce the number of redirections in 3Drend 2021-05-29 21:24:18 +01:00
Strangerke e8dc735181 TRECISION: Move the camera and light loading code to Actor, some polishing 2021-05-29 21:24:17 +01:00
Strangerke 29e4d40ca3 TRECISION: Rename readActor into readModel, make some more variable unsigned 2021-05-29 21:24:17 +01:00
Strangerke c6f05ae53b TRECISION: Move two functions to Actor, fix some warnings by using some unsigned variables and parameters 2021-05-29 21:24:17 +01:00
Filippos Karapetis 273b88f8d1 TRECISION: Remove initNames() and its hardcoded texts
_objName, _sentence and _sysText are fully initialized in LoadAll().
These variables are not used before LoadAll() is called, so this is
safe to remove
2021-05-29 21:24:17 +01:00
Filippos Karapetis a4737f7141 TRECISION: Remove more unused animation definitions 2021-05-29 21:24:17 +01:00
Filippos Karapetis 038346ded1 TRECISION: Rename some animations and remove some unused ones 2021-05-29 21:24:16 +01:00
Filippos Karapetis 61400b8559 TRECISION: Split actions out of endChangeRoom() 2021-05-29 21:24:16 +01:00
Filippos Karapetis 371c99e535 TRECISION: Clean up startSmkAnim() 2021-05-29 21:24:16 +01:00
Strangerke 4cabf0e165 TRECISION: Fix some warnings, some renaming and polishing 2021-05-29 21:24:16 +01:00
Filippos Karapetis 9c4727ee8c TRECISION: Simplify setVideoRange() 2021-05-29 21:24:16 +01:00
Filippos Karapetis 26796e53cc TRECISION: Fix several Smacker video issues
- The frames in Trecision start from 1, whereas they start from 0 in
ScummVM
- Chop off extra frames in DialogManager::playChoice()
2021-05-29 21:24:15 +01:00
Filippos Karapetis b858978ec3 TRECISION: Simplify dirty rects code 2021-05-29 21:24:15 +01:00
Filippos Karapetis a87ba5fdb2 TRECISION: Override endOfVideo() to check for frame numbers 2021-05-29 21:24:15 +01:00
Filippos Karapetis ba007cfd2b VIDEO: Allow endOfVideo() to be overriden
This is useful for Nightlong, which uses frame count to check for the
end of an animation
2021-05-29 21:24:15 +01:00
Filippos Karapetis 05da94bdea TRECISION: Check for animation frames in handleEndOfVideo()
This fixes the animation in the werewolf room, which kept looping
without returning control back to the player. A regression from
4a8b32b0556ae191a29538a12054da9f549c8244
2021-05-29 21:24:15 +01:00
Filippos Karapetis 3bfb6d0ea4 TRECISION: Simplify doMouseInventory() 2021-05-29 21:24:14 +01:00
Filippos Karapetis baf34e1fa4 TRECISION: Remove dead code (_flagScreenRefreshed flag)
It's set to true in ProcessTime() which is the first function to run
inside the game loop. Afterwards, it's never set to false, so
practically it's always true
2021-05-29 21:24:14 +01:00
Filippos Karapetis db1afeb733 TRECISION: Remove dead code
- FromSomeOneSay is always false
- _flagSkipEnable is always true after someone starts talking and is
  never set to false
- _flagSkipEnable is a uint16 and can never equal 99999 (bug from
  the original code)
2021-05-29 21:24:14 +01:00