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

taito/taito_f3_v.cpp: line clip fixes, landmakr/quizhuhu palette fix #10920

Merged
merged 8 commits into from
Mar 1, 2023

Conversation

y-ack
Copy link
Contributor

@y-ack y-ack commented Feb 21, 2023

  • respect all 4 clip planes (needed by landmakrj, quizhuhu)
  • remove some incorrect assumptions about clip plane 3 enable bit being a clip disable
  • found a 'invert clip inverse mode' flag. most games set it, caused problems with unset pbobble4, commandw
  • don't truncate landmakr/quizhuhu palette offsets: caused green fades in quizhuhu, incorrect win message colors in landmakrj. apparently the truncation fixed symptoms in a number of games, deserves more research.

fixes mt00950: landmakr: Winning message is missing.
fixes mt01014: quizhuhu: The question text is not displayed.
fixes mt02819: pbobble4 and clones: Victory screen not shown at end of match
fixes commandw map display
fixes quizhuhu pre-taito logo intro not visible
fixes landmakr ending slide display

@arcadez2003

This comment was marked as abuse.

@y-ack
Copy link
Contributor Author

y-ack commented Feb 21, 2023

first mame contribution, please advise on possibly promoting quizhuhu to WORKING as this resolves all issues noted in mt01014

@angelosa
Copy link
Member

Promotion will happen once some testing has been made, there's no rush also because this comes after code freeze.

@y-ack
Copy link
Contributor Author

y-ack commented Feb 27, 2023

re: the color kludge
the best logic i can come up with is something like:

  • palettes < 0x100 shouldn't be masked (the problematic quizhuhu palette is 0x70) (there's a comment in palette_24bit_w suggesting this is vram palette area?)
  • for others, only the bottom bit gets masked out for both 5bpp and 6bpp, and the original arabian magic fix just wasn't tested on the one 6bpp case it breaks that was visible at the time (plausible! but i don't know what went into the '6bpp needs extra masking' logic.)

but mnmm without information i don't have, i don't feel comfortable committing to those assumptions when it could be more misleading in the future.

also the bits at x1000 kind of line up (extremely unlikely)

Comment on lines 1539 to 1547
/* window intersection */
#define CALC_CLIP(p) \
clipl = std::max(sa_line->clip##p##_l[y], clipl); \
clipr = std::min(sa_line->clip##p##_r[y], clipr);

/* window gap union */
#define CALC_CLIP_INV(p) \
clipl = std::min(sa_line->clip##p##_l[y], clipl); \
clipr = std::max(sa_line->clip##p##_r[y], clipr);
Copy link
Member

Choose a reason for hiding this comment

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

Can you turn clipN_l and clipN_r into two-dimensional arrays so these can be turned into lambdas rather than needing token pasting like this?

@cuavas cuavas merged commit 440e546 into mamedev:master Mar 1, 2023
@cuavas
Copy link
Member

cuavas commented Mar 1, 2023

This has been merged, let the testing commence, as well as looking to get rid of the per-game hacks.

@angelosa
Copy link
Member

first mame contribution, please advise on possibly promoting quizhuhu to WORKING as this resolves all issues noted in mt01014

Managed to take a look:

  1. There's a quiz minigame that uses a mosaic effect in attract mode https://www.youtube.com/watch?v=5bXn5K5XdWU&t=6674s
  2. At some point it draws this fast scrolling slot screen which looks that it should clip?
    0000
    Save state for reference:
    q.zip
  3. The monkey minigame with 4 trunks blends fill with yellow which looks wrong but I haven't found a ref for that.

imho 1 is a liability for promoting the game (it's not just a cosmetic use like in ridingf), the other two are a nice to have.

@y-ack y-ack deleted the taitof3_line_clip_2 branch November 18, 2023 19:02
@y-ack
Copy link
Contributor Author

y-ack commented Nov 25, 2023

1 is a liability for promoting the game

yeah fair

(3) is not a bug per the same ref https://youtu.be/5bXn5K5XdWU?t=6691

(2) after watching hours of recordings i couldn't find a ref, but the clip planes defined aren't related. the sprite may plausibly be clipped with alpha blending, though. calling this one another blending bug.

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.

None yet

4 participants