Skip to content
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

Mass Scanner and Radar Telescreens #2351

Merged
merged 5 commits into from
Nov 11, 2024

Conversation

Tych0theSynth
Copy link
Contributor

About the PR

Added variants of the upstream Telescreen that's used traditionally as a camera monitor.
These variants are compact versions of the mass scanner computer and radar computer, which allows for you to have these machines as wallmounts.

Custom construction graphs and entities for making these constructable were also added, along with the necessary elements for them to be deconstructable also.
Construction graphs largely match the upstream original but require the specific mass scanner and advanced radar boards to be built.
Functionally they behave the same as their parent consoles. You can just put them on walls now.

Why / Balance

Useful for mapping compact ships where floor space is at a premium or to mapping compact cockpits.
Adding individual frames for each was required in order for the construction graphs to work. Upsteam issue.

How to test

Checkout the branch, load the game and spawn the consoles. Play with constructing and deconstructing them.

Media

2024-10-30 16_26_31-Window
2024-10-30 16_26_53-Window
2024-10-30 16_27_05-Window
2024-10-30 16_27_16-Window
2024-10-30 16_28_36-Window
2024-10-30 16_28_27-Window

Requirements

Breaking changes

None, I should hope!

Changelog
🆑

  • add: Added wallmount mass scanner and radar telescreens.

Copy link
Contributor

github-actions bot commented Oct 30, 2024

RSI Diff Bot; head commit da07d01 merging into 9089839
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/_NF/Structures/Machines/computer_wallmount.rsi

State Old New Status
broken_wallmount Added
computer_board_exposed Added
computer_monitor_unscrewed Added
computer_needs_wires Added
computer_no_monitor Added
computer_wallmount Added
computer_wallmount_frame Added
screen_mass Added
screen_radar Added

Edit: diff updated after da07d01

@dvir001 dvir001 added Status: Needs Review This PR is awaiting reviews Status: DO NOT MERGE labels Oct 30, 2024
@dvir001
Copy link
Contributor

dvir001 commented Oct 30, 2024

Added DO NOT MERGE just till we swap tag to comp, PR valid for normal review and approval.

@whatston3
Copy link
Contributor

whatston3 commented Oct 30, 2024

Adding individual frames for each was required in order for the construction graphs to work. Upsteam issue.

Got a link to that issue? Could it not be done in the same way machines and computers are currently built? Build a frame - in your case, a wallmount one - fill it with a particular board, add other reqs, get your computer of choice? You'd need a wallmount computer graph, yes, but the ComputerComponent seems like it'd work fine for wallmount computers.

Might suggest avoiding "telescreen" in favour of "wallmount radar console", etc. as a description of purpose. It's still a console, not a sci-fi television.

@arimah
Copy link
Contributor

arimah commented Oct 30, 2024

Got a link to that issue?

"Issue" in the sense of problem, not GitHub issue.

Could it not be done in the same way machines and computers are currently built?

With machines and computers, the final entity is decided by BoardNodeEntity. It would require changing some C# code (which I know Tych0 doesn't know how to do), similar to how we added support for tabletop computers... by hardcoding a construction graph ID, oof. Possible, would allow for other wallmount consoles to be created in the future, but more work. If you want this, you will definitely have to help Tych0 with it. :)

@whatston3
Copy link
Contributor

Making a set of suggestions, should be ready shortly today.

@whatston3
Copy link
Contributor

Questionable definition of "shortly" (typical), but suggestions are up here (vs. master) on whatston3:2024-11-03-wallmount-radar-suggestions.

  • BoardNode now has an enum for computer type (a bit silly, but simple enough, and works well).
  • New construction graph for wallmount computers.
  • Wallmount and tabletop construction graphs now follow the same deconstruction steps as regular computers (prying components out, screwing end step to disassemble the frame)
  • Wallmount construction graph has a few particularities - we assume it will always be anchored, and when emptying the contents, they empty at your feet to prevent going out into space or into the room behind you - should do this to wallmount lockers as well.
  • New assembly states for wallmount computers (dev sprites are real, but I don't think they look awful).
  • Wallmount computers are named the same as their tabletop/free-standing counterparts.

Each state of wallmount computer assembly, with the start on the left and the two finished entities shown on the right.
image

@whatston3
Copy link
Contributor

One thing I noted: the maintenance panel overlay (with exposed wires) for the wallmount machines doesn't exist, and it also doesn't for the advanced radar console. Should look into what those need.

@Tych0theSynth
Copy link
Contributor Author

I'll give this a look over when I can. I'm away visiting Arimah now so I won't have access to my git to push anything myself.
I know the maintenance panel states are an upstream thing that comes from the fact that these parent from computers and it's super scrunkly and horrible.
The solution might be to make their own parent so maintenance panels aren't a thing with them, but I don't know how difficult that would be to implement.

@whatston3 whatston3 added Status: Awaiting Changes This PR has changes that need to be made before merging and removed Status: DO NOT MERGE Status: Needs Review This PR is awaiting reviews labels Nov 7, 2024
…stions

2024 11 03 wallmount radar suggestions
@github-actions github-actions bot added the C# label Nov 11, 2024
@Tych0theSynth
Copy link
Contributor Author

@whatston3
Sat down with @arimah so she could explain the improvements to me! Really happy with all of this. Thanks again for your hard work helping me with another one of my PRs! I've merged your improvements. Cheers!

Copy link
Contributor

@arimah arimah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've tested the latest changes, and everything seems to work perfectly. There's a bit of weirdness with deconstructing the tabletop computer, but that's unrelated to this PR. Thanks for your hard work making this possible, @Tych0theSynth and @whatston3. :> I reckon this is good to go. Very nice to have this more generalised.

@arimah arimah merged commit 02fda0f into new-frontiers-14:master Nov 11, 2024
16 checks passed
FrontierATC added a commit that referenced this pull request Nov 11, 2024
@dustylens
Copy link
Contributor

Yay! I was waiting for these!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C# No C# Sprites Status: Awaiting Changes This PR has changes that need to be made before merging YML
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants