Commit Graph

226 Commits

Author SHA1 Message Date
Muzychenko Andrey
a937ff5c80 FT control part1: mission and control scores, jackpot handling, hyperspace. 2023-06-25 10:35:04 +03:00
Muzychenko Andrey
e466bbacb8 Added credits from FT about dialog. 2023-03-26 14:35:27 +03:00
Muzychenko Andrey
34a1e32843 Added in-game credits from Full Tilt.
This was kind-of requested a long time ago.
2023-03-17 16:38:08 +03:00
Muzychenko Andrey
43e2ab896b FT collision part6: fixes and cleanup. 2023-03-13 10:54:33 +03:00
Muzychenko Andrey
e0424bed65 FT collision part5: cleanup. 2023-03-13 08:25:49 +03:00
Muzychenko Andrey
c5acdcd524 FT collision part4: ball to ball collision.
TBall uses multiple inheritance, interesting.
2023-03-12 11:12:41 +03:00
Muzychenko Andrey
f521a03322 Removed confirmation for exit done from the menu.
Issue #173.
2023-03-10 09:28:28 +03:00
Muzychenko Andrey
4b86fe2aa7 FT collision part3: cleanup. 2023-03-05 14:16:07 +03:00
Muzychenko Andrey
ba470e8727 FT collision part2: added most of the FT collision system.
Aka "World's most expensive flippers".
This is an aggregate of collision-related changes made during 3DPB->FT transition.
The most important part is in flipper collision - a shift from monolithic iterative solver in TFlipperEdge::EdgeCollision to a distributed non-iterative solver.
Both 3DPB and FT data sets use FT collision, keeping two collision systems does not make much sense.
From user perspective, FT/3DPB systems should not have any major differences.
2023-03-04 17:31:23 +03:00
Muzychenko Andrey
466c875f8a Added a way to reset all game options.
Fixed some of the fragmented translations.
Improved input rejection in control dialog.
2023-02-17 13:35:18 +03:00
Muzychenko Andrey
1749a2ba09 Future-proof SDL controller enum range check.
Issue #172.
2023-02-12 09:01:20 +03:00
Muzychenko Andrey
831c3f49bf Fixed controller enum use for older SDL versions.
Issue #172.
2023-02-12 08:45:33 +03:00
Muzychenko Andrey
9454e11fd9 Adjusted exit key: added shortcut binding, confirmation dialog. 2023-02-12 08:43:08 +03:00
Muzychenko Andrey
215599684c Options refactor part 3: added key bindings for menu shortcuts.
Issue #168.
2023-02-11 13:18:29 +03:00
Muzychenko Andrey
8df996f452 Options refactor part 2.1: fixed control option labels. 2023-02-10 08:46:09 +03:00
Muzychenko Andrey
d99fbb092e Options refactor part 2: input bindings. 2023-01-27 16:25:47 +03:00
Muzychenko Andrey
10ff1143cc Refactored options: symmetric save/load. 2023-01-03 16:42:34 +03:00
Muzychenko Andrey
2d6f2c14e5 FT collision part1: AABB. 2022-12-28 08:47:44 +03:00
Muzychenko Andrey
17f11bd428 Improved frame timing display. 2022-12-13 15:06:27 +03:00
Muzychenko Andrey
6aa6472667 Added hardware ImGui renderer. 2022-12-11 09:32:40 +03:00
Muzychenko Andrey
ab3f3bd12b Updated ImGui to v1.89.2 WIP.
Fixed IdxOffset support in imgui_sdl.
2022-12-11 07:57:49 +03:00
Muzychenko Andrey
3109a8ea75 Improved player name entry in high score dialog.
Issue #165.
2022-12-09 13:01:33 +03:00
Muzychenko Andrey
2162cac977 Moved SDL mixer initialization out of partial restart loop.
This might help with issue #167.
2022-12-02 14:46:22 +03:00
Muzychenko Andrey
8e43d06e84 Improved console output: added version constants and message box texts. 2022-12-02 08:21:08 +03:00
Muzychenko Andrey
3be26282b3 Fixed lower case .dat file loading.
Ref #164.
2022-11-22 16:31:38 +03:00
Low-power
f561cadf63
Allow loading data files with lowercase name (#164)
* Allow loading data files with lowercase name

* Added lower case support for all game data files.

Co-authored-by: Muzychenko Andrey <33288308+k4zmu2a@users.noreply.github.com>
2022-11-22 12:40:50 +03:00
Muzychenko Andrey
1391eeba81 Reordered pch includes in Sound.
This might help with #162.
Fixed switch warning.
2022-11-21 10:02:56 +03:00
Muzychenko Andrey
ea32c08c4f Added “easy mode” cheat, aka frustration-free mode.
It involves always on center post and never closing kicker gates.
Issue #161.
2022-11-21 09:49:15 +03:00
Muzychenko Andrey
80947888a0 Optimized table restart, external font loading.
Fixed memory leak related to restart.
Added window to table size adjustment on init, imperfect.
2022-11-17 15:43:59 +03:00
Low-power
6486589c4a
Fix null pointer dereferencing in SDL_GetPrefPath(3) (#163) 2022-11-17 10:10:24 +03:00
Muzychenko Andrey
3c6e1c9d47 Added rate limiter for SDL error messages.
Workaround for issue #158.
2022-10-11 13:39:33 +03:00
Muzychenko Andrey
cfaab257ed Added debug overlay for ball sprite size cutoff points. 2022-10-11 12:45:03 +03:00
Muzychenko Andrey
4ec30cf472 Render tweaks part 3: bitmap/zMap pairs. 2022-09-29 14:45:14 +03:00
Natty
e7ddebd16c
Add FullTilt lane light behavior (#157)
* Add FullTilt lane light behavior

* Replaced spaces with tabs
2022-09-23 07:42:19 +03:00
Muzychenko Andrey
7003b01e5d Render tweaks part 2: sprite set by index. 2022-09-22 17:46:00 +03:00
Muzychenko Andrey
9f0ae0434e Render tweaks part 1: refactored sprite struct.
Optimized sprite handling in render.
Fixed switch warning in control.
2022-09-21 16:43:45 +03:00
Harmann Gabrielian
1e43bdd5fa
Minor typo fixes in Russian translation (#156)
Self-explanatory.
2022-09-16 07:51:46 +03:00
Muzychenko Andrey
40672845e4 Message code enum part 6: final touches + control light cleanup.
MessageField is often used as int, so it stays unchanged.
2022-09-08 10:51:33 +03:00
Muzychenko Andrey
22603aa126 Message code enum part 5: control codes. 2022-09-07 16:01:38 +03:00
Muzychenko Andrey
dfe1665ba1 Message code enum part 4: finalized transition of Message to enum class. 2022-09-06 16:57:56 +03:00
Muzychenko Andrey
e80010e3c6 Message code enum part 3: light and light group. 2022-09-06 16:48:09 +03:00
Muzychenko Andrey
803ca14ef2 Message code enum part 2: all components except for lights. 2022-09-06 11:58:35 +03:00
Muzychenko Andrey
44d5fd5097 Message code enum part 1: global messages and some hacks. 2022-09-05 10:17:37 +03:00
Harmann Gabrielian
69fd91f003
Russian translation overhaul (#154)
* Russian translation overhaul

Most of strings were renamed according to the official localisation (bundled with russian WinXP distros, manual only), some of them I had to adapt myself.

* Rollback wormhole translation.

Co-authored-by: Muzychenko Andrey <33288308+k4zmu2a@users.noreply.github.com>
2022-09-02 07:34:54 +03:00
Muzychenko Andrey
42226a14c9 Simplified get_rc_string, merged pinball and pb. 2022-08-31 15:18:22 +03:00
Muzychenko Andrey
88f835d068 Removed unused translated texts.
Fixed translation.h include leak.
Added TTextBox font color support.
2022-08-31 11:11:21 +03:00
Alexis Murzeau
66a868083a
Add translations (#153)
* Add translations from v1

* Add font configuration (to be able to use non-latin languages)

* translations: remove includes that are already in pch.h

* translations: rename enums and avoid macros

* Fix crash when the font file doesn't exist

* translations: avoid u8 to avoid reencoding by MSVC

MSVC will read the file as ASCII and reconvert characters as UTF-8, this will corrupt characters as the file is in fact already in UTF-8.

* translations: remove NUMBER in enums

* translations: handle non existing translations gracefuly (don't crash)

Fallback to english if available, else return empty string

* Testing pull collaboration.

* Rollback: remove NUMBER in enums.

* Get rid of namespace, use header instead.

* Collapsed translated text struct and array.

* Fixed build errors and warnings.

* Simplified language list.

* All new types, locals and globals should use CamelCase.

* Removed unnecessary ImGui patch.

* Rearranged TTextBox immediate mode draw.

* Final touches: removed unused declaration in gdrv.
Removed unused Msg entries and added new check.

* Remove placeholder english texts from missing translations

Co-authored-by: Muzychenko Andrey <33288308+k4zmu2a@users.noreply.github.com>
2022-08-31 07:58:03 +03:00
Muzychenko Andrey
c1c74878df Multiball part 1: control and component changes from FT.
The result is 3DPB/FT hybrid, with control closer to 3DPB and components closer to FT.
2022-08-25 17:09:17 +03:00
Muzychenko Andrey
14a8d64b67 TLight: cleanup, code from FT, new test commands. 2022-08-24 13:32:35 +03:00
Muzychenko Andrey
acd1ad34b2 Code from FT: simplified TFlipper sprite update.
TFlipperEdge moving geometry stored in object.
2022-08-23 08:14:28 +03:00