A Year in Review

Intro

We have taken many steps forward this past year as a community and continue to make RetroAchievements a wonderful community to be a part of. Lets take a step back and remember what we all accomplished over the past year.

Community Updates

  • User Code of Conduct updated to be more clear and simple.
  • Users with less than 500 points will not be ranked in the global leaderboards.
  • Junior Developer site role introduced.
  • Efforts made to standardize game genres have begun.
  • Artist role created to help others with icon and badge work.
  • Rescore Project has been completed. The project lasted from June 2019 through April 2021.
  • Cheevo mascot created by Nydaxn Nydaxn and discord emojis added for him.
  • RA Twitter account gets revived… then blocked :cry:… then unblocked :innocent:.
  • QATeam QATeam created to increase and maintain set quality.
  • RAPodcast episodes 13-24 released.
  • Devs can now requests completed sets to be held in unofficial until a certain date to be released.
  • Credit for set, badges, icons, etc. has started being put into the first post of a sets forum topic.
  • Awesome video by iShade iShade on What are Retro Achievements?.
  • Various updates to RABot, RAWeb, RAIntegration, RATools, and RA Emulators throughout the year.

Console/Core Support

  • add yabause as a supported core (Sega Saturn)
  • add freeintv as a supported core (Intellivision)
  • add potator as a supported core (Watara Supervision)
  • add quicknes as a supported core (Nintendo Entertainment System)
  • add swanstation as a supported core (Playstation)
  • add PicoDrive as a supported core for Sega CD
  • remove Gearsystem as supported core for Genesis
  • DuckStation, NEStopia, Sameboy are officially unsupported
  • Intellivision support
  • Watara Supervision support
  • PSP support

Developer Rule & Policy Updates

Rule Updates

  • Sudoku/Picross Scoring Update. “1 point for easy, 2-3 points for medium, 4-5 points for hard”
  • Logic backups required by developers when updating achievements that are not their own.
  • Set icons should be representative of the game and its common themes, and therefore should be instantly recognizable.
  • Bonus, Multi, and Subset naming conventions updated to [Bonus] rather than ~Bonus~.
  • Unfinished sets should stay in unofficial until finished. Sets that fail to cover the content to at least game completion would fall under this rule.
  • Bonus sets are to be treated like revisions and will require and set plan and vote in #revision-voting, unless release alongside and existing set claim. If a junior developer wants to publish a bonus set alongside a core set, they need to have their plan approved by code reviewers.
  • Changing the description to clarify or correct it to match the logic that is already present does NOT require a revision vote.
  • Altering the achievement’s objective in any way does require a revision vote as always.
  • Leaderboard edits or entry removals must now come with a comment from the developer to avoid ambiguity as to the nature of a change or reason for an entry removal that’s not their own.
  • Do not declare your plans to work on a game if you have unaddressed tickets. A ticket is considered as addressed when the developer acknowledged the ticket, commented on it explaining the situation but is unable to resolve the problem immediately due to reasons such as waiting for saves states or more information from the reporter.
  • New rules on Editing Leaderboards.
  • If a fellow developer has already started to handle a ticket thru action that can be proved with comment of intent, leave it to them. The user would be given a time of 7 days to handle the ticket after comment.
  • Softcore ticket handling updates:
Does the achievement have hits?
If Yes > Verify what current version of RetroArch are they using. 
If 1.9.1  or newer > Ticket handling is the same as a hardcore ticket being submitted

If prior to 1.9.1 or DuckStation Standalone> Investigate like normal.
It IS possible that the achievement could have not triggered due to
save-state abuse, but is still important to check.

If there are no hits > Ticket handling is the same as a hardcore ticket being submitted.
  • Professor Oak Subsets no longer require approval.
  • Reminder to make a new post when reclaiming a set, don’t just update the original claim post.
  • Ability to hold a finished set in unofficial for a future event, or holiday without it taking a claim spot. Must be approved by QA Team.
  • Sole/Majority devs can now request forum topic transfers so they can now be the author of the first post and can edit it freely.

Policy Updates

  • Updates
    • DevCoC - Reservation + Ticket Handling
      • "Open tickets" was changed to "Unaddressed Tickets" + additional info
    • Docs - Achievement Set Revisions - When Making a Revision
      • Resolve any open tickets for achievements that will be kept in the set. Tickets for achievements that are being demoted can simply be closed with the demotion cited. In cases where the revision is simply the demotion of one or more achievements, the developer does not need to handle the tickets for other achievements in the set.
    • Docs - Icon Gauntlet
      • Updated Discord Template
  • Changes
    • DevCoC - Unwelcome Concepts
      • 12. Sets for compilations featuring games that share the same console as the compilation. An example of this is 6-Pak for Genesis/Mega Drive, which contains six Genesis/Mega Drive games.
    • Docs - Respecting Revision Plans
      • If you are one of or the original set developer(s) for a set that is currently undergoing a revision, you must communicate with the developer carrying out the revision before making changes to the set. This is to prevent potential extra work for the revision, overlapping or redundant changes, etc.
    • Docs - Icon Gauntlet - No Need for Approval
      • 5. You are one of the existing set's original developers as part of a collaborative set, all parties agree to the change, and no other developer has changed the icon/badge(s).
  • Removals
    • DevCoC - Reservation Limit
      • 8 claim limit for Veteran Devs. It was voted on to be removed a while back, but was not changed in the docs until the Veteran Developer badge was ready.

Artists

The new Discord @Art-Helper role was created to help aid developers with their set icons and badges. Developers can make art requests in #art-requests channel. The Artists have worked on 2 boxart requests, 14 badge requests, and 29 icon requests this year. Here is the current Artist team:

ArcaneJames ArcaneJames Ch0senlast Ch0senlast GalacticSpear GalacticSpear
GameZone GameZone Jenettebaghead Jenettebaghead kiwibasket kiwibasket
Krylan Krylan Mekevin255 Mekevin255 Nydaxn Nydaxn
Soulsderfuchs Soulsderfuchs WateredWillow WateredWillow  

If you are interested in becoming a Artist please reach out to Nydaxn Nydaxn.

Code Reviewers & Junior Developers

The Junior Developer program is responsible for aiding and assisting aspiring achievement sets developers as they try to earn the rank of a full developer. New this year is the much needed and requested Junior Developer site role. This new role allows Junior Developers access to several site features, that were previously Developer only.

Here is a monthly breakdown of the some Junior Developer stats from throughout the year.

Month Jr. Devs Added Jr. Devs Promoted Reviews Completed
January 14 4 12
February 14 2 17
March 14 3 21
April 13 7 12
May 15 2 16
June 19 3 14
July 6 6 17
August 9 1 16
September 17 4 20
October 20 0 25
November 6 2 12
December 14 0 20
Total 161 34 202

Big thanks to all the Code Reviewers who offer their free time to help review sets, teach concepts, and provide guidance to the next generation of achievement developers. If you are interested in becoming a Code Reviewer please reach out to any of the following current Code Reviewers:

blendedsea blendedsea DanielARP DanielARP KingS1zzle KingS1zzle
MrOwnership MrOwnership Pebete Pebete pinguupinguu pinguupinguu
Ryudo Ryudo Searo Searo Shmelyoff Shmelyoff
SporyTike SporyTike tralph3 tralph3  

Playtesters

Playtester Badge Playtester Badge (Events)

The Playtester program was officially put into motion this year. Along with a slick discord role and icon, users are able to earn a Playtester site badge for playtesting sets, finding issues and validating achievement unlocks before a set goes live. Here are some stats from the playtests over the past year.

Sets playtested. 147
Issues found during playtesting. 509
Achievements validated during playtesting. 1491
User who have playtested at least 1 set. 24
User awarded there Playtester badge. 8

If you are interested in becoming a Playtester please reach out to Haruda Haruda.

Quality Assurance Team

QA Team was created this year to monitoring achievement set quality and adherence to the developers Code of Conduct. QA Team handles unwelcome concepts, claim questions, DevQuest ideas, QA sub-team involvement, and other Developer Code of Conduct related issues. You can check out the Weekly Wrap posts for more information on what QA has been working on recently.

