Commit Graph
196 Commits
Author SHA1 Message Date
Goober5000 2626e7862b allow invalid arguments to be nil
A design choice very early in FSO's scripting development established that invalid results return invalid objects.  By using a game_settings.tbl flag, this allows invalid results to return nil instead.
2024-03-03 11:47:28 -05:00
Goober5000 bb9c76103b Merge pull request #5997 from ferralverrall/user/joverral/subsystem_under_reticule
allow targeting subsystems on already targeted ship under reticule
2024-03-01 15:33:12 -05:00
Mike Nelson 9c521d04d8 Retail ingame options (#5895)
* Create the ingame options game state

* Base working version of in-game options

* Cleanup + Optimization

* Localization pass

* more cleanup + documentation

* tooltips on option hover

* documentation and better inbounds check

* match case

* format strings instead of direct strings

* unused parameter

* address feedback

* localization id conflict with master

* Add this line back in

* pass the new option flags as well

* resolve xstr id conflict
2024-02-27 13:09:34 -05:00
joverral e4acd15a1e fix the string too! 2024-02-21 16:48:53 -08:00
joverral d16f46fb1c name change per feedback 2024-02-21 16:42:30 -08:00
joverral 77ad3ba0aa Fixes per feedback 2024-02-21 10:25:52 -08:00
joverral 25d326567e allow targeting subsystems on already targeted ship under reticule 2024-02-20 18:07:13 -08:00
mjn-mixael fb0a62c400 fix discord option needing restart 2024-01-24 10:07:37 -06:00
JohnAFernandez 65677542cb Merge pull request #5869 from MjnMixael/disable_cmdline_overrides
Disable cmdline overrides
2023-12-11 11:50:22 -05:00
mjn-mixael b9938b854f commandline to disable using ingame options 2023-12-07 16:45:43 -06:00
mjn-mixael 9e719440c9 Change the discord option category to "game" 2023-12-07 10:31:15 -06:00
Mike Nelson 9b86d2f16d Scpui language selector (#5826)
* SCPUI in-game language selector

* xstr support

* proper debug print format

* minor fixes

* Save the language as json data rather than an index into the languages array

* ext instead of id for clarity

* Do this more formally

* unused param
2023-11-26 11:52:15 -05:00
MageKing17 68eef5949b Implement direction-blind contrails option.
One of the features requested in #5378 (specifically the one requested in #5274), this adds a new "$Contrails use absolute speed:" option to game_settings.tbl, which makes the `ct_below_limit()` function check `objp->phys_info.speed` instead of `objp->phys_info.fspeed`. This allows contrails to appear when moving in a direction other than forwards.
2023-11-18 10:51:40 -08:00
mjn-mixael 34e57d301a Mod setting to disable FSO's internal loadout restoration 2023-11-01 17:49:04 -05:00
wookieejedi 5d447951b4 Add Game Option to refresh selected weapon in loadout (#5713)
* Add Game Option to refresh selected weapon in loadout

This PR adds an option to always ensure the viewed weapon is one that can actually be on the selected ship when first clicking on the weapon loadout.

If you go to the loadout in the briefing and view the weapons on your ship, then go and change your ship class and go back to the weapon loadout screen, you will see that the weapon shown in the window on the right side is from your very first viewing before you changed your ship class. Displaying a weapon not allowed on a ship by default can be confusing to players, especially on mods like FotG where most ships have unique weapons.

The player can still of course click on a non-allowed weapon to view it, but with this PR the player will be initially shown a selected weapon that is allowed on the ship when opening the loadout editor.

Tested and works as expected.

* update order to be near weapon bools
2023-10-25 07:31:23 -04:00
Goober5000 8c0bc25303 Merge pull request #5671 from Goober5000/subsystem_calculation_fix
add "Calculate subsystem hitpoints after parsing" option
2023-10-21 14:08:37 -04:00
mjn-mixael e2aac31912 Merge branch 'master' into scpui_options_localization
# Conflicts:
#	code/camera/camera.cpp
2023-10-18 12:49:48 -05:00
Goober5000 45abdefc07 add "Calculate subsystem hitpoints after parsing" option
Subsystem hitpoints are calculated as a percentage of the ship's hull strength as they are parsed.  If a modular table modifies the ship's hull strength, the subsystems are not modified at the same time.  This can lead to unreasonably large or small subsystem hitpoint values, as recently seen in the 1.3.0 version of Cardinal Spear.

This PR adds an option to defer hitpoint calculation until after parsing so that the subsystem is a percentage of the correct hull strength.  Since this may affect the balance of existing mods, it is off by default unless the build targets 24.0 or later.

This also removes the long-unused `hull_percentage_of_hits` check and adds several log statements for significant options in game_settings.tbl.
2023-10-06 20:52:22 -04:00
mjn-mixael a0a523223c clean up options builders and use delayed xstr for localization 2023-09-22 19:15:42 -05:00
Goober5000 ed5a5861f7 aspect-ratio-specific splash screens
Adds the ability to specify an aspect ratio, or a range of aspect ratios, to be used by splash screens.
2023-09-16 02:18:10 -04:00
Goober5000 613fad21c9 fix $Movie subtitle font: for custom fonts
The default movie subtitle font is font01.vf, but mods with custom font tables might not use this font.  So this changes the handling slightly so that the movie player will use whatever the first available font is.

Follow-up to #1523.  Fixes a sometimes spurious warning in mod initialization.
2023-08-19 13:25:13 -04:00
Goober5000 dd0af0e07c add screen resolution scaling for hud-set-coords
The hud-set-coords SEXP has always used exact pixels, without regard for the current screen resolution.  This adds a similar scaling mechanism as is used for show-subtitle.

Fixes #5525.
2023-07-29 15:21:43 -04:00
BMagnu 7c0827aaa2 Move bad check (#5455) 2023-06-10 23:13:26 +02:00
BMagnu 8562dde955 OpenGL Capability Handling (#5445)
* Init Particle shaders only if they're actually used

* set layout correctly

* Don't compile shadow shader if not needed

* Properly deal with capabilities

* Fix typo

* remove obsolete capability
2023-06-07 19:58:55 -04:00
Goober5000 d7d9f10208 add game_settings.tbl option to enable HUD drop shadows by default
As requested by a comment on #4543.
2023-06-01 15:23:41 -04:00
Mike Nelson 3f8e3360f9 Some additional splash screen features (#5379)
* some additional splash screen features

* Do this based on actual milliseconds

* splash screen is skipped in standalone

* os_poll()
2023-05-04 14:24:10 -04:00
Goober5000 64c27d8186 fix unused variable warnings 2023-04-26 19:36:16 -04:00
Asteroth 7c4b9272d5 Randomize particle rotation (#5335)
* randomize particle rotation

* spelling

* initialize it, dummy
2023-04-17 07:37:38 -04:00
Goober5000 b016163bf3 make 'player starts in chase view' a toggle
Per request of #5226.  This PR also makes the variable names more consistent.
2023-04-04 23:34:03 -04:00
Mike Nelson 8d762d3fbe fredTunes, Fredify, Fred Music, or whatever. It's a music player. (#5101)
* initial semi-working version

* better implementation of play and add stop and music.tbl viewer

* let the music window lose focus

* some cleanup

* add autoplay, next, previous

* use graphics

* Better dialog layout and allow ignoring files from the player list

* Make betterer

* a touch more cleanup

* revert this change

* missing bracket from merge conflict resolution

* address feedback
2023-03-25 13:52:11 -04:00
Asteroth 31e891df0d rename and betterchecking 2023-03-23 05:04:02 -04:00
Asteroth af41dbae37 add clip planes to game_settings 2023-03-22 19:48:05 -04:00
Mike Nelson 29ea809790 toggle auto-assigning personas (#5125) 2023-03-19 21:50:26 -04:00
MjnMixael 39c71d3a7b Flag to apply hud shudder to chase view (#5145)
* flag to apply hud shudder to chase view

* not not
2023-02-20 23:13:24 +09:00
Goober5000 42db9f2e7b Merge pull request #5169 from MjnMixael/countermeasure_cargo_size
Feature for countermeasures to respect cargo size
2023-02-19 15:06:17 -05:00
BMagnu 8731ad1448 Add option to deprecate hooks (#5184)
* Add hook deprecation to calls

* Deprecate hooks properly

* Change OnSplashScreen hook callig

* Check for deprecated hooks at script time

* include hooks directly

* Check deprecation for lua added hooks

* Write deprecation notice to docs

* rescope Target_version

* fix typo
2023-02-15 17:12:25 +09:00
BMagnu 4485efe484 Add FRED SpaceMouse support (#4984)
* Add hidapi lib

* Add Spacemouse Interface

* Integrate HID API

* Implement basic 3dconnexion hid protocol

* FRED Spacemouse integration

* QtFRED support

* Fix assertion

* More devices

* Increase polling

* Wireless resetting

* QtFRED polling frequency

* Add nonlinear scalings

* Linux Build Options for HIDAPI

* Linux Build Options for HIDAPI 2

* Fix GCC

* Resolve Type Aliasing

* Fix out-of-focus control

* rename searchSpaceMouse
2023-02-15 03:00:08 +09:00
MjnMixael 40807000ad Merge branch 'master' into countermeasure_cargo_size 2023-02-12 23:18:02 -06:00
Asteroth d28833e92a fix thruster sounds and add flag 2023-02-12 15:55:23 -05:00
MjnMixael 1076493ceb choose random splash image (#5054)
* choose random splash image

* address feedback
2023-02-12 09:52:57 -05:00
mjn-mixael 4f36c6a781 feature for countermeasures to respect cargo size 2023-02-03 10:15:32 -06:00
mjn-mixael e0baaa6087 Allow way to prevent scpui loading hires animations 2023-01-24 16:20:00 -06:00
Goober5000 0d56bb9999 restore retail behavior of chaining to repeating events
To avoid changing behavior of existing mods, simulate the retail behavior unless the bugfix is explicitly activated.  The buggy retail behavior is to evaluate a chained event, not skip it, if the event is repeating, regardless of whether the repeat timestamp has elapsed.
2023-01-03 01:37:18 -05:00
Asteroth 0fb6b2ae0d Update 22.4 version references to 23.0 (#5025)
* update references to 22.4 to 23.0

* fix a few more version references
2022-12-21 00:16:51 +09:00
wookieejedi 07a21a607a Mod Table Settings for Arc Widths (#4967)
* Mod Table Settings for Arc Widths

There is currently a way to set the color of EMP and Damage Arcs in game_settings.tbl, but no way to change the width.

This PR adds options useful to modders to set the width and how it is calculated. Looking over the code and asking around, I developed these exposed options.

The options also allow modders to control the arc widths in multiple ways. For example, if you want to set a constant width for all ships you would set the `+Do Not Use Width Multiplier Over Radius:` to something huge, and if you wanted no arcs ever you would set the `+Width Default:` to 0.

They are tested and work as expected.

* clang

* fix copy paste error from #2053

* tab cleanup

* whitespace cleanup 2

* same for type ship and damage
2022-12-07 07:24:05 -05:00
MjnMixael bc3da4fed7 custom colors for passive lightning (#4969)
* custom colors for passive lightning

* initialize member variables and apparently this can't be nullptr

* Small bugfix
2022-12-06 19:57:16 -05:00
wookieejedi 1c45a18d9b Add Option to allow weapons that hit player to place per-weapon sound (#4921)
* Add Option to allow weapons that hit player to place per-weapon sound

Weapons that lasers or missiles that hit the player also play a hard coded sound, which is not ideal when trying to give valuable audio feedback to player.

This PR allows modders to stop the behavior and have the weapon class impact sound specified in the weapons table play instead of the hard coded sounds.

Tested and works as expected.

* add per class shockwave and weapon sounds

* naming update
2022-11-24 17:03:05 +00:00
Goober5000 89fb43b83d style tweaks for recently added options
1. Since Discord is both a common noun and a proper noun, capitalize it here to clarify what it refers to.
2. Capitalize the first letter of the Hotkey internal variable to follow the global variable convention.  And might as well clarify, while we're at it, that it hides hidden ships, not all ships.
2022-11-22 19:53:13 -05:00
MjnMixael d0fea8e14c option to always hide hidden hotkey ships (#4877) 2022-11-20 17:04:22 -05:00
MjnMixael 76392de698 Fix overhead style (#4893)
* move initialization of overhead style

* Still need to init these colors for scpui
2022-11-16 07:37:58 -05:00