Skip to content

New guard-range sexp - #7606

Open
TheForce172 wants to merge 7 commits into
scp-fs2open:masterfrom
TheForce172:feature/guard-range-by-guarder
Open

New guard-range sexp#7606
TheForce172 wants to merge 7 commits into
scp-fs2open:masterfrom
TheForce172:feature/guard-range-by-guarder

Conversation

@TheForce172

Copy link
Copy Markdown
Member

New guard-range sexp which allows different ranges for different guarders. As requested by Iain baker.

New guard-range sexp which allows different ranges for different guarders
@TheForce172 TheForce172 added feature A totally new sort of functionality Requested by Active Mod A feature request that has been requested by a mod that is actively in development. labels Jul 14, 2026
@MjnMixael

MjnMixael commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Can this not be done as an expansion of the old sexp instead of adding yet another -new sexp? I know there's convention for that but it's not really a user friendly convention.

@TheForce172

TheForce172 commented Jul 14, 2026

Copy link
Copy Markdown
Member Author

Not without changeing the old sexp's behaviour which were not allowed to do as it's been in a stable release.

@Sessile-Nomad

Copy link
Copy Markdown

I suspect I'm the only dev who has used the 'old' set-guard-range Sexp since 26 is so new and I have no issue with adding this to the existing Sexp 🙂

@Sessile-Nomad

Copy link
Copy Markdown

I did a poll to ask if anyone had used the set-guard-range Sexp and it looks like no one has except myself, and most people didn't even know it was 'a thing', so I think we can safely add to it without upsetting anyone.

@Goober5000 Goober5000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Got a review for this which I'll send over Discord.

@TheForce172

Copy link
Copy Markdown
Member Author

Ok, Is clang having a nervous breakdown today or something? This one makes no sense either?

@MjnMixael

MjnMixael commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Ok, Is clang having a nervous breakdown today or something? This one makes no sense either?

The codebase in general prefers nullptr over NULL always. Just replace it and it should pass.

EDIT: Oh I see.. it's saying there's a NULL on that line when there's clearly not. Uh. That's neat.

@Goober5000 Goober5000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Had some time to look at this more closely now. A few more comments inline. Also:

  • The set-guard-range definition in the Operators array still has 2 minimum arguments. It should have 3.
  • Since you've made extensive modifications to the SEXP, you could add your name as a co-author.
  • The warp_shipp = NULL; checks are clang checking unrelated lines that weren't included in the diff. They are from ship_render. Annoying, but just two lines to tweak and the warnings should go away.

Comment thread code/missioneditor/sexp_tree_model.cpp Outdated
Comment thread code/scripting/api/objs/ship.cpp Outdated
Comment thread code/ship/ship.h Outdated
Comment thread code/ship/ship.h Outdated
Comment thread code/ai/aicode.cpp Outdated
@Sessile-Nomad

Copy link
Copy Markdown

Hi guys. I don't want to sound pushy but do we have an ETA or target date for this? If it's going to be a while I'll need to plan around it.

Also if I were to use the 'old' set-guard-range Sexp in a mission will I need to go back and change it for the new one once it's ready? Cheers 👍

@TheForce172

TheForce172 commented Aug 11, 2026

Copy link
Copy Markdown
Member Author

Sorry for the delay, my life got super busy suddenly out of nowhere and I hadn't had the chance to look at this. Baring any issues the version I just pushed should be ready to go in. I did have to rip out the scripting support as I simply don't have time right now to learn how to rewrite it for how we now do the sexp. If you have used the old sexp you will have to update but it should be obvious where as it should fail on running the sexp as it wont have enough parameters.

@Goober5000 Goober5000 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice work! This is nearly ready to go. Just a couple more tweaks.

Comment thread code/ship/ship.cpp Outdated
Comment thread code/parse/sexp.cpp Outdated
Comment thread code/parse/sexp.cpp
"\t1:\tShip the escorts won't leave the range of if guarding (Ship must be in mission)\r\n"
"\t2:\tGuard range cap in meters (<= 0 disables cap)\r\n"
"\t3+:\tEscort ships and wings that the limit appies too" },
"\t3+:\tEscort ships and wings that the limit applies too" },

@Goober5000 Goober5000 Aug 14, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The "too" -> "to" typo should still be fixed, but this is close enough to approve

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature A totally new sort of functionality Requested by Active Mod A feature request that has been requested by a mod that is actively in development.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants