Main Menu
Main Page
Forums
New pages
Recent changes
Random page
Help

Glitches
Arbitrary code execution
Pokémon cloning
Pomeg glitch and Glitzer Popping
Tweaking and voiding
Glitches by generation
Other glitch categories

References/Resources
Databases
Disassembly projects
The Big HEX List
Interactive tools
Reference documents
Terminology

Affiliates
Legendary Star Blob 2 (Hakuda) (日本語/Japanese)
Pokémon Speedruns wiki (English)
PRAMA Initiative (Français/French)
MissingNo. Glitch City (Italiano/Italian)
Become an affiliate!

Technical
Site source code

Search Wiki

 

Search Forums

 

Author Topic: Merge non-English Western ItemDex pages with their English counterparts?  (Read 304 times)

0 Members and 1 Guest are viewing this topic.

bbbbbbbbba

  • Staff
  • *****
  • Offline Offline
  • ... but things won’t change if you don’t speak!
    • View Profile
Western localizations of Generation I games are pretty similar to each other, much more so than compared to the original Japanese game. As a result, glitch items usually have similar names and/or behaviors. For example, Spanish P8 is equivalent to English 9F both in name and in function. Differences can mostly be explained by text pointers being different. For example, 3F takes the high byte of its effect pointer from a low byte of a text pointer, which means that its effect is likely to be different on all Western versions, as exemplified by French 2eme Etage.

Given this, how about we merge all the other Western ItemDexes (which are likely to remain incomplete forever otherwise) into the English ItemDex? The advantages would be:
  • Reducing duplicate information in pages, which may make maintaining the ItemDex easier.
  • As an extension of the above point, reducing incorrect information from copy-pasting (e.g. the 2eme Etage page was in the "ACE glitch items" category, which it does not belong to).
  • Eliminating red links from the ItemDex index, which (together with the straight up lack of entries) may otherwise confuse people with a foreign game.
  • Highlighting the items that are actually different between languages, encouraging glitch researchers to study them on language versions other than the ones where we already know their behaviors.

We can still add a section below the ItemDex pages to note the language versions where the item is confirmed to have the same behavior, although it should be understood that all items can be assumed to have the same behavior unless noted otherwise. And I guess if a language-specific glitch item is really notable in a non-English game, they can still have their own page, although I doubt there would be a need for such a special case. (ItemDex pages are generally not very long.)
« Last Edit: December 09, 2019, 04:02:34 pm by bbbbbbbbba »

Krys3000

  • French living dexer
  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • Head admin of the PRAMA Initiative
    • View Profile
    • PRAMA Initiative - French Pokémon glitch website
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #1 on: December 06, 2019, 01:37:17 am »
Hello,

We did a ItemDex for PRAMA lately (https://www.prama-initiative.com/index.php?page=glitchdex-objets)
I think there were several differences between French and English games, but I'm not sure how much, and what are the causes. Anyway if you want to do that, our ItemDex may provide some help.

If only there was a specialized website for all different localizations GCL could just point to them  :P

Admin of the PRAMA Initiative, the main french Pokémon glitch website
https://www.prama-initiative.com
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov

bbbbbbbbba

  • Staff
  • *****
  • Offline Offline
  • ... but things won’t change if you don’t speak!
    • View Profile
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #2 on: December 06, 2019, 01:30:59 pm »
One thing I vaguely want to do is to have a table of glitch item effect pointers (ACE or not), and color code it into opcodes, constant operands, pointers, etc. and/or put it side by side with the disassembly (iirc it should fall entirely within the function ItemUseBall). This should illustrate why many glitch items are the way they are, and why they might be different on different language versions.

Parzival

  • The Laziest Malware Enthusiast
  • Banned
  • *
  • Offline Offline
  • Gender: Male
  • who posted nudes in upstream
    • View Profile
    • (null)
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #3 on: December 06, 2019, 10:26:10 pm »
One thing I vaguely want to do is to have a table of glitch item effect pointers (ACE or not), and color code it into opcodes, constant operands, pointers, etc. and/or put it side by side with the disassembly (iirc it should fall entirely within the function ItemUseBall). This should illustrate why many glitch items are the way they are, and why they might be different on different language versions.
that'd be kinda cool, actually

Sherkel

  • Banned
  • *
  • Offline Offline
  • Gender: Male
  • PSYNCIN' IN THE FINNAGaiN
    • View Profile
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #4 on: December 08, 2019, 01:36:49 pm »
While I was thinking for the sake of simplicity it would help to keep them separate, so that there's "one item per page" so to speak...I'm in favor of this. This is an English-language reference first and foremost, and the majority of items in other localizations still don't have their own pages yet.

What would look good would be something like a section on RB:094 with
Quote
  • The Spanish equivalent of this item is P8 (link)
  • The French equivalent of this item is...
  • The Italian equivalent of this item is...

One thing I vaguely want to do is to have a table of glitch item effect pointers (ACE or not), and color code it into opcodes, constant operands, pointers, etc. and/or put it side by side with the disassembly (iirc it should fall entirely within the function ItemUseBall). This should illustrate why many glitch items are the way they are, and why they might be different on different language versions.
This would be excellent too.
« Last Edit: December 08, 2019, 01:37:02 pm by Sherkel »
Held aloft, as if by hands, their thoughts remain adrift
Torn asunder, broken bands
A void, a dream, a rift

bbbbbbbbba

  • Staff
  • *****
  • Offline Offline
  • ... but things won’t change if you don’t speak!
    • View Profile
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #5 on: December 08, 2019, 04:07:43 pm »
What would look good would be something like a section on RB:094 with
Quote
  • The Spanish equivalent of this item is P8 (link)
  • The French equivalent of this item is...
  • The Italian equivalent of this item is...

What I am afraid is that, with some of the items that behave mostly the same across different language versions, this would look as ridiculous as "The French equivalent of this Pokémon is Bulbizarre (link)" on Bulbapedia's Bulbasaur page...

Sherkel

  • Banned
  • *
  • Offline Offline
  • Gender: Male
  • PSYNCIN' IN THE FINNAGaiN
    • View Profile
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #6 on: December 08, 2019, 10:47:35 pm »
Right, not linking to separate pages, sorry. That's the opposite of what we were both suggesting. Just a section with a list.
Held aloft, as if by hands, their thoughts remain adrift
Torn asunder, broken bands
A void, a dream, a rift

bbbbbbbbba

  • Staff
  • *****
  • Offline Offline
  • ... but things won’t change if you don’t speak!
    • View Profile
Re: Merge non-English Western ItemDex pages with their English counterparts?
« Reply #7 on: December 09, 2019, 06:41:27 am »
One thing I vaguely want to do is to have a table of glitch item effect pointers (ACE or not), and color code it into opcodes, constant operands, pointers, etc. and/or put it side by side with the disassembly (iirc it should fall entirely within the function ItemUseBall). This should illustrate why many glitch items are the way they are, and why they might be different on different language versions.
that'd be kinda cool, actually
I did a quick side-by-side in my text editor for R/B. There isn't that much code to go through, because items that are 128 apart (except TMs/HMs) share the same effect pointer, which means as far as effect pointer goes, RB:000 is the same as RB:128, and RB:129 is the same as RB:001 (Master Ball, although it just jumps to ItemUseBall and does not have a 100% catch rate because the type of ball is checked inside ItemUseBall), etc.
Code: [Select]
B2F    |  57FA  |  FA 57 D0  |      ld a, [wIsInBattle]  ; D057
B1F    |  A7D0  |            |
       |        |  A7        |      and a
1F     |  81CA  |  CA 81 65  |      jp z, ItemUseNotTime  ; 6581
2F     |  3D65  |            |
       |        |  3D        |      dec a
3F     |  8BC2  |  C2 8B 65  |      jp nz, ThrowBallAtTrainerMon  ; 658B
4F     |  FA65  |            |
       |        |  FA 5A D0  |      ld a, [wBattleType]  ; D05A
5F     |  D05A  |            |
6F     |  283D  |  3D        |      dec a
       |        |  28 0F     |      jr z, .canUseBall  ; +15
7F     |  FA0F  |            |
       |        |  FA 63 D1  |      ld a, [wPartyCount]  ; D163
8F     |  D163  |            |
9F     |  06FE  |  FE 06     |      cp PARTY_LENGTH  ; 6
10F    |  0820  |  20 08     |      jr nz, .canUseBall  ; +8
11F    |  80FA  |  FA 80 DA  |      ld a, [wNumInBox]  ; DA80
B4F    |  FEDA  |            |
       |        |  FE 14     |      cp MONS_PER_BOX  ; 20
w m    |  CA14  |            |
       |        |  CA B1 65  |      jp z, BoxFullCannotThrowBall  ; 65B1
ws m   |  65B1  |            |
       |        |            |  .canUseBall
vtm    |  EAAF  |  AF        |      xor a
       |        |  EA 1C D1  |      ld [wCapturedMonSpecies], a  ; D11C
'dm    |  D11C  |            |
m      |  5AFA  |  FA 5A D0  |      ld a, [wBattleType]  ; D05A
w 'lm  |  FED0  |            |
       |        |  FE 02     |      cp BATTLE_TYPE_SAFARI  ; 2
fm     |  2002  |            |
       |        |  20 04     |      jr nz, .skipSafariZoneCode  ; +4
m      |  2104  |            |
       |        |            |  .safariZone
       |        |  21 47 DA  |      ld hl, wNumSafariBalls  ; DA47
-gm    |  DA47  |            |     
#      |  CD35  |  35        |      dec [hl]
       |        |            |  .skipSafariZoneCode
       |        |  CD ED 3D  |      call RunDefaultPaletteCommand  ; 3DED
é      |  3DED  |            |
il     |  433E  |  3E 43     |      ld a, $43
Lg-    |  1EEA  |  EA 1E D1  |      ld [wPokeBallAnimData], a  ; D11E
-g     |  CDD1  |            |
       |        |  CD 25 37  |      call LoadScreenTilesFromBuffer1  ; 3725
QGnSI  |  3725  |            |
GnSI   |  E821  |  21 E8 65  |      ld hl, ItemUseText00  ; 65E8
Q;MP-  |  CD65  |            |
       |        |  CD 49 3C  |      call PrintText  ; 3C49
;MP-   |  3C49  |            |
(116)  |  3A21  |  21 3A 58  |      ld hl, IsGhostBattle  ; 583A
(117)  |  0658  |            |
       |        |  06 0F     |      ld b, BANK(IsGhostBattle)  ; 0F
(118)  |  CD0F  |            |
       |        |  CD D6 35  |      call Bankswitch  ; 35D6
(119)  |  35D6  |            |
(120)  |  1006  |  06 10     |      ld b, $10
(121)  |  01CA  |  CA 01 58  |      jp z, .setAnimData  ; 5801
(122)  |  FA58  |            |
       |        |  FA 5A D0  |      ld a, [wBattleType]  ; D05A
(123)  |  D05A  |            |
(124)  |  203D  |  3D        |      dec a
       |        |  20 0F     |      jr nz, .notOldManBattle  ; +15
       |        |            |  .oldManBattle
(125)  |  210F  |            |
       |        |  21 87 D8  |      ld hl, wGrassRate  ; D887
(126)  |  D887  |            |
(127)  |  5811  |  11 58 D1  |      ld de, wPlayerName  ; D158
(128)  |  01D1  |            |
       |        |  01 0B 00  |      ld bc, NAME_LENGTH  ; 11