c - What's a binary file and how do I create one? - Stack ...
c - What's a binary file and how do I create one? - Stack ...
Understanding File Processing in C++
Binary Files - The Basics of C Programming HowStuffWorks
C Tutorial – Binary File I/O » CodingUnit Programming ...
File Handling through C++ Classes - GeeksforGeeks
File Handling Method (Computer Programming) C++ Free ...
Read and write function in c binary options
Binary Files in C++
C Binary Files - Tutorialtous
C library function - fopen() - Tutorialspoint
Bluehole - Let's talk Wellbia/XINGCOD3 user privacy risks for the sake of transparency
For those who don't know.. XINGCODE-3 is a kernel (ring0) privillege process under xhunter1.sys owned by the Korean company Wellbia (www.wellbia.com). Unlike what people say, Wellbia isn't owned or affiliated with Tencent, however, XINGCOD3 is custom designed contractor for each individual game - mainly operating in the APAC region, many of them owned by Tencent. XINGCODE-3 is outsourced to companies as a product modified to the specific characteristics of the game. The process runs on the highest privilegied level of the OS upon boot and is infamous for being an essential rootkit - on a malware level, it has the highest vulnerability to be abused should Wellbia or any of the 3rd Party Companies be target of an attack. It has been heavily dissected by the hacking community as being highly intrusive and reversed engineered (although nowadays still easily bypassable by a skilled and engaged modder by created a custom Win Framework). While most is true for a standard anti-cheating, users should be aware that XINGCOD3 able to scan the entire user memory cache, calls for DLL's, including physical state API's such as GetAsyncKeyState where it scans for the physical state of hardware peripherals, essentially becoming a hardware keylogger. Studying the long history of reverse engineering of this software has shown that Wellbia heavily collects user data for internal processing in order to create whitelists of processes and strings analyzed by evaluating PE binaries - having full access to your OS it also is known to scan and having access to user file directories and collecting and storing paths of modified files under 48 hours for the sake of detecting possible sources of bypassing. All this data is ultimately collected by Wellbia to their host severs - also via API calls to Korean servers in order to run services such as whitelists, improve algorithm accuracy and run comparative statistics and analysis based on binaries, strings and common flags. Usually this is a high risk for any service, including BattleEye, EasyAntiCheat, etc. but what's worrying in Wellbia, thus. Bluehole's are actually a couple of points: (not to mention you can literally just deny the service from installing, which by itself is already a hilarious facepalm situation and nowhere does the TSL call for an API of the service)
Starting off, Wellbia is a rather small development company with having only one product available on the market for rather small companies, the majority hold by Chinese government and countries where the data handling, human rights and user privacy is heavily disregarded. This makes my tinfoil hat think that the studio's network security isn't as fortified as a Sony which had abused rootkits, just due to budget investment alone. Their website is absolutely atrocious and amateur - and for an international company that deals with international stakeholders and clients it's impressive the amount of poor english, errors and ambiguous information a company has in their presentation website - there's instances where the product name is not even correctly placed in their own EULA - if a company cannot invest even in basic PR and presentation something leaves me a bitter taste that their network security isn't anything better. They can handle user binaries but network security is a completely different work. The fact that hackers are easily able to heartbeat their API network servers leaves me confirming this.
This the most fun one. Wellbia website and terms conditions explicitely say that they're not held accountable should anything happen - terms that you agree and are legally binded to by default by agreeing to Bluehole's terms and conditions:" Limitations of Company Responsibility
IGNCODE3 is a software provided for free to users. Users judge and determine to use services served by software developers and providers, and therefore the company does not have responsibility for results and damages which may have occurred from XIGNCODE3 installation and use.
2. Company has no responsibility attributable to user’s computer or network environment-based reasons.
3. Company has no responsibility for XIGNCODE3 and XIGNCODE3 based service errors, XIGNCODE3 and XIGNCODE3 based service prohibition from other services are attributable to user-based reasons."
(the fact that in 1. they can't even care to write properly the name of their product means how little they care about things in general - you can have a look at this whole joke of ToS's that I can probably put more effort in writting it: https://www.wellbia.com/?module=Html&action=SiteComp&sSubNo=5 - so I am sorry if I don't trust where my data goes into) 3) It kinda pisses me that Bluehole adopted this in the midst of the their product got released post-purchase. When I initially bought the product, in nowhere was written that the user operative system data was being collected by a third party company to servers located in APAC (and I'm one of those persons who heavily reads terms and conditions) - and the current ToS's still just touch this topic on the slightest and ambiguously - it does not say which data gets collected, discloses who and where it's hold - "third party" could be literally anyone - a major disrespect for your consumers. I'm kinda of pissed off as when I initially purchase the product in very very early stages of the game I didn't agree for any kernel level data collection to be held abroad without disclosure of what data is actually being collected otherwise it would have been a big No on the purchase. The fact that you change the rules of the game and the terms of conditions in the midst of the product release leaves me with two options Use to Your Terms or Don't Use a product I've already purchased now has no use - both changes ingame and these 3rd party implementations are so different from my initial purchase that I feel like it's the equivalent of purchasing a shower which in the next year is so heavily modified that it decides to be a toilet. I would really like for you Bluehole to show me the initial terms and conditions to when the game was initially released and offer me a refund once you decided to change the product and terms and conditions midway which I don't agree with but am left empty handed with no choice but to abandon the product - thus making this purchase a service which I used for X months and not a good. I really wish this topic had more visibility as I know that the majority of users are even in the dark about this whole thing and Valve and new game companies really make an effort in asserting their product's disclosures about data transparency and the limit of how much a product can change to be considered a valid product resembelance upon purchase when curating their games in the future - I literally bought a third person survival shooter and ended up with a rootkit chinese FPS. Sincerely, a pissed off customer - who unlike the majority is concerned about my data privacy and I wish you're ever held accountable for changing sensitive contract topics such as User Privacy mid-release. ----- EDIT: For completely removing it from your system should you wish: Locate the file Xhunter1.sysThis file is located in this directory: C:\Windows\xhunter1.sys Remove the Registry Entry (regedit on command prompt)The entry is located here: HKEY_LOCAL_MACHINE > SYSTEM > ControlSet001 > Services > xhunter For more information about XINGCOD3 and previous succesful abuses which show the malignant potential of the rootkit (kudos to Psychotropos): - https://x86.re/blog/xigncode3-xhunter1.sys-lpe/ - https://github.com/Psychotropos/xhunter1_privesc
It's that time of year again, and we've got a new version of macOS on our hands! This year we've finally jumped off the 10.xx naming scheme and now going to 11! And with that, a lot has changed under the hood in macOS. As with previous years, we'll be going over what's changed in macOS and what you should be aware of as a macOS and Hackintosh enthusiast.
Has Nvidia Support finally arrived?
What has changed on the surface
A whole new iOS-like UI
Broken Kexts in Big Sur
What has changed under the hood
New Kernel cache system: KernelCollections!
New Kernel Requirements
Secure Boot Changes
No more symbols required
Broken Kexts in Big Sur
MSI Navi installer Bug Resolved
New AMD OS X Kernel Patches
Other notable Hackintosh issues
Several SMBIOS have been dropped
Extra long install process
X79 and X99 Boot issues
New RTC requirements
Legacy GPU Patches currently unavailable
What’s new in the Hackintosh scene?
Dortania: a new organization has appeared
Dortania's Build Repo
True legacy macOS Support!
Intel Wireless: More native than ever!
Clover's revival? A frankenstein of a bootloader
Death of x86 and the future of Hackintoshing
Getting ready for macOS 11, Big Sur
Has Nvidia Support finally arrived?
Sadly every year I have to answer the obligatory question, no there is no new Nvidia support. Currently Nvidia's Kepler line is the only natively supported gen. However macOS 11 makes some interesting changes to the boot process, specifically moving GPU drivers into stage 2 of booting. Why this is relevant is due to Apple's initial reason for killing off Web Drivers: Secure boot. What I mean is that secure boot cannot work with Nvidia's Web Drivers due to how early Nvidia's drivers have to initialize at, and thus Apple refused to sign the binaries. With Big Sur, there could be 3rd party GPUs however the chances are still super slim but slightly higher than with 10.14 and 10.15.
What has changed on the surface
A whole new iOS-like UI
Love it or hate it, we've got a new UI more reminiscent of iOS 14 with hints of skeuomorphism(A somewhat subtle call back to previous mac UIs which have neat details in the icons) You can check out Apple's site to get a better idea:
A feature initially baked into APFS back in 2017 with the release of macOS 10.13, High Sierra, now macOS's main System volume has become both read-only and snapshotted. What this means is:
3rd parties have a much more difficult time modifying the system volume, allowing for greater security
OS updates can now be installed while you're using the OS, similar to how iOS handles updates
Time Machine can now more easily perform backups, without file inconsistencies with HFS Plus while you were using the machines
However there are a few things to note with this new enforcement of snapshotting:
OS snapshots are not calculated as used space, instead being labeled as purgeable space
Disabling macOS snapshots for the root volume with break software updates, and can corrupt data if one is applied
What has changed under the hood
Quite a few things actually! Both in good and bad ways unfortunately.
New Kernel Cache system: KernelCollections!
So for the past 15 years, macOS has been using the Prelinked Kernel as a form of Kernel and Kext caching. And with macOS Big Sur's new Read-only, snapshot based system volume, a new version of caching has be developed: KernelCollections! How this differs to previous OSes:
Kexts can no longer be hot-loaded, instead requiring a reboot to load with kmutil
OS Snapshots are now verified on each boot to ensure no system volume modifications occurred
apfs.kext and AppleImage4.kext verify the integrity of these snapshots
While technically these security features are optional and can be disabled after installation, many features including OS updates will no longer work reliably once disabled. This is due to the heavy reliance of snapshots for OS updates, as mentioned above and so we highly encourage all users to ensure at minimum SecureBootModel is set to Default or higher.
Note: ApECID is not required for functionality, and can be skipped if so desired.
Note 2: OpenCore 0.6.3 or newer is required for Secure Boot in Big Sur.
No more symbols required
This point is the most important part, as this is what we use for kext injection in OpenCore. Currently Apple has left symbols in place seemingly for debugging purposes however this is a bit worrying as Apple could outright remove symbols in later versions of macOS. But for Big Sur's cycle, we'll be good on that end however we'll be keeping an eye on future releases of macOS.
New Kernel Requirements
With this update, the AvoidRuntimeDefrag Booter quirk in OpenCore broke. Because of this, the macOS kernel will fall flat when trying to boot. Reason for this is due to cpu_count_enabled_logical_processors requiring the MADT (APIC) table, and so OpenCore will now ensure this table is made accessible to the kernel. Users will however need a build of OpenCore 0.6.0 with commit bb12f5for newer to resolve this issue. Additionally, both Kernel Allocation requirements and Secure Boot have also broken with Big Sur due to the new caching system discussed above. Thankfully these have also been resolved in OpenCore 0.6.3. To check your OpenCore version, run the following in terminal: nvram 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:opencore-version If you're not up-to-date and running OpenCore 0.6.3+, see here on how to upgrade OpenCore: Updating OpenCore, Kexts and macOS
Broken Kexts in Big Sur
Unfortunately with the aforementioned KernelCollections, some kexts have unfortunately broken or have been hindered in some way. The main kexts that currently have issues are anything relying on Lilu's userspace patching functionality:
Big Sur dropped a few Ivy Bridge and Haswell based SMBIOS from macOS, so see below that yours wasn't dropped:
iMac14,3 and older
Note iMac14,4 is still supported
MacPro5,1 and older
MacMini6,x and older
MacBook7,1 and older
MacBookAir5,x and older
MacBookPro10,x and older
If your SMBIOS was supported in Catalina and isn't included above, you're good to go! We also have a more in-depth page here: Choosing the right SMBIOS For those wanting a simple translation for their Ivy and Haswell Machines:
iMac13,1 should transition over to using iMac14,4
iMac13,2 should transition over to using iMac15,1
iMac14,2 and iMac14,3 should transition over to using iMac15,1
Note: AMD CPUs users should transition over to MacPro7,1
iMac14,1 should transition over to iMac14,4
Currently only certain hardware has been officially dropped:
"Official" Consumer Ivy Bridge Support(U, H and S series)
These CPUs will still boot without much issue, but note that no Macs are supported with consumer Ivy Bridge in Big Sur.
Ivy Bridge-E CPUs are still supported thanks to being in MacPro6,1
Ivy Bridge iGPUs slated for removal
HD 4000 and HD 2500, however currently these drivers are still present in 11.0.1
Similar to Mojave and Nvidia's Tesla drivers, we expect Apple to forget about them and only remove them in the next major OS update next year
Due to the new snapshot-based OS, installation now takes some extra time with sealing. If you get stuck at Forcing CS_RUNTIME for entitlement, do not shutdown. This will corrupt your install and break the sealing process, so please be patient.
X79 and X99 Boot issues
With Big Sur, IOPCIFamily went through a decent rewriting causing many X79 and X99 boards to fail to boot as well as panic on IOPCIFamily. To resolve this issue, you'll need to disable the unused uncore bridge:
With macOS Big Sur, AppleRTC has become much more picky on making sure your OEM correctly mapped the RTC regions in your ACPI tables. This is mainly relevant on Intel's HEDT series boards, I documented how to patch said RTC regions in OpenCorePkg:
For those having boot issues on X99 and X299, this section is super important; you'll likely get stuck at PCI Configuration Begin. You can also find prebuilts here for those who do not wish to compile the file themselves:
For some reason, Apple removed the AppleIntelPchSeriesAHCI class from AppleAHCIPort.kext. Due to the outright removal of the class, trying to spoof to another ID (generally done by SATA-unsupported.kext) can fail for many and create instability for others. * A partial fix is to block Big Sur's AppleAHCIPort.kext and inject Catalina's version with any conflicting symbols being patched. You can find a sample kext here: Catalina's patched AppleAHCIPort.kext * This will work in both Catalina and Big Sur so you can remove SATA-unsupported if you want. However we recommend setting the MinKernel value to 20.0.0 to avoid any potential issues.
Legacy GPU Patches currently unavailable
Due to major changes in many frameworks around GPUs, those using ASentientBot's legacy GPU patches are currently out of luck. We either recommend users with these older GPUs stay on Catalina until further developments arise or buy an officially supported GPU
What’s new in the Hackintosh scene?
Dortania: a new organization has appeared
As many of you have probably noticed, a new organization focusing on documenting the hackintoshing process has appeared. Originally under my alias, Khronokernel, I started to transition my guides over to this new family as a way to concentrate the vast amount of information around Hackintoshes to both ease users and give a single trusted source for information. We work quite closely with the community and developers to ensure information's correct, up-to-date and of the best standards. While not perfect in every way, we hope to be the go-to resource for reliable Hackintosh information. And for the times our information is either outdated, missing context or generally needs improving, we have our bug tracker to allow the community to more easily bring attention to issues and speak directly with the authors:
Kexts here are built right after commit, and currently supports most of Acidanthera's kexts and some 3rd party devs as well. If you'd like to add support for more kexts, feel free to PR: Build Repo source
True legacy macOS Support!
As of OpenCore's latest versioning, 0.6.2, you can now boot every version of x86-based builds of OS X/macOS! A huge achievement on @Goldfish64's part, we now support every major version of kernel cache both 32 and 64-bit wise. This means machines like Yonah and newer should work great with OpenCore and you can even relive the old days of OS X like OS X 10.4! And Dortania guides have been updated accordingly to accommodate for builds of those eras, we hope you get as much enjoyment going back as we did working on this project!
Intel Wireless: More native than ever!
Another amazing step forward in the Hackintosh community, near-native Intel Wifi support! Thanks to the endless work on many contributors of the OpenIntelWireless project, we can now use Apple's built-in IO80211 framework to have near identical support to those of Broadcom wireless cards including features like network access in recovery and control center support. For more info on the developments, please see the itlwm project on GitHub: itlwm
Note, native support requires the AirportItlwm.kext and SecureBootModel enabled on OpenCore. Alternatively you can force IO80211Family.kext to ensure AirportItlwm works correctly.
Airdrop support currently is also not implemented, however is actively being worked on.
Clover's revival? A frankestien of a bootloader
As many in the community have seen, a new bootloader popped up back in April of 2019 called OpenCore. This bootloader was made by the same people behind projects such as Lilu, WhateverGreen, AppleALC and many other extremely important utilities for both the Mac and Hackintosh community. OpenCore's design had been properly thought out with security auditing and proper road mapping laid down, it was clear that this was to be the next stage of hackintoshing for the years we have left with x86. And now lets bring this back to the old crowd favorite, Clover. Clover has been having a rough time of recent both with the community and stability wise, with many devs jumping ship to OpenCore and Clover's stability breaking more and more with C++ rewrites, it was clear Clover was on its last legs. Interestingly enough, the community didn't want Clover to die, similarly to how Chameleon lived on through Enoch. And thus, we now have the Clover OpenCore integration project(Now merged into Master with r5123+). The goal is to combine OpenCore into Clover allowing the project to live a bit longer, as Clover's current state can no longer boot macOS Big Sur or older versions of OS X such as 10.6. As of writing, this project seems to be a bit confusing as there seems to be little reason to actually support Clover. Many of Clover's properties have feature-parity in OpenCore and trying to combine both C++ and C ruins many of the features and benefits either languages provide. The main feature OpenCore does not support is macOS-only ACPI injection, however the reasoning is covered here: Does OpenCore always inject SMBIOS and ACPI data into other OSes?
Death of x86 and the future of Hackintoshing
With macOS Big Sur, a big turning point is about to happen with Apple and their Macs. As we know it, Apple will be shifting to in-house designed Apple Silicon Macs(Really just ARM) and thus x86 machines will slowly be phased out of their lineup within 2 years. What does this mean for both x86 based Macs and Hackintoshing in general? Well we can expect about 5 years of proper OS support for the iMac20,x series which released earlier this year with an extra 2 years of security updates. After this, Apple will most likely stop shipping x86 builds of macOS and hackintoshing as we know it will have passed away. For those still in denial and hope something like ARM Hackintoshes will arrive, please consider the following:
We have yet to see a true iPhone "Hackintosh" and thus the likely hood of an ARM Hackintosh is unlikely as well
There have been successful attempts to get the iOS kernel running in virtual machines, however much work is still to be done
Apple's use of "Apple Silicon" hints that ARM is not actually what future Macs will be running, instead we'll see highly customized chips based off ARM
For example, Apple will be heavily relying on hardware features such as WX, kernel memory protection, Pointer Auth, etc for security and thus both macOS and Applications will be dependant on it. This means hackintoshing on bare-metal(without a VM) will become extremely difficult without copious amounts of work
Also keep in mind Apple Silicon will no longer be UEFI-based like Intel Macs currently are, meaning a huge amount of work would also be required on this end as well
So while we may be heart broken the journey is coming to a stop in the somewhat near future, hackintoshing will still be a time piece in Apple's history. So enjoy it now while we still can, and we here at Dortania will still continue supporting the community with our guides till the very end!
Getting ready for macOS 11, Big Sur
This will be your short run down if you skipped the above:
Lilu's userspace patcher is broken
Due to this many kexts will break:
WhateverGreen's DRM and -cdfon patches
Many Ivy Bridge and Haswell SMBIOS were dropped
See above for what SMBIOS to choose
Ivy Bridge iGPUs are to be dropped
Currently in 11.0.1, these drivers are still present
For the last 2, see here on how to update: Updating OpenCore, Kexts and macOS In regards to downloading Big Sur, currently gibMacOS in macOS or Apple's own software updater are the most reliable methods for grabbing the installer. Windows and Linux support is still unknown so please stand by as we continue to look into this situation, macrecovery.py may be more reliable if you require the recovery package. And as with every year, the first few weeks to months of a new OS release are painful in the community. We highly advise users to stay away from Big Sur for first time installers. The reason is that we cannot determine whether issues are Apple related or with your specific machine, so it's best to install and debug a machine on a known working OS before testing out the new and shiny. For more in-depth troubleshooting with Big Sur, see here: OpenCore and macOS 11: Big Sur
Don't Be A Basic Bench: A Comprehensive Introductory Guide
Hello everyone! In an effort to keep the subreddit and its wiki filled with good and useful information, we are compiling guides for the main lifts (deadlift, squat, bench, potentially others). These guides will be added to the wiki and posted as posts as they are completed. The goal of these guides is to provide basic lift information, descriptions of some common variations, equipment considerations, related and complimentary exercises, additional resources for further reading, and to showcase incredible women (and non-binary folks) performing these lifts. This is the second entry in this lift series. Check out the first entry, The Deadlift Guide in the FAQ! If you have suggestions regarding things that should be added to these guides, or other subjects you'd like to see in the wiki, please message the mods!
The Bench Press
Bench Press Form and Variations
The main muscle group worked by the bench press is the pectoralis major, which is the largest muscle in the chest area. The pectoralis major muscle has two sections that are named for the bones they attach to – the sternal portion attaches to the breast bone and makes up the bulk of the muscle fibers, making up the middle and lower section; the clavicular portion attaches to the collarbone and is the more superior (upper) portion. The bench press also heavily involves the triceps (back of the upper arm), and recruits the deltoid muscles (shoulder), and pectoralis minor to lesser extents. I’ll first be discussing the form for a standard, flat, “neutral/wide” grip bench press. Variations on this will be discussed below it. This guide is written for barbell bench pressing, but all of these variations can be performed with dumbbells as well. Flat bench – the standard/”default” bench press Start out flat on the bench with bar directly over your eyes (with spotter) or over your nose/mouth (without spotter), feet flat, butt and upper back planted firmly on the bench. Arching of the lumbar spine is normal, fine, and absolutely legal in lifting competitions. Scapulas (shoulderblades) should be retracted or “pinched together” to provide both a stable flat surface for your upper back to settle on the bench, and to minimize undue tension on your shoulder joints. Retracting your scapulae will also puff your chest up and put your shoulders in a safer position for the lift. The bar should rest in the heel of your palm so that it is stacked above the wrist, forearm, and elbows through the lift. A slight internal rotation of the hands will help with this positioning and will angle your elbows out slightly. For a standard flat bench press, your hands will be a bit further apart than shoulder width – about 1.5-2x shoulder width is the average position – position your hands so that your forearms will be almost completely perpendicular to the floor at the bottom of the lift. Retract your scapulae (as if you’re trying to pick up a pencil off the bench between them), keep actively pushing your chest up, take in a big belly breath, and hold it before pushing the bar away from the rack and locking out at the elbows. Bring the bar down your torso so that it is directly over the line of your shoulders – this is likely going to be about the level of the middle of your sternum or your nipple line, but may vary depending on your individual anatomy and the degree of arching your back is doing. The bar should be directly above your elbows at all times during the movement of the lift. This not only increases stability during the lift, but also prevents undue stress on your triceps or your shoulders. It also is the most efficient configuration for using the majority of the muscle fibers within the pectoralis major. Speaking of efficiency in recruiting pectoral muscle fibers, let’s talk about arching your back during a bench press. This is a faux controversy like “sumo deadlifting is cheating” – the claim is that an arch will significantly decrease the range of motion for the bar, making the lift “easier”. While the purpose of the arch is to slightly decrease the range of motion, it also makes the lift safer at the bottom of the movement, which is the riskiest for your shoulder joints. It also serves to recruit more of your pectoral muscle fibers to the lift – this should increase the amount of weight one can lift and impact muscle growth when the goal is hypertrophy. Degree of arching is going to be up to personal preference and anatomy, but some degree of arch is natural and normal. Check out the natural position of the spine and you can see that the lumbar spine (lower back) has a natural forward curve (lordosis) which helps with loadbearing since we’re just hairless upright apes. An arch during bench press may be anywhere from your normal lumbar spine position to an exaggeration of your body’s natural lordosis. As you lower the bar, keep tension in your upper body by trying to “break the bar in half” or “rip the bar apart” until it touches your mid-to-lower sternum (depending on anatomy and degree of arch). After a touch (and brief pause, if you’re powerlifting), push the bar back upwards and slightly backwards towards your face to lockout. You can now exhale that big belly breath you’ve been holding for the duration of the rep.
Stronger by Science also has a very in depth How To Bench article. It is more in depth than this guide intends to be, and definitely worth a read. It also covers the anatomy and physics behind the bench press – things you should be interested in if your goal is to move weight safely (even if your goal does not necessarily involve moving a lot of weight).
Dumbbell bench: These are not only great when you aren’t yet able to use the barbell, but also for correcting muscle imbalances and general strength improvements that can translate into a barbell bench press. These also have more flexibility with grip positioning – if a barbell bench press irritates your shoulders, consider trying dumbbell bench press with a neutral grip (the dumbbells will be parallel to your body instead of perpendicular). Dumbbell bench press also allows for an increased range of motion, developing small stabilizer muscles in the upper body, and can be used to correct muscle imbalances.
Incline bench – performed with the bench angled about 15-30 degrees up from parallel to the floor. As you change the bench to a more upright position, the front shoulder muscle (anterior deltoids) will become more involved in the lift compared to lower degrees of incline and flat bench. The purpose of incline benching is to recruit more shoulder involvement and also more of the upper (clavicular) parts of the pectoralis major muscles. Bar will still track to be over your shoulders, about the nipple line/mid sternum. Grip width just wider than shoulder width so forearms will be completely perpendicular to the floor at the lowest point of the press.
Decline bench: There are benches and racks specifically for decline benching. If you only have access to a flat bench, you can potentially “make” your own decline by elevating the foot end of the bench. If you do this, make sure it’s very stable before trying the lift. The benefit of a decline bench is to utilize the lower portions of the sternal portion of the pecs more, and also decrease the amount of involvement of shoulder muscles. If you have a shoulder injury but are still cleared to lift, this can be a better option for you than a flat or incline bench press. In this position, the barbell will be over the lower part of your breast bone (sternum) and will touch the chest lower than in a flat or incline bench press.
Close grip bench: As the name suggests, this bench press variation has a more narrow grip width than standard or wide grip bench press. The purpose for this positioning is to increase the involvement of the triceps muscles during the lift. Proper grip width for this is over the shoulder joints – too narrow of a grip can internally rotate the shoulder joint which can lead to strain and injury. In this variation, the bar will touch your chest even lower than a decline or flat bench press – the bottom of the movement should still have your forearms perpendicular to the floor, with the wrists and bar stacked over the elbows.
Supinated/reverse grip bench: This variation can be very challenging, especially as weights increase. The benefit to supinating your hands so that the palm is facing your chin during the bench press is to reduce strain on the shoulders. It can be challenging to keep the bar in the fleshy part of your hands without dropping the bar on your face. Definitely practice with an empty bar or light dumbbells.
Floor press: Not just an exercise for when the benches are all occupied. Floor press is good in its own right or as an accessory for bench press. Set up is basically the same as a flat bench press, but you’re on the floor. Personally I prefer to have my knees bent and my feet flat, but one could also keep the legs flat out and completely remove lower body involvement/drive. These are especially great with dumbbells for folks with shoulder pain or issues, because you can use a neutral grip. These can help with lockout strength at the top of the bench press as well as if your sticking point on bench press is on the ascent.
Larsen press: The set up for the Larsen press is identical to a standard flat bench press. The biggest difference is that once you unrack the weight and have the bar over your chest, the feet are lifted off the ground, either straight out or resting on something else at the heel (toes up). “This forces athletes to really focus on maintaining their upper back tightness without the feet and legs compensating for poor bar path, set positioning, and inadequate force displacement.” The biggest benefit to this variation is to force the lifter to maintain a tight upper back during the bench press, though it also serves as a way to increase relative intensity/difficulty of the exercise without adding more weight to the bar.
Helpful Bench Press Cues
Try to “break the bar” while pushing it away from you. Imagine it is a big long dry spaghetti noodle and you are trying to turn it into two pieces of spaghetti by snapping it away from you. This will help engage your upper body muscles and ensure that your upper back is tight and flat, promoting a safer and more stable lift.
Grip the bar very hard, with special focus on gripping hard with your pinkies. This can help engage your latissimus dorsi for the lift!
Stack the bar over your wrists over your elbows. This means your forearm will be perpendicular to the floor and the barbell and increases stability, improves form, and reduces undue strain on your shoulders and elbows.
Push yourself away from the bar and push your body down into the bench during the actual press portion (from the bottom back up to the top) of the lift. This will help keep your upper body muscles engaged appropriately and keep you in place on the bench.
For leg drive, plant your feet and apply force down on the floor and towards your head. This will help keep your upper back planted so long as you aren't slick and sweaty and keep optimal form and tightness through the lift.
Push ups –Push ups are basically the body weight exercise version of the bench press – the movement and position is very similar and translate well into bench press gains. Succeeding in bench press will benefit your push ups, and succeeding in push ups will benefit your bench press. The bodyweightfitness subreddit guide for pushups is excellent and goes over a suggested progression program if you are not yet able to do full push ups on your toes. Note also that you can do a narrow width diamond pushup to increase involvement of your triceps.
MegSquats also recently posted a “3 tips for push ups” post that several of our users have already mentioned as being helpful.
Svend/pinch press - a great accessory exercise for pectoral muscle growth, especially right in the middle along the sternum. You’ll be squeezing a plate or other weight between your hands at mid chest level and pushing the weight straight out away from your body – make sure you’re squeezing the weight through the whole motion. This can be done either standing upright or lying flat on your back (supine). The supine version recruits your triceps more, and the standing version recruits your anterior deltoid more.
Chest flies - another favorite chest accessory. These also hit the pectoralis minor, along with pectoralis major. These can help your bench press by increasing the strength of the pectoral muscles, but are also great for changing the aesthetics of your chest muscles. Flys can be performed flat or at an incline – like incline bench press vs flat, increasing the angle away from the ground will increase the involvement of the upper aspect of the pectoral muscles as well as the anterior deltoid muscles.
Cable crossoveiron cross: Very similar to chest flies, but you’re using the cable tower and performing these upright. These engage the core and abdominal muscles more, but are still primarily for strengthening the chest, shoulders, and triceps. The best part about cable flyes or cable crossovers is that you can adjust the height of the cables to target different aspects of your chest muscles – higher cable anchors target the lower pectoral fibers, middle (shoulder-ish) height target the middle fibers, especially along the sternum, and low cable anchor points target the upper pectoral muscle fibers.
Dips are challenging body weight exercises that can have either a chest or triceps focus. Essentially, these are vertical pushups – you will be suspended from a rack or pull up/dip ‘machine’. Start with your arms fully extended while you’re holding onto the handles. Bend your arms to lower your body, leaning forward slightly, until your shoulders are just below your elbows. Lift yourself back up while straightening your arms until you lock out at the top. You can also do bench dips which may be easier on your shoulders. Surprisingly good wikihow guide on bench dips.
Around the Worlds - an exercise for pectoral and shoulder muscle strength and development. Can be done supine or standing – supine will be a chest focus, while upright will be a shoulder focused movement (but don’t worry – both groups are definitely involved in both versions). Hold dumbbells or small weight plates with your palms facing forward throughout the motion. Start with your hands at your sides and, keeping elbows slightly bent, slowly move your arms away from your body like you’re making a snow angel until they are side by side over your head. Do the reverse movement to return to the starting position with the weights by your side – this is one rep.
Triceps Pushdowns are one of many triceps extension exercises that can help you get that stylish horseshoe muscle appearance, and improve your bench press. You can do triceps pushdowns with a cable tower, pull down station, or even resistance bands.
Triceps extensions encompass a wide variety of exercises aimed at isolating the triceps for hypertrophy (size) and strength.
Equipment, Tools, and Other Considerations
These items are not required to be successful in bench pressing, but can be beneficial to lifters that bench press at any skill or weight level.
Wrist wraps can help keep your wrists straight and supported during bench press. They can help keep the weight safely and evenly distributed through your wrist and thus through the entire forearm and elbow.
Slingshot: A device invented by powerlifter Mark Bell who can bench 545lbs without special tools and 854lbs “equipped”. It wraps around your elbows and can allow you to overload your bench press by “10-15%” with the help of elastic tension from the Slingshot. It can also be helpful in taking some of the stress off shoulders and elbows during a bench press but is NOT a substitute for proper form and safe lifting.
Blocks or boards - board pressing uses wooden boards or something like benchblokz between the bar and your chest during a bench press. This decreases the range of motion for the lift and can help lifters work through sticking points (relative weak points in the range of motion), which can lead to improved bench without tools (“raw”). Here’s another article, from elitefts on board pressing and its uses.
GameMaker Studio 2.3.1 will allow you to build games for Raspberry Pi - here's how to get it all working!
GameMaker: Studio 2.3.1 will be introducing a significant amount of support for platforms running on ARM. For the most part, exporting to these platforms is a subset of the target platforms (specifically Mac OS and Ubuntu/Linux) that already are supported by GMS2, but the magic happens in the export! If the platform you’re targeting is running on an ARM processor, the build process will handle the heavy lifting. I’ve left a full guide below to getting your projects running on a Raspberry Pi - here are the important take-away’s if you’re familiar with the Ubuntu export process
When building for Linux normally, GMS2 builds a 64-bit binary. This is NOT the case with the ARM build process - it in fact DEPENDS on you running a ARMv7 architecture, which is great news for older hardware (Raspberry Pi 2 + 3).This also means that building your project with a Raspberry Pi 4 running Ubuntu Desktop is out of the question for now, as only 64-bit binaries exist officially.
You can build and run your project with Raspbian (the default Raspberry Pi linux distribution)
Warning: Depending on your project, performance will vary significantly - you should expect to overclock your Raspberry Pi CPU and GPU clock speeds to achieve best performance in graphically intense games. Most folks have their Pi’s overclocked, and it’s a very straight forward process that you can learn about here. I suggest getting a case for your Pi with heatsinks and fan, regardless of your configuration.
Known Supported Linux Distributions for building GMS2 projects on RPi
Ubuntu MATE (ARMhf version)
It’s important to note, while I haven’t tried it, the binaries generated should work fine on most distros running on ARMv8.
What you’ll need:
GameMaker: Studio 2.3.1 (beta currently available on the YYG website) with Desktop export running on either Windows or Mac OS
A Raspberry Pi (I have only done this with the Raspberry Pi 4 model B, but it should work with RPi 3’s as well at the very least).
A linux distribution that is for ARMhf or ARMv7 (The default Raspbian OS works perfectly)
Step 1: Setting up your Raspberry Pi
There are plenty of guides for how to do this online, so I’ll assume you can figure most of this out.Prepare your SD card with either Raspbian or Ubuntu MATE and boot into it on your Raspberry Pi. I suggest going with Raspbian, and most of my notes in here will be specific to it - it will be the most straight-forward option and likely the best performance on Pi. Once Raspbian has booted, let it update using the built-in update manager (it might take a little while) Find a way to entertain yourself... this might take a little bit.
Step 2: Install the dependencies
This is pretty much the same as it would be in any regular Linux setup to build your GMS2 projects, however, if you’re using Raspbian some of the regular dependencies will already be installed - so I’ve skipped the ones we won’t need right now in the list below. If you’re having an issue or using Ubuntu MATE, check out the full list here. > Open "Terminal" For each of these you’ll type “sudo apt install” followed by the listed name, so for the first one we’ll go:
Raspbian has the OpenSSH server dependency that GameMaker: Studio needs already installed, but it’s inactive by default. Browse to the Raspberry Pi Configuration window (located in the Raspberry Pi icon menu > Preferences > Raspberry Pi Configuration and over to the tab “Interfaces”. Enable SSH and press OK. Do not forget to enable SSH!
Step 4: Reboot
I can’t stress this enough - Reboot your Pi. Just do it, it may or may not do anything at this point, but it’s better than not doing it.
Step 5: Set up your connection in GameMaker
This is pretty straight-forward. In the upper right hand corner of your IDE window, change your target platform to Ubuntu.Add a Device for your Raspberry Pi. You can set the Display Name to anything you’d like to, Host Name should be the local ip address for the Raspberry Pi - an easy way to get this is by typing “hostname -I” into your terminal on the Raspberry Pi. By default, if using Raspbian, your username is “pi” and your password is what you set during the Raspbian setup. Here's what my device looks like - your hostname is most definitely different <3 Press “Test Connection” - you should see a message that the connection was successful! If not, double check that the IP address you dropped into Host Name is correct and that you followed step 3 to enable the SSH server. Press “OK” once you’ve gotten a Connection Successful message, and you’re off to the races!
My brother and I just released alpha of our open source declarative programming language (implemented in Haskell!) for writing modern web apps (i.e. React/Node/Prisma) with no boilerplate. We are still learning Haskell and would love to get your feedback / advice!
Web page: https://wasp-lang.dev Docs: https://wasp-lang.dev/docs Github repo: https://github.com/wasp-lang/wasp We have been playing with Haskell for years now, but always on the side, and this is the first bigger project we are doing in Haskell (we thought Haskell would be a good fit for compiler), so we encountered interesting challenges and we are learning a lot as we are solving them. We are mostly sticking to “Boring Haskell”, due to us still learning some of the more complex concepts, but also in order to enable less experienced Haskellers to potentially contribute to the codebase. Some of the interesting Haskell-related challenges we encountered so far:
Building distributable binaries for OSX/Linux/Win. After a lot of research (haskell helped a lot here) we set up CI to build dynamic binaries for all 3 OSes. With stack, this was all actually pretty easy. One interesting problem was https://github.com/commercialhaskell/stack/issues/848 -> no way to provide portable binary with a path to data_dir. Next step will be to build static libraries. We plan to write a blog post about our experiences soon, we will put it in haskell when it is done!
We are dealing with file paths a lot, and at some point it became hard to figure out which path is relative, absolute, file, dir … -> introducing https://hackage.haskell.org/package/path helped us a lot with this. We actually ended up building our own solution on top of `path` that moves even more information into types, we plan to publish it as a package soon (although it might be slightly niche regarding use cases).
Testing IO code, specifically mocking while testing it. I believe we identified the most common solution(s), and we used it on some parts of the IO code, but we still feel it is pretty hard to do. Probably we need to get more experience with the needed mechanisms.
Record labels/fields not scoped by record. This is well known pain, but it took us some time to research all the options and figure out the best practices. At the end we settled for prefixing labels with _ and separating a record into its own module if there are naming conflicts with other records that would cause names to be overly long / complicated. This works fine so far, and while we are looking at Lens, we haven’t started using them yet.
Running multiple external processes at the same time and streaming their output was interesting and fun, we learned about and used the `async` package (very easy to use!) and used `Data.Conduit.Process` for running a single process while streaming its stdout and stderr.
Some bigger Haskell-related things on our roadmap:
Right now the language syntax is pretty ad-hoc, and we would like to formalize language more at some point, which means probably switching from parsec to Happy. Or, at least replacing parsec with megaparsec.
Implementing proper error reporting in the generator phase of the compiler. Right now we are using `error` which is very crude, we plan to instead introduce a monad transformer stack with ExceptT in it, so we can handle errors, maybe even do some recovery and similar.
Building static binaries (or at least packaging dynamic binaries with the libraries they need to make them effectively more static -> OSX).
Figuring out a better way to work with templates. Right now we are using `mustache` package, but our surface between Haskell and templates is pretty loose type-wise, creating space for runtime errors. Plan is to either define data types that precisely describe each template, or (would be better) to find another mechanism for templates that is somehow better integrated with Haskell. We are looking at the `heterocephalus` package as a possible solution.
We are looking for alpha testers, contributors, feedback, so let us know if you would like to participate!
https://github.com/gridcoin-community/Gridcoin-Research/releases/tag/126.96.36.199 Finally! After over ten months of development and testing, "Fern" has arrived! This is a whopper. 240 pull requests merged. Essentially a complete rewrite that was started with the scraper (the "neural net" rewrite) in "Denise" has now been completed. Practically the ENTIRE Gridcoin specific codebase resting on top of the vanilla Bitcoin/Peercoin/Blackcoin vanilla PoS code has been rewritten. This removes the team requirement at last (see below), although there are many other important improvements besides that. Fern was a monumental undertaking. We had to encode all of the old rules active for the v10 block protocol in new code and ensure that the new code was 100% compatible. This had to be done in such a way as to clear out all of the old spaghetti and ring-fence it with tightly controlled class implementations. We then wrote an entirely new, simplified ruleset for research rewards and reengineered contracts (which includes beacon management, polls, and voting) using properly classed code. The fundamentals of Gridcoin with this release are now on a very sound and maintainable footing, and the developers believe the codebase as updated here will serve as the fundamental basis for Gridcoin's future roadmap. We have been testing this for MONTHS on testnet in various stages. The v10 (legacy) compatibility code has been running on testnet continuously as it was developed to ensure compatibility with existing nodes. During the last few months, we have done two private testnet forks and then the full public testnet testing for v11 code (the new protocol which is what Fern implements). The developers have also been running non-staking "sentinel" nodes on mainnet with this code to verify that the consensus rules are problem-free for the legacy compatibility code on the broader mainnet. We believe this amount of testing is going to result in a smooth rollout. Given the amount of changes in Fern, I am presenting TWO changelogs below. One is high level, which summarizes the most significant changes in the protocol. The second changelog is the detailed one in the usual format, and gives you an inkling of the size of this release.
Note that the protocol changes will not become active until we cross the hard-fork transition height to v11, which has been set at 2053000. Given current average block spacing, this should happen around October 4, about one month from now. Note that to get all of the beacons in the network on the new protocol, we are requiring ALL beacons to be validated. A two week (14 day) grace period is provided by the code, starting at the time of the transition height, for people currently holding a beacon to validate the beacon and prevent it from expiring. That means that EVERY CRUNCHER must advertise and validate their beacon AFTER the v11 transition (around Oct 4th) and BEFORE October 18th (or more precisely, 14 days from the actual date of the v11 transition). If you do not advertise and validate your beacon by this time, your beacon will expire and you will stop earning research rewards until you advertise and validate a new beacon. This process has been made much easier by a brand new beacon "wizard" that helps manage beacon advertisements and renewals. Once a beacon has been validated and is a v11 protocol beacon, the normal 180 day expiration rules apply. Note, however, that the 180 day expiration on research rewards has been removed with the Fern update. This means that while your beacon might expire after 180 days, your earned research rewards will be retained and can be claimed by advertising a beacon with the same CPID and going through the validation process again. In other words, you do not lose any earned research rewards if you do not stake a block within 180 days and keep your beacon up-to-date. The transition height is also when the team requirement will be relaxed for the network.
Besides the beacon wizard, there are a number of improvements to the GUI, including new UI transaction types (and icons) for staking the superblock, sidestake sends, beacon advertisement, voting, poll creation, and transactions with a message. The main screen has been revamped with a better summary section, and better status icons. Several changes under the hood have improved GUI performance. And finally, the diagnostics have been revamped.
The wallet sync speed has been DRASTICALLY improved. A decent machine with a good network connection should be able to sync the entire mainnet blockchain in less than 4 hours. A fast machine with a really fast network connection and a good SSD can do it in about 2.5 hours. One of our goals was to reduce or eliminate the reliance on snapshots for mainnet, and I think we have accomplished that goal with the new sync speed. We have also streamlined the in-memory structures for the blockchain which shaves some memory use. There are so many goodies here it is hard to summarize them all. I would like to thank all of the contributors to this release, but especially thank @cyrossignol, whose incredible contributions formed the backbone of this release. I would also like to pay special thanks to @barton2526, @caraka, and @Quezacoatl1, who tirelessly helped during the testing and polishing phase on testnet with testing and repeated builds for all architectures. The developers are proud to present this release to the community and we believe this represents the starting point for a true renaissance for Gridcoin!
Most significantly, nodes calculate research rewards directly from the magnitudes in EACH superblock between stakes instead of using a two- or three- point average based on a CPID's current magnitude and the magnitude for the CPID when it last staked. For those long-timers in the community, this has been referred to as "Superblock Windows," and was first done in proof-of-concept form by @denravonska.
Network magnitude unit pinned to a static value of 0.25
Max research reward allowed per block raised to 16384 GRC (from 12750 GRC)
New CPIDs begin accruing research rewards from the first superblock that contains the CPID instead of from the time of the beacon advertisement
500 GRC research reward limit for a CPID's first stake
6-month expiration for unclaimed rewards
10-block spacing requirement between research reward claims
Rolling 5-day payment-per-day limit
Legacy tolerances for floating-point error and time drift
The need to include a valid copy of a CPID's magnitude in a claim
10-block emission adjustment interval for the magnitude unit
One-time beacon activation requires that participants temporarily change their usernames to a verification code at one whitelisted BOINC project
Verification codes of pending beacons expire after 3 days
Self-service beacon removal
Burn fee for beacon advertisement increased from 0.00001 GRC to 0.5 GRC
Rain addresses derived from beacon keys instead of a default wallet address
Beacon expiration determined as of the current block instead of the previous block
The ability for developers to remove beacons
The ability to sign research reward claims with non-current but unexpired beacons
As a reminder:
Beacons expire after 6 months pass (180 days)
Beacons can be renewed after 5 months pass (150 days)
Renewed beacons must be signed with the same key as the original beacon
Magnitudes less than 1 include two fractional places
Magnitudes greater than or equal to 1 but less than 10 include one fractional place
A valid superblock must match a scraper convergence
Superblock popularity election mechanics
Yes/no/abstain and single-choice response types (no user-facing support yet)
To create a poll, a maximum of 250 UTXOs for a single address must add up to 100000 GRC. These are selected from the largest downwards.
Burn fee for creating polls scaled by the number of UTXOs claimed
50 GRC for a poll contract
0.001 GRC per claimed UTXO
Burn fee for casting votes scaled by the number of UTXOs claimed
0.01 GRC for a vote contract
0.01 GRC to claim magnitude
0.01 GRC per claimed address
0.001 GRC per claimed UTXO
Maximum length of a poll title: 80 characters
Maximum length of a poll question: 100 characters
Maximum length of a poll discussion website URL: 100 characters
Maximum number of poll choices: 20
Maximum length of a poll choice label: 100 characters
Magnitude, CPID count, and participant count poll weight types
The ability for developers to remove polls and votes
[188.8.131.52] 2020-09-03, mandatory, "Fern"
Backport newer uint256 types from Bitcoin #1570 (@cyrossignol)
Implement project level rain for rainbymagnitude #1580 (@jamescowens)
Upgrade utilities (Update checker and snapshot downloadeapplication) #1576 (@iFoggz)
Provide fees collected in the block by the miner #1601 (@iFoggz)
Add support for generating legacy superblocks from scraper stats #1603 (@cyrossignol)
Port of the Bitcoin Logger to Gridcoin #1600 (@jamescowens)
Implement zapwallettxes #1605 (@jamescowens)
Implements a global event filter to suppress help question mark #1609 (@jamescowens)
Add next target difficulty to RPC output #1615 (@cyrossignol)
Add caching for block hashes to CBlock #1624 (@cyrossignol)
Make toolbars and tray icon red for testnet #1637 (@jamescowens)
Add an rpc call convergencereport #1643 (@jamescowens)
Implement newline filter on config file read in #1645 (@jamescowens)
Implement beacon status icon/button #1646 (@jamescowens)
Add gridcointestnet.png #1649 (@caraka)
Add precision to support magnitudes less than 1 #1651 (@cyrossignol)
Replace research accrual calculations with superblock snapshots #1657 (@cyrossignol)
Publish example gridcoinresearch.conf as a md document to the doc directory #1662 (@jamescowens)
Add options checkbox to disable transaction notifications #1666 (@jamescowens)
Add support for self-service beacon deletion #1695 (@cyrossignol)
Add support for type-specific contract fee amounts #1698 (@cyrossignol)
Add verifiedbeaconreport and pendingbeaconreport #1696 (@jamescowens)
Add preliminary testing option for block v11 height on testnet #1706 (@cyrossignol)
Add verified beacons manifest part to superblock validator #1711 (@cyrossignol)
Implement beacon, vote, and superblock display categories/icons in UI transaction model #1717 (@jamescowens)
Allow me to explain how traditional game "patching" as on consoles and even PC by game developers is not always required for games to run better on Stadia over time... Stadia engineers can do it on their own to ever improve the visual quality of individual library titles.
I've been mulling over how to write this post without it getting too wordy and just turn people away from the topic... but I feel it's important for people to consider in regards to investing in game purchases on Stadia. Even though a years-old game is ported to Stadia by a 3rd party publisher, it is not abandoned by that developer after game engine code changes are required... at that point the Stadia team can take over tweaking the performance of the game as the Linux OS Kernel / Vulkan API / eventually hardware undergo improvements over time. I've seen heated comments/reactions in these parts when people start noticing older games suddenly looking or performing better... even though there is no sign of a game patch from the developer or announcement that such a thing has happened. (FFXV.) I'm hear to explain how this is totally possible. (Disclaimer: I've been a gaming platform tester for 13 years, a platform based from GenToo Linux Kernel. This year I have just branched directly into OS Kernel / Package testing itself.) A software package / game is made up of not only game code and pretty graphics. Another fairly big piece of the puzzle is configuration files. Especially in the Linux world. Another thing about Linux is it never sits still. It's open source and ever growing and improving through constant iteration by engineers around the world. This includes the Vulkan API itself. Stadia's platform and Vulkan API has likely undergone dozens if not hundreds of iterations in the past year alone. It is CONSTANTLY improving, even if ever so slightly. For comparison, a gaming console is a completely sealed environment. Not only does the hardware never change, but the OS and base Platform has very little wiggle room for improvement. Most significant improvements will happen within the first few years of a new console's life. But often the gains from that never spill over into the games themselves... but rather the Platform's UI interface and menu's, such as adding new features outside of the game. For things to change about a game at all, a patch MUST be delivered to the console. There is no other option, because the config files of individual games can't be touched in any other way. On PC you often have access to these config files (at the devoloper's discretion of what they choose to expose of course). Many people know of how you can start digging into these settings and adjust number values and flip on/off flags to affect your game. But these configuration files have default values set by the developers that are expected to never really be touched by the players... so even when they do want to change something for the benefit of everyone, they need to issue a game patch. Now on a Cloud platform such as Stadia, when a game is delivered by a developer to the platform, of course their game engine code (binaries) cannot be altered by anyone but the game developer themselves as usual... so if there is bugs in code, or game engine code improvements that can be done, the developer must deploy a game patch to make these changes, as we have seen and people would expect. However the configuration files which define how the game performs on the platform's hardware are completely exposed... and this is what the Stadia team most likely has FULL control over. So if the Vulkan API gets some improvements or code optimizations, and they can squeeze a little bit more performance out of the game, the Stadia team can go into these config files and adjust things accordingly. Not only configurations but also the graphical assets themselves (media) can be swapped with more high-rez assets as well. Its also very possible that the publishers/devs provide Stadia with multiple different versions of quality of their media. Some higher rez textures that can be swapped in if the platform is optimized enough to handle them, etc. Why would the Stadia team take on the management of all the games in such a way? Because it's absolutely in their best interest too. This is also a big favor towards the game publisher as well... Stadia does work to improve the game ultimately generating better reception and sales of these games producing revenue for both Stadia and the publisher. Cloud platforms are a new animal in the gaming world. How the games are maintained over time can be done very differently than what we are used to with console and PC. So naturally this turned into a wall of text but I couldn't do it any other way... some things simply need to be explained as clearly as possible to get across. ltdr: As Stadia platform / Vulkan API improve constantly over time, Stadia engineers can tweak the configurations of ANY game to make them look/run better without the developers needing to be involved and patch the games.
*These are preliminary Patch Notes and changes may still happen until the launch of Title Update 10.
New Season – Keener’s Legacy
A new season is almost upon us! Starting on June 23rd, Keener’s Legacy offers 12 weeks of in-game activities and unique rewards. Season 2 brings a new Seasonal Manhunt, new Leagues, a new Global event and new unique rewards, as well as an Apparel Event.
New Manhunt tasking you to take on 5 rogue agents over a 12-week period starting June 23rd. Bring down all five to unlock the new Healing Trap skill variant.
New Global Event Hollywood
New Apparel Event Phoenix Down
New Leagues Termite, Luna, Huntsman and Titan.
2 new Exotics
1 new Gear Set
2 new Named Weapons
2 new Named Gear
1 new Brand Set
Participating in the activities above will earn players Season experience contributing to their Season level.
Playing Conflict will contribute XP by gaining Conflict Levels beyond 30.
Playing in the Dark Zone will contribute XP by gaining DZ Levels beyond 30.
New Raid - Operation Iron Horse
The True Sons have taken over a Foundry to develop new weapons and threaten to destroy everything the Division has worked for.
New bosses, puzzles and rewards!
Level 40 version available on June 30th, followed the next week by the level 30 version.
Discovery mode will become available at a later date.
2 new Exotics
2 new Gear Sets
New cosmetic rewards
Further details will become available closer to the raid’s release in late June.
Balance and Bug Fixes
Title Update 10 is bringing our first large balance pass following the release of Warlords of New York. Beyond the addition of new content, the update focuses on three main aspects mainly game health through bug fixes and balancing, generosity by increasing your chances to receive a high-quality item as loot and increasing overall player power. Scroll down for a full list of bug fixes, balancing changes and gameplay tweaks.
Missing Localized Audio
We wanted to inform you about an issue with localized audio that will be present when we launch Title Update 10 and Season 2. While the team was able to work from home to get this update ready, with your help testing the content on the PTS, we unfortunately were not able to record all localized audio content for TU10. With everything going on in the world, our top priority is the well-being of our teams, including our voice actors. Of course, we will start working on recording the missing audio with our partners when it is safe to do so and, in some cases, we were able to get things started already. Adding the localized files to the game as soon as we can in one of our next updates is an absolute priority for the team. This only affects Seasonal content. Operation Iron Horse audio is fully localized. If you are currently playing with a non-English client, you don’t have to change anything going into Title Update 10. When localized audio is missing you will just hear the English audio instead. Subtitles have been localized and can be activated in the ingame options. As work continues, we will update you on the progress of the integration here on the forums and on State of the Game. Thank you and stay safe!
SRS Sniper Rifle: Mantis
Your scoped view displays additional information about enemies not targeting you
Your scoped view highlights enemy weakpoints
Headshot and weak point damage against enemies not targeting you amplified by 50%
Headshot kills reset the cooldown of the Decoy skill. This bonus will wait until the Decoy goes on cooldown if currently active
Status effects also apply a damage over time debuff for 10s
Total damage dealt is equal to 50% of your concussion grenade damage and increased by your status effect attributes
Double Barrel Rifle: The Ravenous (Operation Iron Horse)
On trigger-pull, fire both barrels at once
When fired from the right shoulder, hits add offensive primers, and defensive primers when fired from the left shoulder
Hits from one shoulder will detonate all of the opposite shoulder's primers when present
When detonated or affected enemy is killed, each offensive primer deals 100% weapon damage, while each defensive primer grants +4% bonus armor and +10% amplified damage to armor plates for 5s
Primer effectiveness is doubled at 10 stacks
Magnum Pistol: Regulus (Operation Iron Horse)
Headshot kills create a 5m explosion, dealing 400% weapon damage and applying bleed to all enemies hit.
High accuracy and base damage
New Gear Sets
Eclipse Protocol (Season 2)
Core: Skill Tier (Yellow)
2: +15% Status Effects
3: +15% Skill Haste and +30% Hazard Protection
4: "Indirect Transmission" Your status effects now spread on kill to all enemies within 15m and refresh 50% of the duration.
Chest talent: "Proliferation" Increases Indirect Transmission range from 15m to 20m and refresh percentage from 50% to 75%
Backpack talent: "Symptom Aggravator" Amplifies all damage you deal to status affected targets by 15%
Foundry Bulwark (Operation Iron Horse)
Core: Armor (Blue)
2: +10% Armor
3: +3% Armor Regeneration
4: "Makeshift Repairs" Whenever you or your shield take damage, 20% of that amount is repaired to both over 15s
Chest talent: "Process Refinery" Increases Makeshift Repairs from 20% to 30% over 15s
Backpack talent: "Improved Materials" Increases Makeshift Repairs speed from 15s to 10s
Future Initiative (Operation Iron Horse)
Core: Skill Tier (Yellow)
2: +30% Repair Skills
3: +30% Skill Duration and +15% Skill Haste
4: "Ground Control" Increases you and your allies' total weapon and skill damage by 15% when at full armor
When you repair an ally, you and all allies within 5m of you are also repaired for 60% of that amount
Chest talent: "Tactical Superiority" Increases Ground Control damage bonus from +15% to +25%
Backpack talent: "Advanced Combat Tactics" Increases Ground Control proximity repair from 60% to 120%
New Gear Brand
Walker, Harris & Co.
Core: Weapon Damage (Red)
1: +5.0% Weapon Damage
2: +5.0% Damage to Armor
3: +5.0% Damage to Health
New Named Weapons
Mechanical Animal (SIG 556) with Future Perfection
Weapon kills grant +1 skill tier for 19s. Stacks up to 3 times.
Weapon kills at skill tier 6 grant overcharge for 15s.
Overcharge Cooldown: 90s
Harmony (Resolute MK47) with Perfectly In Sync
Hitting an enemy grants +20% skill damage for 5s.
Using a skill or damaging an enemy with a skill grants +20% weapon damage for 5s.
Damage increases are doubled while both buffs are active at the same time.
New Named Gear
Matador (Walker, Harris & Co. backpack) with Perfect Adrenaline Rush
When you are within 10m of an enemy, gain 23% bonus armor for 5s. Stacks up to 3 times.
Chainkiller (Walker, Harris & Co. chest) with Perfect Headhunter. After killing an enemy with a headshot, your next weapon hit within 30s deals 150% of that killing blow’s damage in addition to it.
Damage is capped to 800% of your weapon damage. This is raised to 1250% if your headshot damage is greater than 150%.
New Skill Variant
The Repair Trap deploys a line of small devices capable of repairing friendlies in their proximity.
Note: The Repair Trap will not be available in-game until the Seasonal prime target unlocks in August.
Weapon Talent: Future Perfect
Weapon kills grant +1 skill tier for 15s. Stacks up to 3 times.
Weapon kills at skill tier 6 grant overcharge for 15s.
Overcharge Cooldown: 90s
Weapon Talent: In Sync
Hitting an enemy grants +15% skill damage for 5s.
Using a skill or damaging an enemy with a skill grants +15% weapon damage for 5s.
Damage increases are doubled while both buffs are active at the same time.
Backpack Talent: Adrenaline Rush
When you are within 10m of an enemy, gain 20% bonus armor for 5s. Stacks up to 3 times.
Chest Talent: Headhunter
After killing an enemy with a headshot, your next weapon hit within 30s deals 125% of that killing blow’s damage in addition to it.
Damage is capped to 800% of your weapon damage. This is raised to 1250% if your headshot damage is greater than 150%.
Reduced how many elites will spawn in the following mission:
Manning National Zoo
Coney Island Ballpark
Coney Island Amusement Park
Camp White Oak
Space Administration HQ
Federal Emergency Bunker
Added all new season 2 weapons/gear to general loot pools
Updated item power distribution to have a better spread between minimum and maximum for all difficulties
Increased minimum rolled item power for Field Proficiency/DZ caches, Clan caches and Season caches.
Regular loot from loot containers in Missions now scale with mission difficulty
Targeted loot from loot containers in Missions now scales with mission difficulty
Loot containers part of living world activities now scale with global difficulty
Increased targeted loot drop chances for all mission and Control Point difficulties
Added new season 2 brand to targeted loot rotation
Warlords of New York brands can now also show up as targeted loot in DC, including Dark Zones
Increased named item drop chance in regular Dark Zone loot
Increased named item drop chance in targeted loot everywhere
Added Warlords of New York/Season 1 Exotics (excluding The Bighorn) to targeted loot
Added Warlords of New York/Season 1 Exotics (excluding The Bighorn) to general Exotic loot pools (Heroic/Legendary/Raid/Exotic Cache)
Coyote's Mask drop from Coyote no longer has a minimum season level requirement
Removed regular weapon/gear loot containers not scaling with difficulty from Control Points
Increased the amount of scaling loot from the big Control Point reward container
Increased NPC loot drop chance for Veterans and Elites on Legendary difficulty
Crafting will now guarantee a higher minimum item power, resulting in higher overall stat rolls. An increased maximum item power also allows for better crafted items than before. The added weighting between the minimum and maximum power results in a more balanced average outcome for crafted and reconfigured items
Removed final World Tier 5 crafting bench upgrade, as its power increase is now redundant
Added Named Items to both Open World and Dark Zone vendors
Increased prices for Named Items
Increased item power for all vendors
Vendors no longer sell Superior quality items at maximum level
Added Field Proficiency cache to SHD level-up after reaching the maximum season level
Increased crafting material rewards for spending SHD level points in the Scavenging category
Added Season/SHD experience gain on Conflict level-up
Rogue Agent Encounters
Every Rogue Agent killed will now drop loot
Rogue Agent encounters no longer occur during time trials
Control Point Officers
Players revived by a Control Point Officer will now have 80% of their armor restored (Previously 0%)
Reduced the likelihood of Control Point Officers being downed in combat
Bounties acquired by speaking to characters in the open world will always be set to the difficulty at time of acquisition or higher.
This affects the Snitch and civilians rescued during the Public Execution or Rescue Living World Activities.
Scheduled bounties, such as daily and clan bounties, are unaffected.
Developer comment: Bounties acquired in the open world should always provide challenge and loot appropriate to the world they were acquired in. Upping your global difficulty now has the added benefit of improving all bounties you acquire within it.
New Season Pass Holder Project Slot.
Season Pass holders now have access to an exclusive daily mission which provides a large bonus to XP.
Weekly SHD Requisition Project Slot
Endgame players at World Tier 5 and Level 40 now have a weekly supplies donation project which rewards them with an exotic cache. (For World Tier 5 players, this replaces the previous daily SHD Requisition project.)
Legendary Mission Project
After TU10, completing any legendary mission will grant you the Weekly Legendary Mission project slot.
Completing the designated legendary mission will reward you with an exotic cache.
Developer comment: With the addition of "re-rolls" to exotics available through crafting, we created the new Weekly projects to provide a reliable supply of exotic components or exotic items.
Incoming Repairs no longer increases the amount of armor repaired by armor kits, talents or gear set effects.
Developer comment: Incoming Repairs was always meant to be the defensive attribute equivalent to Repair Skills, so that players could further enhance the amount of healing they receive from their skills, or the group's healer. Unfortunately, the underlying code prevented us from differentiating between alternate sources of armor repair, such as those from talents and gear sets like Foundry Bulwark, or Firewall's unique armor kit effect. We wanted to address this during the development of Warlords of New York, but chose to post-pone the fix in order to deal with higher priority issues at the time. We underestimated the extent to which this attribute would affect the new Warlords meta, and failed to predict the severity of degenerate gameplay it would cause when combined with certain talents or gear sets. It's important to stress that this is not a PvP-only issue, or an instance of the PvP environment affecting PvE balance. Incoming Repairs was compromising both aspects of the game, and needed to be addressed, especially considering this update coincides with the release of a new raid. Not addressing the issue would mean forcing ourselves to balance all existing and future gear and talents around the knowledge that players could potentially (read: very likely) double the amount of repairs they receive, which stifles creativity and effectively limits player choice.
1% Weapon Handling now gives 1% Weapon Accuracy, Stability, Reload Speed, and Swap Speed, up from 0.25%.
Reduced the maximum amount of Weapon Handling rolled on gear by 6%, to a maximum of 8% at level 40.
Developer comment: In the current meta, Weapon Handling on gear is considered a dead stat with no significant benefit. In TU10, equipping a piece of gear with +8% Weapon Handling will now give you:
+8% Swap Speed
+8% Reload Speed
This should hopefully make Weapon Handling a strong complimentary attribute for players looking to increase their overall accuracy/stability (bloom + recoil) and/or reload/swap speed. Making the % amount of Weapon Accuracy/Stability/Swap Speed/Reload Speed gained from Weapon Handling 1:1 will also remove another element of arcane knowledge from the game and reduce the need for additional mental math when determining whether the bonus is an upgrade or not.
Leadership: Bonus Armor increased to 15% from 12%
Spike: Skill Damage Duration increased to 15s from 8s
Reformation: Skill Repair Duration increased to 15s from 8s
Creeping Death: No Longer goes on cooldown if there are no valid nearby enemies to apply a status effect to. Status effects applied now properly copy the source status effect’s damage and duration.
Global Damage Modifiers
Reduced all PvP weapon damage by -20%
Additional Damage Modifiers
Increased MMR PvP weapon damage by 12.5%
Reduced Assault Rifle PvP weapon damage by -15%
Reduced Shotgun PvP damage by -12.5%
Reduced SMG PvP damage by -10%
Reduced Pistol PvP damage by -10%
Reduced Rifle PvP damage by -5%
_Developer comment: With TU10, there have been significant buffs made to the base damage of assault rifles, SMGs, and shotguns in particular. In order to prevent those weapons from becoming overly powerful in PvP, we’ve had to lower their PvP damage modifiers to compensate. Note: Assault rifles are still tuned to be 10% stronger than normal in PvP in order to compensate for their innate Damage to Health bonus being less useful against other players when compared to other weapon archetypes._
Specific Damage Modifiers
Increased Double Barrel Shotgun PvP damage by 16.6%
Reduced Pestilence PvP damage by -10%
Reduced Classic M1A damage by -5%
Merciless/Ruthless: “Binary Trigger” amplified weapon damage and explosion damage reduced by -50% in PvP
Dodge City Gunslinger’s Holster: “Quick Draw” damage bonus gained per stack in PvP lowered from +2% to +1%
Stacks gained per second in PvP now match the PvE value (0.5s to 0.3s)
No longer automatically applies burn status effect to the nearest enemy in range.
Now requires maintaining range and LOS (line-of-sight) for 3 seconds between the holster bearer and nearest enemy before applying the burn status effect.
Added visual UI feedback to reveal the radius of effect in PvP and an indicator for LOS between the holster bearer and nearest enemy.
Developer comment: This should help address the lack of contextual feedback in PvP, and add a much needed window of opportunity for counterplay, or potential to avoid the incoming effect entirely.
* Pestilence * Plague of the Outcast damage-over-time effect no longer triggers True Patriot’s white debuff armor repair effect. (PvP and PvE)
Developer comment: While we like to embrace emergent or unintended mechanics when the end result is unique and fun gameplay, True Patriot’s white debuff explicitly states it requires shooting the debuffed target in order to receive the armor repair effect. Pestilence’s DoT managed to bypass this restriction, making it and True Patriot (especially when combined with Incoming Repairs) scale to disproportionate levels of power when used together.
Gear Set Modifiers
Reduced the range at which marked targets can damage each other when critically hit to 15m (PvP only).
Added visual UI feedback when in range of another marked target.
Efficient: Reduced specialization armor kit bonus from 100% to 50%
Versatile: Reduced the amplified weapon damage bonus for SMGs and shotguns from 35% to 25%
Vanguard: Reduced the duration of shield invulnerability from 5s to 2s
Note: UI will still show the old duration, but will be fixed in a later update.
Specialization Modifiers * Firewall * Extracellular Matrix Mesh armor kit regen strength reduced by -50%, from 200% to 150%
Pulse now correctly reveals and highlights all players in the DZ, not just hostiles/rogues
Increased Striker Drone damage by 30%
Increased Assault Turret damage by 55%
Reduced Firestarter Chem Launcher PvP damage by -20%
Reduced Bleed damage from Stinger Hive, Mortar Turret and Explosive Seeker Mine by 75%
Increased Stinger Hive damage by 20%, scaling up to 55% at skill tier 6
Developer commentary: We want dedicated skill builds to have multiple, powerful defensive tools for area denial/control. However, the strength of bleed effects meant being hit by just 1 stinger drone, mortar, or seeker mine was nearly a death sentence for most builds. The stinger hive should now better punish players who remain within its area of effect, rather than needing to rely entirely on the excessive damage of a single bleed DoT, while allowing the hive’s drone damage to scale higher for dedicated skill builds.
AK-M – 15.8% damage increase
F2000 – 14.3% damage increase
Military AK-M – 13.2% damage increase
Black Market AK-M – 13.2% damage increase
FAL – 12.0% damage increase
FAL SA-58 – 12.0% damage increase
FAL SA-58 Para – 12.0% damage increase
SOCOM Mk 16 – 11.4% damage increase
Tactical Mk 16 – 11.4% damage increase
Mk 16 – 11.4% damage increase
AUG A3-CQC – 11.2% damage increase
Honey Badger – 10.9% damage increase
FAMAS 2010 – 10.6% damage increase
ACR – 9.7% damage increase
ACR-E – 9.7% damage increase
Military G36 – 9.5% damage increase
G36 C – 9.5% damage increase
G36 Enhanced – 9.5% damage increase
Carbine 7 – 8.7 % damage increase
Military P416 – 7.4% damage increase
Custom P416 G3 - 7.4% damage increase
Police M4 – 6.8% damage increase
CTAR 21 – 8.6% damage increase
Classic M60 – 12.5% damage increase
Classic RPK-74 – 12.4% damage increase
Military RPK-74 M – 12.4% damage increase
Black Market RPK-74 E – 12.4% damage increase
Military M60 E4 – 9.2% damage increase
Black Market M60 E6 – 9.2% damage increase
Military L86 LSW – 8.5% damage increase
Custom L86 A2 – 8.5% damage increase
IWI NEGEV – 2.6% damage increase
Stoner LMG – 2.0% damage increase
M249 B – No changes
Tactical M249 Para – No changes
Military MK46 – No changes
MG5 – No changes
Infantry MG5 – 3.2% damage decrease
Model 700 – 14.9% damage increase
Hunting M44 – 13.5% damage increase
Classic M44 Carbine – 12.5% damage increase
G28 – 11.4% damage increase
SOCOM Mk20 SSR – 9.3% damage increase
SR-1 - 8.6% damage increase
Custom M44 – 8.1% damage increase
M700 Tactical – 8.1% damage increase
M700 Carbon – 8.1% damage increase
Covert SRS – 6.0% damage increase
SRS A1 – 6.0% damage increase
Surplus SVD – 2.9% damage decrease
Paratrooper SVD – 2.9% damage decrease
UIC15 MOD – 21.6% damage increase
1886 – 21.3% damage increase
LVOA-C – 12.1% damage increase
M1A CQB – 10.7% damage increase
Lightweight M4 – 10.5% damage increase
G 716 CQB – 8.7% damage increase
SIG 716 – 6.7% damage increase
ACR SS – 3.7% damage increase
SOCOM M1A – No changes
M16A2 – No changes
USC .45 ACP - 2.8% damage decrease
Urban MDR – 5.5% damage decrease
Military Mk17 – 11.8% damage decrease
Police Mk17 - 11.8% damage decrease
Classic M1A - 12.6% damage decrease
Tommy Gun – 38.8% damage increase
PP-19 – 29.6% damage increase
Enhanced PP-19 – 29.6% damage increase
MP7 – 27.5% damage increase
MPX – 17.7% damage increase
M1928 – 20.0% damage increase
P90 – 15.6% damage increase
Converted SMG-9 – 15.8% damage increase
Black Market T821 – 15.4% damage increase
Police T821 – 15.4% damage increase
Vector SBR .45 ACP – 14.7% damage increase
CMMG Banshee – 12.5% damage increase
Police UMP-45 – 12.0% damage increase
Tactical UMP-45 – 12.0% damage increase
AUG A3 Para XS – 11.8% damage increase
Enhanced AUG A3P – 11.8 % damage increase
Tactical AUG A3P – 11.8% damage increase
Converted SMG-9 A2 – 11.6% damage increase
MP5A2 – 10.0% damage increase
MP5-N – 10.0% damage increase
MP5 ST – 10.0% damage increase
Tactical Vector SBR 9mm – 5.9% damage increase
M870 Express – 23.3% damage increase
Military M870 – 23.3% damage increase
Custom M870 MCS – 23.3% damage increase
Super 90 – 23.2% damage increase
Marine Super 90 – 23.2% damage increase
Tactical Super 90 SBS – 23.2% damage increase
SASG-12 – 21.3% damage increase
Tactical SASG-12 K – 21.3% damage increase
Black Market SASG-12 S – 21.3% damage increase
SPAS-12 – 18.6% damage increase
KSG Shotgun – 9.0% damage increase
Double Barrel Sawed Off Shotgun – Optimal Range reduced to 8m from 11m
586 Magnum – 68.8% damage increase
Police 686 Magnum – 68.8% damage increase
Maxim 9 - 23.5% damage increase
D50 – 17.5% damage increase
First Wave PF45 – 13.5% damage increase
Custom PF45 – 9.7% damage increase
Military M9 – 8.7% damage increase
93R - 7.7% damage increase
Snubnosed Diceros – 6.5% damage increase
Officer's M9 A1 – 6.3% damage increase
Diceros – 5.9% damage increase
M45A1 – 9.5% damage decrease
Tactical M1911 – 9.5% damage decrease
M1911 – 7.3% damage decrease
Developer comment: Along with the buffs to weapon damage, TU10's significant buff to weapon handling meant some exotic weapon mods no longer made sense or resulted in over tuned performance that no longer fit with the original design. We also took this opportunity to make improvements to underperforming exotic
Damage increased by +11.2%
Increased optimal range from 27m to 40m
Optics mod bonus increased from +0% to +30% Headshot Damage
Magazine mod bonus changed from +7% Headshot Damage to +10% Reload Speed
Added functionality that provides additional headshot damage, full talent is now:
When scoped, switches to semi-automatic fire mode, dealing 450% weapon damage with each shot.
(New) Headshots grant +2% headshot damage. Stacks up to 50 times. Resets to 0 at full stacks.
Damage increased by +7.8%
Underbarrel mod bonus changed from +10% Stability to +10% Weapon Handling
Damage increased by +32.8%
Optics mod bonus changed from +15% Accuracy to +15% Critical Hit Chance
Muzzle mod bonus changed from +5% Critical Hit Chance to +20% Accuracy
Underbarrel mod bonus changed from +10% Critical Hit Chance to +10% Stability
Optimal range increased by 33.3%, from 15m to 20m
Long range effectiveness increased by 19%, from 42m to 50m
Added functionality that retains your current buffs to the next combat encounter when combat ends, full talent is now:
Hitting 30 headshots grant +20% critical hit chance and +50% critical hit damage for 45s.
Hitting 75 body-shots grant +90% weapon damage for 45s.
Hitting 30 leg-shots grant +150% reload speed for 45s.
(New) Buffs refresh when out of combat.
Damage increased by +2.6%
Damage increased by +11.1%
Optics mod bonus increased from +35% to +45% Headshot Damage
Underbarrel mod bonus reduced from +15% to +5% Weapon Handling
Optics mod bonus changed from +5% Critical Hit Chance to +5% Headshot Damage
Muzzle mod bonus changed from +15% Stability to +5% Critical Hit Chance
Magazine mod bonus changed from +15% Reload Speed to +15% Weapon Handling
Added functionality to provide extra damage if you're trying to keep stacks, full talent is now:
(New) Hits grant +2% weapon damage. Stacks up to 30.
Headshots consume all stacks, repairing your shield for 3% per stack.
No longer highlights enemy weakpoints when aiming.
Damage increased by +12.5%
Muzzle mod bonus reduced from +20% to +10% Stability
Underbarrel mod bonus reduced from +20% to +10% Weapon Handling
Magazine mod bonus reduced from +15% to +10% Reload Speed
Added functionality to provide extra non-explosive damage as well, full talent is now:
This weapon fires on trigger pull and release.
If both bullets hit the same enemy, gain a stack.
(New) At 7 stacks, shooting an enemy deals 500% amplified damage and creates a 7m explosion dealing 500% weapon damage, consuming the stacks.
Developer Comment: Merciless was previously balanced for its very unwieldy handling and compensated with very high burst damage. With access to much higher accuracy and stability, Binary Trigger’s explosion strength has been toned down.
Damage increased by +7.7%
Text updated to clarify a new target isn’t marked until after the 5s buff.
Damage increased by +11.0%
Damage increased by +18.9%
Optics mod bonus increased from +5% to +10% Critical Hit Chance
Muzzle mod bonus changed from +5% Critical Hit Chance to +5% Critical Hit Damage
Underbarrel mod changed from +5% Critical Hit Damage to +500% Melee Damage
Breathe Free: Lowered the amount of maximum stacks from 40 to 32, and increased the damage amplification per stack from 60% to 75%
Damage increased by +16.7%
Optics mod bonus increased from +5% to +15% Critical Hit Chance
Muzzle mod bonus changed from +10% Critical Hit Chance to +5% Critical Hit Damage
Underbarrel mod bonus reduced from +15% to +10% Weapon Handling
Magazine mod bonus changed from +10% Reload Speed to +10 Rounds
Magazine base capacity reduced from 60 to 50
Muzzle mod bonus changed from +10% Stability to +10% Accuracy
Underbarrel mod bonus changed from +10% Weapon Handling to +10% Stability
NinjaBike Messenger Kneepads
Added functionality to add bonus armor, full talent is now:
(New) Performing a cover to cover or vaulting reloads your drawn weapon and grants +25% bonus armor for 5s.
Dodge City Gunslinger Holster
Added functionality that makes your hit do headshot damage, full talent is now:
While your pistol is holstered, gain a stacking buff every 0.3s, up to 100. When you swap to it, your first shot consumes the buff and deals +10% damage per stack.
(New) This deals headshot damage to anywhere you hit.
Changed functionality to no longer grant group/raid-wide overcharge unless you are skill tier 6
Added functionality to provide hive skill haste, full talent is now:
(New) Grants +15% Hive skill haste per skill tier.
(Changed) Detonating a hive refreshes your skill cooldowns and grants overcharge for 15s.If at Skill Tier 6, this effect also applies to all allies.
Allies receiving this effect are unable to benefit from it again for 120s.
Added functionality to continue to provide damage bonus move for a short duration, full talent is now:
Cannot be staggered by explosions.
Increases total weapon damage by 3% each second you are not moving. Stacks up to 10 until you start moving.
(New) All stacks lost 10s after moving.
Gear Set Changes
Feedback Loop no longer fully refreshes the cooldown of a skill, but instead reduces it by up to 30s
Hollow-Point Ammo is no longer dropped on kill, and instead automatically added to your active weapon when killing status afflicted enemies
Backpack Talent (New)
Increases the duration of your bleed status effects by 50% and all bleed damage done by 100%
Increased 3-piece Reload Speed bonus from +20% to +30%
Tip of the Spear
Main Talent (PVE)
Aggressive Recon's weapon damage buff is now gained when dealing specialization weapon damage, instead of on specialization weapon kill
Main Talent (PVP)
Aggressive Recon's weapon damage buff is now gained when dealing grenade damage, instead of on grenade kill
Backpack Talent (New)
Increases specialization weapon damage by 20%, and doubles the amount of specialization ammo generated by Aggressive Recon
Aces and Eights
"Poker Face" backpack talent is now a baseline effect:
Flip an additional card on headshots
Backpack Talent (New)
“Ace in the Sleeve”
Amplifies 1 extra shot when revealing your hand
3-piece Headshot Damage bonus is now additive, rather than multiplicative
Increased 3-piece Headshot Damage bonus from +20% to +30%
Now repairs 20% of your armor in addition to granting 50% bonus armor
Increases total weapon damage by 1% per 5% bonus armor gained, up to 20%
Reduced the number of stacks lost on missed shots from 3 to 2
No longer reduces number of stacks lost on missed shots
(New) Increases total weapon damage gained per stack of Striker's Gamble from 0.5% to 0.65%.
Damage transfers on the initial bullet that marks a new target
Increased 3-piece Repair Skills bonus from +15% to +30%
Brand Set ChangesAlps Summit Armament
Increased 1-piece Repair Skills bonus from +15% to +20%
Increased 2-piece Repair Skills bonus from +15% to +20%
Richter & Kaiser
Increased 3-piece Repair Skills bonus from +15% to +20%
Incoming Repairs brand set bonus increased from +15% to +20%
Increased 1-piece Headshot Damage bonus from +10% to +15%
Increased 2-piece Headshot Damage bonus from +10% to +15%
Grupo Sombra S.A
Increased 3-piece Headshot Damage bonus from +10% to +15%
Increased 2-piece Accuracy bonus from +10% to +20%
Douglas & Harding
Increased 2-piece Stability bonus from +10% to +20%
Increased 3-piece Accuracy bonus from +10% to +20%
Fenris Group AB
Increased 2-piece Reload Speed bonus from +10% to +20%
Increased 3-piece Stability bonus from +10% to +20%
Gunner specialization's Emplacement talent Weapon Handling bonus reduced from +15% to +10%
Note: The UI will incorrectly say it still adds +15% Weapon Handling. This will be fixed in a future update.
Stinger Hive, Mortar Turret, and Explosive Seeker Mine now display its Bleed Damage and Duration
Cluster Seeker Mine targeting accuracy improved
Developer comment: The Cluster Seeker Mine is not intended to be as accurate as the Explosive variant. Once it is a certain distance from its target it locks the location it is aiming for and continues towards that regardless of where its original target agent has since moved to. This "bullcharge" behavior reflects the mini-mines' less advanced technology and balances the skill mod's effectiveness. This said, we have noticed that the Cluster Seeker's accuracy has been a source of frustration so we've shortened the distance until it activates its "bullcharge" and adjusted when it decides to explode. These adjustments should make the Cluster Seeker feel more accurate, but these are measured steps as we do not want the skill to return to its OP TU7-state.
Stinger Hive base damage reduced -20%
Stinger Hive damage bonus per skill tier increased from +10% to +20%
Developer comment: In order to make investing in skill tiers have a greater impact on the Stinger Hive's damage, we slightly reduced base drone damage, while doubling the amount of damage gained with each skill tier. These changes will result in a net buff for dedicated skill builds, with a 10% increase in Stinger Hive drone damage at skill tier 6.
Restorer hive gains +5% drone flight speed per skill tier
Developer comment: Increases to the Restorer Hive's radius had the unfortunate effect of increasing the time it took for repair drones to reach their target the further they were from the hive. Increasing drone flight speed with each skill tier should help offset that somewhat counter-intuitive behavior when taking advantage of the increased area of effect, and make the Restorer Hive a more reliable tool for healers.
Riot Foam Chem Launcher ensnare duration bonus per skill tier reduced from +20% to +10%
Reinforcer Chem Launcher: UI has been updated to clarify that the initial heal only affects allies and not the Skill user. The functionality has not changed.
Blinder Firefly blind duration bonus per skill tier reduced from +20% to +10%
Blinder Firefly base blind duration reduced from 6s to 5s
Banshee Pulse cooldown increased from 20s to 30s
Banshee Pulse base confuse duration reduced from 5s to 4s
Jammer Pulse base disrupt duration reduced from 4s to 3s
Shock Trap base shock duration reduced from 5s to 3s (PvP duration remains unchanged)
Shock Trap base radius increased from 2m to 2.5m
When the active duration ends, its cooldown is refunded an equal number of seconds that it was active.
./play.it is a free/libre software that builds native packages for several Linux distributions from DRM-free installers for a collection of commercial games. These packages can then be installed using the standard distribution-provided tools (APT, pacman, emerge, etc.). A more complete description of ./play.it has already been posted in linux_gaming a couple months ago: ./play.it, an easy way to install commercial games on GNU/Linux It's already been one year since version 2.11 was released, in January 2019. We will only briefly review the changelog of version 2.12 and focus on the different points of ./play.it that kept us busy during all this time, and of which coding was only a small part.
What’s new with 2.12?
Though not the focus of this article, it would be a pity not to present all the added features of this brand new version. ;) Compared to the usual updates, 2.12 is a major one, especially since for two years, we slowed down the addition of new features. Some patches took dust since the end of 2018 before finally be integrated in this update! The list of changes for this 2.12 release can be found on our forge. Here is a full copy for convenience:
--output-dir: Set the output directory for generated packages
--overwrite: Replace packages if they already exist
--icons: Allow including icons only if dependencies are present
Drop $XDG_RUNTIME_DIR from the candidates for temporary directories
Prevent scan of unneeded directories
Drop script identification by MD5 hash
Only extract needed files when using unzip
Allow to use renamed installers
Add support for LHA archives extraction
New engine: ResidualVM
New engine: System-provided Mono runtime
DOSBox: Use $PLAYIT_DOSBOX_BINARY in launchers if defined
Add ability to set variables for package-specific postinst and prerm scripts
Arch Linux: Improve consistence of 32-bit packages naming
New helper functions:
version_target_is_older_than: Check if the game script target version is older than a given one
toupper: Convert files name to upper case
New generic dependency keywords:
libglib-2.0.so.0 / libgobject-2.0.so.0
libopenal.so.1 (alias for openal)
libSDL2-2.0.so.0 (alias for sdl2)
libvorbisfile.so.3 (alias for vorbis)
Codebase clean-up and improvements:
Massive rework of all message-related functions
Drop hardcoded paths for icons and .desktop launchers
Use system-specific default installation prefix for generated packages
Forcefully set errexit setting on library initialization
Use dirname/basename instead of built-in shell patterns
As many free/libre projects, ./play.it development started on some random sector of a creaking hard drive, and unsurprisingly, a whole part of its history (everything predating version 1.13.15 released on Mars 30th, 2016) disappeared into the limbs because some unwise operation destroyed the only copy of the repository… Lesson learned, what's not shared don't stay long, and so was born the first public Git repository of the project. The easing of collaborative work was only accidentally achieved by this quest for eternity, but wasn't the original motivation for making the repository publicly available. Following this decision, ./play.it source code has been hosted successively by many shared forge platforms:
GitHub, that we all know of, choosing it was more a short-term fallback than a long-term decision ;
some Gogs instance, which was hosted by debian-fr.xyz, a community the main ./play.it author is close to ;
Framagit, a famous instance of the infamous GitLab forge, hosted by Framasoft.
As development progressed, ./play.it began to increase its need for resources, dividing its code into several repositories to improve the workflow of the different aspects of the projects, adding continuous integration tests and their constraints, etc. A furious desire to understand the nooks and crannies behind a forge platform was the last deciding factor towards hosting a dedicated forge. So it happened, we deployed a forge platform on a dedicated server, hugely benefiting from the tremendous work achieved by the GitLab's package Debian Maintainers team. In return, we tried to contribute our findings in improving this software packaging. That was not expected, but this migration happened just a little time before the announcement “Déframasoftisons Internet !” (French article) about the planned end of Framagit. This dedicated instance used to be hosted on a VPS rented from Digital Ocean until the second half of July 2020, and since then has been moved to another VPS, rented from Hetzner. The specifications are similar, as well as the service, but thanks to this migration our hosting costs have been cut in half. Keeping in mind that this is paid by a single person, so any little donation helps a lot on this front. ;) To the surprise of our system administrator, this last migration took only a couple hours with no service interruption reported by our users.
This new forge can be found at forge.dotslashplay.it. Registrations are open to the public, but we ask you to not abuse this, the main restriction being that we do not wish to host projects unrelated to ./play.it. Of course exceptions are made for our active contributors, who are allowed to host some personal projects there. So, if you wish to use this forge to host your own work, you first need to make some significant contributions to ./play.it.
The collection of supported games growing endlessly, we have started the development of a public API allowing access to lots of information related to ./play.it. This API, which is not yet stabilized, is simply an interface to a versioned database containing all the ./play.it scripts, handled archives, games installable through the project. Relations are, of course, handled between those items, enabling its use for requests like : « What packages are required on my system to install Cæsar Ⅲ ? » or « What are the free (as in beer) games handled via DOSBox ? ». Originally developed as support for the new, in-development, Web site (we'll talk about it later on), this API should facilitate the development of tools around ./play.it. For example, it'll be useful for whomever would like to build a complete video game handling software (downloading, installation, starting, etc.) using ./play.it as one of its building bricks. For those curious about the technical side, it's an API based on Lumeneffectuant that makes requests on a MariaDB database, all self-hosted on a Debian Sid. Not only is the code of the API versioned on our forge, but also the structure and content of the databases, which will allow those who desired it to install a local version easily.
Based on the aforementioned API, a new website is under development and will replace our current website based on DokuWiki. Indeed, if the lack of database and the plain text files structure of DokuWiki seemed at first attractive, as ./play.it supported only a handful of games (link in French), this feature became more inconvenient as the library of ./play.it supported games grew. We shall make an in-depth presentation of this website for the 2.13 release of ./play.it, but a public demo of the development version from our forge is already available. If you feel like providing an helping hand on this task, some priority tasks have been identified to allow opening a new Web site able to replace the current one. And for those interested in technical details, this web Site was developed in PHP using the framework Laravel. The current in-development version is hosted for now on the same Debian Sid than the API.
A regular comment that is done about the project is that, if the purpose is to make installing games accessible to everyone without technical skills, having to run scripts in the terminal remains somewhat intimidating. Our answer until now has been that while the project itself doesn't aim to providing a graphical interface (KISS principle "Keep it simple, stupid"), still and always), but that it would be relatively easy to, later on, develop a graphical front-end to it. Well, it happens that is now reality. Around the time of our latest publication, one of our contributors, using the API we just talked about, developed a small prototype that is usable enough to warrant a little shout out. :-) In practice, it is some small Python 3 code (an HCI completely in POSIX shell is for a later date :-°), using GTK 3 (and still a VTE terminal to display the commands issued, but the user shouldn't have to input anything in it, except perhaps the root password to install some packages). This allowed to verify that, as we used to say, it would be relatively easy, since a script of less than 500 lines of code (written quickly over a week-end) was enough to do the job ! Of course, this graphical interface project stays independent from the main project, and is maintained in a specific repository. It seems interesting to us to promote it in order to ease the use of ./play.it, but this doesn't prevent any other similar projects to be born, for example using a different language or graphical toolkit (we, globally, don't have any particular affinity towards Python or GTK). The use of this HCI needs three steps : first, a list of available games is displayed, coming directly from our API. You just need to select in the list (optionally using the search bar) the game you want to install. Then it switches to a second display, which list the required files. If several alternatives are available, the user can select the one he wants to use. All those files must be in the same directory, the address bar on the top enabling to select which one to use (click on the open button on the top opens a filesystem navigation window). Once all those files available (if they can be downloaded, the software will do it automatically), you can move ahead to the third step, which is just watching ./play.it do its job :-) Once done, a simple click on the button on the bottom will run the game (even if, from this step, the game is fully integrated on your system as usual, you no longer need this tool to run it). To download potentially missing files, the HCI will use, depending on what's available on the system, either wget, curl or aria2c (this last one also handling torrents), of which the output will be displayed in the terminal of the third phase, just before running the scripts. For privilege escalation to install packages, sudo will be used preferentially if available (with the option to use a third-party application for password input, if the corresponding environment variable is set, which is more user-friendly), else su will be used. Of course, any suggestion for an improvement will be received with pleasure.
Of course, such an announcement would not be complete without a list of the games that got added to our collection since the 2.11 release… So here you go:
7 Billion Humans
Agatha Christie: The ABC Murders
Age of Mythology Demo
Among the Sleep
Anomaly: Warzone Earth
Another Lost Phone: Lauraʼs Story
Assault Android Cactus
Baba Is You
Blocks that matter (previously supported by ./play.it 1.x)
Commandos 3: Destination Berlin
Divine Divinity (previously supported by ./play.it 1.x)
Duet (previously supported by ./play.it 1.x)
Edna & Harvey: The Breakout — Anniversary Edition
Factorio — Demo
Full Throttle Remastered
Giana Sisters: Twisted Dreams
Gibbous — A Cthulhu Adventure
Indiana Jones and the Last Crusade
Into the Breach
Kerbal Space Program
LEGO Batman: The Videogame
Lego Harry Potter Years 1-4
Metal Slug 3 (previously supported by ./play.it 1.x)
MIND: Path to thalamus
Monkey Island 4: Escape from Monkey Island
Multiwinia (previously supported by ./play.it 1.x)
Myst: Masterpiece Edition (previously supported by ./play.it 1.x)
Neverwinter Nights: Enhanced Edition
Populous: Promised Lands (previously supported by ./play.it 1.x)
Populous 2 (previously supported by ./play.it 1.x)
Quern — Undying Thoughts
Retro City Rampage (previously supported by ./play.it 1.x)
Satellite Reign (previously supported by ./play.it 1.x)
Star Wars: Knights of the Old Republic (previously supported by ./play.it 1.x)
SteamWorld Quest: Hand of Gilgamech
Ancient Relics Story Pack
Arachnoid Portrait Pack
Distant Stars Story Pack
Humanoids Species Pack
Leviathans Story Pack
Lithoids Species Pack
Plantoids Species Pack
Synthetic Dawn Story Pack
Strike Suit Zero
Cyclopean Owl DLC
Tetrobot and Co.
The Adventures of Shuggy
The Aquatic Adventure of the Last Human
The Count Lucanor
The First Tree
The Pillars of the Earth
The Witcher (previously supported by ./play.it 1.x)
The Witcher 3: Wild Hunt
Tonight We Riot
Touhou Chireiden ~ Subterranean Animism — Demo
Touhou Hifuu Nightmare Diary ~ Violet Detector
Triple Triad Gold
Vambrace: Cold Soul
VVVVVV (previously supported by ./play.it 1.x)
War for the Overworld (the base game was already supported, new expansions have been added):
Heart of Gold
Seasonal Worker Skins
The Under Games
Warcraft: Orcs & Humans
Warhammer 40,000: Dawn of War — Winter Assault Demo
Warhammer 40,000: Gladius — Relics of War
Warlords Battlecry II (previously supported by ./play.it 1.x)
Wing Commander (previously supported by ./play.it 1.x)
Wing Commander II (previously supported by ./play.it 1.x)
Zak McKracken and the Alien Mindbenders
If your favourite game is not supported by ./play.it yet, you should ask for it in the dedicated tracker on our forge. The only requirement to be a valid request is that there exists a version of the game that is not burdened by DRM.
Our team being inexhaustible, work on the future 2.13 version has already begun… A few major objectives of this next version are :
the complete and definitive relegation to the archive bin of ./play.it 1.14, which is still required for about twenty games ;
File Handling - Free download as Powerpoint Presentation (.ppt / .pptx), PDF File (.pdf), Text File (.txt) or view presentation slides online. File Handling File open for reading: the internal stream buffer supports input operations. out: output: File open for writing: the internal stream buffer supports output operations. binary: binary: Operations are performed in binary mode rather than text. ate: at end: The output position starts at the end of the file. app: append The parameter ios::binary implies that we are opening a file in binary mode. Reading and writing data items with extraction(<<) and insertion(>>) operators or by using the getline function is inefficient if a file is opened in binary mode. Binary files also usually have faster read and write times than text files, because a binary image of the record is stored directly from memory to disk (or vice versa). In a text file, everything has to be converted back and forth to text, and this takes time. C supports the file-of-structures concept very cleanly. Once you open the file you ... Read And Write Function In C Binary Options. A+ – Opens a file for read and write mode and sets pointer to the first character in the file. Each of the three permissions read and write function in c binary options is represented by one of the bits in the binary equivalent of the decimal number. The next hexadecimal value after 0xF is 0x10. They are also called. Jul 29, 2020 · Supply demand ... Accessing a binary file from a C++ program (by not using the old C functions) requires firstly attaching a stream variable to the file. The usual stream classes ofstream (output file stream) and ifstream (input file stream) are still the types of streams to use. A an additional type called an fstream is provided which allows for files that can be written to and read from if this is a desirable ... I would like to create a binary file representing an integer. I think the file should be 4 bytes. I use linux. How to do that? Another question: How do I assign the content of that file to an integer in C? c linux binaryfiles. share follow asked Jun 11 '09 at 7:39. confucious confucious. add a comment 4 Answers Active Oldest Votes. 16. In standard C, fopen() allows the mode "wb" to write ... The C library function FILE *fopen(const char *filename, const char *mode) opens the filename pointed to, by filename using the given mode. Declaration. Following is the declaration for fopen() function. FILE *fopen(const char *filename, const char *mode) Parameters. filename − This is the C string containing the name of the file to be opened. mode − This is the C string containing a file ... A binary file is a file that uses all 8 bits of a byte for storing the information .It is the form which can be interpreted and understood by the computer. The only difference between the text file and binary file is the data contain in text file can be recognized by the word processor while binary file data can’t be recognized by a word processor. There are currently 32 responses to “C Tutorial – Binary File I/O” Why not let us know what you think by adding your own comment! pankaj on February 22nd, 2010: this is outstanding succint tutorial for file handling . helps a lotttttt. thank you. betagtx260 on March 25th, 2010:
Binary File: Basic operations on a binary file: Open (filename – absolute or relative path, mode) / Close a binary file, Pickle Module – methods load and dump; Read, Write/Create, Search ... Files in C C Language TutorialC Language Tutorial Videos Mr. Srinivas** For Online Training Registration: https://goo.gl/r6kJbB ? Call: +91-8179191999? Vis... Like, Comments, Share and SUBSCRIBE File Operations 1) Create a file 2) Open a file 3) Input / Output 4) Access the content of file 5) Closing the file All C programming videos: https://www.youtube.com/playlist?list=PLgH5QX0i9K3oyeTjSeouVTyLPgS28OoGm HSC ICT All videos : https://www.youtube.com/playlist?list... Like, Comments, Share and SUBSCRIBE In this lecture we will see how to update records in file in c. Watch Full playlist:-https://www.youtube.com/playlist?list=PL11dUom7FkaPO0QtqgtZpA6uKBo01c7si... This is a quick tutorial to read/write binary file using C++. In this lesson, you will learn how to read or write binary file using the C++ language. ===== Install Programming Solution Android app - https://play.google.com/store/apps/details?id=com.shalik.pa... Website - https://thenewboston.com/ GitHub - https://github.com/thenewboston-developers Reddit - https://www.reddit.com/r/thenewboston/ Twitter - https://twi...