Commit Graph

677 Commits

Author SHA1 Message Date
Alexander Batalov 512530c653 Fix building file list on non-Windows platforms 2022-12-23 10:33:16 +03:00
Alexander Batalov 982d4cc0f9 Truncate long names in file picker dialog 2022-12-23 10:30:31 +03:00
Alexander Batalov 3b951b8578 Add opSetWeaponAmmoPid 2022-12-22 20:36:31 +03:00
Alexander Batalov 17a4ee8a68 Add Sfall version opcodes (#200) 2022-12-22 20:18:07 +03:00
Alexander Batalov c85cda4b48 Fix rare crash when using grenades
Closes #208
2022-12-22 19:54:04 +03:00
Alexander Batalov c7ca358295 Rename OBJECT_NO_SAVE flag 2022-12-22 16:49:17 +03:00
Alexander Batalov 96296417c6 Rename OBJECT_NO_REMOVE flag 2022-12-22 16:47:11 +03:00
Alexander Batalov 737076a126 Fix getting elevation of freed object 2022-12-22 14:20:37 +03:00
Alexander Batalov c0908cf14f Fix visual artifacts caused by null tiles 2022-12-21 09:18:29 +03:00
Alexander Batalov 343911f736 Fix floor lighting 2022-12-20 18:44:21 +03:00
Alexander Batalov 281c1aa82a Review tileRenderFloorsInRect 2022-12-20 16:22:56 +03:00
Alexander Batalov 18afce71b0 Review tile_fill_roof 2022-12-20 15:10:42 +03:00
Alexander Batalov 9599d63f45 Review roof_fill_off 2022-12-20 15:09:01 +03:00
Alexander Batalov ce351988b5 Review roof_fill_on 2022-12-20 15:01:57 +03:00
Alexander Batalov feb3821565 Fix multiple knockout effects 2022-12-13 23:59:45 +03:00
Alexander Batalov 54eaff26ea Fix partyMemberIncLevels 2022-12-13 23:35:15 +03:00
Alexander Batalov 5a7ffde45e Fix max party member level 2022-12-13 23:29:34 +03:00
Alexander Batalov 1c0385ad11 Remove _obj_fix_combat_cid_for_dude
The same cid-to-object conversion performed by `combatLoad`.
2022-12-13 23:06:52 +03:00
Alexander Batalov 0fe6d88a3a Review combatLoad 2022-12-13 23:03:42 +03:00
Alexander Batalov 7596d4d721 Fix combat_is_shot_blocked 2022-12-13 22:18:12 +03:00
Alexander Batalov 8333e553e2 Add SubtileFill 2022-12-13 22:11:37 +03:00
Alexander Batalov 6f62cfd466 Fix critters dying on exit grids 2022-12-13 16:33:19 +03:00
Alexander Batalov 280b55ab05 Add isExitGridPid 2022-12-13 14:34:49 +03:00
Alexander Batalov e02dcdf69d Fix car disappearing when using town interface 2022-12-13 13:20:55 +03:00
Alexander Batalov b5701fb9b9 Fix worldmap scroll down button 2022-12-13 12:45:39 +03:00
Alexander Batalov c569b879f6 Fix opPrint 2022-12-13 11:35:07 +03:00
Alexander Batalov b36ac50425 Review windowShow 2022-12-13 10:37:52 +03:00
Alexander Batalov 029a84a113 Review gWindowIndexes 2022-12-13 10:18:02 +03:00
Alexander Batalov e6fddd6905 Rename window flags 2022-12-13 10:04:05 +03:00
Alexander Batalov b0b69bd780 Fix wmMapIdxToName 2022-12-09 00:52:03 +03:00
Alexander Batalov 6de4ac87df Use snprintf 2022-12-08 23:05:50 +03:00
Alexander Batalov 502c920656 Add reportOverloaded 2022-12-08 22:05:54 +03:00
Alexander Batalov c383fc6b95
Add mobile keyboard support (#206) 2022-12-08 20:41:59 +03:00
Alexander Batalov 0d93279a10 Fix missing include 2022-12-08 19:38:55 +03:00
Alexander Batalov 510d7bfe95 Reorganize includes 2022-12-08 19:18:39 +03:00
Alexander Batalov 19d0d2919f Remove unnecessary includes 2022-12-08 17:29:30 +03:00
Alexander Batalov 42f01c8d45 Remove unused 16bpp code 2022-12-08 17:26:28 +03:00
Alexander Batalov 0474199b5c Remove unnecessary include 2022-12-08 17:13:06 +03:00
Alexander Batalov 8a4ce6c658 Improve splash screen handling (#3)
* Fixes splash screens in Olympus
2022-12-08 16:41:55 +03:00
Alexander Batalov 884034f0bf Refactor stretching blitters
* Fixes skipped pixels
* Improves readability
2022-12-08 16:34:38 +03:00
Alexander Batalov 602ef7c1e1 Increase maps ambient sfx capacity 2022-12-08 14:10:31 +03:00
Alexander Batalov 897ff2bbd2 Add dialog options numbering 2022-12-08 10:58:54 +03:00
Alexander Batalov 9ade107e95 Rename Button fields 2022-12-07 16:42:37 +03:00
Alexander Batalov 1698cfa04b Rename Window fields 2022-12-07 16:39:30 +03:00
Alexander Batalov 59639c60a3 Cleanup 2022-12-07 10:17:48 +03:00
Alexander Batalov f056f0e131 Add opGetGameMode (#200) 2022-12-06 17:46:52 +03:00
Alexander Batalov dc90beb696 Add game mode tracking 2022-12-06 17:22:30 +03:00
Alexander Batalov 90da2164f2 Fix assignment 2022-12-06 17:13:48 +03:00
Alexander Batalov 9d9e09e80f Use MESSAGE_LIST_ITEM_FIELD_MAX_SIZE 2022-12-06 12:37:59 +03:00
sonilyan cd51e0cdd7
Fix crash for msg limit (#203) 2022-12-06 12:32:21 +03:00
drjfaust d49869f45c
Fix several combat bugs (#204) 2022-12-06 12:17:11 +03:00
Alexander Batalov 3a541d4b67 Fix endurance label
Closes #201
2022-11-10 23:48:09 +03:00
Alexander Batalov 7471f9cdbe Fix palette fading 2022-11-10 23:43:18 +03:00
Alexander Batalov fe9ba9171e Add custom message lists support
Closes #130
See #200
2022-11-10 18:07:23 +03:00
Alexander Batalov 6c03e4e293 Fix storing pointers in map global variables 2022-11-09 14:35:07 +03:00
Alexander Batalov 3f25c9265b Fix arguments order 2022-11-09 13:54:32 +03:00
Alexander Batalov fa475c754e Add opReadByte
See #200
2022-11-09 13:09:56 +03:00
Alexander Batalov 5e9cf96106 Rename state structs
Fixes UB leading to crash when exiting the game
2022-11-09 11:41:53 +03:00
Alexander Batalov a70912d311 Fix ini section parsing 2022-11-09 11:11:19 +03:00
Alexander Batalov 67351b8b09 Fix player model customization 2022-11-09 10:21:12 +03:00
Alexander Batalov e0e0a1ee7d Add Sfall list functions
See #200
2022-11-08 22:55:25 +03:00
Alexander Batalov fa11122f87 Make spatial script finders public 2022-11-08 22:45:30 +03:00
Alexander Batalov ef54463fcc Add pc bonus stats opcodes
See #200
2022-11-08 18:59:14 +03:00
Alexander Batalov 2255481d50 Add missing header 2022-11-08 18:07:11 +03:00
Alexander Batalov 03a7e2e1b1 Add some Sfall global vars functions
See #200
2022-11-08 18:01:00 +03:00
Alexander Batalov 19bcfebe0d Add ammo/charges opcodes
See #200
2022-11-07 20:41:33 +03:00
Alexander Batalov 393d89f8c4 Add some Sfall opcodes
See #200
2022-11-07 20:03:04 +03:00
Alexander Batalov 9c6286f94a Increase number of opcodes 2022-11-07 19:06:37 +03:00
Alexander Batalov fa058f24b4 Add interface bar side panels
See #3
2022-11-07 16:05:34 +03:00
Alexander Batalov b2420bdc80 Refactor artLock with FrmImage 2022-11-07 13:55:05 +03:00
sonilyan 23bee9fd62
Add IFACE_BAR_WIDTH support (#188) 2022-11-07 13:35:22 +03:00
Alexander Batalov 3ec827d5c1 Fix worldmap position calculation
Closes #192
2022-11-07 10:59:16 +03:00
Alexander Batalov c692fc91af Fix error check
Closes #196
2022-11-03 18:16:50 +03:00
Alexander Batalov a38151bf2c Reorganize control flow in gdCustomSelect
Fixes #198
2022-11-03 18:08:49 +03:00
Alexander Batalov b689b3a757 Fix combat control fields not being cleared
Closes #194
2022-11-03 17:48:34 +03:00
Alexander Batalov e7d68c4f72 Get rid of PreferenceDescription packing
Fixes pointer alignment warnings.
2022-10-30 13:00:43 +03:00
Alexander Batalov bc43bdc99c Rename some variables in objectSetLocation 2022-10-30 09:39:43 +03:00
Alexander Batalov e5aa4a3518 Fix square tiles initial lookup 2022-10-30 09:31:09 +03:00
Alexander Batalov 4e98093d6c Fix crash when removing all scripts 2022-10-30 09:03:24 +03:00
Alexander Batalov 1342fd3ecf Fix warning 2022-10-30 08:45:04 +03:00
Alexander Batalov 3015f39368 Review interfaceFontGetStringWidthImpl 2022-10-30 08:41:00 +03:00
Alexander Batalov 37f7ecc1c3 Review SlotMap2Game 2022-10-29 21:27:08 +03:00
Alexander Batalov bdf2c219ab Fix error check 2022-10-29 21:09:53 +03:00
Alexander Batalov 3488833c2e Use SDL for logging 2022-10-29 20:57:11 +03:00
Alexander Batalov 4821cab724 Review tileSetCenter flags 2022-10-29 18:52:22 +03:00
Alexander Batalov 0851354c8a Rename _square_y 2022-10-29 18:25:28 +03:00
Alexander Batalov 2f42818a33 Review square coords math 2022-10-29 18:23:53 +03:00
Alexander Batalov 12367acb33 Fix byte swapping warnings 2022-10-29 18:17:57 +03:00
Alexander Batalov caa8b06d4f Fix UB when parsing encounter table 2022-10-29 18:14:49 +03:00
Alexander Batalov 2b63360b95 Fix memory alignment 2022-10-29 17:26:46 +03:00
Alexander Batalov 8dd8d1c312 Replace random generator 2022-10-29 17:21:54 +03:00
Alexander Batalov 8ee0f478ad Fix setting managed button procs 2022-10-28 11:02:53 +03:00
Alexander Batalov 9c6daa4abe Fix selecting managed window 2022-10-28 10:59:38 +03:00
Alexander Batalov 01f264e0c2 Fix color setters 2022-10-28 10:35:22 +03:00
Alexander Batalov 1bbd586cbb Fix trimming line ending in .lst files 2022-10-26 10:17:39 +03:00
Alexander Batalov 223930c464 Get rid of goto 2022-10-25 17:37:45 +03:00
Alexander Batalov 40510539ee Fix interface font loading 2022-10-25 15:57:31 +03:00
Alexander Batalov c47113ca29 Force screen redraw after playing movies
Fixes #180
2022-10-25 13:05:09 +03:00
Alexander Batalov ad9b8586e9 Fix testing pointers for nulls in Nevada
Closes #178
2022-10-25 09:57:13 +03:00
sonilyan 5b151634a5
Fix memory alignment (#187) 2022-10-25 09:12:54 +03:00
Martin Janiczek 7627092478
Make sfall key naming consistent (#172) 2022-10-25 09:05:09 +03:00
Martin Janiczek b60fe43b06
Refactor: use enum instead of magic numbers (#176) 2022-10-25 09:04:42 +03:00
Alexander Batalov 21aec548af
Add iOS support (#167) 2022-10-14 11:40:11 +03:00
Alexander Batalov beb010cd0f Normalize fade duration
See #165
2022-10-11 17:58:02 +03:00
Alexander Batalov b23d05f850 Fix called shot window freeze
See #165
2022-10-10 11:42:10 +03:00
Alexander Batalov e16659d96d Fix key processing
Fixes buffer-underwrite crash on macOS when scancode is remapped to -1.
2022-10-08 12:32:50 +03:00
Alexander Batalov 4c1020af5f Fix path handling in _gsound_get_music_path 2022-10-08 10:56:46 +03:00
Alexander Batalov a4105d5826
Decouple drawing and rendering (#165) 2022-10-08 00:54:27 +03:00
Alexander Batalov ddae4df4ab Fix red dialog buttons 2022-10-07 23:31:17 +03:00
Alexander Batalov 74a9a9e530 Add audio engine initialization check
Fixes various bugs when movie system attemps to create audio buffer with
sound system being disabled via fallout2.cfg.
2022-10-07 15:17:07 +03:00
Alexander Batalov 223d214f57 Review lsgSaveGame
* Add scrolling
* Rename variables
2022-10-07 12:04:30 +03:00
Alexander Batalov a52fd4e70a Review lsgLoadGame
* Add missing cleanup
* Fixes double click handling
* Rename variables
2022-10-07 11:28:42 +03:00
Alexander Batalov 266c727870 Extract renderPresent 2022-10-06 19:10:01 +03:00
Alexander Batalov 54d230432b
Refactor game config with Settings (#164) 2022-10-06 16:32:46 +03:00
Alexander Batalov 9663532e44 Add missing elevator ids 2022-10-05 18:29:21 +03:00
Alexander Batalov a4e9123bcc Fix crash in obj_use_item_on 2022-10-05 17:55:54 +03:00
Alexander Batalov 08691ce319 Fix incorrect death animation in opKillCritterType 2022-10-05 16:58:57 +03:00
Alexander Batalov d03fd5e43f Review opGetMessageString 2022-10-05 16:07:55 +03:00
Alexander Batalov 7ddd8f2894 Fix itemGetQuantity 2022-10-05 15:44:00 +03:00
Alexander Batalov 93a341bbaa Fix arguments order 2022-10-05 14:59:00 +03:00
Alexander Batalov d2c4538656 Fix obj_can_see_obj elevation check 2022-10-05 14:56:29 +03:00
Alexander Batalov 8a5c3bc97b Fix obj_can_hear_obj implementation 2022-10-05 14:38:19 +03:00
Alexander Batalov db57fe6a5e Review isWithinPerception 2022-10-05 14:25:36 +03:00
Alexander Batalov 56d798dd12 Display encounter description in one line 2022-10-05 14:20:32 +03:00
Alexander Batalov 90942c46b2 Uninline obj_set_seen 2022-10-05 13:49:18 +03:00
Alexander Batalov 1cda2beef7 Fix looting corpses with NoSteal flag 2022-10-05 13:26:13 +03:00
Alexander Batalov 8754a5d6c9 Rename critter flags 2022-10-05 13:06:49 +03:00
Alexander Batalov 65f43804b3 Rename core 2022-10-05 10:35:05 +03:00
Alexander Batalov 9b150257fb Rename some input functions 2022-10-05 10:11:47 +03:00
Alexander Batalov 32c7883f82 Cleanup input.h 2022-10-05 09:54:46 +03:00
Alexander Batalov 1c73fb7240 Extract input 2022-10-05 09:23:27 +03:00
Alexander Batalov cce1bb223e
Handle window size change (#163) 2022-10-04 13:15:54 +03:00
Alexander Batalov 624076ae9b Fix Doctor skill usage 2022-10-04 09:23:17 +03:00
Alexander Batalov 8d61a19dbe Remove declarations 2022-10-03 18:11:55 +03:00
Alexander Batalov 0264c00ab8 Extract keyboard 2022-10-03 16:42:34 +03:00
Alexander Batalov e1f22b8218 Review game state functions 2022-10-03 15:54:18 +03:00
Alexander Batalov fe4c125474 Fix crash when dialog speaker destroys itself
See #162
2022-10-03 15:04:30 +03:00
Alexander Batalov 56d27400ac Add missing include 2022-10-03 14:52:47 +03:00
Alexander Batalov b5681984cd Extract mouse 2022-10-03 12:41:33 +03:00
Alexander Batalov a541d0f24a Fix type warnings 2022-10-03 10:19:22 +03:00
Alexander Batalov 20a41088c6 Remove trap.cc 2022-10-03 10:01:42 +03:00
Alexander Batalov 16ab9cb958 Fix lock check 2022-10-03 09:38:43 +03:00
Alexander Batalov 5f9ceb7f5d Extract vcr 2022-10-03 09:37:05 +03:00
Alexander Batalov a1c1e03da0 Refactor artLockFrameData with FrmImage 2022-09-26 16:09:22 +03:00
Alexander Batalov ac0a044a32 Refactor artLockFrameData with FrmImage 2022-09-26 15:17:22 +03:00
Alexander Batalov 4aae167bd8 Refactor artLockFrameData with FrmImage 2022-09-26 11:55:06 +03:00
Alexander Batalov 2e5be31ed4 Refactor artLockFrameData with FrmImage 2022-09-26 11:14:11 +03:00
Alexander Batalov 45278f66a5 Refactor artLockFrameData with FrmImage 2022-09-26 10:36:54 +03:00
Alexander Batalov 2205077d36 Refactor artLockFrameData with FrmImage 2022-09-26 10:28:44 +03:00
Alexander Batalov 67f966f7a9 Refactor artLockFrameData with FrmImage 2022-09-24 22:53:25 +03:00
Alexander Batalov 463968d798 Refactor artLockFrameData with FrmImage 2022-09-24 21:29:50 +03:00
Alexander Batalov 109dc6680c Refactor artLockFrameData with FrmImage 2022-09-24 21:22:40 +03:00
Alexander Batalov 23c5f070fa Refactor artLockFrameData with FrmImage 2022-09-24 21:04:32 +03:00
Alexander Batalov fd9843f8dc Fix type warning 2022-09-24 19:43:27 +03:00
Alexander Batalov 443070226f Refactor artLockFrameData with FrmImage 2022-09-24 19:41:25 +03:00
Alexander Batalov db63d8a085 Refactor artLockFrameData with FrmImage 2022-09-24 18:15:52 +03:00
Alexander Batalov f203cfcc83 Refactor artLockFrameData with FrmImage 2022-09-24 17:31:13 +03:00
Alexander Batalov 9ceb490f72 Refactor artLockFrameData with FrmImage 2022-09-24 17:03:50 +03:00
Alexander Batalov 5b7a676b35 Refactor artLockFrameData with FrmImage 2022-09-24 16:51:16 +03:00
Alexander Batalov e50e26cf87 Refactor artLockFrameData with FrmImage 2022-09-24 16:39:15 +03:00
Alexander Batalov f59c072d68 Add FrmImage 2022-09-24 16:14:54 +03:00
Alexander Batalov 79c396c1a0 Uninline characterSelectorWindowFatalError 2022-09-24 10:28:30 +03:00
Alexander Batalov 9bb053b3ba
Add namespace (#155) 2022-09-23 15:43:44 +03:00
Alexander Batalov 3168c2ec09 Improve some combat functions readability 2022-09-23 14:01:39 +03:00
Alexander Batalov c521dcaf57 Fix storing pointers in map local variables
Closes #152
2022-09-22 12:45:58 +03:00
Alexander Batalov 9864a2551d Uninline mapSetEnteringLocation 2022-09-15 19:59:16 +03:00
Alexander Batalov dea8c98399 Decompile square_init 2022-09-15 18:25:48 +03:00
Alexander Batalov 108a20ef27 Decompile mapLocalVariablesLoad 2022-09-15 18:22:27 +03:00
Alexander Batalov 0adc65054c Decompile mapLocalVariablesInit 2022-09-15 18:19:50 +03:00
Alexander Batalov d72a74f6c3 Decompile mapGlobalVariablesLoad 2022-09-15 18:17:16 +03:00
Alexander Batalov 1d05bac7a1 Decompile mapGlobalVariablesInit 2022-09-15 18:16:46 +03:00
Alexander Batalov 980b40dcdd Review mapNewMap 2022-09-15 17:49:40 +03:00
Alexander Batalov b1a8707fb2 Review isoExit 2022-09-15 17:45:35 +03:00
Alexander Batalov 382de999cc Review isoReset 2022-09-15 17:43:33 +03:00
Alexander Batalov 06618d9e21 Uninline wmAreaSetVisibleState 2022-09-15 14:25:21 +03:00
Alexander Batalov 1b6e29acc0 Reorder includes 2022-09-15 12:38:23 +03:00
Alexander Batalov e5992779f3 Reconcile worldmap.cc 2022-09-15 11:42:02 +03:00
Alexander Batalov d7bc8e4176 Rename worldmap.cc 2022-09-15 09:00:11 +03:00
Alexander Batalov 629978d7a6 Reconcile with reference edition 2022-09-01 18:41:37 +03:00
Alexander Batalov 039ad65557 Add getFileSize 2022-09-01 07:37:00 +03:00
Alexander Batalov 26e5104a96 Add compat_strdup 2022-09-01 06:48:26 +03:00
Alexander Batalov 2a17a07784 Fix AI behaviour for Snipe distance preference 2022-08-31 22:02:08 +03:00
Alexander Batalov 56d35bef0d Add more checks for AI to pick secondary hit mode 2022-08-31 20:25:40 +03:00
Alexander Batalov 676098dc5f Fix weapon safety check 2022-08-31 19:56:09 +03:00
Alexander Batalov 857d3902bb Fix AI weapon switching 2022-08-31 19:53:12 +03:00
Alexander Batalov 7803378d82 Fix some warnings 2022-08-31 18:52:01 +03:00
Alexander Batalov 893a116fb4 Fix getting random target 2022-08-31 18:31:23 +03:00
Alexander Batalov 916bf40602 Add CombatBadShot enum 2022-08-31 18:29:46 +03:00
Alexander Batalov 40d6348b09 Fix incorrect AP cost when AI reloads a weapon 2022-08-31 17:41:50 +03:00
Alexander Batalov 1e5047cd48 Improve aiHaveAmmo 2022-08-31 12:05:56 +03:00
Alexander Batalov 7750006127 Fix warnings 2022-08-31 10:11:01 +03:00
Alexander Batalov 1b69c97ce4 Improve aiAttemptWeaponReload 2022-08-31 10:05:00 +03:00
Alexander Batalov b3431fadf7 Fix some warnings 2022-08-29 23:58:03 +03:00
Alexander Batalov 2a0d0633f1 Fix images for scroll buttons 2022-08-29 23:42:36 +03:00
Alexander Batalov 4ed86be78e Add missing worldmap button sounds 2022-08-29 23:35:58 +03:00
Alexander Batalov db13317613 Fix default worldmap font 2022-08-29 23:33:03 +03:00
Alexander Batalov 8deb855b12 Fix Pathfinder perk 2022-08-29 17:37:58 +03:00
Alexander Batalov 24277424d2 Fix typo 2022-08-29 16:08:23 +03:00
Alexander Batalov c593eceaaf Add pip-boy automaps patch 2022-08-29 16:07:34 +03:00
Alexander Batalov e3a811c83d Add a flashing icon to the Horrigan encounter 2022-08-29 15:14:16 +03:00