[XP] Resource Tester

Started by Blizzard, January 09, 2008, 04:10:08 pm

Previous topic - Next topic

Blizzard

January 09, 2008, 04:10:08 pm Last Edit: March 23, 2019, 11:43:28 am by Blizzard
Resource Tester
Authors: Blizzard
Version: 1.1
Type: Time-and-Space saving Utility
Key Term: Game Utility



Introduction

This script will search through your database and your maps for resources that are being used. It will create a list of the resources used in your game.

This work is licensed under BSD License 2.0:
Quote
Copyright (c) Boris "Blizzard" Mikić
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1.  Redistributions of source code must retain the above copyright notice,
    this list of conditions and the following disclaimer.

2.  Redistributions in binary form must reproduce the above copyright notice,
    this list of conditions and the following disclaimer in the documentation
    and/or other materials provided with the distribution.

3.  Neither the name of the copyright holder nor the names of its contributors
    may be used to endorse or promote products derived from this software
    without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.


You may use this script for both non-commercial and commercial products without limitations as long as you fulfill the conditions presented by the above license. The "complete" way to give credit is to include the license somewhere in your product (e.g. in the credits screen), but a "simple" way is also acceptable. The "simple" way to give credit is as follows:
Quote
Resource Tester licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikić


Alternatively, if your font doesn't support diacritic characters, you may use this variant:
Quote
Resource Tester licensed under BSD License 2.0, Copyright (c) Boris "Blizzard" Mikic


In general other similar variants are allowed as long as it is clear who the creator is (e.g. "Resource Tester created by Blizzard" is acceptable). But if possible, prefer to use one of the two variants listed above.

If you fail to give credit and/or claim that this work was created by you, this may result in legal action and/or payment of damages even though this work is free of charge to use normally.



Features


  • finds all resources used in your game
  • incredible speed: searching trough a game with over 300 maps is a matter of just seconds
  • optional feature to list all actors, skills, weapons, armors, items, enemies, troops, states, animations, tilesets and common events that are never being used anywhere in the game and only log all the used data

v1.0b

  • fixed the typing mistake that would cause adding the skill with ID 1 into the logged skills instead of the real skill when the script was processing a "Force Action" event command
  • rewritten conditions using classic syntax to avoid RGSS conditioning bug
  • now beta

v1.01b

  • fixed glitch where changing a Battle End ME would be logged as SE
  • improved coding

v1.02b

  • fixed bug caused by a typing mistake

v1.05b

  • fixed other potential bugs

v1.1

  • added new license
  • added usage and crediting instructions




Screenshots

N/A for this sort of script


Demo

N/A


Script

Just make a new script above main and paste this code into it.
Script Download


Instructions

This script is totally Plug 'n' Play: Copy paste the code in a new script slot OVER ALL the other scripts you have, run your game and after the window closes, remove the script again. Voila! It's done!
More specific instruction inside the script in the first comment!


Compatibility

Compatible with anything, even the SDK 2.x (because it gets overriden). Will not search for script required resources.


Credits and Thanks


  • Boris "Blizzard" Mikić



Author's Notes

If you use a system where you have more than one start location for the game (i.e. a separated mode with a different storyline) and want to turn DEEP_TESTING on during the testing, then just put in the starting map a dummy event with teleport commands to the starting maps of the other game modes.

If you are using DEEP_TESTING, be careful, since teleport commands that use a variable to determine the new map ID can't be tested. Do as you would with with different game modes: Create dummy events.

Auto-start and parallel process common events will be automatically logged from the beginning.
   
The best moment to use this script is just before you are going to compile and encrypt the game data. If you want to use it for resource cleaning, turn off DEEP_TESTING.

If you find any bugs, please report them here:
http://forum.chaos-project.com

That's it! N-Joy! =D
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Calintz

This is a very nice utility.

Nortos

this script saved my demo 40 mb :P

Calintz


Fantasist

I tried making a pre-loader by modding this script, caching ALL the graphics before starting the game, Gamemaker style. Just for fun. I failed, but barely, maybe I'll try some other time.
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Blizzard

Actually it would be very easy. At the end you should have a list of all resources. Simply use that array of strings to cache them.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Fantasist

That's what I tried, but I was half asleep then. Problem was with seperating the Audio folders. Is it even a good idea?
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Sally


Blizzard

You don't have to cache audio, so why separate them? Everything besides ogg files is cached automatically. ogg are always loaded upon playing, you can't change that.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Fantasist

No, I mean to use RPG::Cache.load_bitmap(file) in the iterator, so that's not appropriate. Am I missing something?
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Blizzard

There no other way to do it anyway. >_>
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Fantasist

Of course, oh well. Hey, can you do use the fileutils.rb and move the RTP files into the project folder?
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Blizzard

You actually can, but it ain't funny that way. :D
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Fantasist

lol! I'll give it a shot either way. Now, or some other time.

*updates to-do list*
Do you like ambient/electronic music? Then you should promote a talented artist! Help out here. (I'm serious. Just listen to his work at least!)


The best of freeware reviews: Gizmo's Freeware Reviews




Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Calintz

This isn't much, but I still say it's an awesome script. Anything that can help reduce the overall file size of your project is amazing!!

Holyrapid

I AM EXTREMELY SORRY TO NECROPOST LIKE THIS!
But a friend/fellow member at another forum, RPG Maker Finland, wanted to use this with VX, but it was incompatible, so he asked me to ask some one here to make a VX version for this.
So, could someone do it? It would probably help many VX users...

Blizzard

It shouldn't be complicated. If somebody wants to do it, go ahead. That person would mostly only need to change the data structures that are checked and a few of the variables that are checked.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Storm

You are the best after all Blizzard.. XD
(Are you going to beat XAS? MogHunter is better in ABS.)
I was working on the game called The Orion.
It would be nice if you can join our small community by sharing a little by little scripts/ideas at The Orion Forum

I am: RPG Maker XP Scripter
Project Working On: The Orion MMORPG Game, visit The Orion Forum for more information!
Visit my: Deviantart

LEVEL ME UP OR ELSE LEVEL ME DOWN, IT'S EASY! XD


Blizzard

Have you even tried the latest version of Blizz-ABS before you said that?
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.