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
Vsevolod Kremianskii
32bc207b14
Check MDL signature as part of BinaryReader.load
2021-03-23 11:05:17 +07:00
Vsevolod Kremianskii
ecba6c70b6
When reading MDL, determine game by function pointers
2021-03-23 10:58:55 +07:00