Commit graph

1389 commits

Author SHA1 Message Date
Vsevolod Kremianskii
2a95fbfb3f Ignore case when extracting BIF files 2021-04-12 13:42:14 +07:00
Vsevolod Kremianskii
66d2a68c45 Load all UTD fields 2021-04-12 13:42:06 +07:00
Vsevolod Kremianskii
75927cca92 Load all UTW fields 2021-04-12 11:45:55 +07:00
Vsevolod Kremianskii
0823cc1d5c Load all UTT fields 2021-04-12 11:20:07 +07:00
Vsevolod Kremianskii
44b96010bb Remove _facing from SpatialObject
It already has _orientation, which could be used to retrieve facing.
2021-04-12 10:15:17 +07:00
Vsevolod Kremianskii
99dc0a494b Load all UTS fields 2021-04-12 08:43:30 +07:00
Vsevolod Kremianskii
6df8c67403 Replace getInt with getEnum where applicable 2021-04-12 07:59:35 +07:00
Vsevolod Kremianskii
d5c9c6fdf8 Implement loading Encounter from GIT and UTE
Also:

- Add getEnum method to GffStruct
- Rename _heartbeat to _onHeartbeat
2021-04-12 07:55:03 +07:00
Vsevolod Kremianskii
1c6e3e05cc Revert to reading individual fields in MdlReader
This is to account for endianess.
2021-04-11 12:20:37 +07:00
Vsevolod Kremianskii
c95d00b1a3 Fix CI compilation with Boost::Endian 2021-04-11 07:27:50 +07:00
Vsevolod Kremianskii
5c9f7f6c21 Revert to writing individual fields in TlkWriter
This is slower, but takes endianess into account.
2021-04-11 06:52:23 +07:00
Vsevolod Kremianskii
e21f3c66bf Use Boost::Endian for byte order conversion
Less code to maintain and faster due to intristics.
2021-04-11 06:39:03 +07:00
Vsevolod Kremianskii
b00bb7bb00 Add tool to "unwrap" audio files 2021-04-10 16:49:12 +07:00
Vsevolod Kremianskii
6905d35e1f Implement JSON to TLK tool
While at it, make TLK to JSON tool output SoundResRef.
2021-04-10 15:13:52 +07:00
Vsevolod Kremianskii
ddb680c120 Separate TalkTable and TlkReader classes 2021-04-10 12:15:46 +07:00
Vsevolod Kremianskii
7b1847e324 Use high-precision clock in Stopwatch 2021-04-08 14:55:12 +07:00
Vsevolod Kremianskii
1830e87b87 Display damage ranges on equipment screen 2021-04-07 21:43:20 +07:00
Vsevolod Kremianskii
9c75b29493 Display hit points, attack and defense bonuses on equipment screen 2021-04-07 18:13:55 +07:00
Vsevolod Kremianskii
25dd7e3a4b Show defense and saving throws on the character screen 2021-04-07 17:27:50 +07:00
Vsevolod Kremianskii
e641da973e Display 3D model on character screen 2021-04-07 16:44:32 +07:00
Vsevolod Kremianskii
2e125d889c Rename RenderWindow to Window 2021-04-07 14:09:44 +07:00
Vsevolod Kremianskii
fa94998898 Fix CTD if movie file is not found 2021-04-07 14:04:03 +07:00
Vsevolod Kremianskii
bddee04453 Rename Game init/deinit to initSubsystems/deinitSubsytems 2021-04-07 14:01:30 +07:00
Vsevolod Kremianskii
4b0cd35fe4 Rename Program members 2021-04-07 13:51:38 +07:00
Vsevolod Kremianskii
2a6bb68088 Remove adding hard-coded follow action to followers
It is already assigned by the AI script.
2021-04-07 13:05:43 +07:00
Vsevolod Kremianskii
b789c1c9de Replace ModelSceneNode::Classification with ModelUsage 2021-04-07 12:26:17 +07:00
Vsevolod Kremianskii
1aa8e1f50d Load portraits by PortraitId first, Appearance_Type second 2021-04-07 11:51:44 +07:00
Vsevolod Kremianskii
1c91fc707f Replace portraitutil with Portraits class 2021-04-07 11:20:57 +07:00
Vsevolod Kremianskii
cf9667451f Fix distance check on perception 2021-04-07 09:10:53 +07:00
Vsevolod Kremianskii
970ea065f8 Add map-based getFromLookup* overloads 2021-04-07 09:04:45 +07:00
Vsevolod Kremianskii
b71284cd1f Explicitly mark swapBytes as inline 2021-04-07 08:44:20 +07:00
Vsevolod Kremianskii
9a8fe2ecaf Fix infinite loop on combat round deletion 2021-04-07 08:34:09 +07:00
Vsevolod Kremianskii
6014bfdb1e Store local variables in ScriptObject instead of Game 2021-04-06 23:51:34 +07:00
Vsevolod Kremianskii
2360a99e4b Store RunScriptVar in ExecutionContext instead of Game 2021-04-06 23:39:39 +07:00
Vsevolod Kremianskii
8b2613b717 Refactor blueprints
Blueprint loading is once again part of respective object classes. This
is because blueprints are not stateful and thus there is no need to
cache them separately.
2021-04-06 23:33:55 +07:00
Vsevolod Kremianskii
a9b840a264 Refactor combat so as to make it driven by the AI script 2021-04-06 12:01:49 +07:00
Vsevolod Kremianskii
097af6e93f Set "user action" flag on attack action added by player 2021-04-05 18:54:48 +07:00
Vsevolod Kremianskii
62ac46376f Reset selected and hilighted object hostility 2021-04-05 18:51:14 +07:00
Vsevolod Kremianskii
db3ee5fcb8 Run onUsed placeable scripts on click 2021-04-05 18:30:11 +07:00
Vsevolod Kremianskii
f006d0ea1a Enable loading modules from MOD files 2021-04-05 16:10:17 +07:00
Vsevolod Kremianskii
b72ab32248 Fix writing ERF/MOD files 2021-04-05 15:43:47 +07:00
Vsevolod Kremianskii
20501ba4ab Remove unused CombatState enum 2021-04-04 08:21:08 +07:00
Vsevolod Kremianskii
b6b66fdeec Add binary PTH to ASCII PTH tool 2021-03-31 15:24:00 +07:00
Vsevolod Kremianskii
9f955664fb Add tool to convert ASCII PTH to PTH
This is inteded to be used alongside KotorBlender.
2021-03-31 13:55:15 +07:00
Vsevolod Kremianskii
2730abb00b Fix refreshing the combat action queue, deactivate with delay 2021-03-29 20:03:43 +07:00
Vsevolod Kremianskii
c94432e1ae Fix color glitches in selection overlay 2021-03-29 14:37:00 +07:00
Vsevolod Kremianskii
fb876e216f Make animation resolving and model building part of Creature 2021-03-28 09:39:15 +07:00
Vsevolod Kremianskii
272fb6b0d4 Run end of combat round script for creatures 2021-03-27 19:14:49 +07:00
Vsevolod Kremianskii
a52e914b1b Ensure all scripting messages are written to script debug channel 2021-03-27 19:05:30 +07:00
Vsevolod Kremianskii
40e48cc02c Refactor combat to take advantage of k_ai_master
Still doesn't work properly.
2021-03-27 18:49:33 +07:00