otavepto / gbe_fork

Fork of https://gitlab.com/Mr_Goldberg/goldberg_emulator
https://gitlab.com/Mr_Goldberg/goldberg_emulator
GNU Lesser General Public License v3.0
193 stars 56 forks source link

Hidden achievements. #61

Open DogancanYr opened 4 months ago

DogancanYr commented 4 months ago

It shows hidden achievements but not their descriptions, and hidden achievements should be moved to a separate tab.

otavepto commented 4 months ago

Leaving some notes for myself or whoever doing the implementation. Description of hidden achievements could be shown by adding a new checkbox anywhere like Achievement Watcher.

Edremon commented 3 months ago

I talked about that subject with goldberg and nemirtingas in the past, there is no perfect method, before goldberg made his generate_emu_config script, I used my own.

What goldberg chose to use is the simplest method of using profile with a lot of games owned, but that missing some games and hidden achievement description, nemirtingas additionally used user that have reviewed that games, allowing almost access to achievements from almost all games.

My solution was a bit different and use two different API, the first one was using steam API with an API token which I believe need a non-free steam account, this allows access to achievements for all games but is also missing hidden achievements' description. Secondly, I used achievementstats.com to request achievements for games, they have hidden description data. You might wonder why I didn't just use achievementstats.com fully, the problem is that they are missing achievements, they don't have a complete list, so it's best used as completion.

I would recommend implementing achievementstats.com API as an optional secondary source to get hidden achievements' description. It could also be nice to implement either nemirtingas solution or mine to get achievements on unpopular games.

DogancanYr commented 3 months ago

Achievement descriptions are visible, but it is not possible to distinguish which one is hidden and which one is not. Can the phrase (Hidden) (in red text) be written next to the achievement name?

otavepto commented 3 months ago

Why is it not possible to distinguish hidden ones if the red phrase is visible ?

DogancanYr commented 3 months ago

In games that use the DX12 engine, it distorts the achievements part and the colors become incomprehensible.

otavepto commented 3 months ago

That's weird, can you post a mini screenshot showing only that part

DogancanYr commented 3 months ago

I mean, I want this to be visible after I get the achievement. I guess you thought it was before got the achievement. resim resim Also. The red is not very noticeable, it takes a long time to understand when looking at the notification in the game. resim And also. Can the notification period be extended or even shortened?

otavepto commented 3 months ago

I've never even seen that before! this is the result of hooking DX12 API, that's done by the ingame overlay library not the emu itself. The image resource is even messed up completely.

It should look like this

img ![image](https://github.com/otavepto/gbe_fork/assets/153766569/30baaebe-6526-4dac-9f9b-f2fb9a2f65b9)

Try creating a hook delay overlay_hook_delay_sec.txt: https://github.com/otavepto/gbe_fork/blob/dev/post_build/README.release.md#overlay-hook-delay-and-renderer-detector-timeout But I honestly doubt that would do anything. Unfortunately there's nothing we can do about it.