-
-
Notifications
You must be signed in to change notification settings - Fork 144
Dropship Loadout remake #2270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
FS-21
wants to merge
23
commits into
Phobos-developers:develop
Choose a base branch
from
FS-21:feature/dropship-loadout
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Dropship Loadout remake #2270
Changes from 20 commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
184e20e
Initial commit
FS-21 2ceb8d3
- Added animations and Map Action
FS-21 26dc848
Fix crash if the screen is skipped with no selected units
FS-21 3671f97
Improved code
FS-21 e4813eb
tweak
FS-21 6e392e6
New scenario tags & code cleanup
FS-21 a16feec
Added PCX support
FS-21 c8a715f
Another animation in PCX format
FS-21 8a723a9
tweaks
FS-21 cfc8195
Now Countries can overwrite scenario tags regarding the Dropship Load…
FS-21 f0ba4dd
Custom cameo locations in Scenario [Basic] section or in the Country …
FS-21 6d8bed2
Fixed a theme bug with the Countries case.
FS-21 01b526e
Customizable click sounds in Scenario [Basic] and Countries
FS-21 8c77e34
Removed the Dropships limiter
FS-21 75dfa81
Merge branch 'develop' into feature/dropship-loadout
FS-21 140c465
Merge branch 'develop' into feature/dropship-loadout
FS-21 e7450b5
Updated & reworked Dropship logic
FS-21 2405338
doc tweak
FS-21 f41e2a4
New customizable slots variable
FS-21 667da98
Applied feedback regarding push_back replacement
FS-21 98f09a6
Unharcoded texts
FS-21 855c768
Fix initial units exploit in Dropship Loadout UI
FS-21 f9d9df9
Small text tweak
FS-21 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule YRpp
updated
7 files
| +12 −0 | EventClass.h | |
| +16 −0 | IPXManagerClass.h | |
| +44 −0 | SessionClass.h | |
| +4 −0 | UI.h | |
| +7 −0 | Unsorted.h | |
| +4 −1 | WWMouseClass.h | |
| +3 −0 | WinsockInterfaceClass.h |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1173,6 +1173,111 @@ In `rulesmd.ini`: | |
| TabIndex=1 ; integer | ||
| ``` | ||
|
|
||
| ### Dropship Loadout | ||
|
|
||
| Superweapons can be configured to manage customizable cargo deployments. This logic is divided into two distinct configurations: | ||
| 1. **Launch Dropship**: Spawns the transport carrier and deploys loaded cargo onto the battlefield. | ||
| 2. **Open Window**: Opens the interactive user interface to purchase and configure cargo. | ||
|
|
||
| --- | ||
|
|
||
| #### Launch Dropship | ||
|
|
||
| These parameters configure the superweapon that spawns a transport carrier to deliver your cargo to the battlefield: | ||
|
|
||
| * `DropshipLoadout.Launch`: If set to `true`, firing this superweapon launches the dropship transport with its current cargo (utilizing dropship slot `0`). | ||
| * `DropshipLoadout.Carrier`: Overrides the transport unit type spawned (e.g. `TSDSHP`). | ||
| * `DropshipLoadout.PersistentCargo`: If set to `true`, the selected cargo is preserved across launches. If set to `false`, the cargo configuration is cleared after launch. | ||
| * `DropshipLoadout.VeteranLevel`: The veterancy level (`1` for Rookie, `2` for Veteran, `3` for Elite) to promote the cargo units to upon spawning. | ||
|
|
||
| In `rulesmd.ini`: | ||
| ```ini | ||
| [SOMESW] ; SuperWeaponType | ||
| DropshipLoadout.Launch=false ; boolean | ||
| DropshipLoadout.Carrier= ; TechnoType | ||
| DropshipLoadout.PersistentCargo=false ; boolean | ||
| DropshipLoadout.VeteranLevel=1 ; integer | ||
| ``` | ||
|
|
||
| --- | ||
|
|
||
| #### Open Window | ||
|
|
||
| These parameters configure the interactive Dropship Loadout purchase window that opens when the superweapon is fired: | ||
|
|
||
| * `DropshipLoadout.OpenWindow`: If set to `true`, firing this superweapon opens the interactive Dropship Loadout configuration window. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Our unordered list does not use |
||
| * `DropshipLoadout.Money`: Overrides the starting budget allocated for purchasing units. Defaults to `-1` (uses player's current treasury money). | ||
| * `DropshipLoadout.PreloadCargo`: If set to `true`, the window preloads the cargo configuration selected in the previous invocation. | ||
| * `DropshipLoadout.RememberPurchasedCargo`: If set to `true`, preloaded cargo from a previous loadout window call is treated as "already purchased" (free, does not deduct cost from the new starting money pool, and selling it refunds the cost). If set to `false`, the cost is deducted from the budget at startup (failing the preload if the player cannot afford it). | ||
| * `DropshipLoadout.AddUnusedMoneyToPlayer`: If set to `true`, any unused money in the loadout screen will be added back to the player's main funds. | ||
| * `DropshipLoadout.AllowableUnits` / `DropshipLoadout.AllowableUnitsN`: A list of TechnoTypes that are allowed to be purchased and loaded. If `N` is omitted, it defines the default allowed units. | ||
| * `DropshipLoadout.AllowableUnitMaximums` / `DropshipLoadout.AllowableUnitMaximumsN`: The maximum allowed quantity that can be purchased for each unit in `DropshipLoadout.AllowableUnits` / `DropshipLoadout.AllowableUnitsN`. Use `-1` for unlimited. | ||
| * `DropshipLoadout.FixedUnits`: Locked units pre-placed in the dropship cargo slots that cannot be sold or moved. | ||
| * `DropshipLoadout.InitialUnits`: Pre-placed units that the player can customize, sell, or refund. They are one-time use and get cleared from the initial pool after launch. | ||
| * `DropshipLoadout.SizeLimit`: Passenger capacity/size limit (uses unit `Size=` tags) allowed per cargo slot. If not set, no size limits are enforced by default. | ||
| * `DropshipLoadout.Theme`: Soundtrack theme to play while the purchasing window is open. | ||
| * `DropshipLoadout.StartEVA`: EVA announcer voice played at window startup. | ||
| * `DropshipLoadout.Palette`: Custom `.pal` file to override the default palette (`DROPSHIP.PAL`) used to render the dialog and cameos. | ||
| * `DropshipLoadout.BackgroundPCX` / `DropshipLoadout.Background`: Custom PCX / SHP background graphics. | ||
| * `DropshipLoadout.UpArrowPCX` / `DropshipLoadout.UpArrow` / `DropshipLoadout.UpArrowLocation`: Navigation scroll arrow graphics and position. | ||
| * `DropshipLoadout.DownArrowPCX` / `DropshipLoadout.DownArrow` / `DropshipLoadout.DownArrowLocation`: Navigation scroll arrow graphics and position. | ||
| * `DropshipLoadout.LoadoutPCX` / `DropshipLoadout.Loadout` / `DropshipLoadout.LoadoutLocation`: Current loadout selection box graphics and position. | ||
| * `DropshipLoadout.PilotLitPCX` / `DropshipLoadout.PilotLit` / `DropshipLoadout.PilotLitLocation`: Status lights graphics and position. | ||
| * `DropshipLoadout.SidebarCameosCount` / `DropshipLoadout.SidebarCameoLocationN`: Layout and coordinates for each sidebar cameo slot. | ||
| * `DropshipLoadout.DropshipCameosCount` / `DropshipLoadout.Dropship0.CameosCount` / `DropshipLoadout.CameoLocationN`: Layout and coordinates for each cargo slot cameo. | ||
| * `DropshipLoadout.DGreenListPCX` / `DropshipLoadout.DGreenList` / `DropshipLoadout.DGreenAnimationsCount` / `DropshipLoadout.DGreenLocationN`: Custom green status indicators and animations. | ||
| * `DropshipLoadout.BuyClickSound` / `DropshipLoadout.SellClickSound` / `DropshipLoadout.ArrowsClickSound` / `DropshipLoadout.StartingDragDropSound` / `DropshipLoadout.EndingDragDropSound`: Audio click/drag sound effects. | ||
|
|
||
| In `rulesmd.ini`: | ||
| ```ini | ||
| [SOMESW] ; SuperWeaponType | ||
| DropshipLoadout.OpenWindow=false ; boolean | ||
| DropshipLoadout.Money=-1 ; integer | ||
| DropshipLoadout.PreloadCargo=false ; boolean | ||
| DropshipLoadout.RememberPurchasedCargo=true ; boolean | ||
| DropshipLoadout.AddUnusedMoneyToPlayer=false ; boolean | ||
| DropshipLoadout.AllowableUnits= ; List of TechnoTypes | ||
| ; or | ||
| DropshipLoadout.AllowableUnitsN= ; List of TechnoTypes | ||
| DropshipLoadout.AllowableUnitMaximums= ; List of integers | ||
| ; or | ||
| DropshipLoadout.AllowableUnitMaximumsN= ; List of integers | ||
| DropshipLoadout.FixedUnits= ; List of TechnoTypes | ||
| DropshipLoadout.InitialUnits= ; List of TechnoTypes | ||
| DropshipLoadout.SizeLimit= ; integer | ||
| DropshipLoadout.Theme= ; Theme | ||
| DropshipLoadout.StartEVA= ; Vox | ||
| DropshipLoadout.Palette= ; filename (.pal) | ||
| DropshipLoadout.BackgroundPCX= ; filename (.pcx) | ||
| DropshipLoadout.Background= ; filename (.shp) | ||
| DropshipLoadout.UpArrowPCX= ; filename (.pcx) | ||
| DropshipLoadout.UpArrow= ; filename (.shp) | ||
| DropshipLoadout.UpArrowLocation= ; coordinate pair (X,Y) | ||
| DropshipLoadout.DownArrowPCX= ; filename (.pcx) | ||
| DropshipLoadout.DownArrow= ; filename (.shp) | ||
| DropshipLoadout.DownArrowLocation= ; coordinate pair (X,Y) | ||
| DropshipLoadout.LoadoutPCX= ; filename (.pcx) | ||
| DropshipLoadout.Loadout= ; filename (.shp) | ||
| DropshipLoadout.LoadoutLocation= ; coordinate pair (X,Y) | ||
| DropshipLoadout.PilotLitPCX= ; filename (.pcx) | ||
| DropshipLoadout.PilotLit= ; filename (.shp) | ||
| DropshipLoadout.PilotLitLocation= ; coordinate pair (X,Y) | ||
| DropshipLoadout.SidebarCameosCount= ; integer | ||
| DropshipLoadout.SidebarCameoLocationN= ; coordinate pair (X,Y) | ||
| DropshipLoadout.DropshipCameosCount= ; integer | ||
| DropshipLoadout.Dropship0.CameosCount= ; integer | ||
| DropshipLoadout.CameoLocationN= ; coordinate pair (X,Y) | ||
| DropshipLoadout.DGreenListPCX= ; List of filenames (.pcx) | ||
| DropshipLoadout.DGreenList= ; List of filenames (.shp) | ||
| DropshipLoadout.DGreenAnimationsCount= ; integer | ||
| DropshipLoadout.DGreenLocationN= ; coordinate pair (X,Y) | ||
| DropshipLoadout.BuyClickSound= ; Sound | ||
| DropshipLoadout.SellClickSound= ; Sound | ||
| DropshipLoadout.ArrowsClickSound= ; Sound | ||
| DropshipLoadout.StartingDragDropSound= ; Sound | ||
| DropshipLoadout.EndingDragDropSound= ; Sound | ||
| ``` | ||
|
|
||
| ### EMPulse settings | ||
|
|
||
| - It is possible to customize which weapon a building with `EMPulseCannon=true` fires when an associated `Type=EMPulse` superweapon (**only** if `EMPulse.TargetSelf=false` or omitted) is fired by setting `EMPulse.WeaponIndex`. | ||
|
|
||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strange formatting