Jump to content

Blogs

 

About me

Hello i am borjitasstoi and i m spanish you can figure out in how i express my ideas and my poor grammar Im 22 years old Since 5 years i was studying about computers still i dont have the title I like pokemon like each other in this place about my personality somatimes my tone are blamant or rude but i m not sarcastic its my way how express simply this is me i like decided people smart and people like videogames like me but i m open from other people are not connected in my interest my dislikes its sarcastic people undecided people and bully people because basically that people are so mean makes rant and flame of everything i walk everyday around 2 or 3 hours per day i dont have any phobia but my mind sometimes are so close because simply dont understand you are different than me i want understand you i recognized with asperger's syndrome but i can talk with other people with any problem simply i dont have fantasy world because i living in real life then i am adult for that childish things i am hightly sensitive person but not means you can tell me something i need to change for be better i like psicology and thats why i like  analyze everything i m direct express my ideas and how talk dont take me i m critize you or i m flaming you thats why if you are sensitive person sorry i am so bad talking things in other way i need training for that i dont need anyone help me in my "autism" because i know how works my mind and i know what is my advantages than neurotypic people
 

Mario VS Lugi

What do u like the most please tell me  Mario or Lugi i prefer Mario because he is a really good character to play with and that i also think that Lugi is a weird character to play and that i do not like him that much i am not that interested in him  
 

New Usage Guide

I've written a new tutorial for how to use the ROM editing capabilities. Unlike the previous one on GitHub, this one has lots of screenshots, and is far more in-depth.  
 

Crash Fix

I fixed the crash I reported a few days ago: I'm not 100% sure why it was an issue in the first place, but one of the characters must work a little differently than others, so substituting animations broke something. Download

evandixon

evandixon

 

Crash with PSMD Animation Substitution

Remember last week's blog post? Turns out it causes a crash during the final boss battle. I'm working on fixing it, and everything should work fine until the final boss battle, but everyone should be prepared to recreate any starter modification projects made since I announced the new feature: It has something to do with substituted animations, and that's all I know. No idea why this is an issue yet.

evandixon

evandixon

 

PSMD Animation Substitutions

User-friendly interface over vague, impossible-to-guess-without-documentation step I have a new build of Sky Editor's ROM editor available that adds some fun new features. First up is the new wizard you can see above. This should make the whole process more user-friendly (I hope). At the time of posting, there is a glitch where the Finish button won't be enabled when the extraction is complete, but this can be worked around by clicking Back then Next. The second feature is the addition of PSMD substitute animations in the starter project that was hinted at 2 months ago and showcased in the Mystery Dungeon Hacking club. The demonstration shows major spoilers, so if you haven't played the game, you should not follow this link here. As always, please let me know what you think or if you encounter any issues. Download Usage Guide

evandixon

evandixon

 

Changing PSMD Animations

Yesterday, I managed to extract models and animations from pokemon_graphic.bin, so they can be viewed with standard 3DS model viewers. Today, I did the next logical step, and wrote code to change these animations. Observe: I don't have special builds ready just yet, but if you're a developer who's anxious to make changes, I have some sample code here. (That link might be dead if you're reading this a week or so after this post was published.)

evandixon

evandixon

 

FARC Files and Pokemon Models

