Skip to content

Fixes CD disk stacks#3593

Open
BingusSS13 wants to merge 4 commits into
wiremod:masterfrom
BingusSS13:fix-cd-stacks
Open

Fixes CD disk stacks#3593
BingusSS13 wants to merge 4 commits into
wiremod:masterfrom
BingusSS13:fix-cd-stacks

Conversation

@BingusSS13

Copy link
Copy Markdown

Trying to use the other stacks on CD disks is like completely broken.

Large disk, you can't use the fourth stack.
Medium disk, you can't use the first and fourth stack.
Small disk, you can only use the third stack.

This will (hopefully) fix that issue.
I've tested this with different disk models like circle4x4 and it seems to work fine.

@BingusSS13

Copy link
Copy Markdown
Author

I might be a bit stupid because it genuinely took me a day to figure this out

@AlexALX

AlexALX commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

this fixes only usage of tracks or also alters what disk report in reader information? because not sure if this change will broke cd drive in my alx e2 pc & os as well.

@BingusSS13

Copy link
Copy Markdown
Author

im not entirely sure if it would break your cd drive or not but you can download my branch and test it if you'd like to

@Astralcircle

Copy link
Copy Markdown
Contributor

@AlexALX yea, it would be great if this was tested, my main concern is that this PR could break something

@BingusSS13

Copy link
Copy Markdown
Author

Maybe I could add a "legacy mode" input to the CD ray that switches it to use the old logic for CD stacks?

@thegrb93

thegrb93 commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

It would be helpful if there was a diagram showing what changed. If the old behavior didn't even work then there's no point in supporting it.

@BingusSS13

Copy link
Copy Markdown
Author
image

This is the OBB, which the old behavior uses for StackStartHeight. There's extra space on the top and bottom of the OBB.
This is a problem because we're using a trace for the hit position, and I believe traces use AABBs (or some other type of bounding box), which do not have this extra space. This messes with the old behavior for disk stacks.

Here is the AABB:
image

@BingusSS13

BingusSS13 commented Jul 9, 2026

Copy link
Copy Markdown
Author

old behavior
image

@BingusSS13

BingusSS13 commented Jul 9, 2026

Copy link
Copy Markdown
Author

new behavior
image

@AlexALX

AlexALX commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

Can you remind me how we change stacks when we need read for example stack 3 ? in my system i have two sides reader, one on bottom, one on top, and reading stacks, but not remember how

@BingusSS13

Copy link
Copy Markdown
Author

Can you remind me how we change stacks when we need read for example stack 3 ? in my system i have two sides reader, one on bottom, one on top, and reading stacks, but not remember how

You have to lower the ray emitter into the disk
image

@Astralcircle

Astralcircle commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

So this does change the broken behavior. You need to add a Legacy setting that will be disabled by default on new cd disks

@BingusSS13

BingusSS13 commented Jul 9, 2026

Copy link
Copy Markdown
Author

So this does change the broken behavior. You need to add a Legacy setting that will be disabled by default on new cd disks

Should this be an option when creating the cd ray or a wire input?
I feel like it should be a wire input, but I just want to be sure.

Also, what should I name the option? "LegacyStacks"?

image

@thegrb93

thegrb93 commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

I'm against supporting the legacy behavior. People can update their dupes.

@AlexALX

AlexALX commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

well, just need to test this change in some free day to see how it works... but if it broke for example "dual-side" reading behavior then thats huge change.. + moving vertically cd ray another hard part for automated work like on my pc

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants