Commit Graph
229 Commits
Author SHA1 Message Date
Matthew Jimenez 4088b9a4f0 ULTIMA8: Combine RenderSurface and BaseSoftRenderSurface
In Pentgram RenderSurface was intended to be an interface with the possiblity of alternate implementations to the software-render derived classes. Removing this will allow for further removal of now-redundant code.
2022-12-15 23:34:49 -06:00
Matthew Jimenez a016f1497d ULTIMA8: Split minimap generation into a separate class from the gump 2022-12-07 17:02:23 -06:00
Paul Gilbert 4284ca5773 ULTIMA: NUVIE: Fix spelling of view.cpp 2022-05-14 17:09:35 -07:00
Matthew Duggan f84b967b32 ULTIMA8: Rename remorse_* to cru_* for things also used by No Regret
This is a simple renaming with no functionality change.  I originally named
some classes Remorse* but they were also useful as-is in Regret.  This gives
them the more generic Cru prefix for consistency with a bunch of other classes
that already use it.
2021-07-04 11:49:52 +09:00
Matthew Duggan 3f06d0b74a ULTIMA8: Add Crusader demo screen
This is used on demo versions of No Remorse and No Regret.
2021-07-04 11:49:37 +09:00
Matthew Duggan b697358e2e ULTIMA8: Implement Crusader: No Remorse credits 2021-06-24 08:44:08 +09:00
Matthew Duggan f49f2dfde7 ULTIMA8: Add BoboBoomer and RollingThunder processes from No Regret
Also add the customizations to the tookHit function that exist in No Regret -
particularly, different SFX that get played depending on the NPC shape.

RollingThunder is just a stub process for now - needs implementing.
2021-05-31 20:51:46 +09:00
Matthew Duggan 352f7593e8 ULTIMA8: Implement Crusader AutoFirer Process 2021-05-04 21:37:15 +09:00
Matthew Duggan e000b92ab9 ULTIMA8: Add Crusader difficulty selector menu
Finally allows also fixing new game creation from within game, and resuming
previous savegame by default like U8 does.
2021-05-02 09:49:20 +09:00
Matthew Duggan dbad8518dc ULTIMA8: Implement Crusader style pathfinder 2021-03-28 12:56:53 +09:00
Matthew Jimenez f8b04aa9d5 ULTIMA8: Remove dead code in Ultima8::istring 2021-02-24 21:08:28 -06:00
Matthew Jimenez 7095264443 ULTIMA8: Move remaining CoreApp code into Ultima8Engine 2021-02-12 22:43:51 -06:00
Matthew Jimenez d6e9685d6a ULTIMA8: Remove dead code from old command line argument parsing 2021-02-12 21:17:51 -06:00
Matthew Jimenez 4567eefaaa ULTIMA8: Replace custom ini file handling with Common::INIFile
This change also removes the pathed keys in favor of distinct category and section variables.
2021-02-03 19:46:26 -06:00
Matthew Jimenez f77102639d ULTIMA8: Remove SettingManager and thus finally eliminate pentagram.ini 2021-02-02 20:32:06 -06:00
Matthew Jimenez 25852a0720 ULTIMA8: Remove dead code around old built-in data file handling 2021-02-01 23:51:07 -06:00
Cameron Cawley 94b382e69a ULTIMA: Remove wrappers around stdlib functions 2021-01-15 22:40:36 -08:00
Matthew Duggan 28bb304812 ULTIMA8: Graphics refactor, use more common code
Try to use more of the built-in ScummVM rendering pipeline and remove redundant
types where possible.  Unfortunately this is a bit of a mega-commit because all
the pieces were tied together, but the main changes are:

* Remove the Texture types, as they add little over ManagedSurface
* Remove the ScalerGump as we no longer use it - we should be using the
  built-in ScummVM scalers
* Remove the Scaler types - the only remaining user after removing ScalerGump
  was in hte AVI player.  There we manually add the Crusader style interlaced
  scaling, which was an outstanding TODO anyway.