QA Weekly Wrap: August 12th, 2021 - August 19th, 2021
QA Weekly Wrap: August 19th, 2021 - August 26th, 2021
QA Weekly Wrap: August 26th, 2021 - Sept 2nd, 2021
QA Weekly Wrap: Sept 2nd, 2021 - Sept 9th, 2021
QA Weekly Wrap: Sept 9th, 2021 - Sept 17th, 2021
QA Weekly Wrap: Sept 18th, 2021 - Sept 22nd, 2021
QA Weekly Wrap: Sept 25th, 2021 - Oct 7th, 2021
QA Weekly Wrap: Oct 8th, 2021 - Oct 14th, 2021
QA Weekly Wrap: Oct 14th, 2021 - Oct 21st, 2021
QA Weekly Wrap: Oct 21st, 2021 - Nov 21st, 2021
QA Weekly Wrap: Nov 22nd, 2021 - Dec 4th, 2021
QA Weekly Wrap: Dec 5th, 2021 - Dec 11th, 2021
QA Weekly Wrap: Dec 12th, 2021 - Dec 18th, 2021
QA Weekly Wrap: Dec 19th, 2021 - Dec 25th, 2021
QA Weekly Wrap: Dec 26th, 2021 - Jan 1st, 2022

Events

RetroAchievements offers a wide range of unique and entertaining events throughout the year to get the community members involved in some friendly competition. Check out the ongoing and complete events from the past year.

Ongoing Events

Completed Events

Discord Updates

In an effort to improve and organize the overall discord experience we have created several new roles and channels for the users. Here are the roles and channels that were added in the past year, as well a general purpose for them.

Role Additions

Role Purpose
@Art-Helper Users interested in helping complete art requests.
@Art-Visitor Users given temp access to the art-discussion channel to discuss their art request results.
@Bomb-Squad User assisting mods in preventing drama and maintaining discord peace.
@Claims-Manager CobaltZeroni, tracking developer set claims.
@CleanupTeam Users helping out with site cleanup actions.
@DC Rollout Developers who are working on Dreamcast sets for the release of console support.
@Peaker Top 3 users or the Peaker event.
@Play-Tester Users interested in playtesting developer sets before they release.
@QA-Team Users monitoring achievement set quality and adherence to the developers Code of Conduct.
@RADocsTeam Users helping with revamping RADocs.
@RANews-Contributor Users who have contributed to RANews.
@semi-weekly Users interested in semi weekly discussions.
@TechTeamWeb Users helping with RAWeb updates and maintenance.
@Unwanted Users who qualify for any tier of the current month of the Unwanted event.
@Writer Users helping out with writing requests.

Channel Additions

Channel Purpose
#admin-site-cleanup Request site cleanup actions that require admin action. Such as post edits, user verification, and forum topic transfer.
#aotw-voting Voting channel for current weeks Achievement of the Week winners.
#art-requests Post requests for achievement icons and badges.
#bombsquad Bombsquad user discussion.
#claims Developer related claim discussion.
#daily-distractions Daily DistRActions event discussion.
#devquest DevQuest discussion.
#github-discussions Webhook channel for GitHub discussions.
#netplay A place to coordinate netplay sessions with friends.
#play-testers Playtester discussion.
#qa-inbox Messages to QATeam user get forwarded here.
#qa-log Log channel for notable QATeam events.
#qa-team QATeam discussion.
#radocs RADocs revamp discussion.
#ranews-cover-voting RANews cover voting for contributors.
#ranews-inbox Messages to RANews user get forwarded here.
#ranews-team RANews discussion.
#rapatches RAPatches discussion and workplace.
#rollout Sega Dreamcast discussion and rollout.
#site-cleanup Request site cleanup actions for developers to perform. Such as linking games to hubs.
#site-cleanup-discussion Site Cleanup discussion.
#twitter-team RA twitter discussion.
#writing Handling spelling/grammatical errors in achievement titles/descriptions and other related tasks.
#writing-requests Writing requests to be handled by the Writing team.

RANews

  • 1 Year Anniversary in August.
  • New Sections:
    • Top Mastery
    • RAdvantage
    • RA Spotlight
    • RAnniverseries
    • Wish this Set

RAPatches

The RAPatches repo was created this year to organize and centralize where users can download various ROM patch files. This repo includes ROM hacks, translations, bonus, multi, subset, and various other patches. Here is a breakdown of patches and unique entries by system.

