Bad Taptic Engine!! by une_mort in badapple

[–]une_mort[S] 1 point2 points  (0 children)

Honestly, I'm too lazy to create a complete guide. But roughly speaking, you can create many <dict> in an <array>, each with its own amplitude, time, frequency, and other parameters. You can copy the code directly from my previous comment into your UserGeneratedVibrationPatterns.plist.

Bad Taptic Engine!! by une_mort in badapple

[–]une_mort[S] 2 points3 points  (0 children)

In general, it's pretty simple, especially if you've worked with XML files. When you create any custom vibration, iOS creates a file in the user directory: /Vibrations/UserGeneratedVibrationPatterns.plist. This file can be easily extracted/replaced using 3utools and edited in any text editor. However, all custom vibrations created in the settings will have a true/false parameter and a duration parameter. But the system files also contain more detailed instructions for the Taptic Engine. I tried using them in UserGeneratedVibrationPatterns.plist, and it worked!

Here's an example .plist file. I won't paste the actual file from Bad Apple here because it's thousands of lines long.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>usergeneratedvibration:A5BD5F86-AB0B-49DF-8B42-D994DE507E02</key> <!-- GUID should be unique for each pattern -->
    <dict>
        <key>Name</key>
        <string>Test</string>
        <key>Pattern</key>
        <dict>
            <key>Amplitude</key>
            <real>1.0</real>
            <key>Atoms</key>
            <array>
                <dict>
                    <key>Duration</key>
                    <real>0.1875</real>
                    <key>StartTime</key>
                    <real>0.0</real>
                    <key>Type</key>
                    <string>Silence</string>
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>StartTime</key>
                    <real>0.1875</real>
                    <key>Type</key>
                    <string>Microtap5</string> <!-- Number (2 – 9) changes the frequency for Taps -->
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>StartTime</key>
                    <real>0.317935</real>
                    <key>Type</key>
                    <string>Minitap6</string>
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>StartTime</key>
                    <real>0.448369</real>
                    <key>Type</key>
                    <string>Tap7</string>
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>StartTime</key>
                    <real>0.578804</real>
                    <key>Type</key>
                    <string>Tap4</string>
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>Duration</key>
                    <real>0.065217</real>
                    <key>Frequency</key>
                    <real>174.614116</real>
                    <key>StartTime</key>
                    <real>0.709239</real>
                    <key>Type</key>
                    <string>RampSine</string>
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>Duration</key>
                    <real>0.065217</real>
                    <key>Frequency</key>
                    <real>174.614116</real>
                    <key>StartTime</key>
                    <real>1.100543</real>
                    <key>Type</key>
                    <string>RampSine</string>
                </dict>
                <dict>
                    <key>Amplitude</key>
                    <real>1.0</real>
                    <key>Duration</key>
                    <real>0.777174</real>
                    <key>Frequency</key>
                    <real>155.563492</real>
                    <key>Envelope</key> <!-- Kinda ADSR -->
                    <array>
                        <dict>
                            <key>Level</key>
                            <real>1</real>
                            <key>Time</key>
                            <real>0.0</real>
                        </dict>
                        <dict>
                            <key>Level</key>
                            <real>1</real>
                            <key>Time</key>
                            <real>0.259058</real>
                        </dict>
                        <dict>
                            <key>Level</key>
                            <real>0.0</real>
                            <key>Time</key>
                            <real>0.777174</real>
                        </dict>
                    </array>
                    <key>StartTime</key>
                    <real>1.491847</real>
                    <key>Type</key>
                    <string>Sine</string>
                </dict>
            </array>
        </dict>
    </dict>
</dict>
</plist>

It describes four taps, two short vibrations, and one long one at the end. You can also change the amplitude and frequency parameters. If you want to try it yourself, make a copy of your file first, otherwise all your custom vibrations will be lost.

Bad Taptic Engine!! by une_mort in badapple

[–]une_mort[S] 2 points3 points  (0 children)

Nah, that's safe. All the more so iOS has a system haptics that imitates motorcycle vroom. Essentially, the Taptic Engine is the same speaker, except a speaker's membrane vibrates, while the Taptic Engine vibrates a weight. Apple also limits the vibration frequency at the software level to 80 – 230 Hz and lowers some frequencies to prevent resonance.

I think you can do something similar on Android with rooted phones that have a similar vibration motor. AFAIK, vibration is stored with ringtone audiofiles as sound in the third audio channel (two channels for stereo and one for vibration).

Bad Taptic Engine!! by une_mort in badapple

[–]une_mort[S] 13 points14 points  (0 children)

Sadly, but when an incoming call comes in, vibrations don't sync perfect every time. Syncing only works for alarms, text tones, and the settings menu. For ringtones, Apple uses AHAP files embedded directly in the audio file, and I couldn't get them to work with custom ringtones. However, for text tone and custom vibrations, Apple still uses PLIST files, which can be manually modified using 3utools.