* Remove now-unused functions from the RenderSurface family
* Remove the "default" mouse cursor as we never use it in ScummVM
* Remove the memset_n header which duplicates Common::Fill functions (fixes
  #11969)
* Remove the fixed-width bitmap fonts which were used for the Pentagram
  console.

I've tested the following things that this had the potential to break:

* U8 game, credits, movies, minimap, and ttf rendering
* Crusader game and movies
* Debug tools (shape viewer, touch-highlight)
2021-01-04 09:08:20 +09:00
Cameron Cawley dbfb54255a ULTIMA4: Remove unused FileSystem classes 2020-12-28 15:14:47 -10:00
Matthew Duggan d66745b5fd ULTIMA8: Add Weasel (shop) gump for Crusader 2020-12-27 08:45:36 +09:00
Matthew Duggan 31907819a0 ULTIMA8: Split Crusader movement to separate class
Currently there is a lot of duplicated code, but this allows the Crusader
movement to be adjusted a lot to match the original without breaking U8
movement.
2020-12-24 14:00:15 +09:00
Matthew Duggan c5805bdef3 ULTIMA8: Add Crusader attack process.
This implementation is from No Remorse - have not compared with No Regret,
although its combat.dat file is identical so expect not many differences.  It's
also not complete yet (see TODOs in code), but it's most of the way there.
2020-10-30 22:17:49 +09:00
aryanrawlani28 29ceb07959 ENGINES: ALL: Revert detection submodule to be directly present in the engine directory
- DETECT_OBJS are present and added inside an engine's modules.mk file.
2020-10-03 14:56:36 +02:00
aryanrawlani28 8189a05316 ENGINES: ALL: Adapt to changes for new plugins by defining a new detection module
For each engine:
- Make a new folder detection
- Move detection-related files inside the folder
- Add a new module "enginename/detection"
- Add DETECT_OBJS here
- Adjust the normal engine module to remove detect_objs
- Adjust every file for the new changes.
2020-10-03 14:56:36 +02:00
aryanrawlani28 53c772aebb ULTIMA: Split detection features & adapt to new plugins. 2020-10-03 14:56:36 +02:00
Matthew Duggan f6c5fed173 ULTIMA8: Implement PaceProcess for Crusader NPCs 2020-10-03 21:30:33 +09:00
Matthew Duggan f021cfaff3 ULTIMA8: Basic code for firing weapons in Crusader
Still needs a lot of work, but this is a first cut and works (with many bugs).
2020-07-27 15:27:05 +09:00
Matthew Duggan 84eebe3e7d ULTIMA8: Add Crusader fire type data 2020-07-20 14:33:20 +09:00
Matthew Duggan 8ab251a0ec ULTIMA8: Remove duplicate code from target reticle process 2020-07-15 15:00:36 +09:00
Matthew Duggan 427d653683 ULTIMA8: Add loader for Crusader damage flex 2020-07-13 13:16:10 +09:00
Matthew Duggan 47ac672ff8 ULTIMA8: Add camera snap to Crusader 2020-07-10 12:26:09 +09:00
Matthew Duggan 9704171836 ULTIMA8: Implement Crusader GuardProcess (WIP) 2020-07-08 17:03:02 +09:00
Matthew Duggan 3ecc3ae046 ULTIMA8: Add red crosshairs in Crusader 2020-07-08 17:03:02 +09:00
Matthew Duggan 71057ddefd ULTIMA8: Add environmental palette cycling like crusader 2020-07-07 14:40:36 +09:00
Matthew Duggan e2d33860fa ULTIMA8: Show item pickups in Crusader 2020-07-06 16:23:27 +09:00
Matthew Duggan 8016bbb426 ULTIMA8: Initial support for Crusader target reticle 2020-07-02 10:28:54 +09:00
Matthew Duggan 21059fef5d ULTIMA8: Load crusader combat tactics 2020-06-30 13:46:23 +09:00
Matthew Duggan b1fcbd5162 ULTIMA8: Implement Crusader computer gump 2020-06-26 19:00:46 +09:00
Matthew Duggan 128ee5ea97 ULTIMA8: Implement surrender process 2020-06-26 15:18:23 +09:00
Matthew Duggan a09add2af9 ULTIMA8: Load Crusader NPC data and use it for making NPCs 2020-06-25 13:44:21 +09:00
Matthew Duggan 35cf8527b3 ULTIMA8: Add crusader keypad gump 2020-06-22 16:17:22 +09:00
Matthew Duggan 8c7eb1959c ULTIMA8: Implement CruHealer and BatteryCharger processes 2020-06-22 16:17:22 +09:00
Matthew Duggan d5bd2826f6 ULTIMA8: Store crusader globals in byteset rather than bitset
The size parameter for Usecode globals in Crusader is only ever 1 or 2, so this
is a really minimal implementation.
2020-06-17 18:02:41 +09:00
Matthew Jimenez 2dcee0235b ULTIMA8: Remove hid_keys as Common::Event replaces it and remaining code is for double click / press tracking 2020-05-20 19:02:04 +09:00
Matthew Duggan 66f10c6dc8 ULTIMA8: Add a 'start crusader' process 2020-05-13 20:51:16 +09:00
Matthew Duggan 782313a037 ULTIMA8: Add gumps for displaying crusader status bar 2020-05-13 20:51:14 +09:00
Paul Gilbert 5d5b864dfa ULTIMA4: Move DungeonView into views/ 2020-05-09 22:11:29 -07:00
Matthew Jimenez df3e9e3b05 ULTIMA8: Remove custom memory manager from engine (#2227)
* ULTIMA8: Remove custom memory manager from engine
* ULTIMA8: Remove pent_include.cpp as it is empty
2020-05-09 14:55:49 +09:00
Paul Gilbert 23161b27dc ULTIMA4: Merge of sound manager into a single code file 2020-05-06 17:42:29 -07:00
Paul Gilbert 72ff61e5e5 ULTIMA4: Move views into their own subfolder 2020-05-03 12:49:27 -07:00