System # of Patches # of Entries
32X 1 1
Atari 2600 5 5
Game Boy 69 50
Game Boy Advance 227 158
Game Boy Color 43 33
Game Gear 19 18
Mega Drive/Genesis 275 213
MSX 1 1
Nintendo 64 339 115
Nintendo DS 27 22
NES 392 234
Neo Geo Pocket Color 2 2
PC-8801 2 2
PC Engine 9 6
Pokemon Mini 5 5
PlayStation 21 10
PlayStation Portable 4 3
Sega Master System 25 16
SNES 919 531
Virtual Boy 3 3
WonderSwan 6 5
Watara Supervision 4 4
Total 2,398 1,437

RAGuide

The RAGuide Wiki allowes users to create and share set guides with the rest of community. If you are interested in created guide head on over to the RAGuide Wiki and create a new page to start working on one. In the meantime, check out the guides that were created this year.

Harvest Moon 64 (Nintendo 64) Harvest Moon 64 (Nintendo 64) Guide by ikki5 ikki5

Wario Land II (Game Boy Color) Wario Land II (Game Boy Color) Guide by Nepiki Nepiki

~Prototype~ Biohazard 2 | Resident Evil 1.5 (PlayStation) ~Prototype~ Biohazard 2 | Resident Evil 1.5 (PlayStation) Guide by Soulsderfuchs Soulsderfuchs

Bomberman Quest (Game Boy Color) Bomberman Quest (Game Boy Color) Guide by Nepiki Nepiki

Densetsu no Stafy 2 (Game Boy Advance) Densetsu no Stafy 2 (Game Boy Advance) Guide by Dimedime Dimedime

Lunar: Silver Star Story Complete (PlayStation) Lunar: Silver Star Story Complete (PlayStation) Guide by televandalist televandalist

Karate (Atari 2600) Karate (Atari 2600) Guide by Schlim Schlim

Final Fantasy IV (SNES) Final Fantasy IV (SNES) Guide by bdjeffyp bdjeffyp

Wendy: Every Witch Way (Game Boy Color) Wendy: Every Witch Way (Game Boy Color) Guide by Nepiki Nepiki

Legend of Zelda, The: A Link to the Past (SNES) Legend of Zelda, The: A Link to the Past (SNES) Guide by Nepiki Nepiki

RABot

RABot is the official RetroAchievements Discord bot. It is used to get a wide variety of RetroAchievements related data and inforamation using custom bot commands. Check out the updates that have been made to the bot this year.

  • Discord rules updated in the rules command. - meleu meleu
  • Junior Developer role added to the user command. - televandalist televandalist
  • ResetNextIf, SubHits, Trigger, & BCD added to the mem command. - MrOwnership MrOwnership
  • contact command created for RAdmin, QATeam, & RANews users. - meleu meleu
  • bestdays command fixed. - MrOwnership MrOwnership

RAWeb

