• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Compressing Game Data of Essentials Games

302
Posts
13
Years
  • Seen Aug 25, 2014
Hello there. Currently, I'm having some issues in distributing the game I made with Pokemon Essentials.

For typical RPG maker projects, it's a matter of compressing the game data and creating an encrypted archive to create an executable that will allow other people to play your game. What I am wondering, then, is if there is a special way you need to do it with Essentials projects?

The reason I'm asking is because the first time I tried to compress the data of my project, with "create encrypted archive" checkmarked, the output had multiple problems, mainly with graphic files not appearing (the windowskin) and a slew of other issues that were not present with the unencrypted file.

Any help is appreciated.
 

D. Lawride

Audi Famam Illius, Scriptor!
577
Posts
14
Years
Hello there. Currently, I'm having some issues in distributing the game I made with Pokemon Essentials.

For typical RPG maker projects, it's a matter of compressing the game data and creating an encrypted archive to create an executable that will allow other people to play your game. What I am wondering, then, is if there is a special way you need to do it with Essentials projects?

The reason I'm asking is because the first time I tried to compress the data of my project, with "create encrypted archive" checkmarked, the output had multiple problems, mainly with graphic files not appearing (the windowskin) and a slew of other issues that were not present with the unencrypted file.

Any help is appreciated.

I know I'm not really helping here, but I'm subscribing to the above post. I'll add that I've had those problems and a lot more, such as no sound in spite of the presence of the Audio folders, no ability to save (somehow retconned in more recent releases, but still present for many users).

What I can tell to help is that you should include a folder called graphics containing only the Windowskins folder. This restores the windowskins completely.

I'd like some help with these issues too, as they were the greatest pain I've had when it came to releases (check Nightmare's 1.4 if you the patience just so you can see how badly it was).
 

~JV~

Dev of Pokémon Uranium
684
Posts
16
Years
I've made many releases of my game already and never had any problems with the compression (I always used a 2008 essentials version though).
 

D. Lawride

Audi Famam Illius, Scriptor!
577
Posts
14
Years
Do you guys use a legal version of RMXP?

Yes, but regardless, I don't think the two are related, because other projects I've exported worked perfectly in those senses. So it narrows down to something to do with Essentials itself.
 
302
Posts
13
Years
  • Seen Aug 25, 2014
I've made many releases of my game already and never had any problems with the compression (I always used a 2008 essentials version though).

Then the problem, as lawride stated, may be connected with the new release, and to whoever asked whether we use the legal version of RMXP, yes I do. >_>
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
Can you be more specific about what problems you're getting? Which pictures aren't showing, etc.?

Can someone else try compressing/encrypting a game, to see if they get problems too?
 
302
Posts
13
Years
  • Seen Aug 25, 2014
Okay, I tried compressing the game data again. When I extracted the exe file, I recieved this error:
pokeessentialsProblem_1.png


Then, I went back and deleted some of the music files that were in my project, and compressed again. Behold, the game successfully extracted from the executable and worked semi-perfectly.

I say semi-perfectly because it still caused some errors. Namely with attack animations, as while the animation plays for attacks initiated by a Pokemon in your party, the animation initiated by the enemy doesn't. It may be a simple fix, however. Most of my battle animations are set to "middle" instead of "screen", but before I compressed it worked either way.
 

FL

Pokémon Island Creator
2,443
Posts
13
Years
  • Seen Apr 16, 2024
The default compressing system is also very weak, try to use something like this: http://www.pokecommunity.com/showthread.php?t=239535
Can you be more specific about what problems you're getting? Which pictures aren't showing, etc.?

Can someone else try compressing/encrypting a game, to see if they get problems too?
I use the 04/03/10 version that the windows problem. The easy fix is to change these .txt folder to one out of Graphics folder.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
I just tried compressing the latest version of Essentials, and it seems to work fine, except for the misshapen text boxes which is a known problem.

I'll look into CollosalPokemon's compression, to see if that helps any. Game compression is a very strange thing, and it really shouldn't be breaking things but it does.
 

FL

Pokémon Island Creator
2,443
Posts
13
Years
  • Seen Apr 16, 2024
I finally manage to fix the Windows issue! You only need to define the skins in script rather that the txt files on Graphics folder.
Search for "def loadSkinFile(file)" on SpriteWindow Script. Change the
Code:
 def loadSkinFile(file)
  begin
    data=load_data(file).split("\n")
    # Body = X, Y, width, height of body rectangle within windowskin
    bodyRE=/[Bb]ody\s*=\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*(\-?\d+)\s*/
    # Trim = X, Y, width, height of trim rectangle within windowskin
    trimRE=/[Tt]rim\s*=\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*(\-?\d+)\s*,\s*(\-?\d+)\s*/
    for line in data
      if line[bodyRE]
       @skinrect.set($~[1].to_i,$~[2].to_i,$~[3].to_i,$~[4].to_i)
      end
      if line[trimRE]
       @trim=[$~[1].to_i,$~[2].to_i,$~[3].to_i,$~[4].to_i]
      end
    end
    privRefresh(true)
  rescue Errno::ENOENT, Errno::EINVAL
    # ignore
  rescue
    raise
  end
 end
to
Code:
 def loadSkinFile(file)
  if(file.to_s.size>29)
   name=(file.to_s[0,file.size-4])[25,20]
   if(name[0,7]=="textbox")
    # Body = X, Y, width, height of body rectangle within windowskin
    @skinrect.set(32,16,16,16)
    # Trim = X, Y, width, height of trim rectangle within windowskin
    @trim=[32,16,16,16]
   else  
    case name
    when "rstextskin"
     @skinrect.set(32,32,16,16)
     @trim=[32,16,16,48]
    when "rstextskin2"
     @skinrect.set(32,16,16,16)
     @trim=[32,16,16,16]
    when "frlgtextskin"
     @skinrect.set(32,32,16,16)
     @trim=[32,16,16,48]
    when "emtextskin"
     @skinrect.set(32,16,16,16)
     @trim=[32,16,16,16]
    end
   end  
  end
 end
or
Code:
 def loadSkinFile(file)
  if(file.to_s.size>29)
   name=(file.to_s[0,file.size-4])[25,20]
   case name
   when "rstextskin"
    # Body = X, Y, width, height of body rectangle within windowskin
    @skinrect.set(32,32,16,16)
    # Trim = X, Y, width, height of trim rectangle within windowskin
    @trim=[32,16,16,48]
   when "rstextskin2"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "frlgtextskin"
    @skinrect.set(32,32,16,16)
    @trim=[32,16,16,48]
   when "emtextskin"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox0"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox1"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox2"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox3"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox4"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox5"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox6"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox7"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox8"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox9"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox10"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox11"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox12"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox13"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox14"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox15"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox16"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox17"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox18"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   when "textbox19"
    @skinrect.set(32,16,16,16)
    @trim=[32,16,16,16]
   end
  end
 end
 
Back
Top