Commit Graph
67 Commits
Author SHA1 Message Date
Goober5000 6f7f9c2f48 Merge pull request #5120 from MjnMixael/scpui_pause_screen
funcs and virtvars for SCPUI pause screen
2023-02-13 21:45:12 -05:00
mjn-mixael c5ea47fd05 clear credits before rebuilding 2023-02-04 01:26:04 -06:00
mjn-mixael 6b097be0a6 use me daddy 2023-01-16 14:15:56 -06:00
mjn-mixael 9980c3f5c5 funcs and virtvars for SCPUI pause screen 2023-01-16 14:02:01 -06:00
MjnMixael a3bbf13da6 prevent access to goals outside the vector (#5044)
prevent access to goals outside the vector
2022-12-24 21:12:56 -05:00
Goober5000 226e956fcc dynamic events and goals
Make events and goals dynamic in missions and campaigns.  When parsing, initialize all fields to their defaults.
2022-12-09 13:10:39 -05:00
Goober5000 b2f5ea9065 Merge pull request #4764 from MjnMixael/3d_select_settings
3d select settings
2022-11-13 16:13:17 -05:00
mjn-mixael 35e6bc9df0 setup overhead style as a type enum 2022-11-09 09:16:57 -06:00
MjnMixael bff3d433e2 properly get badge name (#4853) 2022-11-05 10:01:44 -04:00
BMagnu d85c1431a4 libRocket Texture Passthrough (#4822)
* Properly handle lua texture refcounting

* Add linkTexture ui method

* Incorporate feedback
2022-11-02 18:25:22 +09:00
MjnMixael 346817f3d0 Further limit what built-in UI elements can be setup when using SCPUI (#4824)
* Further limit what built-in UI elements can be setup when using SCPUI

* remove superfluous declaration
2022-11-01 21:43:14 +09:00
MjnMixael 90c4316a5e Update scpui documentation (#4802)
* Update documentation

* Typo
2022-10-20 19:13:03 +09:00
mjn-mixael 64bd233c49 API to access the new 3d select settings in game_settings.tbl 2022-10-17 09:58:15 -05:00
MjnMixael 6ae8674615 Correctly set credits default even for scpui access (#4768)
* Correctly set credits default even for scpui access

* These also need to move up for the same reason

* Match retail functionality
2022-10-11 16:47:10 +09:00
MjnMixael e30931b6d2 API to save the current loadout to the player file (#4739)
* API to save the current loadout to the player file

* cleanup
2022-10-02 20:23:31 +09:00
MjnMixael ef850ad302 Handle errors from create_wings() in an API friendly way (#4730) 2022-09-30 16:46:45 +09:00
MjnMixael e963cfda93 return the actual number of starting wings (#4728) 2022-09-30 16:44:58 +09:00
MjnMixael 384e228347 Reset loadout to default and handle commit mission error returns (#4719)
* Reset loadout to default and handle commit mission error returns

* Return enum instead of int codes

* comment
2022-09-29 22:35:09 +09:00
MjnMixael 35ee34b86a isDisabled returns if the ship is used in the mission + some documentation fixes (#4725) 2022-09-29 16:19:05 +09:00
MjnMixael 5979d29463 Scpui loadout pools (#4698)
* API Access to the ship and weapon pools

* func to indexer

* Make ship and weapon pools writable
2022-09-29 16:18:26 +09:00
mjn-mixael 1e7ee8b345 Lua API read-only access to the actual loadout 2022-09-24 16:30:44 -05:00
EatThePath 367e19b751 Merge pull request #4694 from MjnMixael/ScpuiShipSelect
Scpui ship select
2022-09-24 15:15:13 -05:00
MjnMixael f7d84dfe76 Update ui.cpp
return
2022-09-22 09:13:27 -05:00
mjn-mixael 601a41bb60 return invalid handle 2022-09-22 08:17:19 -05:00
MjnMixael 5f183832e1 Scpui api briefing map (#4656)
* API version of the briefing map

* Cleanup

* Further cleanup

* # This is a combination of 2 commits.

Fix resizing and cleanup remaining static anim calls

Revert changes completely

* Fix documentation

* implement initBriefing and rearrange map drawing methods to match.

* Documentation

* nullptr
2022-09-22 16:04:14 +09:00
mjn-mixael 2f5ccc5b1a unused parameter 2022-09-21 18:02:52 -05:00
mjn-mixael 655fe8d7f1 Loadout wing API (+4 squashed commit)
Squashed commit:

[83e8522d1] Comments

[50686ce6a] Wing Slot data

[450a0f6e1] Common Init

[0c603313e] Rough in WIP
2022-09-21 17:27:38 -05:00
MjnMixael eddda373d3 Allow API to optionally not start the next mission. (#4679)
* Allow API to optionally not start the next mission.

* false -> true
2022-09-21 08:16:04 +09:00
Goober5000 56803e7c9f Merge pull request #4615 from MjnMixael/ScpuiDebriefingLibrary
Scpui API debriefing library
2022-09-18 18:36:33 -04:00
Goober5000 c9ca58f504 update 2022-09-15 20:09:55 -04:00
mjn-mixael ce9dd1eaf3 cleanup includes 2022-09-15 10:41:57 -05:00
mjn-mixael 54b6efcf25 Address feedback 2022-09-15 10:27:45 -05:00
mjn-mixael f0f23b5fd0 Address feedback 2022-09-15 10:27:38 -05:00
mjn-mixael 6f0f3a10eb Address feedback 2022-09-15 10:27:31 -05:00
mjn-mixael d718c76906 Some cleanup 2022-09-15 10:27:21 -05:00
Mike N 895d4dce1a debriefing api access 2022-09-15 10:27:19 -05:00
Goober5000 e146a24f9e additional polishing of the briefing API
Follow-up to #4602.  Overall the PR was good, but there are a few extra small changes that should go in. In order of priority:

1) The `exitLoop`, `skipMission`, and `skipTraining` functions should check for campaign mode.
2) The `isVisible` virtvar should be changed to a function, because calling it may have side effects.  In standard usage, the briefing formula is evaluated exactly once per stage on briefing initialization, so scripts should follow this convention.
3) The `hasGoalsSlide` function should be called `hasGoalsStage`, because "stage" is the common terminology in FSO.
4) Paging out mission messages is already done in `game_level_close` and should be removed from not only the scripting method but the method it was based on.
5) For consistency, unused parameters should use the `SCP_UNUSED` macro.
6) The `isTraining` flag check can be slightly streamlined using the double-not trick.
2022-09-15 11:20:00 -04:00
MjnMixael 70609bb3b9 Cleanup Fiction, Red Alert, and Loop Brief based on feedback on other PRs (#4649) 2022-09-14 16:01:57 +09:00
BMagnu 10a47781a0 Change cmd_briefing API to reference from copy (#4646) 2022-09-14 16:01:42 +09:00
MjnMixael ff55a39dd4 Scripting functions required for SCPUI conversion of all four Tech Room UIs (#4591)
* Documentation (+6 squashed commit)

Squashed commit:

[ea8550b54] Resolve errors

[9ab0a576d] Add way to count number of elements in the arrays

[eb74146cc] Correct this boolean check

[60fbc6008] Missed one

[78e65a4b7] Avoid naming collision

[4ea5ddead] Clean unneeded log print and compare like variables

* Adding simulator room here seems like a pretty safe option

* Scpui API to access to build the tech room cutscene list and a few methods to help playing the cutscene and return to the menu accurately

* Scpui API access for credits related data

* # This is a combination of 7 commits.

Clean unneeded log print and compare like variables

Avoid naming collision

Missed one

Correct this boolean check

Add way to count number of elements in the arrays

Resolve errors

Documentation

* Address feedback

* Address feedback

* Add virtvar isCampaignMission
2022-09-14 16:01:34 +09:00
MjnMixael ef85e94e40 SCPUI API elements required for the Briefing (#4602)
* API elements required for the Briefing

* Resolve errors

* Check if the mission is a Scramble mission

* Add one missed flag check

* Slight API naming adjustment

* Address feedback

* Address Feedback again

* Differentiate var names
2022-09-14 04:39:20 +09:00
mjn-mixael 63d4a7ce8c This should be func not virtvar 2022-08-28 14:52:31 -05:00
MjnMixael 6425a999a6 Some User Interface API cleanup and generalization (#4595)
* Move colors up one level and generalize

* Initialize this first

* These are common to both all Briefings, so put them in the general Briefing category
2022-08-28 14:27:17 -04:00
MjnMixael be00e257b8 Scripting functions required for SCPUI conversion of Red Alert (#4587)
* Scripting functions required for SCPUI conversion of Red Alert

* Correct documenation

* Address feedback

* Missed return

* Briefings
2022-08-28 13:18:12 -04:00
wookieejedi 650ae9a074 Some extra safety checks for fiction viewer scripts (#4598)
Protects `Fiction_viewer_active_stage` if it reads a stage of -1 (it would have thrown a vector access error because the index is out of range). Also, given a lot of other scripting functions have additional built in error checks, I just added those to the fiction viewer functions.
2022-08-28 09:11:57 -04:00
MjnMixael 60509b2c3c Scripting functions required for SCPUI conversion of Loop Brief. (#4586)
* Scripting functions required for SCPUI conversion of Loop Brief.

* nullptr

* Fix documentation and make setting choice optional, defaulting to false.

* Documetation fix
2022-08-28 08:52:41 -04:00
MjnMixael 6d26547928 Scripting functions necessary for SCPUI Fiction Viewer (#4584)
Scripting functions necessary for SCPUI Fiction Viewer
2022-08-25 18:16:42 -04:00
Goober5000 c1003f76b8 add new virtvar for getting and setting resize mode, and use it in drawString and drawStringResized 2022-05-31 00:21:10 -04:00
Naomi Coffman 0f9fee8d7c Lua indexes start at 1 2022-05-17 18:59:28 -04:00
Naomi Coffman 701a8de527 Allow SCPUI to run $On Briefing Stage: hooks 2022-05-15 19:44:48 -04:00