While we didn’t a new major version of the site this year, there were still a lot of features and updates made to the current version. Big thanks to luchaos luchaos & meleu meleu for maintaining the repo, addressing Pull Requests, deploying new updates, and providing overall maintenance on the site. Check out what updates have been made this year and who was responsible for them.

  • GetUserCompletedGames API added. - bdjeffyp bdjeffyp
  • Include total ranks users in GetUserSummary and GetUserRankAndScore APIs. - fabricecaruso
  • Store and display user who linked a hash. - luchaos luchaos
  • Validate new consoles. - televandalist televandalist & luchaos luchaos
  • Allow admins to pull winners of an achievements during any time frame. - MrOwnership MrOwnership
  • Most Requested Sets link added back to toolbar with performance fix. - MrOwnership MrOwnership
  • Sever achievement comment colors muted - luchaos luchaos
  • Sever comment added when leaderboard actions are taken. - Searo Searo
  • Show untracked as Site Rank on untracked user’s tooltip. - Searo Searo
  • Remove events and hubs from user average completion. - Searo Searo
  • ResetNextIf, SubHits, Trigger, & BCD added to mem explained section. - MrOwnership MrOwnership
  • Core and Unofficial filter added to Ticket Manager. - MrOwnership MrOwnership
  • Exclude 0 points users form recalc cronjob. - Searo Searo
  • Leaderboard ties share correct rank. - Searo Searo
  • Similar games duplicate ID fix. - MrOwnership MrOwnership
  • Adjust ranking requirements to 500 points. - MrOwnership MrOwnership
  • Twitch embed fix. - luchaos luchaos
  • Leaderboard authorship added. - Searo Searo
  • Cap leaderboard duplication to 25. - MrOwnership MrOwnership
  • Add pagination to leaderboard results. - Searo Searo
  • Site rank percentage now has 2 decimal point precision. - meleu meleu
  • “More Info” section redesigned. - Krylan Krylan
  • Add pagination to topic list on forum. - Krylan Krylan
  • Fix checksum dropdown from showing user who linked it. - meleu meleu
  • Replace MD5 with the term hash. - meleu meleu
  • Page responsiveness fix. - Krylan Krylan
  • Added ticket bbcode tag. - AlmightyXor AlmightyXor
  • Added ‘My Sets’ and ‘My Tickets’ links to the ‘My Pages’ dropdown. - AlmightyXor AlmightyXor
  • Render smaller charts on mobile. - Krylan Krylan
  • Assign placeholders and remove watermark.js. - Krylan Krylan
  • Repurpose the Super User role into a Junior Developer role. - MrOwnership MrOwnership
  • Sticky status message. - luchaos luchaos
  • Fix reset all progress when -- is selected. - luchaos luchaos
  • Achievement reset confirmation added. - luchaos luchaos
  • Update lbinfo call and GetLeaderboardData to allow showing around user entry in overlay. - Searo Searo
  • Fix the ellipses display on forum activity for the home page. - JeffJenkins JeffJenkins
  • Include unofficial achievements in ticket counts, but not achievement counts. - JeffJenkins JeffJenkins
  • Escape achievement description for attributes. - JeffJenkins JeffJenkins
  • Add confirmation for achievement promotion/demotion. - JeffJenkins JeffJenkins
  • Place active players in rank order. - JeffJenkins JeffJenkins
  • Add achievement sort by last updated. - JeffJenkins JeffJenkins
  • Exclude the unofficial achievements from the total count in the Reset Game Progress dropdown. - JeffJenkins JeffJenkins
  • Increase input length for comments. - JeffJenkins JeffJenkins
  • Fix for Leaderboards with no entries. - MrOwnership MrOwnership
  • Improve GitHub issue template config. - luchaos luchaos
  • Force user to choose mode for a ticket (hardcore/softcore), mode ticket filtering added. - Xymjak Xymjak
  • Links to supplementary ticket info are now provided after certain fields. - AlmightyXor AlmightyXor
  • Fix comments permissions. - luchaos luchaos
  • Refactor and add filtering to the “Active Players” widget. - AlmightyXor AlmightyXor
  • News carousel arrows no longer overlap with the menu. - AlmightyXor AlmightyXor
  • Escape apostrophes for embedded user content. - JeffJenkins JeffJenkins
  • Add textarea character counter. - JeffJenkins JeffJenkins
  • Immediately update rich presence when starting a new session. - Jamiras Jamiras
  • Fix incorrect key for hardcore check in gamecompare page. - Jamiras Jamiras
  • Add AchievementsRemaining to awardachievement API. - Jamiras Jamiras
  • More descriptive email messages. - Jamiras Jamiras
  • Site Award Image Hosting Update. - MrOwnership MrOwnership & luchaos luchaos
  • Include LowerIsBetter in leaderboard patchdata. - Jamiras Jamiras
  • Load minified jQuery scripts. - coliff
  • Devs can now close a ticket as a mistaken report. - AlmightyXor AlmightyXor
  • Make dorequest?r=login behave like login_app. - Jamiras Jamiras
  • Don’t hide forum topics if last post is from an unverified user. - Jamiras Jamiras
  • Add copyright ROMs disclaimer to forum post plceholders. - televandalist televandalist
  • Prevent blocked users from sending private messages. - Jamiras Jamiras
  • Fix first place display when an Untracked user is tied. - Searo Searo
  • Add confirmation prompt when creating official forum topic. - Jamiras Jamiras
  • Add an empty cell under the Last Updated column. - LordAndrew LordAndrew
  • Show leaderboards with no entries on game page. - Jamiras Jamiras
  • Allow official forum topic sidebar link when not logged in. - Jamiras Jamiras
  • Show recent players on game page. - Jamiras Jamiras
  • Add uploadleaderboard dorequest api. - Jamiras Jamiras
  • Don’t show leaderboards with DisplayOrder<0 on game pages. - Jamiras Jamiras
  • Don’t show banned users in recent players list. - Jamiras Jamiras
  • Fix bbcode URL parsing for embeddable services. - luchaos luchaos
  • Fix escaping of apostrophes and newlines in inbox. - Jamiras Jamiras
  • Use thunderer/shortcode for shortcode processing. - Jamiras Jamiras
  • Remove aggressive sanitization from achievements; fix escaping for tooltips. - Jamiras Jamiras
  • Remove Facebook integration. - Jamiras Jamiras
  • Revert shortcodes within code blocks not being parsed. - luchaos luchaos
  • GetAchievementDistribution added. - WCopeland WCopeland
  • Allow code notes to be accessed by registered users. - Jamiras Jamiras
  • Add disclaimer to linked hashes page. - Jamiras Jamiras
  • Rewrite trigger parser to support mixed case markers. - Jamiras Jamiras
  • Fix history graph total points to only count core achievements. - Searo Searo
  • Set data type to boolean for hidden leaderboard. - Jamiras Jamiras
  • Fix user history query. - luchaos luchaos

