Commit Graph

693 Commits

Author SHA1 Message Date
Vasilii Rogin a06a2c9c9c Use abstract class 2023-04-23 19:41:49 +03:00
Vasilii Rogin 4ed00c7bc0 Use unique_ptr for arrays 2023-04-23 19:31:15 +03:00
Vasilii Rogin 5b50673cf6 Merge remote-tracking branch 'alex/main' into add_party_member_list 2023-04-23 18:57:08 +03:00
Vasilii Rogin 43c847aba4 Rename data -> values 2023-04-20 22:15:00 +03:00
Vasilii Rogin 8385c673ac Add TODO 2023-04-20 20:50:46 +03:00
Vasilii Rogin 4a84e0c5ae Remove destructor 2023-04-20 20:50:04 +03:00
Vasilii Rogin 28411308e4 Remove move constructor 2023-04-20 20:49:29 +03:00
Vasilii Rogin 601f9ba164 SFallScriptValue updates 2023-04-20 13:12:11 +03:00
Vasilii Rogin 7ff024b5a3 Revert newline 2023-04-20 12:29:20 +03:00
Vasilii Rogin c30474d9ea Merge remote-tracking branch 'alex/main' into add_party_member_list 2023-04-20 12:28:24 +03:00
Alexander Batalov df3ac30de6 Add blocking objects opcodes 2023-04-20 11:22:47 +03:00
Alexander Batalov 6ca1329720 Add op_get_attack_type 2023-04-20 10:51:20 +03:00
Alexander Batalov 129361836f Add op_get_mouse_buttons 2023-04-20 10:31:32 +03:00
Alexander Batalov cf4921de1e Add op_tile_under_cursor 2023-04-20 10:25:13 +03:00
Alexander Batalov ecc6a8679b Add math opcodes 2023-04-20 09:53:50 +03:00
Vasilii Rogin 0c083a8274 Add sfallArraysReset 2023-04-20 09:34:53 +03:00
Vasilii Rogin 09da584210 Remove temp arrays in scripts.cc 2023-04-20 09:30:15 +03:00
Vasilii Rogin 1d3e61f346 Add opFixArray 2023-04-20 02:53:49 +03:00
Vasilii Rogin a51ece60ac Add TODO 2023-04-20 02:51:20 +03:00
Vasilii Rogin 9549bab517 Add setArray 2023-04-20 02:49:22 +03:00
Vasilii Rogin 4662314839 Add FreeArray 2023-04-20 02:46:24 +03:00
Vasilii Rogin a93c7fba9e Small updates 2023-04-20 02:26:37 +03:00
Vasilii Rogin da814a6b76 Reorganize files 2023-04-20 02:23:33 +03:00
Vasilii Rogin f01a3e3fbc Add op_party_member_list 2023-04-20 01:56:24 +03:00
Vasilii Rogin a764634457 Add function to get all party members for sFall 2023-04-20 01:49:39 +03:00
Vasilii Rogin 3e1f04ca74 Add get_array 2023-04-20 01:39:30 +03:00
Vasilii Rogin e934cf1c09 Add get_array_key 2023-04-20 01:21:56 +03:00
Vasilii Rogin 55774c2518 Add get_array_key 2023-04-20 01:20:05 +03:00
Vasilii Rogin 53096b5b0a Add create_temp_array 2023-04-20 01:04:30 +03:00
Vasilii Rogin 6ba79616be Remove warning 2023-04-20 01:02:05 +03:00
Vasilii Rogin 9e579c393e Adding arrays 2023-04-20 00:58:30 +03:00
Vasilii Rogin 0b533ce880 Some steps with arrays 2023-04-19 23:13:02 +03:00
Alexander Batalov a39f149817 Add date/time opcodes 2023-04-19 19:10:09 +03:00
Alexander Batalov 540cc1e08b Add combat opcodes 2023-04-19 10:03:04 +03:00
Alexander Batalov ef34fdb519 Add proto data opcodes 2023-04-19 09:21:38 +03:00
Alexander Batalov 9b02f600de Add worldmap opcodes 2023-04-19 09:09:17 +03:00
Alexander Batalov 0bb07dbd50 Add pc base stats opcodes 2023-04-19 09:02:54 +03:00
Vasilii Rogin 0a85ce520b
Use stack on the heap for roof fill (#263) 2023-04-18 11:06:07 +03:00
Vasilii Rogin a8058acfd0 Rename STRUCT_519DA8 -> PartyMemberListItem 2023-04-15 22:09:37 +03:00
Vasilii Rogin 7e3d188aac Add stub for array funcs 2023-04-15 22:07:32 +03:00
Vasilii Rogin c6612d2170 Add stubs for new sFall functions 2023-04-15 21:10:08 +03:00
Vasilii Rogin 99bc14cf3a
Add sFall movie timer options (#261) 2023-04-14 19:03:21 +03:00
Vasilii Rogin 527e152297
Allow messageIndex to be zero (#264) 2023-04-14 18:40:37 +03:00
Alexander Batalov c8d45854ba Normalize line endings when reading text files
Closes #250
2023-04-11 20:00:38 +03:00
Alexander Batalov 11472e8be9 Fix soundOpenData flags 2023-04-11 17:27:34 +03:00
Alexander Batalov 69e4adf5b3 Add HQ music support
See #239
2023-04-11 16:37:01 +03:00
Alexander Batalov a2eabd668b Fix missing speech in some Russian localizations
Closes #246
2023-04-11 14:03:55 +03:00
Alexander Batalov 6d1273d325 Improve button functions readability 2023-04-11 09:01:14 +03:00
TomArnaez e23b39abaa
Fix crash in inventory list (#256) 2023-02-28 22:11:08 +03:00
Alexander Batalov 6398f8a79e Fix itemDropAll
See #253
2023-02-28 16:11:48 +03:00
Alexander Batalov 81b9345303 Update config 2023-02-18 19:06:20 +03:00
Alexander Batalov 249892716e Get rid of mmx stuff 2023-02-18 18:14:30 +03:00
Alexander Batalov 3e8227a62b Extract mainmenu 2023-02-17 15:55:14 +03:00
Alexander Batalov 1570f860e8 Remove unnecessary calls 2023-02-17 15:53:42 +03:00
Alexander Batalov d7c4589a55 Extract preferences 2023-02-17 12:33:26 +03:00
Alexander Batalov 0a9a1dc7ca Fix faulty frms
Closes #235
2023-02-16 15:46:49 +03:00
Alexander Batalov 7ac651b736 Adjust modal dialogs position 2023-02-15 11:37:00 +03:00
Alexander Batalov 0bb822ba60 Fix "Affect player speed" font
Closes #245
2023-02-15 09:23:46 +03:00
Alexander Batalov 075de8f837 Review sound IO functions 2023-02-13 11:51:09 +03:00
Alexander Batalov 36b5ceba8a Improve sound_decoder.cc accuracy 2023-02-13 11:02:17 +03:00
Alexander Batalov f5d3cfb5e3 Fix Fast Metabolism trait 2023-02-12 23:12:36 +03:00
Alexander Batalov 81210f46af Fix storing pointers in game global variables 2023-02-10 11:05:42 +03:00
Alexander Batalov c14f671a0d Add object and string concatenation
Fixes #232
2023-02-10 09:27:10 +03:00
Alexander Batalov 33141672ed Use screen borders for scrolling worldmap 2023-02-10 09:00:59 +03:00
Alexander Batalov 28083cfea9 Fix talking head mood transition 2023-02-09 19:40:25 +03:00
Alexander Batalov c9864741f3 Fix crash in artLockFrameDataReturningSize
Closes #231
2023-02-09 19:27:25 +03:00
Alexander Batalov 3aea6a98ef Fix loading custom interface frms 2023-01-21 15:24:18 +03:00
Alexander Batalov ba49abcea6 Fix some scripts not being properly removed
Closes #224
2023-01-21 13:15:18 +03:00
Alexander Batalov 47f5be8340 Fix HP being used as AP 2023-01-20 14:16:43 +03:00
Alexander Batalov d435185e9e Fix missing melee damage info 2023-01-20 14:12:03 +03:00
Alexander Batalov 2714dc1ea1 Fix memory alignment
See #135, #122
2023-01-19 20:27:22 +03:00
Alexander Batalov 8604d9c401 Fix check 2023-01-16 17:33:19 +03:00
Alexander Batalov b9261c3da2 Fix directory name reading 2023-01-16 17:01:52 +03:00
Alexander Batalov ed7176b796 Fix combatai_notify_onlookers 2023-01-16 16:55:31 +03:00
Alexander Batalov 6cac53d20b Rename critter maneuver flags 2023-01-16 16:49:50 +03:00
Alexander Batalov ad3860790c Fix NPCs not joining combat 2023-01-16 16:42:50 +03:00
Alexander Batalov bffe81d0b3 Improve cycle.cc readability 2023-01-05 11:29:00 +03:00
Alexander Batalov 6ab08bd22b Remove some unused db functions 2023-01-05 10:39:46 +03:00
Alexander Batalov 060c79fc20 Remove electronic registration 2023-01-05 10:27:16 +03:00
Alexander Batalov ac64fde502 Fix object rendering
Previous solution did not work well on high resolutions due to
incorrect tile calculations - was not updating edges and sometimes
hanged in endless loop trying to find upper-left or bottom-right
tiles.

New solution follows Sfall's HRP implementation.
2023-01-05 05:59:45 +03:00
Alexander Batalov 7496afa4f8 Clarify textObjectAdd param 2023-01-05 04:06:18 +03:00
Alexander Batalov 66955f893a Review light.cc 2023-01-03 23:56:52 +03:00
Alexander Batalov 9ee4cb4a26 Refactor min/max usage 2023-01-03 23:00:38 +03:00
Alexander Batalov a5cefd6c8b Clear dirty rect during map updates
Previous solution to replace squares was destructive in nature and
could possibly lead to unexpected things (especially with mods where
tile 0x293 might not be opaque black).

New solution follows mapper refresh routines where entire dirty rect
is reset to black as a preparation step.
2023-01-03 21:10:20 +03:00
Alexander Batalov d040ea814a Fix objects being animated while playing movies 2023-01-02 21:15:43 +03:00
Alexander Batalov 03145e4fcd Fix endgame slideshow issues
See #3
Closes #215
2023-01-02 14:34:42 +03:00
Alexander Batalov 812079004c Make credits fullscreen
See #3, #215
2023-01-02 13:09:03 +03:00
Alexander Batalov 6224af6178 Fix help screen issues
Closes #179
2023-01-02 11:13:32 +03:00
Alexander Batalov a8d3cdd148 Improve worldmap.cc readability 2022-12-31 14:12:04 +03:00
Alexander Batalov 95cc863fde Fix special encounter icon blinking 2022-12-30 16:45:49 +03:00
Alexander Batalov cc1562b056 Add fading effects when moving to/from worldmap
Follow-up to #193
2022-12-30 00:41:29 +03:00
Alexander Batalov 07f3c82444 Fix map loading background
Integrated interface bar area remained visible during map loading.
2022-12-29 23:33:09 +03:00
Alexander Batalov 9976728e04 Fix worldmap background
Closes #193
2022-12-29 21:54:40 +03:00
Alexander Batalov 5922d15b1c Fix various dialog box issues
- Better vertical positioning (account for word wrapping)
- Better horizontal positioning (consider both right and left gaps for
calculating available width).
- Prevent vertical text overflow.
2022-12-29 13:02:59 +03:00
Alexander Batalov 248d6dfb92 Add shadow to city labels 2022-12-29 10:43:02 +03:00
Alexander Batalov 73cc93a3e4 Cleanup some interface bar functions 2022-12-29 10:21:15 +03:00
Alexander Batalov 34259269a4 Improve "Whomever is attacking me" targeting
Fixes #197
2022-12-29 09:37:51 +03:00
Alexander Batalov 11217974c6 Improve aiFindAttackers 2022-12-28 19:45:17 +03:00
Alexander Batalov 0e13989f9c Fix critter lists sorting functions 2022-12-28 17:54:09 +03:00
Alexander Batalov 57dcf42b5c Fix custom disposition button 2022-12-28 17:33:01 +03:00