Commit Graph
124 Commits
Author SHA1 Message Date
athrxx 7bfbc85cb5 KYRA: (EOB) - prevent invalid graphics mode settings
(This could happen e. g. when selecting Amiga rendering
from the global menu)
2024-11-28 01:50:50 +01:00
athrxx d69a62e4e5 KYRA: (EOB) - make item table size dynamic
The original item table can overflow when playing long
enough. This code change prevents that....
2024-11-28 01:50:42 +01:00
athrxx 5109cd081f KYRA: minor cleanup
(add/rename some constants, whitespace)
2024-11-24 17:06:32 +01:00
athrxx 7dea98e89c KYRA: (EOB) - remove unnecessary comments
I verified some code parts from disasm at the request of
contributor vrza. The double-checked code turned out to
be correct for EOB I and EOB II. This commit just removes
the comments telling me what to check.
2024-10-31 01:48:30 +01:00
Vladimir Vrzić e31c7ff1d4 KYRA: (EOB) - Fix projectile weapon damage
Note: All changes are behind the "Faithful AD&D rules" flag.

Fix a bug in the original gmaes, where projectiles would deal
an incorrect amount of damage (always 1d1):

- projectile weapon id is attached to a FlyingObject and checked
  when FlyingObject hits a monster or the party

- bump the save format version to add a new field to FlyingObject
  (the new 16 bit field replaces the existing unused 8 bit field)

- fix a bug in the original code where a projectile weapon thrown into
  the 3D view would inflict projectile damage (should be 1d1)

- patch EotB 1 Bow and Sling damage according to AD&D 2nd Ed rules

Elves get +1 to hit bonus with bows and swords, according to manual

Patch EotB 1 NPCs Beohram (paladin) and Ileria (female)
2024-10-23 21:58:38 +02:00
Eugene Sandulenko f35a538d4f I18N: Unified "Move Backwards" keymapper key caption 2024-10-10 14:43:55 +02:00
Hubert Maier e84c6751fb JANITORIAL: KYRA: Fix typos 2024-09-11 11:57:08 +03:00
Vladimir Vrzić 4d43273197 KYRA: (EOB) - More Hit Point code refactoring
- extracted method shouldRollHitDieAtCurrentLevel
- extacted method getStaticHitPointBonus.
2024-07-23 23:48:00 +02:00
Vladimir Vrzić 46c194001d KYRA: (EOB) - Hit Point rule enahncements
For accurate HP calculation, we track the HP dividend.
When leveling up, we divide the dividend by the number
of character subclasses to get the total Hit Points.