Development Tool Updates

Without the work of Jamiras Jamiras we would still be stuck in the stone age of achievement development and toolkit features. There are no amount of words that express the appreciation and gratitude that we all have for all the time and effort he puts into this community. Check out the major updates to development tools and emulators that he has provided this year.

RAIntegration

  • Version 0.79 - Released on 5/22/2021
    • Lots in this version, check the link for more details.
  • Version 0.79.1 - Released on 5/26/2021
    • fix SHGetStockIconInfo not found error on WinXP
    • fix HitCounts not being hidden/shown when switching between achievements with/without AddSource
    • fix exception deleting all conditions from a published achievement
    • fix exception if selected group disappears when resetting achievement
    • fix display when more than 999 conditions or alt groups are present in an achievement
  • Version 0.79.2 - Released on 6/7/2021
    • hide challenge indicator when achievement is paused
    • sort “almost there” achievements by progress
    • fix invalid rich presence showing as “no rich presence available” on initial load
    • fix achievement category not reverting when promote/demote fails on the server
    • fix filters changing when creating new achievements
    • fix exception attempting to remove trigger group when no group selected
    • fix rich presence macro containing bitcount always returning zero
  • Version 0.79.3 - Released on 7/20/2021
    • highlight ranged notes in memory inspector
    • fix invalid operator error when changing the type of a condition with a hit target to something that doesn’t have hit targets
    • generate z64 hash for n64 and v64 files (RAProject64)
    • fix challenge indicator disappearing when trigger uses ResetNextIf
    • prevent exception using pause-on-change for non-8-bit bookmarks
  • Version 0.79.4 - Released on 9/7/2021
    • adjust grid column widths for screen DPI
    • improve error message related to malformed leaderboard
    • update Intellivision memory map regions to account for non-8-bit addresses being exposed as 32-bit values
    • fix previous best leaderboard score showing up on wrong user when tied
    • fix bookmark value not updating when changing size while paused
    • fix code note size detection when note contains multiple substring matches

RATools

  • Version 1.8.0 - Released on 2/27/2021
    • dynamic recompilation (only process the parts of the script affected by changes)
    • several other optimizations around script processing
    • several minor improvements to better report the actual cause of an error
    • update analysis queries for website changes (NOTE: ticket list now requires setting a Cookie value in the ini file)
    • fix multiplication not being distributed over complex term
    • fix wrong condition being removed when two never() conditions overlap
    • fix PauseIf being removed from alt if it also exists in core
  • Version 1.8.1 - Released on 5/9/2021
    • add trigger_when() function
    • add deduct() helper for tally() function
    • support scaling for modifier conditions (AddSource, SubSource, AddAddress)
    • support for hex constants (hXX) when deconstructing rich presence and leaderboards from server data
    • add copy to clipboard links for leaderboard title/description
    • fix bitcount() not being allowed in prev() and prior() functions
    • fix syntax highlighting in dictionary when not ordered by key
    • fix stack overflow evaluating very long chain of ANDed conditions
    • fix issue simplifying comparison with multiple constants
  • Version 1.8.2 - Released on 8/22
    • add disable_when() function
    • add any_of(), all_of(), none_of(), and sum_of() functions
    • allow functions to have default parameters
    • allow functions to be assigned to variables
    • support for anonymous functions
    • support for collapsing duplicated rich presence strings into keyed ranges
    • improved badge handling for non-local achievements
    • modify underflow adjustment logic to generate statements that don’t require underflow adjustment
    • for example [a - b > n] => [b + n < a] instead of [a - b - n + max(b) > max(b)]
    • add links to view user achievement history from game stats dialog
    • fix error indicator not updating when lines added/removed earlier in the script
    • fix goto source not going to the correct line when lines added/removed earlier in the script
    • fix scaled modifiers not supported in leaderboard values
    • fix indirect addresses not supported in bit() function
    • fix underflow adjustment for prev() comparisons
    • fix impossible comparison [byte > 400] affecting neighboring conditions