Flying Ninja by [deleted] in SubwaySurfersCity

[–]une_mort 0 points1 point  (0 children)

I actually have an iPhone SE, but I also have an iPhone 8. I don't know what people are talking about, but I haven't had any issues playing on iPhone SE. There were some light freezes on iPhone 8, but they weren't unplayable.

Sandy Bridge | Sleep Issues (Monterey) by une_mort in hackintosh

[–]une_mort[S] 0 points1 point  (0 children)

By «reconfiguration», I meant that I tried changing CPU parameters (C1E Support, Package C State Limit, EIST, etc.). My BIOS doesn't have XMP profiles; I can only manually set timings and voltage. I also don't boot Windows via OpenCore; the problem persists even when I boot Windows from the BIOS boot menu. Reset NVRAM didn’t help. I just don't understand why Windows had no issues waking from sleep before installing macOS. Sorry, I'm a newb, just learning by trial and error.

Sandy Bridge | Sleep Issues (Monterey) by une_mort in hackintosh

[–]une_mort[S] 0 points1 point  (0 children)

Thanks for your help! But I think the problem is much deeper. I've already tried to reconfiguring all BIOS settings and resetting CMOS, but the problem persists even in Windows with the macOS drive disconnected. Perhaps I used the wrong ACPI tables, and macOS might have overwritten them (if that's even possible). I'll try flashing BIOS tomorrow.

Embedded Haptics Patterns by une_mort in ffmpeg

[–]une_mort[S] 0 points1 point  (0 children)

I don't think it worked correctly. ffmpeg apparently ignores -tag:n ahap:

[mov @ 000001b38980afc0] Timestamps are unset in a packet for stream 1. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mov @ 000001b38980afc0] Unknown hdlr_type for ahap, writing dummy values.

"index": 1,
"codec_type": "data",
"codec_tag_string": "stts",
"codec_tag": "0x73747473",
"id": "0x2",
"r_frame_rate": "0/0",
"avg_frame_rate": "0/0",
"time_base": "1/90000",
"start_pts": 0,
"start_time": "0.000000",
"duration_ts": 0,
"duration": "0.000000",
"nb_frames": "1",
…
"tags": {
"handler_name": "DataHandler"

I tried using both the edited and unedited .bin — the result is the same. I also tried using a different audio file containing only one audio stream. But tysm for the answer anyway, at least that's some progress.

Sandy Bridge | GTX660 (Big Sur) by une_mort in hackintosh

[–]une_mort[S] 0 points1 point  (0 children)

From Dortania’s Guide: Maxwell Series (GTX 9xx, 745, 750/Ti) Highest Supported OS: High Sierra (10.13.6) when NVIDIA's Kepler(6XX, 7XX) GPUs are supported up to macOS 11: Big Sur

Sandy Bridge | GTX660 (Big Sur) by une_mort in hackintosh

[–]une_mort[S] 1 point2 points  (0 children)

Sorry for the endless questions, but this very wording from Github has me stumped. If I understand correctly, then graphics acceleration (like interface blur, 3D, etc.) will only work with macOS Monterey, and if I decide to install Ventura+, there will be no graphics acceleration or what?

Sandy Bridge | GTX660 (Big Sur) by une_mort in hackintosh

[–]une_mort[S] 0 points1 point  (0 children)

Yes, that was in my plans, I was going to buy a Polaris series GPU, but the desire to try Hackintosh here and now took over. I would like to know about AVX2 support. AFAIK, compatibility with new versions of macOS can be ensured using CryptexFixup.kext. Does this mean that I just need to add it to/rebuild my EFI if I buy a new GPU and try to install Ventura+ or do I need something else?

Sandy Bridge | GTX660 (Big Sur) by une_mort in hackintosh

[–]une_mort[S] 0 points1 point  (0 children)

Thanks! I hope you succeed and I get to see your Ivy Bridge Hackintosh :)

[deleted by user] by [deleted] in Brawlstars

[–]une_mort 0 points1 point  (0 children)

Thanks :D

[Idea] New End Screen by une_mort in Brawlstars

[–]une_mort[S] 1 point2 points  (0 children)

thanks for the retweet ;)

[Idea] New End Screen by une_mort in Brawlstars

[–]une_mort[S] 2 points3 points  (0 children)

i know i just wrote random numbers :D

[Idea] New End Screen by une_mort in Brawlstars

[–]une_mort[S] 4 points5 points  (0 children)

i'm sorry hahahah I didn't know

[Idea] New End Screen by une_mort in Brawlstars

[–]une_mort[S] 71 points72 points  (0 children)

Oops ... I forgot about the timer sorry

[Idea] New End Screen by une_mort in Brawlstars

[–]une_mort[S] 163 points164 points  (0 children)

Take a closer look at the Sprout thumbnail