- Added field hitPointsDividend
- Cleaned up and refactored HP calculation code
- Extracted method rollHitDie
- Updated character generation to use enhanced rules
2024-07-23 23:48:00 +02:00
athrxx f80a82ed13 KYRA: (EOB) - add some optional add rule enhancements
(suggestions from @vrza
https://github.com/scummvm/scummvm/pull/5946 )
2024-07-22 15:10:15 +02:00
athrxx 29cafca8bf KYRA: (EOB) - add launcher checkbox for more faithful AD&D rules
(community suggestion)

I have been told that the implementation is  not always in line with the
AD&D 2nd edition handbook. This switch allows to have more faithful
rules if we implement them as an alternative.
2024-07-22 15:09:44 +02:00
athrxx 165a231d4c KYRA: (EOB) - formatting 2024-07-22 15:06:55 +02:00
athrxx 9d0d57a353 KYRA: (EOB) - prevent invalid mem access
The return from getCharacterClassType() can be -1. I don't
think it really happens but it will for sure trigger the static
analyzers
2024-07-20 20:30:29 +02:00
Vladimir Vrzić 4e54b5cdb9 Fixed _hpIncrPerLevel table lookup 2024-07-20 20:13:21 +02:00
sluicebox 98db6aa402 KYRA: Remove delete nullptr. PVS-Studio V575
`releaseShpArr` deletes the pointer and sets it to nullptr
2024-03-20 17:26:47 -07:00
athrxx 8040f2a8ce KYRA: (EOB II/ZH) - fix party/inventory/stats pages 2023-07-18 21:36:20 +02:00
athrxx 6e9f7abc7b KYRA: (EOB II/ZH) - fix dialogue buttons
I have tested only the dialgue sequences in the forest
and in the temple entrance hall, but these now look
accurate when comparing to DOSBox
2023-07-11 14:35:10 +02:00
athrxx 1831f02c36 KYRA: (EOB/LOL) - reduce text displayer hacks
Trying to make this code a bit less ugly. It has been
hacked up by basically every Japanese and Chinese
version in different ways. This is a start to revert some
of the hacks.
2023-07-11 14:34:56 +02:00
athrxx 5e8333f638 KYRA: (EOB II/ZH) - fix/improve text display
The text display glitches in many different ways, since the
original devs did some pretty ugly hacks that we have to
emulate somehow. This commit fixes a couple of things
(spacing, pixel/line overdrawing, shadow, original
linebreak style). There are still several things that have to
be addressed separately, like various text colors, the
whole character portrait/stats pages, etc.
2023-07-11 14:34:52 +02:00
athrxx 861d0008b5 KYRA: (EOB II/PC98) - fix game over load dialog font 2023-06-02 17:04:20 +02:00
athrxx 0d206f65a1 KYRA: (EOB) - fix minor menu graphics glitch 2023-06-02 17:04:19 +02:00
athrxx 320c2f6983 KYRA: (EOB II/PC98) - fix some more text glitches 2023-06-02 17:04:19 +02:00
athrxx 77976efabe KYRA: (EOB II/PC98) - fix party transfer JIS font conversion
(this allow proper import from EOB I PC98 which uses a JIS X 0201 encoding)
2023-05-12 14:52:51 +02:00
athrxx 7c43617dc5 KYRA: (EOB II/PC98) - more text/font related work and cleanup 2023-05-12 14:52:37 +02:00
athrxx 57077022f2 KYRA: (EOB) - fix level music glitch 2023-05-12 14:51:11 +02:00
athrxx 6ae5b0d6b3 KYRA: (EOB II/PC98) - more work on the text display 2023-05-12 14:51:03 +02:00
athrxx 8d339d00df KYRA: (EOB II/PC98) - font/layout fixes 2023-05-12 14:50:59 +02:00
athrxx 99d8f6146c KYRA: (EOB II/PC98) - adapt file formats
(The quickstart party can now already be loaded)
2023-05-12 14:50:56 +02:00
athrxx 19dbab27da KYRA: (EOB II/PC98) - fix startup
- intro will run with glitchy text and without sound
- main menu will show, but also slightly glitched
2023-05-12 14:50:51 +02:00
athrxx 141c62eaa9 KYRA: (EOB II/PC98) - add static resources
(also make some initial adjustments to the code, but it will throw an assert for now)
2023-05-12 14:50:46 +02:00
Vladimir Serbinenko 1e6b5eeae4 KYRA: Add 2x height-scaled font for Chinese eob2
This takes BIOS font and height-stretches it 2x just like the original
2023-04-29 13:37:45 +02:00
Vladimir Serbinenko 3904b79aa5 KYRA: Handle "taken" in Chinese EOB2. 2023-04-29 13:37:45 +02:00
athrxx 6bd08e1627 KYRA: code style fixes 2022-10-09 03:08:03 +02:00
athrxx b54f6adcb7 KYRA: more coding style and sanity checking cleanup 2022-09-23 21:37:55 +02:00
athrxx 3a49ea6248 KYRA: reduce unsafe string ops
(replace all strcpy calls and similar fixes)
2022-09-22 21:01:16 +02:00
athrxx e14afbf282 KYRA: init non-initialized member vars 2022-09-20 23:10:27 +02:00
athrxx d8004bebba KYRA: add more metadata to savegames
(creation date/time and playing time)
2022-05-22 19:57:46 +02:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 14f516282c KYRA: Replace new[]/memset with new[]() 2021-11-10 19:53:15 +01:00
Cameron Cawley ef0048fa77 COMMON: Add standard actions for mouse button clicks 2021-04-06 11:15:42 +03:00
athrxx f1f8214f3b KYRA: (EOB/SegaCD/Japanese) - text related fixes and cleanup 2020-11-29 21:24:15 +01:00
athrxx 6bcad5fdf3 KYRA: (EOB/SegaCD/Japanese) - add detection and static resources 2020-11-29 21:23:46 +01:00
Eugene Sandulenko be8d57653b JANITORIAL: Whitespace cleanup 2020-08-27 12:24:03 +02:00
Eugene Sandulenko 1d33b01243 KYRA: EOB: Fix keymapping descriptions 2020-08-27 12:24:03 +02:00
athrxx 3f753e80a7 KYRA: (EOB/SegaCD) - fix playing timer and time stamps 2020-07-30 22:19:23 +02:00
athrxx 2b2e90c8c6 KYRA: (EOB/SegaCD) - improve/cleanup sequence player 2020-07-30 22:19:23 +02:00
athrxx dda1559f03 KYRA: (EOB/SegaCD) - SegaCD sound effect adjustments 2020-07-30 22:19:21 +02:00
athrxx 8e800d44b1 KYRA: (EOB/SegaCD) - add sound driver 2020-07-30 22:19:21 +02:00
athrxx 5e276286ae AUDIO/GUI: add SegaCD sound settings 2020-07-30 22:19:21 +02:00
athrxx fb9f6ba4a5 KYRA: (EOB) - allow return to launcher from gameover screen 2020-07-30 22:19:20 +02:00