Emulator Updates

RALibretro

  • Version 1.3.5 - Released on 4/20/2021
    • support for new RetroArch save state container format
    • add yabause as a supported core (Sega Saturn)
    • add freeintv as a supported core (Intellivision)
    • add potator as a supported core (Watara Supervision)
    • add quicknes as a supported core (Nintendo Entertainment System)
    • add swanstation as a supported core (Playstation)
    • make video settings global
    • block additional core settings in hardcore
    • ignore header (if present) for Atari 7800 games
    • fix integer scaling when window menu wraps
    • fix log file not being written to correct directory when launched with full path
    • fix 100% CPU usage while paused
  • Version 1.3.6 - Released on 5/15/2021
    • add settings for fast forward speed and allow sound while fast forwarding
    • remove Gearsystem as supported core for Genesis
    • add PicoDrive as a supported core for Sega CD
    • add m3u to file filter for loading Sega CD games in Genesis Plus GX
    • fix memory map for FreeIntv core when using 0.79 dll
    • fix rendering issue in VecX hardware mode
    • fix crash when using FBNeo core after selecting a custom controller for a previous game
    • fix disc handling when m3u contains filenames longer than 128 characters
  • Version 1.3.7 - Released on 7/21/2021
    • allow SRAM size mismatch (prevents loss of save data for Sonic Delta 40MB)
    • generate z64 hash for n64 and v64 files
    • fix wrong color for cores using XRGB8888 when loading save state while paused
  • Version 1.3.8 - Released on 9/25/2021
    • Support for PlayStation Portable via the PPSSPP core
    • Support for core option categories
    • Support for core using preloaded ROM without duplicating it
    • Allow non-game CDs to be loaded without unloading game
    • Renamed SwanStation back to DuckStation
    • Timestamps added to log.txt
    • Fix throttling for cores with threaded audio
    • Fix issue where save state extension would be lost if path contained a period

RANes

  • Version 1.0 - Released on 2/6/2021
    • Upgrade to official 2.3.0 release of FCEUX (15 Dec 2020)
    • x64 support
    • Fix leaderboard/achievement not resetting with emulator reset
    • Fix hashing of unif formatted ROMs
  • Version 1.1 - Released on 11/7/2021
    • Upgrade to official 2.5.0 release of FCEUX (21 Oct 2021)
    • Support for toolkit DLL larger than 2MB

RAMeka

  • Version 1.0 - Released on 7/27/2021
    • Includes several compatibility improvements from upstream. Otherwise, as far as I can tell, there was one bugfix around custom skins, and one feature around stereo support for game gear audio.
    • Memory map has been updated for SG-1000 expanders (Dahjee at $2000, Othello/Castle at $4000). This makes Dahjee games work the same between RAMeka and Genesis Plus GX. Knightmare has been updated to use the new mapping, and Rally-X already supported both via alts. Genesis Plus GX does not map Othello/Castle correctly, and the other cores that support SG-1000 don’t map either Dahjee or Othello/Castle at all.
    • RetroAchievements menu has been moved to the main window

RASnes9x

  • Version 1.1 - Released on 12/5/2021
    • Upgrade to current (2021 Dec 4) master of Snes9x
    • Disallow forced PAL in hardcore
    • Support for >2MB RAIntegration.dll