Glitch City Laboratories Forums

Lab α: The Lobby => Wiki Discussion => Topic started by: bbbbbbbbba on December 05, 2019, 06:37:57 pm

Title: Merge non-English Western ItemDex pages with their English counterparts?
Post by: bbbbbbbbba on December 05, 2019, 06:37:57 pm
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 (https://glitchcity.info/wiki/ItemDexES/RB:094) is equivalent to English 9F both in name and in function. Differences can mostly be explained by text pointers being different. For example, 3F (https://glitchcity.info/wiki/ItemDex/RB:088) 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 (https://glitchcity.info/wiki/ItemDexFR/RB:088).

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:

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.)
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: Krys3000 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
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: bbbbbbbbba 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 (https://github.com/pret/pokered/blob/725b86ebbec23bd1f53fd60bf0201c904fee951d/engine/items/items.asm#L103)). This should illustrate why many glitch items are the way they are, and why they might be different on different language versions.
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: Parzival 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 (https://github.com/pret/pokered/blob/725b86ebbec23bd1f53fd60bf0201c904fee951d/engine/items/items.asm#L103)). 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
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: Sherkel 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 (https://glitchcity.info/wiki/ItemDex/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 (https://github.com/pret/pokered/blob/725b86ebbec23bd1f53fd60bf0201c904fee951d/engine/items/items.asm#L103)). 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.
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: bbbbbbbbba on December 08, 2019, 04:07:43 pm
What would look good would be something like a section on RB:094 (https://glitchcity.info/wiki/ItemDex/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...
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: Sherkel 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.
Title: Re: Merge non-English Western ItemDex pages with their English counterparts?
Post by: bbbbbbbbba 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 (https://github.com/pret/pokered/blob/725b86ebbec23bd1f53fd60bf0201c904fee951d/engine/items/items.asm#L103)). 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