Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # ****************************************************************
- # IUPAG Nomenclature (Naming Convention): (v2025-01-17)-(rev3.5):
- # ****************************************************************
- # - By Gamers, For Gamers:
- # ..Committed to the Organization, Preservation, & Development of Romhacks.
- # ****************************************
- # IUPAG Prefixes: (v2025-01-17)-(rev3.5):
- # ****************************************
- # 1R: (1)-dimensional (R)un-N-Gvn: Platform SH00T3Rs.
- # 2R: (2)-dimensional (R)un-N-Gvn: Overhead SH00T3Rs.
- # 3R: (3)-dimensional (R)un-N-Gvn: FPS & Gallery SH00T3Rs: {LG} suffix indicates Light-gvn compatible.
- # 4S: (H)ybrid (S)H00T3R with multiple game modes (like 1R/2R, 1R/5H, or 2R/3R (etc), but NOT 5H/5V).
- # 5F: (S)H00T3R (F)lying: 1st & 3rd Person, 3D SIM &/or Action Arcade style.
- # 5H: (S)H00T3R (H)orizonal.
- # 5HV: (S)H00T3R (H)orizonal & (V)ertical: Multiple game modes: 5H & 5V.
- # 5V: (S)H00T3R (V)ertical.
- # 5Z: (S)H00T3R Miscellaneous(Z): Isometric scrolling &/or Multi-directional without auto-scrolling (etc).
- # 6O: (O)lympic (G)ames.
- # 720: Skating, Skiing, & Snowboarding games w/ 180, 360, [720], & 1080 tricks.
- # 841: =BALL: Dodgeball, Kickball, Volleyball, & other Misc Sports, like Speedball & Rugby, etc.
- # 964: Rhythm & Action games: (P)ower-Pad, (G)uitar, & Controller Rhythm & (A)ction games.
- # BG: (B)oard (G)ames & TV show games: e.g. (Monopoly)/(Wheel of Fortune).
- # BMC: Fishing games: (B)ass (M)aster (C)lassic.
- # DIS: Disney, Warner, & Hanna-Barbera cartoon based games (except sports).
- # F1: (F)ormula-(1): 1st-person & 3rd-person Racing games with a 3D view.
- # F2: (F)ormula-(2): 2nd-person Racing games with a birds-eye, overhead view.
- # F7: (F)amily (T)rainer: All other Power-Pad games (except sports: 6O & 964).
- # FIFA: Soccer games: (F)ederation (I)nternationale de (F)ootball (A)ssociation.
- # K0EI: Koei (& Koei-like knockoff) strategy games: Aerobiz, Gemfire, Genghis, Nobunaga, Romance, Sangokushi, etc.
- # Mario: All Mario, Wario, & Yoshi games that take place in the Mario universe (except sports).
- # MLB: Baseball games: (M)ajor (L)eague (B)aseball.
- # NBA: Basketball games: (N)ational (B)asketball (A)ssociation.
- # NFL: Football games: (N)ational (F)ootball (L)eague.
- # NHL: Hockey games: (N)ational (H)ockey (L)eague.
- # P1N: Pinball games: IFPA: (I)nternational (F)lipper (P)inball (A)ssocation.
- # P88I: Table-top (P)ool, (8)-ball, & (B)(I)=Billiards games.
- # PB4: Bowling games: (P)rofessional (B)owlers (A)ssociation: PBA.
- # PG4: Golf & mini-golf games: (P)rofessional (G)olfers (A)ssociation: PGA.
- # Pokemon: All Pokemon & Pikachu games that take place in the Pokemon universe (except sports).
- # PZ: (P)uzzle games: Like Tetris, Puyo Puyo, Panel de Pon, etc.
- # Simpsons: All Bart & Krusty games that take place in the Simpsons universe (except sports).
- # Sonic: All Sonic & Tails games that take place in the Sonic universe (except sports).
- # T3N: Tennis games: Association of Tennis Professionals: ATP.
- # TMNT: All (T)eenage (M)utant (N)inja (T)urtles universe games (except sports).
- # VS: [Versus], Two-Player Fighting games & Boxing games (VS BX), but NOT "Beat'em-Ups".
- # WSOP: Gambling games: (W)orld (S)eries (O)f (P)oker.
- # WWF: Wrestling games: (W)orld (W)restling (F)ederation: (aka WWE).
- # Zelda: All Zelda & Link games that take place in the Hyrule universe (except sports).
- # **********************************************
- # IUPAG Symbols & Tags: (v2025-01-17)-(rev3.5):
- # **********************************************
- # The default ordering of Tags can be read as:
- # ..."by, for, on, as, in, flagged, with, and".
- # ..."(@BY), (#FOR), (vON), (revAS), (T-IN), [flagged], {with}, (and)".
- # ..."by Author, for Region, on Date, as Revision, in Language, dump-flag, with Attributes, and MetaInfo.
- # --------------------------------------------------------------------------------------------------------
- # PR3F1X Title - Subtitle (@Dev,Pub)-(#Region)-(vYYYY-MM-DD)-(rev10)-(T-En) [!]-{Attributes}-(MetaTag).ext
- # --------------------------------------------------------------------------------------------------------
- # PR3F1X: One of the above IUPAG "Sports" prefixes.
- # Title: Rules:
- # : (1) "Title" is the name of the "Series" (if one exists):
- # : ..in which case the original "Title" becomes the "Subtitle":
- # : ..e.g. "Soul Trilogy" 1,2,3: Soul Blazer, Illusion of Gaia, Terranigma.
- # : ..e.g. "Zelda" 1,2,3: Legend of Zelda, Adventure of Link, A Link to the Past.
- # : (2) When all Regions have a different release name:
- # : - then the "Title" is the shortest name (with exception), of all the Regions:
- # : ..e.g. Sanguozhi, Tenchi wo Kurau, Destiny of an Emperor:
- # : .."Sanguozhi - Destiny of an Emperor (@Capcom)" (North American ROM).
- # : .."Sanguozhi -; Tenchi wo Kurau @Capcom)" (Japanese ROM).
- # : .."Sanguozhi -; Ying Jie Zhuan (@Waixin)" (Chinese Pirate ROM).
- # : Exceptions (with preference given to the North American release title):
- # : .."Streets of Rage - Bare Knuckle".
- # : .."Earthbound 0 - Mother 1".
- # : .."Earthbound 1 - Mother 2".
- # : .."Earthbound 2 - Mother 3".
- #Separators: (between Title & Subtitle):
- # "-": Parent.
- # "-;": Clone (or official Translation).
- # ";=": Unofficial, 3rd Party Translation.
- # "~": Hack.
- # "~[X]": SMW Hack with difficulty "X": 0-9, P (Puzzle), T (Troll).
- # "~_[GP];": Optional, Gameplay Patch (aka "QoL" Patch).
- # Subtitle: Rules:
- # : The Subtitle is generally the Hack Name.
- # : ..the "subtitle" (hackname) can be prefixed with difficulty, patchtype, &/or Holiday Theme, etc.
- # : - invalid filename characters: \/:*?"<>|\t\r\n\0
- # : Dashes & Colons:
- # : ..replace dashes & colons with semi-colons.
- # : Slashes: (backslashes & forward slashes):
- # : ..replace slashes with the percent-sign (%): Mostly used for Randomizer URLs.
- # : Parentheses:
- # : - because these denote "Tags",
- # : ..they are generally discouraged as valid characters in the title & subtitle:
- # : ..except when the 1st Tag is a "Named Tag" (a Tag with a consistent prefix):
- # : ..e.g. (@Author), (#Region), (vDate), (revZ), (T-Lang).
- # : ..Not allowed when the 1st Tag is "unnamed", like (Region) instead of (#Region).
- # : ..Not allowed inside any (Tag), like (@Authors).
- # (@Author): Author, Publisher, Developer, Hacker, &/or Translation Team.
- # : - For ROMs, this is typically (@Developer,Publisher).
- # : - For Hacks, the order is chronological: So, if you hack a preexisting Romhack,
- # : ..then you would just append your name: e.g. (@pacnsacdave,YourName),
- # : ..in order to retain credit for the original author.
- # : - Exception:
- # : ..exception is given for Romhacking Communities that share a common "base hack",
- # : ..where potentially many, many people contributed:
- # : ..And each "fork" deviates substantially in goal & theme (like completely different levels):
- # : ..in which case, credit is given via the {Patches Tag} (see below).
- # : ..However, the chronological append rule still applies if it's just a small update to the "base hack".
- # : - Maximum of 3-4 credits (depending on length):
- # : ..if the number of contributors (or length) gets too long, then:
- # : ..designate either a team name identifier (or "(@Authors=25)"), then
- # : ..list the credits in the (MetaTag): [$]-{--}-({@Auth1,Auth2,Auth3,Auth4,Auth5,Auth6}).nes
- # (#Region)/(#Base-Code):
- # : (#Region) for Parent/Baseroms (and their "clones"):
- # : (#Base-Code) for Hacks & Translations.
- # (#Region): Fully-Qualified, comma-separated list of supported Regions: i.e. (#USA,Europe).
- #(#BASE-00): This is the Region-Revision number that was used as the BASE for the Hack/Translation:
- # : ..e.g. (#USA-00) / (#Europe-10) / (#Japan-11).
- # : ..a List of Regions (#USA,Europe) (rev12) can be shortened to: (#USA-12)
- # : If the Parent/Baserom is unknown, then it can be determined with the following command:
- # : for file in Example\ -*; echo "$file"; cmp -l "$file" 'Example ~ Hack.ext' | wc -l; done
- # : ..note, however, that the above backslash is NOT a directory: It is a SPACE.
- # (vDate): Guidelines:
- # : Date of Publication/Compilation: ...with "Unix Time Zero" (v1970-01-01) as "Unknown Date".
- # : - For Official, Licensed releases, the Date of Publication is favored (with exception).
- # : ..One exception being that the Pub Date is before the Build Date, which is impossible & incorrect.
- # : - For Romhacks & Translations, the Date of Compilation is favored (with exception).
- # : ..ideally, the Pub Date & Build Date should match.
- # : ..if the Build Date is after the Pub Date, then it means either:
- # : ..(1) The original patch was lost to time & remade & uploaded by someone else (not the Author).
- # : ..(2) The "Pub Date" likely only signifies the 1st release: Not the current updated version.
- # : Ambiguity: "Langrisser 2 English Patch - 3/21/2001 (released 9/16/2004)"
- # : https://www.romhacking.net/translations/70/
- # : https://www.romhacking.net/translations/genesis/patches/70readme.txt
- # : ..Use Build Date, since the patch was created with 2001 tools (if any existed).
- # : ..Pub Date is deceptive as the patch was not created with 2004 tools.
- # : ..Furthermore, Romhackers can claim that it was never officially published, but...
- # : ..once they hand it off to other Team Members (Testers/Devs), then...
- # : ..it means that the "private release" could be floating around in the Wild..
- # : ..causing massive confusion having the exact same file with two different Dates.
- # (revZ): Guidelines:
- # : (1) ROMS:
- # : - Generally, "(rev10)" (pronounce "One-OH", not "ten") defines the initial release.
- # : ..this is equivalent to "(Rev 0)" in a no-intro set.
- # : ..while "(rev11)" would be equivalent to "(Rev 1)" in no-intro.
- # : - "(rev00)" is normally a prototype (Proto),
- # : ..while 01-09 are reserved for Alpha/Beta/Demo/Sample releases.
- # : - This system ensures an easy reference to the Parent/Baserom for patches & auto-patchers.
- # : ..which reduces the computational strain at runtime & speeds-up the execution for patching entire Sets.
- # : (2) Romhacks & Translations:
- # : ..(revZ) tag is their "version number", which can be absolutely anything,
- # : ..but generally, below one is an Alpha, Beta, or Demo pre-releases (previews).
- # : ..while greater than one signifies a polished, bug free, finished state.
- # "TEXT"/Language:
- # (T-Ln): "Text-IN": "T dash" means "Text-IN" for all ROMs (except translations).
- # : ...Prevents "Naming Collisions" for ROMs released in more than one Language.
- # (T+Ln): "Text+TO": "T plus" means "Text+TO" for translations.
- # : ...This is primarily a Translation Project only (with minimal QoL patches).
- # [flags]: "Dump Info Flags":
- # [!]: Verified Good Dump (except hacks):
- # : Title - Subtitle (@Dev,Pub)-(#Region)-(vYYYY-MM-DD)-(rev00)-(T-En) [!]-{Genre}-(MetaTag).ext
- # : Title -; Subtitle (@Dev,Pub)-(#Region)-(vYYYY-MM-DD)-(rev00)-(T-Lx) [!]-{Genre}-(MetaTag).ext
- # [$]: Verified Good Hack (or Translation):
- # : Title ;= English (@Auth)-(#BASE-10)-(vYYYY-MM-DD)-(revZ)-(T+En) [$]-{--}-(MetaTag).ext
- # : Title ;= English (@Auth)-(#BASE-11)-(vYYYY-MM-DD)-(revZ)-(T+En) [$]-{Optional.ips}.ext
- # : Title ~ HackName (@Auth)-(#BASE-10)-(vYYYY-MM-DD)-(revZ)-(T-En) [$]-{--}-(MetaTag).ext
- # : Title ~ HackName (@Auth)-(#BASE-11)-(vYYYY-MM-DD)-(revZ)-(T-En) [$]-{Optional.ips}.ext
- # [x]: Unverified ROM dump.
- # [h]: Unverified Hack:
- # [tr]: Unverified Translation:
- # : ..These are hacks/translations from unknown &/or untrusted sources,
- # : ..that haven't been tested & verified to work on at least one emulator.
- # : - Basically, this system of [h] & [tr] to [$] ensure that patches were verified to be applied correctly:
- # : ..designate [h] (or [tr]) when adding, and later, change to [$] when verified as good & working.
- # [o]: Over dump.
- # [b].mia: placeholder for an undumped game: "Missing In Action".
- # : ..In order to be processed by Rom Managers, cannot be an empty, zero-byte file:
- # : ..Can write anything to the file, like a unique number OR simply the filename (or both).
- # [p].ips: means "Patch" & signifies to Auto-Patchers to retain as patchfiles.
- # : .."Pirate" goes under the (MetaTag).
- # [a]: Deprecated: Use (MetaTag) for tagging "Alternate"/"Alt" dumps (see below).
- # [f1]: Deprecated: Use {Attributes/PatchList} tag to denote "fixes" (see below).
- # {Attributes}: A List of Attributes for a ROM (or romhacks & their patches).
- # : For Parent/Baseroms/Clones, the {Attributes} tag lists:
- # : ..{<Number of Players>,<Genre/GameTypes>,<Controller Support>}
- # : Romhacks (& Translations) inherit all these attributes, and instead, list:
- # : ..all the extra patches applied to the romhack, or none via: [$]-{--}.ext
- # {Genre}: {Attributes/GameTypeList}:
- # [!]-{X,Y}: Comma-separated List of L33TC0D3 GameTypes for the Baseroms (and {Patches} for hacks).
- # : ..These L33TC0D3S are easier to parse with and are listed in the "Suffixes" section.
- # : - Becomes a csv List of Internal, Optional, & External Patches for Hacks.
- # : ..In the rare case where the hack genre differs from the Baserom genre,
- # : ..then use a "prefixed Subtitle tag" to denote this difference: e.g.
- # : 2R BattleCity ~ [1R]; Star Wars (@TLT)-(#Japan)-(v2007-07-06)-(rev1.4)-(T-En) [$]-{--}.nes
- # {patch}: {Attributes/PatchList}:
- # [$]-{--}: Comma-separated List of patches that were:
- # : (1) applied by Author during development (internal patches),
- # : (2) applied by Player with release (optional patches),
- # : (3) applied by Player after release (external patches).
- # : These patches are Listed IN THE ORDER that they were applied.
- # : UNLESS an actual verification process was used to determine 100% compatibility & zero conflicts:
- # : (a) address verification during compilation.
- # : (b) address verification before being applied.
- # : (c) hash code testing on the binaries.
- # : ...In which case, Alphabetical Order is preferred for each category:
- # : ...1st, internal patches listed in Alphabetical Order.
- # : ...2nd, optional patches listed in Alphabetical Order.
- # : ...3rd, external patches listed in Alphabetical Order.
- # {--}: Means that optional, or external patches were applied to this Hack.
- # : ...Example: One patch applied, with abbreviated initials "IC" (Improved Controls): [$]-{+IC}.ext
- # : ...Example: Multiple patches applied: [$]-{+BF,IC}.ext
- # {%}: Means Unknown: Documentation doesn't state which [GP] patches were used in development.
- # {=BF}: Patch definition: Defines an abbreviation "BF" for the named patch ("Bugfixes").
- # : ...A popular & common combination of patches defined (or released as a Set): [$]-{+AC,BF,IC=ABC}
- # : ...{+ABC} can now be used to refer to an entire LIST of patches.
- # {+BF}: An eternal patch, abbreviated with the initials BF ("Bugfixes") has been applied to the hack.
- # : The {=BF} patch file encodes all meta-info: Author, Date, Revision, etc.
- # [fN]: The GoodSets designation for the number (N) of optional patches (fixes) applied: Deprecated.
- # :
- # Finally, since Tag separation is done differently in no-intro (spaces) & TOSEC (no spaces),
- # IUPAG Parent Spec will use dash separators, with a space in between the Tags & [Dump-Info-Flag].
- # ..This is a nod to our IUPAC heritage that signifies "A Chain of Carbon" atoms that makeup a molecule.
- # ..As well as signifying that, while we take inspiration from our predecessors, we don't play favorites,
- # ..and THIS (as well as other issues) is something best left to the players individual preferences,
- # ..which is unfortunately lacking in the current standards.
- #
- # **********************************************************************
- # IUPAG Genre & GameType Attributes (Suffixes): (v2024-09-06)-(rev3.5):
- # **********************************************************************
- # -------------------------------------------------------------------------
- # - Order: {<Number of Players>,<Genre>,<Controller Support>}
- # : ...e.g. "{2P,3A,LG}":
- # : ...Means "{2-Player, 3-dimensional Action/Adventure, Light-Gvn}"
- # -------------------------------------------------------------------------
- # {1P}: 1-Player Game: Required for games with a "Sports" prefix (otherwise, optional as its assumed by default).
- # {2P}: 2-Player Game: Mandatory for all games with multiplayer functionality: e.g. {2P,4P}.
- # {B34T}: Beat'em up.
- # {PL4T}: "1-dimensional" Platformer with Linear Progression (on a single "axis" left-to-right).
- # {1A}: (1)-dimensional Platformer with Adventure & requiring exploration to progress.
- # {2A}: (2)-dimensional Action Adventure with an Overhead, Birds-eye view.
- # {3A}: (3)-dimmenional Action Adventure with a 3D (Dungeon Crawler) view.
- # {4A}: (A)ction or (H)ybrid Adventure with multiple game-modes.
- # {5A}: (S)trategy Adventure: e.g. (Starflight).
- # {6A}: (S)pace Adventure (with alt-gravity &/or alt-physics).
- # {7A}: (T)ext-based Adventure: e.g. (Erika to Satoru no Yume Bouken).
- # {8A}: (B)eat'em up view / isometric perspective Action Adventure: e.g. (Time Lord).
- # {9A}: (P)ower-Pad (A)dventure game: e.g. (Street Cop - Manhattan Police).
- # {1RPG}: (1)-dimensional Platformer with RPG elements (like xp & level-ups).
- # {2RPG}: (2)-dimensional RPG with an Overhead, Birds-eye view: Traditional JRPGs.
- # {3RPG}: (3)-dimensional RPG with a 3D (Dungeon Crawler) view.
- # {4RPG}: (A)ction (H)ybrid RPG with multiple game-modes, like 1/2 or 2/3 (for example).
- # {5RPG}: (S)trategy RPG (Turn Based Strategy): e.g. (Shining Force).
- # {5RTS}: (S)trategy RTS (Real Time Strategy): e.g. (Command & Conquer).
- # {1S&P}: (1)-dimensional (S)trategy (&) (P)uzzle: e.g. (A Boy & His Blob).
- # {2S&P}: (2)-dimensional (S)trategy (&) (P)uzzle: e.g. (Quinty)/(Mendel Palace).
- # {3S&P}: (3)-dimensional (S)trategy (&) (P)uzzle: e.g. (Portal).
- # {4S&P}: (A)ction (H)ybrid (S)trategy (&) (P)uzzle: e.g. (Spy vs Spy).
- # {S1M}: Simulation: e.g. (SimCity),(The Sims),(Flight Simulators), etc.
- # {$SIM}: Strategy Simulation: e.g. (Koei Historical Warfare games).
- # {QZ}: Quiz Game: e.g. (King of Kings by Wisdom Tree).
- # {Mouse}: Controller Support: Mouse compatible game.
- #Power-Pad: Controller Support: Power-Pad compatible game.
- # {Rod}: Controller Support: Fishing-Rod compatible game.
- # {LG}: Controller Support: Light-Gvn compatible game.
- # ***************************************
- # IUPAG MetaTag: (v2025-01-17)-(rev3.5):
- # ***************************************
- # The (MetaTag) can be used for a variety of extra information:
- # - Like (Alpha), (Beta), (Demo), (Proto) releases.
- # - And nsfw designation: "Not Safe For Work":
- # ..The nsfw tag is primarily used to denote nudity,
- # ..since blood, violence, & language are pretty common in most games.
- # For Parent/Baseroms,
- # - (Unl; Aftermket) &/or (Pirate).
- # - including re-releases from (Virtual Console), (Switch Online), (Steam), (GOG), etc.
- # - Order of Precedence:
- # ..highest priority (first): Unl, Pirate, Aftermarket.
- # ..lowest priority (last): Proto, Alpha, Beta, Demo, Sample, Reprint, Alt.
- # ..e.g. (Unl; Aftermarket; Steam, Itch, GOG; Windows, Mac, Linux; Demo)
- # For Romhacks:
- # - The number of Exits in a Super Mario World romhack: (Exits=100)
- # - The number of Stars in a Super Mario 64 romhack: (Stars=120)
- # - The Mapper number of an NES Hack with multiple versions: (M#001)/(M#004)
- # - The "Brand", like 'TMNT of Rage': 'Turtle Power', 'Remix', 'The Final Shell Shock', etc.
- # ..as if you put this into the sub-title, then they're not sorted in chronological order.
- # - And other MetaInfo, like ('Special Edition'), for example.
- # For Translations:
- # ..in rare cases, some Translation Teams have released two versions,
- # ..with different "types" of translations:
- # (1) a more strict, "literal" translation, and
- # (2) a more creative interpretation with "localization":
- # ..Here, the (MetaTag) can be used to differentiate between the two.
- # For Patches:
- # - Can also be used for "Dependency Declarations": aka "Addendum" ("&") patches:
- # ..that says you need to apply another patch first.
- # ..e.g. "-(&{for Stef's [PCM] Driver Fix}).ips"
- # ..or, "-(&{for Stef's Sound Driver Fix; [PCM]}).ips"
- # ..where [XYZ] is the abbreviated initials of the required patch,
- # ..and can appear anywhere in the comment "-(&{...})":
- # ..beginning, middle, or end... doesn't matter.
- # Rules:
- # ..Obviously, the (MetaTag) cannot start with characters:
- # .."(@","(#","(v","(rev","(T-","(T+"...
- # ..as these symbols already denote "Named Tags" for,
- # ..Authors, Region, Date, Revision, & "Text" (Language).
- # ..However, the (MetaTag) can be used to list additional credits:
- # ..(when the list is too long for the (@Author) tag):
- # ..[$]-{--}-({@Auth1,Auth2,Auth3,Auth4,Auth5,Auth6}).ips
- # *********************************************************************
- # IUPAG Rating/Ranking/Percentile Tag: (v2025-01-17)-(rev3.5-SNAPSHOT):
- # *********************************************************************
- # - OPTIONAL, NOT DEFINED, NOT IMPLEMENTED, PROPOSAL ONLY:
- # ..Either filename Tag or DAT Element Tag,
- # ..for searching, sorting, filtering, trimming:
- # For example,
- # ..to trim Sets down to the "Top 100", "Top 80%", "TOP 2gb" of games.
- # ..to provide a mechanism to sort games by rating/ranking.
- # **************************************************
- # IUPAG Sets:--------------------------------------
- # **************************************************
- https://pastebin.com/u/IUPAG
- # **************************************************
- # IUPAG DATs:---------------------------------------
- # **************************************************
- https://github.com/IUPAG
- # **************************************************
- # IUPAG Archive & Repository:-----------------------
- # **************************************************
- https://archive.org/details/@iupag
- # **************************************************
- # IUPAG Discord server:-----------------------------
- # **************************************************
- https://discord.gg/kEe3aUzJ5D
Add Comment
Please, Sign In to add comment