Since the release of Pokémon Super Mystery Dungeon, it has been unknown how a proprietary archive file called FARC linked filenames to files. It functions like a hash table, where the game gets a filename somehow, does something to hash the filename, then corresponds that with a file. Until recently, the somehow and something have been unknown. Editing files in these archives required either putting up with the lack of filenames, or somehow knowing which filenames corresponded to which hashes. A little over a month ago, I discovered the something was a simple CRC32 hash. While I previously tried this hashing algorithm, I was unaware that in the files I was testing, the somehow involved appending a ".bin" file extension to the end of a file. While it is not possible to determine the filenames of files, it is possible to infer filenames from other parts of the game, and use coding and algorithms to match them to the appropriate file. Knowing how to do this makes it possible to do so much more with Pokémon Super Mystery Dungeon. The first practical application of this was updating Sky Editor's starter editing project to replace placeholder Pokémon portraits with the default emotion. This makes it so that when one plays the game as a non-standard starter, the game no longer shows emotions like surprised without the face of that Pokémon. The next practical application that is planned is to start substituting certain story-related models. For example, right now, when a non-standard Pokémon sleeps in a bed, the default attack animation is used instead. The player Pokémon just can't get a good night's sleep apparently. I hope to change that soon by substituting that animation with the sleep animation used in dungeons. If model behavior in Ohana3DS is any indicator, things should work out well. That is as long as the correct animation is used. Things can get amusing if the wrong one is used: A Zorua, using Riolu's walking animation While seeing this in-game will take more work, I've have a new build of Sky Editor that comes with support for extracting pokemon_graphic.bin with all the filenames. This is only useful for researchers or those who want to play around with models with Ohana3DS or SPICA or something. Basic instructions can be found here, and look for the new PsmdPokemonGraphicsProject project, which can repack the pokemon_graphic.bin file for anyone who's brave enough to try manual model edits. Download it here. [Edit] Updated the build link to fix a memory leak. I don't think I mentioned it before, but you'll need 1-2 GB of free RAM because using all the RAM makes things go like 10x faster. I didn't do any actual measurements, but that's what it feels like at least.

evandixon

evandixon

 

The relationship between Shiny Pokemon and their TCG variations.

Author's Note: This is just a fun opinion piece, with very little facts substantiating my claims. More of a 'speaking from my experience' type of thing.

