Commit graph

1219 commits

Author SHA1 Message Date
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
Vsevolod Kremianskii
c3ba96b222 Rename rp folder in libgame into d20 2021-03-27 10:27:50 +07:00
Vsevolod Kremianskii
6a17b286e9 Cleanup Routines, unify code style in routine implementations 2021-03-26 16:44:24 +07:00
Vsevolod Kremianskii
f124889100 Optimize SceneGraph.prepareGrass
Cull early grass clusters that are too far away.
2021-03-25 00:45:20 +07:00
Vsevolod Kremianskii
80061cc43f Drop Action source files
They were redundant.
2021-03-25 00:34:31 +07:00
Vsevolod Kremianskii
d40e4550fb Cleanup ByteCode handler registration 2021-03-25 00:12:16 +07:00
Vsevolod Kremianskii
eee68dad71 Add getEnum helper function to Routines 2021-03-25 00:07:32 +07:00
Vsevolod Kremianskii
70956e438d Store ExecutionContext as a smart pointer in Variable
This is to save space.
2021-03-24 23:51:42 +07:00
Vsevolod Kremianskii
50584354ad Replace Variable ctors with static factory functions
This is to make variable creation more robust at the cost of being more
verbose.
2021-03-24 23:12:44 +07:00
Vsevolod Kremianskii
07de49a78b Use macros to declare routine implementations 2021-03-24 22:16:59 +07:00
Vsevolod Kremianskii
fe683324e2 Implement more combat-related script routines 2021-03-23 22:41:33 +07:00
Vsevolod Kremianskii
c6deb588ec Implement more combat-related routines 2021-03-23 20:46:05 +07:00
Vsevolod Kremianskii
8a7885e19e Implement get*Target combat routines 2021-03-23 19:59:16 +07:00
Vsevolod Kremianskii
581984f7c0 Implement Get/SetNPCAIStyle 2021-03-23 18:37:16 +07:00
Vsevolod Kremianskii
59db8ae15c Implement GetRacialType routine 2021-03-23 17:35:14 +07:00
Vsevolod Kremianskii
d3e6a859af Add global variable to toggle shipBuild return value 2021-03-23 16:17:52 +07:00
Vsevolod Kremianskii
9e436508bd Implement perception criteria when searching for nth nearest creature 2021-03-23 16:05:19 +07:00
Vsevolod Kremianskii
ff9d939c32 fix: Invert the order of components when reading vector from stack 2021-03-23 15:42:08 +07:00
Vsevolod Kremianskii
d58c356ef4 Add line-of-sight check to perception 2021-03-23 15:36:56 +07:00
Vsevolod Kremianskii
6d35fdb455 Implement creature perception (sight and hearing) 2021-03-23 15:01:25 +07:00
Vsevolod Kremianskii
9c5be9b87a Refactor resource management
- Move GameID into libgame
- Move resource provider registration into Game
- Move GUI background loading into GameGUI
2021-03-23 13:21:24 +07:00