Skip to content

Doors platforms triggers#13

Open
victorbstan wants to merge 44 commits into
gongpha:masterfrom
victorbstan:doors-platforms-triggers
Open

Doors platforms triggers#13
victorbstan wants to merge 44 commits into
gongpha:masterfrom
victorbstan:doors-platforms-triggers

Conversation

@victorbstan
Copy link
Copy Markdown
Contributor

@victorbstan victorbstan commented Jun 24, 2023

Why?

Doors, platforms and triggers needed some updates to bring their feature set closer to parity with Quake game features

What?

  • Doors auto-close after being triggered (TODO: don't close if something is blocking the door)
  • Doors & Platforms auto generate trigger volumes if they are not targets or require keys
  • Platforms auto generate triggers if they are targets, after they have been triggered once
  • TODO: platforms need to return to their initial position unless wait -1 or toggle on. (currently, they are, but the target position is closed, when it should be open, so they return to the wrong position)

Comment thread quake1_example/class/func_door.gd Outdated
@victorbstan
Copy link
Copy Markdown
Contributor Author

Note, platforms should probably not inherit from doors

@victorbstan
Copy link
Copy Markdown
Contributor Author

This has a lot of changes and the more I review it, the more I think I want to refactor it...

Comment thread quake1_example/class/_func.gd Outdated
Comment thread quake1_example/class/_func.gd Outdated
Comment thread quake1_example/class/func_door.gd Outdated
Comment thread quake1_example/class/func_door.gd Outdated
@victorbstan victorbstan marked this pull request as draft June 26, 2023 13:42
Comment thread quake1_example/class/func_plat.gd Outdated
Comment thread quake1_example/viewer.gd
parser = QmapbspWorldImporterQuake1.new()
parser.viewer = self
map = QmapbspQuakeWorld.new()
map.name = &'map'
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Not related, but through it would be nicer in the tree view than @@123...

@gongpha
Copy link
Copy Markdown
Owner

gongpha commented Jun 26, 2023

I confirmed this PR fixes a lot of movable brushes (e.g. e1m1, e1m8) and makes doors open properly from the map logic.

Some problematic brushes (most of them are platform brushes, e.g. e4m2, that one platform brush under the water pool) are still broken, though. (According to #15)

@gongpha gongpha added enhancement New feature or request QUAKE1EX Quake 1 Example-related labels Jun 26, 2023
@victorbstan
Copy link
Copy Markdown
Contributor Author

victorbstan commented Jul 12, 2023

  • Platforms should now be placed correctly and extend and retract after being triggered (still some things to work on)
  • Separated doors, secret, plats, buttons, from sharing code (not inheriting from doors) in order to prevent bugs and simplify development for each
  • Secret doors should now open and close properly in any direction
  • Added consts for spawnflags to funcs, and triggers, and mechanism to use spanwflag const name instead of hex or binary (more readable code)

@victorbstan
Copy link
Copy Markdown
Contributor Author

victorbstan commented Jul 15, 2023

Found a bug that exists in master as well regarding non axially aligned buttons (fixed by latest commit) - see E3M4 for example button
Screenshot 2023-07-15 at 5 23 42 PM

fixed by
694bd2c

@victorbstan
Copy link
Copy Markdown
Contributor Author

off.axis.button.correct.mov

fixed button add calc

@victorbstan
Copy link
Copy Markdown
Contributor Author

Latest updates:

  • various bug fixes, regression fixes
  • trigger counter now shows message and triggers next target (see E1M4)
  • trigger once implements NO TOUCH flag

@gongpha
Copy link
Copy Markdown
Owner

gongpha commented Jul 16, 2023

trigger_onlyregistered shows a message for unregistered users while I'm in registered mode.

image

@victorbstan
Copy link
Copy Markdown
Contributor Author

Fixed registered message regression problem, caused by wanting to show trigger once messages

@gongpha
Copy link
Copy Markdown
Owner

gongpha commented Jul 17, 2023

I saw you fixed some func_train issues. Notice 2 magic gate cubes in E1M2 are now moving synchronously to the timer.
I hope you can fix these remaining issues :


The moving speed is slightly slow. Notice the platform moves through the wood platforms :

Godot_v4.0.3-stable_win64.2023-07-17.23-27-34-027.mp4

They're ping-pong looped on some func_train that has no looping :

Godot_v4.0.3-stable_win64.2023-07-17.23-27-55-077.mp4

@victorbstan
Copy link
Copy Markdown
Contributor Author

victorbstan commented Jul 17, 2023

I'll take a look at fixing those. There's probably other bugs, and I plan on fixing and implementing all missing entity features, at least to a state where it's playable, if not absolutely the same. But it might not all be in this one PR, since this one is getting quite large and out of hand lol!

Comment thread quake1_example/class/_func.gd Outdated
# 0 : "Medieval"
# 1 : "Metal (runic)"
# 2 : "Base"
const gold_keys_message = [
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

If the keys are required to open doors, that means we have to implement key entities. Isn't it ? ^^"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Of course :) this just makes the doors behave as if that was the case. We handle keys and such in an inventory for the player, but that's not for this PR IMHO.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

We will implement keys, and pickups, and everything else at some point :)

@victorbstan
Copy link
Copy Markdown
Contributor Author

Platforms now should move to correct time/duration and wait according to wait settings for each path corner.

@gongpha
Copy link
Copy Markdown
Owner

gongpha commented Aug 8, 2023

Strangely sounds playback when touching doors.

Godot_v4.0.3-stable_win64.2023-08-09.02-59-27-956.mp4

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

Labels

enhancement New feature or request QUAKE1EX Quake 1 Example-related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants