The Coding Errors of the Cable Car

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 347

  • @Toothache42
    @Toothache42 ปีที่แล้ว +452

    The next step from this is to make an event like the Berry Fix that can correct this error and allow for different hiker events on a legitimate cart

    • @Goppier
      @Goppier  ปีที่แล้ว +164

      That is a really good idea! I'd love to look into that in the future. Stuff like fixing Emerald's RNG could also be done like that for people who want to update their games

    • @KopperNeoman
      @KopperNeoman ปีที่แล้ว +38

      How much could you do, though? The Berry Fix is a workaround, not a patch. You can't patch a ROM except at runtime. Could the Mystery Gift system push patches via some kind of ACE?

    • @Goppier
      @Goppier  ปีที่แล้ว +57

      Could it not work with multiboots? I'm not sure if the gba itself is able to erase and write to the cartridge, but we'll have to see what is possible or not!

    • @CaptainBen10
      @CaptainBen10 ปีที่แล้ว +22

      Wouldn't this be a similar process to what imablisey just did with adding the events in via e-reader?

    • @jeremyabbott4537
      @jeremyabbott4537 ปีที่แล้ว +5

      @@CaptainBen10 wouldn't that only work for the poochyena for RS? IIRC FRLG and E all use a more restricting form of mystery gift

  • @Solaceon
    @Solaceon ปีที่แล้ว +458

    See, THIS is obscure. Every Pokémon "super obscure facts you didn't know" video talks about that Hiker but doesn't elaborate any further. You go the extra mile to inform and entertain. Here's hoping one day the algorithm blesses you like it has the piles and piles of surface level knowledge other creators put out. You do great work.

    • @JosephWithaG
      @JosephWithaG ปีที่แล้ว +7

      I guess the algorithm has blessed him. This video just showed up in my feed.

    • @akirekoko7415
      @akirekoko7415 ปีที่แล้ว

      ​@@JosephWithaGyup

    • @scaleonkhan183
      @scaleonkhan183 ปีที่แล้ว +1

      Yeah I was also confused why they would never elaborate. This explains everything!

  • @imablisy
    @imablisy ปีที่แล้ว +116

    Goppier on his quest to fix all the bugs in emerald.

  • @xLuigi77x
    @xLuigi77x ปีที่แล้ว +506

    C A B L E C A R

  • @Psy0ch
    @Psy0ch ปีที่แล้ว +139

    I really appreciate the effects that you used to explain the different scenes for the cable car sequence. Especially the mountain getting cut into multiple smaller pieces to move them from the right to the left!

  • @decino
    @decino ปีที่แล้ว +61

    Great stuff! The code walkthrough is easy to follow and the visuals are on point and pleasing to the eye. The videos keep getting better and better!

    • @Nekibata
      @Nekibata ปีที่แล้ว +4

      get out of my head

    • @ShredderN64Alt
      @ShredderN64Alt ปีที่แล้ว +5

      I was literally just about to write a comment saying this guy was like the Pokémon-obsessed version of you. Incredible.

    • @turnkey_hole
      @turnkey_hole ปีที่แล้ว

      What is this, a crossover episode?

  • @marioluigi27
    @marioluigi27 ปีที่แล้ว +32

    Goppier on their way to explain the mechanics of something I never even thought about before

  • @ElTaitronAnim
    @ElTaitronAnim ปีที่แล้ว +46

    The ending music makes it feel like we just finished a long, emotional journey, when it was really just tweaking a couple lines of code.
    Then again, Poochyena/Zigzagoon have been lost for years, so perhaps this is an emotional reunion after all.

    • @slykhajiit2
      @slykhajiit2 ปีที่แล้ว

      What's the title of that ending music though?

    • @ElTaitronAnim
      @ElTaitronAnim ปีที่แล้ว

      @@slykhajiit2 "Emotion" or maybe "Unwavering Heart", from Pokemon Black/White.

    • @goomygaming980
      @goomygaming980 5 หลายเดือนก่อน

      ​@@slykhajiit2it is in the video

  • @JossCard42
    @JossCard42 ปีที่แล้ว +7

    Those 'support' sprites are definitely a streetlight sprite they repurposed.

  • @matteopepe28
    @matteopepe28 ปีที่แล้ว +24

    These technical deep dives are icredibly interesting, especially when it involves actual code. Also the graphics in this vid was top tier

  • @tackworks6490
    @tackworks6490 ปีที่แล้ว +8

    found a shiny metapod in hgss right at 4:37. was bingeing your content while shiny hunting, and i actually got my target! really love how obscure and in depth your content is, it’s definitely something i’m super interested in

    • @Goppier
      @Goppier  ปีที่แล้ว +3

      Congrats on the shiny metapod! Shiny hunting is a lot of fun hahaha

  • @overratedpancake9034
    @overratedpancake9034 ปีที่แล้ว +14

    I was, indeed, distracted by the green comments

    • @KopperNeoman
      @KopperNeoman ปีที่แล้ว +3

      If the comments are wrong, they're bad comments.

  • @VerdASMR
    @VerdASMR ปีที่แล้ว +30

    I think the -1 is definitely someone fearing that ARRAY_COUNT is going to create an out of bounds scenario by using the array length as an actual index, but since its being used in modulus that wouldnt happen.

    • @Smouv
      @Smouv 7 หลายเดือนก่อน

      Yes this was also my thought looking at the code, it only serves to create a problem. A rval % (4-1) is always gonna be 0, 1 or 2... never 3.

  • @n0lain
    @n0lain ปีที่แล้ว +95

    I think it's because [rval % (ARRAY_COUNT(hikerGraphicsIds - 1)] will always output 0, 1, or 2, since n % (4-1) can never be 3. Since there are 4 NPCs coded, whichever one takes ID 3 can never be initialized in that line
    Edit: damn I was wrong, that was sneaky! Using the same rng value to do both the 1/64 check and the ID check is easy enough to overlook, I suppose

    • @wormius51
      @wormius51 ปีที่แล้ว +6

      Also the comment that pretends to spoil tge solution.

    • @nilkonom
      @nilkonom ปีที่แล้ว +3

      what? why do you say you were wrong, isn't that the reason?

    • @suryasuresh533
      @suryasuresh533 ปีที่แล้ว +1

      @@nilkonom he was wrong because the rval is always a multiple of 64, so any multiple of 64 % 3 would be 1, you dont get 0, 1, 2

    • @suryasuresh533
      @suryasuresh533 ปีที่แล้ว +2

      to fix this you could make rval a multiple of 5 by doing rval = rval / 64 * 5 and now you can do rval % ARRAY_COUNT(hikergraphids) to get a random value from 0,1,2,3 and get the 4 NPSs

    • @nilkonom
      @nilkonom ปีที่แล้ว +2

      @@suryasuresh533
      >so any multiple of 64 % 3 would be 1
      64 % 3 = 1
      128 % 3 = 2
      192 % 3 = 0
      the comment was right, however just removing -1 doesn't fix it (and the comment didn't claim that)

  • @CollinHeist20
    @CollinHeist20 ปีที่แล้ว +8

    The formulas used to move the player/cable car sprite are just the linear slopes of the cable lines

  • @devalt1
    @devalt1 ปีที่แล้ว +2

    As soon as you showed the cable car background layering in 3D I instantly subbed - nice work dude!

  • @invalid_user_handle
    @invalid_user_handle ปีที่แล้ว +8

    I was thinking the - 1 was the culprit at first, but then I realized that it was using the same random value for all of the checks, which, at least in the way they're doing it, isn't a good idea, since the % 64 at the beginning forces only a few select values in and the rest aren't allowed.

  • @StarzGecko
    @StarzGecko ปีที่แล้ว +43

    It would be really cool if there was a mod that only fixes all the coding errors to see what the developers originally intended for it. 😊
    Awesome video! I never knew there was others which I always wondered about there should be other hiker NPCs or at least Pokémon 😅

    • @ultrasquid579
      @ultrasquid579 ปีที่แล้ว +9

      I know the Pret decompilation has an option to fix known glitches. Alternatively, there's also the RHHideout Expansion, which adds modern mechanics as well as fixing bugs.

  • @stevenstone307
    @stevenstone307 ปีที่แล้ว +7

    Amazing! I remembered seeing the hiker when I was a kid, but it was the only time I saw it so I actually thought I imagined it for years later. It would have been so cool to see the pokemon going down the hill!

  • @thepokemonqueen
    @thepokemonqueen ปีที่แล้ว +11

    you know as soon as goppier uploads im clicking that notification

  • @LittleBabyBlue777
    @LittleBabyBlue777 ปีที่แล้ว +39

    Huh... I never even knew this was a mechanic! My man, the dedication you show for this franchise is unrivaled. Godspeed, and good work. Honestly, Game Freak should consider hiring you for code development because you've really got your head on straight with the subject. Here's hoping they take advice from this video when they finally get around to porting the Gen3 games to the Switch's GBA emulator!

  • @Fauxglove
    @Fauxglove ปีที่แล้ว +1

    I adore these "unused" sprites, great vid the danganronpa music made this seem way more dramatic haha

  • @Hydrocannon
    @Hydrocannon ปีที่แล้ว +7

    I'm hoping and dreaming that one day, we'll see this guy release a "berry glitch update" type of program that fixes the Gen3 Roamer IV glitch (setting every IV outside HP and Attack to 0) that works with legit carts...
    Thank you for the educational and entertaining video.

  • @BAIGAMING
    @BAIGAMING ปีที่แล้ว +2

    That Daganronpa music lol, but this was a great video and it's really interesting seeing the code and how these animations were programmed as well as how the coding mistake was made.

  • @34lifeishell
    @34lifeishell ปีที่แล้ว +11

    Would love if you could fix the bugs in these games and have a patch file that could be loaded onto the real carts, I love your content keep up the great work, (I hope you do all the E-Reader events as a event cart, would love to see that for these games)😊

  • @lior_haddad
    @lior_haddad ปีที่แล้ว +10

    years of acadamy training _not_ wasted!
    shoutouts to years of binary exploitation for teaching me to look out for re-used variables.
    also, I really feel like calling rng multiple times would've been the better solution in this case purely for clarity.

  • @robonick64
    @robonick64 ปีที่แล้ว +7

    Wake up babe, new Goppier video just dropped

  • @GormGear
    @GormGear ปีที่แล้ว +10

    Finally, the cable car npc's can rest in peace

  • @Foxhood
    @Foxhood ปีที่แล้ว +24

    My guess is that the mistake is that the Rval is locked into always being a multiple of 64, which if you run a modulo of 2,4,8,16 or 32 on will always return 0.
    I'm guessing that generating a random number on the GBA's ARM7 CPU was a bit more costly, so they tried to use same for the entire sequence, but it would cause this bug.
    EDIT: I was correct!! All those years spent studying electronics and embedded C have not been a waste!!! XD

  • @latioshunter
    @latioshunter ปีที่แล้ว +1

    I remember seeing one of the NPC, and never seeing them again and wondering whether it ever happened or not... now I finally got my answer nearly 15 years later

  • @DavidLopez-rk6em
    @DavidLopez-rk6em ปีที่แล้ว +2

    You must've worked very hard on this video. You did an awesome job, keep up the good work. Most people wouldn't work so hard on such an obsure thing. It's so fucking insane that someone put in so much quality work making this video.

  • @TheCrashbandicoot36
    @TheCrashbandicoot36 ปีที่แล้ว +4

    I wanted to say they look like lamp posts, but the sprite when you go off on the upper part suggest them being the support of the cable car

  • @LuckyCatYT
    @LuckyCatYT ปีที่แล้ว

    The tilting camera showing each layer of the cutscene at 1:20 looks phenominal! Also going into detail about each individual aspect that come together to form that cutscene was so cool.

  • @U-Flame
    @U-Flame ปีที่แล้ว +3

    Oh man I remember seeing the hiker and then never anything again, wondering if I was crazy

  • @itsevelynnbabez
    @itsevelynnbabez ปีที่แล้ว +1

    7:34 Im pretty sure that song was in Black and White 1/2, not X & Y. I remember the neighbor rival talking about his sister's purrloin as this song plays in the background

    • @Goppier
      @Goppier  ปีที่แล้ว

      It is in both games! The one from Black and White sounds a little different from this one, and I personally like the slight changes in this X and Y version

  • @sixxtylol
    @sixxtylol ปีที่แล้ว +5

    The type of content and way you provide it is the best! My favorite channel. Only one I will ever turn on notifications for. Can’t wait til you get more popular and get the recognition you deserve. And thank you for the fix on the distribution rom 🙏

  • @vampire_catgirl
    @vampire_catgirl ปีที่แล้ว +4

    A rom patch to fix this would be nice

  • @Known_as_The_Ghost
    @Known_as_The_Ghost ปีที่แล้ว +5

    They could program how random mons spawn
    But couldn't program how random sprites spawn
    HOW

  • @JackieJKENVtuber
    @JackieJKENVtuber ปีที่แล้ว +1

    I love the things pret (the decompilation project for pokemon used in this video) allows creators to do - both in easier rom hacking but also especially in analysing the code and decisions post-mortem
    Great video

  • @RooperTM
    @RooperTM ปีที่แล้ว +2

    The code block only executes if the rval is divisible by 64, and that same rval mod 4 is used to select the hiker. Since 64 is divisible by 4, you will always get index 0 in the hiker array

  • @labsupri6681
    @labsupri6681 ปีที่แล้ว +3

    I feel like the bitshift just makes the code less readable, I'd be very surprised if the compiler didn't optimize a /64

  • @LieseFury
    @LieseFury ปีที่แล้ว +1

    the pylon/lamppost thing is a great example of why art should be analyzed in context.

  • @henrygreen2096
    @henrygreen2096 ปีที่แล้ว +1

    My attempt to answer why no zigzagoon/poochyena:
    They are stored as the integer 4: so after the 1/64 chance of a hiker showing up, is rolls again for a 1/4 chance of choosing one of the four hikers 1 to 4. zig/pooch are probably 4, so the minus 1 unfortunately means that they are never rolled since it now rolls between 0 to 3 instead of 1 to 4. I am leaning towards this because I have seen a similar integer mistake a few times before where someone wants to start at 0 so they subtract one which is correct in most cases, but they forget that they already have integers values that start at 1 instead of 0.
    Edit: brilliant video! ngl even after watching the video I needed to read the comments just to get it sheesh!

  • @samuelturner6076
    @samuelturner6076 ปีที่แล้ว +15

    I think they’re lamp posts for the NPC’s walking up and down the mountain. I’ve heard about this feature before but it’s interesting to see someone fix it, anyway great video as always.

  • @claysweetser4106
    @claysweetser4106 ปีที่แล้ว +2

    Just want to say, I love these videos - diving into *how* the code in these games work.

  • @functional200
    @functional200 ปีที่แล้ว +4

    Zigzagoons sprite Id is the same as the max size of the array isn't it?
    Edit: should've probably took note of modulus lmao

  • @DelayRGC
    @DelayRGC ปีที่แล้ว +1

    A sillier, slower and much more impractical method would be to pick a sequence of odd numbers like (63, 31, 15) or (31, 15, 7) and setting rval to rval % [number in the sequence] whenever we need a smaller interval. So values in [64, 65536) are remapped to [0, 63) in a way that changes their parity. In particular, the rval % 4 doesn't have to be 0 anymore. The dependence between mod 4 and mod 2 is solved in the same way.
    I think halving the modulo would be optimal because it keeps the parity of roughly half the numbers the same and only alternates those of larger numbers.
    If the initial modulo is larger than 64, then 64 itself would still present us with the "0 mod 4" problem. As this number increases, more multiplies of 64 would remain unfixed. If you want to give that one hiker a higher chance of appearing, I guess this could still be a useful option, but at this point we've already gone uselessly complex.
    Of course, given all the modulos we're doing here, the probabilities are likely to be very skewed to some NPC/direction combination.
    ...But at least the original problem is taken care of!
    That's... good enough, right?

  • @junerichardson9650
    @junerichardson9650 ปีที่แล้ว +1

    Great video and explanation! I assumed someone was worried about an overflow and threw that -1 in for good measure causing the issue, I can see now how that assumption was wrong! For the solution, I personally would have replaced If ((rval % 64) == 0) with If ((rval % 256)

  • @KanaKonpaku
    @KanaKonpaku ปีที่แล้ว

    I find it funny that after all the times I rode the cable car when I played as a child, I never noticed the hiker mechanic, or the guy keeping track of how many times the player has ridden it. I love that on top of that there is a video devoted to the bugs in the programming for the stuff I didn't even notice (I'm a programmer myself).

  • @RemyJustice97
    @RemyJustice97 ปีที่แล้ว +1

    Gotta be honest, the Danganronpa music threw me for a loop there

  • @scraps7624
    @scraps7624 ปีที่แล้ว +1

    I absolutely love the deep dives into the code, amazing video!

  • @lostShadowLord
    @lostShadowLord ปีที่แล้ว +3

    regarding the pokemon never shown up, the type of array/list they used started a 1, but developers thought that it started at 0, hence the -1 part of the loop?
    guessing that they used two types of containers, or someone just made a mistake
    Edit, man didn't even think about the about the Random, just that why I stopped programming

  • @Andreatuzze
    @Andreatuzze ปีที่แล้ว

    bro your video content is actually insane, you are opening my eyes years after I've played this game

  • @trashboat4731
    @trashboat4731 ปีที่แล้ว +2

    Only ever saw the hiker twice in my life, amazing vid

  • @jasinfinity
    @jasinfinity ปีที่แล้ว

    This felt like Naegi was telling me how somebody committed a murder on a cable car with bad code or something.

  • @zanewinter777
    @zanewinter777 ปีที่แล้ว +3

    "8 minutes later"
    Ah yes, the cable car in a GBA Pokemon game 🚠

  • @Yipper64
    @Yipper64 ปีที่แล้ว +1

    interesting for sure. It almost makes me happy to see, as I do want to be a programmer someday, that even in the biggest games that impact many, there's little bugs here and there. So ill be fine.

  • @joshisgarage
    @joshisgarage ปีที่แล้ว

    seeing my favorite game get meticulously picked apart similar to Chickasauras, theZZAZZGlitch, and Crystal_ absolutely warms my childhood

  • @YuumiGamer1243
    @YuumiGamer1243 ปีที่แล้ว +1

    absolutely amazing video! Gen 3 is my favourite and most played gen and I never knew this was even a thing.

  • @iamthelamp
    @iamthelamp ปีที่แล้ว +1

    Got that Pokémon Snap soundtrack🥵

  • @Pinkietron
    @Pinkietron ปีที่แล้ว +1

    I had no idea the mountain pooch or zig were even a thing lol

  • @ENSIBDumb
    @ENSIBDumb ปีที่แล้ว

    I enjoy your editing in this video, and greatly appreciate how you display the music being played in video.

  • @kstanni87
    @kstanni87 ปีที่แล้ว +1

    This is still so obscure since most players only ride the cable car once because the plot requires it.

  • @PhilipMurphy8Extra
    @PhilipMurphy8Extra ปีที่แล้ว +1

    Finding new information about a Pokemon game is always worth watching.

  • @redspaceshipman287
    @redspaceshipman287 ปีที่แล้ว +4

    New Goppier video!

  • @sagacious03
    @sagacious03 ปีที่แล้ว +1

    Neat analysis video! Thanks for uploading!

  • @joernsaermark
    @joernsaermark 9 หลายเดือนก่อน +1

    Hey dude! Would love to see more from you. Your video's are great, and of great quality. Hope we will see more from this channel in the future 😄

    • @Goppier
      @Goppier  7 หลายเดือนก่อน +1

      Recently uploaded again after a year!

    • @joernsaermark
      @joernsaermark 7 หลายเดือนก่อน

      @@Goppier I saw! Great video as always 👌

  • @Nickname863
    @Nickname863 ปีที่แล้ว +1

    I am not sure how that specific language handles it but "%" is often implemented as a remainder operator, and not a modulo one. A remainder operator can return negative numbers, while modulo will never. (if it is c then it is a remainder operator).

  • @goteer10
    @goteer10 ปีที่แล้ว +1

    I thought something was weird about redoing the MOD operation for choosing spriteID, but figured that the function could just be doing something weird
    I was pleasantly surprised by your solution

  • @glitch4465
    @glitch4465 ปีที่แล้ว

    I remember seeing the camper on my cartridge back in like 2003/4. No one at school believed me that I saw it, I barely believed it saw it myself!

  • @cestrumnocturnum5075
    @cestrumnocturnum5075 ปีที่แล้ว +1

    I would ride the Cable Car so many times in a row, just to see what will happen. I remember talking to my friend about the Picnicker and the Hiker and he insisted it was a glitch on my game. I believed they were the trainers of the Jagged Pass walking around the mountain 🙃

  • @GymLeaderEllie
    @GymLeaderEllie ปีที่แล้ว

    so what i want now is for an addition to the code, so that if the npc goes the same direction as you, they appear in the cable car building when you arrive and give you rare items.

  • @LukeKhalidR
    @LukeKhalidR ปีที่แล้ว +2

    These videos are always so well put together and explained so clearly, nice one Goppier.

  • @loganmckee3582
    @loganmckee3582 ปีที่แล้ว +1

    Is the bit shifting in your solution really necessary? AFAIK modern compilers will convert integer multiplication/division into bit shifts under the hood whenever possible, so that seems like needless obfuscation. (Loved the vid-I'm just being nit-picky. 😛)

  • @RobChio
    @RobChio ปีที่แล้ว

    Looks like they forgot to compute a new rval after the initial modulus conditional operation

  • @JimmyGlasscock
    @JimmyGlasscock ปีที่แล้ว +2

    The editing in this video is fantastic

  • @derlummel8300
    @derlummel8300 ปีที่แล้ว +2

    Goppier upload day is a good day

  • @tiespoutsma
    @tiespoutsma ปีที่แล้ว +3

    YESSSSS ANOTHER VIDEO FROM THE GEN 3 GOAT

  • @Clank2237
    @Clank2237 ปีที่แล้ว

    the cable car support beams are now ruined for me, I can't unsee the light post

  • @BANANA3434
    @BANANA3434 4 หลายเดือนก่อน

    This is a great deep dive on an extremely minor thing, nice work.

  • @nakano15
    @nakano15 ปีที่แล้ว +1

    Nintendo seems to have been expecting players to use the Cable Car many times, but that little mistake reduced the amount of things the player can see during their travels.

  • @hurktang
    @hurktang ปีที่แล้ว +1

    Just go to with %63 and call it a day?
    I'll bet that the first coder had 3 npc %1 %2 and default.
    And another coder came and added the special npc %11 else %7 else %5 else %3
    And the 3rd coder came, and figured this was a bug, and they should all have the same chance to appear and ruined it on a %4 basis.

  • @graydonpeters9994
    @graydonpeters9994 ปีที่แล้ว

    Wow I thought I was crazy remembering seeing a hiker once when I was a kid, the green guy, love these videos

  • @lucasyoungers
    @lucasyoungers ปีที่แล้ว +3

    Would it be possible for you to make patches available for the requisite games? I would love to add this to my Emerald runs!

    • @Goppier
      @Goppier  ปีที่แล้ว +1

      Hopefully it's possible through multiboot, but I'll have to look into it first to be sure

  • @2810Mad
    @2810Mad ปีที่แล้ว +3

    I'm just commenting for the algorith

  • @AxZelAnimations30
    @AxZelAnimations30 ปีที่แล้ว

    I have a habit of looking on //Comments on a line of code if I can't remember the purpose and the -1 gave it >.>
    But wow I love how it was a bunch of if else statements.

  • @leboydusouth
    @leboydusouth ปีที่แล้ว +1

    I can't code why am I watching this

  • @UltraCenterHQ
    @UltraCenterHQ ปีที่แล้ว

    That ending really didn't have to have a sad soundtrack

  • @WaywardBird
    @WaywardBird 6 หลายเดือนก่อน

    I need to see what it looks like when the NPCs go up the mountain instead of down

  • @xphreakyphilx
    @xphreakyphilx ปีที่แล้ว

    My guess as to how this made it into the game, while testing the code they removed the "(rval % 64) == 0" to get it to trigger every time and didn't realize how the that bit of code breaks everything

  • @brandon-qy4jw
    @brandon-qy4jw ปีที่แล้ว

    One of the best uses of danganronpa music ive seen in awhile

  • @inconsistent_dg
    @inconsistent_dg ปีที่แล้ว +1

    the 3d transition you make at 1:20 is so cool!! how'd you make them?

    • @Goppier
      @Goppier  ปีที่แล้ว +2

      I first gathered footage of each background individually and made it transparent so you can see all of them stacked upon eachother. After I made it look like there was depth with the editing software to make it all seem like it's 3D!

  • @GamingLiveEnt457PH
    @GamingLiveEnt457PH ปีที่แล้ว

    Generation 3 games are always filled with Mysteries despite whether you Completed or Not

  • @RudyGGames
    @RudyGGames ปีที่แล้ว +3

    Very interesting stuff! How did you get the source code?

    • @Goppier
      @Goppier  ปีที่แล้ว +6

      There is a repo on github for the decompilation of emerald

  • @Ghostpepper326
    @Ghostpepper326 ปีที่แล้ว +2

    Any news on the gen 2 to 3 transfer project?

    • @Goppier
      @Goppier  ปีที่แล้ว +2

      Currently working hard on the update before release later this year

    • @Ghostpepper326
      @Ghostpepper326 ปีที่แล้ว +1

      Thank you! Very hyped!!

  • @CensoredMercy
    @CensoredMercy 11 หลายเดือนก่อน +4

    coming back ?

    • @Goppier
      @Goppier  7 หลายเดือนก่อน

      Just uploaded a couple days ago!

  • @DankyMankey
    @DankyMankey ปีที่แล้ว

    The feature of it was probably added very late into development and was likely rushed.

  • @dyedie1
    @dyedie1 ปีที่แล้ว

    Hmm… I think you could also use (rval % 5) % 2 for the npc direction selection, as the 5 possible modulo conditions for something divisible by 64 are 4, 3, 2, 1, and 0 (although that would trend towards going one direction more than another, it would still at least be a 60-40 chance). I would have probably made a more hacky solution for the spriteId variable by assigning an integer to (rval % 5) - 1, then making an if statement that ensures the assigned int is greater than 0 and manually assigns it to 0 if it’s not., then using that integer to select an index of the hikerGraphicsIds array. Your solution is much simpler and elegant, and follows coding conventions more accurately, that’s just my first thought if I came across a problem like this.

  • @combeferret
    @combeferret ปีที่แล้ว

    Amazing music selections!

  • @WindowsDrawer
    @WindowsDrawer ปีที่แล้ว

    The title made me really confused at first lol