Back when Neo Destiny was first up for purchase on my sunny little island, I was excited. Finally, the return of the Dark Pokémon, and also the introduction of Light Pokémon!
Unbeknownst to me at that time, Shining Pokémon was also a secret part of the expansion. When I pulled my first Shining Celebi from a booster pack, I was thrilled to bits!
But something felt pretty off to me: why does this card even exist?
Image source. Chose this image, cause it shows the glittering effect. Shining Gyarados was in Neo Revelation possibly due to it's prominent role in the story of Gold, Silver & Crystal at the Lake of Rage. Heck, Neo Revelation's expansion symbol, booster artwork, and also card artworks heavily features the Legendary Beasts roaming throughout Johto (which potentially shows that the TCG was following the games or anime lore closely).
All the other shinies in Neo Destiny can be encountered in-game (plus Shining Noctowl was also possibly referencing Ash's Shiny Noctowl in the anime), so why does the Shining Celebi card even exist, given it couldn't be encountered in-game?

Of course, since I was then only exposed to the English/International versions of both the TCG and Pokémon Crystal, it was natural that this question weighed on my mind, as the card's existence was lacking context. Context that could have been much more clearer to me if I was living in Japan.
Pokémon Crystal in Japan has connectivity to the now defunct Mobile System GB service, which updates an in-game message board every month.
Between the months of April and May of 2001, the message on the news machine will be updated to show something that translates to "The present which exceeds time" 1.
It was only for that period, that players will receive the GS Ball, and that can only occur after you beat some mini-game and quiz, which was only possible with a game save that has all 16 badges.
Now, Neo Destiny was released in Japan in March 2001 2. In this timeline underlined, this card could have easily been foreshadowing the fact that players have a chance to get Shining Celebi in Ilex Forest via the event.

And before anyone points out to that "Hey, the expansion before it, Neo Revelations, already had Celebi in it", I will like to in turn point out other key date's along our timeline:
1. Players in Japan could first receive Celebi on their copies of Gold and Silver at a real life event in August of 2000 3.
2. Neo Revelation in Japan was released in November 2000 4.
Given how these events typically goes, the DVs are likely fixed, hence said previous event would have yielded only non-shiny Celebi.
Hence based on the timeline above, players likely already knew of the existence of Celebi, but probably never seen a Shining Celebi (without hacking), not until that Shining card was first released.

At this point, some of you may be thinking "So what?". To answer that, here is a currently unavailable Shining Pokémon that was showcased officially by the TCG before it was released to the games.
Image source. Once again, I chose this image, cause it shows the glittering effect. The expansion Shining Legends was released July 2017 in Japan 5, and it was the first time in years they brought back the "Shining" prefix to the TCG series.
Curious enough, Shining Volcanion was given a card when a distribution for it's equivalent in the core series games have yet to be done.
And as of the date January 2018, players have yet to receive a Shining Volcanion in-game, to go with the card.

In recent years, it is not uncommon to have a "Shiny lock" broken for the game, and be commemorated by a close release of the TCG equivalent:
1. Shining Tapu Koko event was first released to Japan in March 2017, with the card equivalent (GX and standard) available concurrently
2. Shining Xerneas and Shining Yveltal common serial code event ran unceremoniously in October 2016, and the cards was obtainable in July 2016
(international versions got the Shiny Kalos Tins and the game variants pretty much concurrently, I may add.)
3. Shining Genesect event released in Japan July 2013 to promote the movie, and the promo cards was released concurrently.

Additionally, such types of TCG and event gift tie-ins have been occurring for other shinies as well:
1. Shiny Silvally Event being Sep 2017 in Japan, and it's card released in the same month (GX and standard)
2. Shiny Rayquaza Corocoro Event and the TCG campaign running concurrently in March 2015.

It is possible for me to list non-shiny examples, to show other tied releases between TCG and events (Zoroark for EX Breakpoint, Lycanroc for Guardians Rising, Salazzle for Burning Shadows), but a bulk of these are non-Japanese, so I am not sure how relevant it would be to refer to it, when typically Japanese events breaks the shiny lock first. But of course, with any opinion piece, lies examples that tears through the flawed logic.
For example, TCG alternate colored cards that did not get a game gift mirroring it's release in close proximity (random shinies like Blastoise from BW era, or Shining Arceus from the same Shining Legends expansion mentioned above, or even the limited edition Corocoro Shining Mew card from Neo Destiny era, Red Gyarados in EX Breakpoint).
Or perhaps core series Shiny events that did not get a corresponding card mirroring it (Shiny Arceus's first release in Japan, Shiny Diancie in Japan, Shiny Jirachi event in Japan etc)

In any case, as flawed as my logic may be, it still seems rather odd that in this era that games and cards are intimately mixing, that a card would break the shiny lock,
but not have a corresponding event following it closely. I certainly do hope that an event for it is coming soon, as unlikely as that may be.
So what do you think? Do leave your comments below!

In any case, it may not be possible to get a Shining Volcanion any time soon, but if you want to obtain your very own Shining Celebi, it may be possible to get one with the upcoming Virtual Console release of Pokémon Crystal! Grab a copy on January 26, 2018!
  Text Sources:
1. Regarding Celebi GS Ball Event dates. (link)
2. Regarding Neo Destiny's Japanese name and launch dates. (link)
3. First known Celebi event in Japan (link)
4. Neo Revelation launch date (link)
5. Shining Legends launch date (link)

theSLAYER

theSLAYER

 

Adventures in C#: The dragon strikes back

At the company at which I work, we have this legacy application written in C#. (It's different from the one written in Classic ASP.) Let's call this the dragon. It's old, it's previously defeated many brave knights, and its name is an acronym that shares a letter or two with the word "dragon". The dragon is responsible for breathing fire to defend the village from intruders. (It uses coding and algorithms to do Things to Products because of business logic. While the details aren't important, I doubt I could say what it does beyond giving a brief overview of what it looks like to an outside observer.) However, the dragon also has this habit of attacking the knights who control it, so we need a new village gaurdian (the dragon is composed mostly of spaghetti code, and if we are ever to replace it, we need to understand how the spaghetti works). And so, a week or two ago I undertook a challenging task: to shrink the dragon so it'll fear the knights again (to refactor things to make it more readable). Armed with a mouse, keyboard, and the support of a fellow knight (a coworker who's dealt with this application before), I got to work so I could deal a mighty blow to the dragon. (Disclaimer: this post contains a lot of technical C# stuff that can't all be hidden behind dragon metaphores. Hopefully anyone who's not a programmer can still follow.) On my journey of code cleanup, the dragon presented many obstacles. A lot of it was superfluous spacing, redundant comments, and generally painful code, like so: //// //// Configure processing /// this.ConfigureProcessing(); //// //// Do the thing //// try { this.DoTheThing(); } catch { // eat it } if (this.SomeProperty == SomeValue) { // throw new SomeKindOfException(); // this was commented out // to-do: figure out why this was commented out } To make it even better, this.ConfigureProcessing does nothing and is referenced nowhere else, meaning we can easily remove most of the above. Also you should never ever ever ever ever catch an exception without handling it somehow. It will cause pain further down the line (but not in this blog post). If nothing else, log it somehow. Taking all of that into consideration, I reduced that code to this: try { this.DoTheThing(); } catch (Exception ex) { Trace.WriteLine($"Got an exception in TheType.TheFunction: {ex.ToString()}"); } There were also some things outside of general cleanup that I did. Imagine a class like this: public abstract class Magic : IAlgorithm { private string spellName = "Alakazam"; public string SpellName { get { return spellName; } set { if (value == null) { throw new ArgumentException("SpellName can't be null"); } spellName = value; } } private IWizard wizard = null; public IWizard Wizard { get { return wizard; } private set { if (value == null) { throw new ArgumentException("Wizard can't be null"); } wizard = value; } } #region IAlgorithm Methods public void SetWizard(string wizard) { this.Wizard = wizard; } public void Cast() { if (this.Wizard == null) { throw new Exception("Cannot call Execute before SetWizard"); } this.PerformMagic(); } #endregion protected abstract void PerformMagic(); } Not shown: 20 or more classes that inherit from this My fellow adventurer made the observation that the only times SetWizard was called was right after constructors of child classes, kinda like this: public Magic GetMagicInstance(string magicType, string spell, IWizard wizard) { Magic magic = null; switch (magicType) { case "white": magic = new WhiteMagic() { Spell = spell }; magic.SetWizard(wizard); case "black": magic = new BlackMagic() { Spell = spell }; magic.SetWizard(wizard); case "lost": LostMagic magic = new LostMagic() { Spell = spell }; magic.SetWizard(wizard); } return magic; } // Somewhere else calls magic.Cast after all instances of Magic have been created So using this knowledge and the knowledge of new C# features, we made the appropriate changes everywhere to make the class (and related classes) look like this: public abstract class Magic : IAlgorithm { public Magic(string spellName, string wizard) { SpellName = SpellName ?? "Alakazam"; Wizard = wizard ?? throw new ArgumentNullException(nameof(wizard)); } public string SpellName { get; } public IWizard Wizard { get; } #region IAlgorithm Methods public abstract void Cast(); #endregion } They say that if it bleeds, you can kill it. The dragon was certainly bleeding, if the code review tool was anything to go by: there were red lines (removals) all over the place in the pull request (Git terminology basically meaning we're publishing our changes). Two other knights in our party came to inspect our triumph (they reviewed the code to make sure it was done right). When it was all over, a total of 4 people (2 of us were involved in the refactoring) thoroughly reviewed everything and approved. Then we released the changes to be applied to the dragon down in the village (along with some other minor quality-of-life changes). About a week later*, one of the villagers called for help because the dragon that's supposed to defend the village was unable to breathe as much fire (a user opened a support ticket because the Things being done to Products weren't being done correctly). I was skeptical that any of my changes would have that effect. After all, when I shrunk the dragon, I made sure to quintuple-check my changes before releasing it to make sure its fire breath was as unchanged. So I investigated for a few hours to find out why. I ruled out places that could have been affected and was thoroughly stumped. That's when my fellow party member used his influence with the king to learn the secrets known only to the villagers (he used his higher permissions to debug the application, reading data from the production database). That's when I spotted the issue. Remember that constructor in the Magic class that was created? Take another look at the SpellName assignment: SpellName = SpellName ?? "Alakazam"; That should be: SpellName = spellName ?? "Alakazam"; In C#, variables are case-sensitive, so the property was being assigned to itself, and all Magic classes (WhiteMagic, BlackMagic, LostMagic, etc.) all only used the Alakazam spell. No wonder the flames were weak! We fixed the issue, and gave the villagers a dragon capable of properly defending them, and spent the rest of the day identifying how many intruders snuck into the village while the dragon was powerless to stop them (we had to find out which Products didn't have the Thing done properly). Conclusion Case sensitivity can potentially lead to a lot of pain and suffering. In this case with the constructor, that's standard practice in C#, and it's perfectly understandable that no one caught that one mistake, especially since it's just one letter in commit full of thousands of other changes. The tooling didn't catch it, because it checks for useless assignments. This wasn't useless, it says "make SpellName be Alakazam if it's null". Always be careful of casing when variable names are similar. * I massively simplified a lot of things. While a week is probably a bit long to go without noticing anything wrong, there's reasons. Also it didn't affect everything, because it just broke some hacks that are there because business logic.

evandixon

evandixon

 

ROM Editor Patcher Fix

For about 8 months, the latest build of the ROM editor had a fatal error in the patcher, used when building a ROM from a project. I put off fixing it because it required updating and cleaning up all of the ROM Editor's dependencies, but today I finally got around to it. Look here for the Usage Guide, which should work with the latest version. Download (Build 53)

evandixon

evandixon

 

Java!

We have decided that this game will be developed using Java! Hopefully this allows for more flexibility when it comes to platform support. Anyways we are going to use Java for our game, The Java IDE has a lot of features and even for features it doesn't have there is probably a library you can download for it. Thou because using this takes more steps than GameMaker the game will expect longer development times. And the development times are already going to be long, Because I want the story to make sense and I don't want to spoil the original story I am going to remake the original story and add our story to the end of that. It's going to take a while, yes, but in the long run it will have been worth it! 

WolfHybrid23

WolfHybrid23

 

Just some news.

Hello guys, Just so you know, the original topic was locked because I was "Spamming".... So here is where future update news and other stuff will be posted. So news wise, I am not working on the game just yet. I joined a project for an Undertale fan game called Underfalls. The GameJolt to that page can be found here. Hang tight I promise that I will finish this game!

WolfHybrid23

WolfHybrid23

 

Sky Editor Build 35 & Poll

I have a new development build of Sky Editor ready. Since Build 33, the following changes have been made: Add: UI for editing held items in Friend Rescue Add: Controls for parameters for adding new items are enabled or disabled as appropriate Fix: New held items aren't saved Download (Log in as a guest if prompted) There's a lot that needs to be done before the next version of Sky Editor can be fully released. However, I intend to keep releasing development builds until then. If there's a particular feature you'd like to see in a development build, please vote in the poll or leave a comment below.

evandixon

evandixon

 

Sky Editor Build 33

I'm working on releasing a new version of Sky Editor at some point. I currently have no ETA, because the new version will come with a pretty heavy refactor, and things are currently a bit unstable. However, I have a development version ready for anyone who wants to try the latest features.  This version (Build 33) comes with the following enhancements to inventory management for PMD: Explorers of Sky save files: View and Edit the stack size of stack-able items like sticks and rocks View and Edit the contained item of a box View and Edit what a Used TM used to teach   Disclaimer: Back up your save files before using this. This may corrupt saves for PMD: Explorers of Sky, and this will corrupt saves for PMD: Red and Blue Rescue Team and PMD: Explorers of Time and Darkness. Use this at your own risk. Download (Log in as a guest if prompted for login) If you encounter any problems, please let me know by commenting on this blog post, opening an issue on GitHub, or by sending me a PM.

evandixon

evandixon

×