Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

I BADLY need a Require / Tree Docs utility for all of my scripts ;_;

Good day everybody!

I need some help, as I've started doing alot of Library development in getting ready for a project I'm starting, I find the scripts for individually LARGE systems spanning different projects. Yes, I put them in different projects for the simplicity of needing space to spread them out class by class, module by module, and easily be able to find/edit parts I need to change in coding.

However, alot of the projects for BIG systems carry over alot of different BASE scripts, such as but not limited to SDK/MACL parts, but also for compatability sake I port over my Menu Syst, Message Syst, Battle Syst, other misc scripts as well at times too. This can be troublesome, as copying all this stuff over between projects can get messy and I need a require tool for it. I have alot of problems with mixing old versions with new versions, with something like this I'd be able to test/prevent version upgrade errors.

Here, I'll show you an example of script libraries, its absolutely overwhelming (and I'm not done...)

Default Classes (70, 86 if you Scenes)
..Game objects (23)
..Sprite(set) objects (6)
..Windows (31)
..Arrows (3)
..Interpreter (7)
..Scenes (16)
SDK Parts (34 default, 21 by me)
..SDK Part 1 (1 Script)
..SDK Part 2 (12 by default, 6 more new by me)
..SDK Part 3 (16 by default)
..SDK Part 4 (5 by default, 5 more new by me)
MACL (70 individual, 12 by me)
..Ruby (15 by default, 4 more new by me)
..RGSS (22 by default, 6 new by me)
..Classes (13 by default)
..Modules (12 by default, 2 by me)
..Systems (8 by default)
CMS Settings
..CMS
..CMS::Audio
..CMS::BarColor
..CMS::Color
..CMS::Windowskin
CMS Scenes
..CMS::Menu
..CMS::Item
..CMS::Skill
..CMS::Equip
..CMS::Bestiary
..CMS::Party
..CMS::File
..CMS::Shop
..CMS::Battle
CMS Windows
..Window_Base
..Window_Selectable
..Window_Command
..Window_Target
XMS Parts
..XMS
..Window_Message
..Window_MsgName
..Sprite_MsgFace
..Scene_Map
..Scene_Batle
System Objects
..Game_MapLog
..Game_MapLogs
Modified Classes
..Game_Map
..Game_Screen
..Scene_Map
..Scene_Title
..Scene_Save
..Scene_Load
System Objects
..Game_BattleLog
..Game_BattleLogs
Modified Classes
..Game_Battler
..Game_Actor
..Game_Enemy
..Game_Party
..Game_Troop
..Scene_Battle
Add On's Total (51)
..Battle (10)
..Debug (4)
..Character (5)
..Event (2)
..Player (8)
..Map (6)
..HotKey (2)
..Skills (3)
..States (4)
..Systems (8)

In my test bed, I'm wanting it to be nearly completely blank except for the Require script. See how they're branched by spoiler, and its already like "Damn...!", then you open up the spoilers and its like "HOLY SHIT!"! Well thats what I need a common .rsc file for, so I can simply do...

Code:
require "Defaults"
require "SDK"
require "MACL"
require "CMS"
# ...etc.

I need to be able to take the most updated versions of each of these systems (from their individual projects), and paste them into this one common Require library, that way I can just test them all on my common Test Bed and require/remove them with a simple "require ???"

I do know that Yeyinde DOES have something for this, but its useless to me without the Yeyinde RSC Editor tool (the download is expired), and I've asked a few users for this for a few months now, nobody has the tool anymore. If Yeyinde's RSC Require script/tool are both still functional, then that is what I'd like to use. If its not, then I only prey that someone will read this request and make a tool for me!

PS : If somebody could create me my own Require tool, with tree docing capability, they'll be extra specially rewarded. I will send you ALL of my work to-date and you're free to use it in your project(s) :thumb:

If not, I'll still send whoever gets me a working RSC Require Editor my project for providing me with it :thumb:
 
Can you further explain what this tool does?

From an application standpoint, what would such a program need to do for you?

What is your 'test bed' you refer to, is it a project you use to test each system?

Information would be helpful for those interested.
 
Thank you tibuda, I'm checking it out right now, I'll probably use this but thats not what I was needing, Indeed it works great for rxdata files but it doesn't do anything with Yeyinde's .rsc require files.

Basically, Yeyinde had a RSC Require tool, which allowed you to store whole Libraries of scripts (Seph used to use it to package the SDK/MACL with). See, you can go to the topic and get the script but its useless unless you have the RSC File Editor, and Yeyinde's link is broken. This is something I need, because as I move on my systems get bigger and bigger, so big I have to branch them out class-by-class to even properly edit and keep track of them anymore. Here's a good example of what I'm talking about...

http://i224.photobucket.com/albums/dd288/Kain_Nobel/ExampleofScriptPage.png[/img]

Everything is branched out and this is done on purpose so I can work on it and find things easily, but at the same time be able to clear my Test Bed's editor down to nothing, then I can just 'require' individual libraries / scripts, then of course have all the stuff I'm actually working on in front of me. Anything that physically being worked on at the time would be in my real Scripts.rxdata, but everything that I not be bothered with would be in this RSC file and out of sight. The stuff in the Scripts.rxdata and the .rsc file would both be active during gameplay, and would still point out errors in both editors, but one would be just for storing finished scripts, the other would be for working on scripts.

Instead of physically adding/removing each script from my physical library, it'd be in the file, then I'd have one Script page for active scripts, I'd just 'require' them into my library, they'd be there they just wouldn't be taking up hundreds of pages in my editor anymore. Plus, if I wanted to disable one of my required libraries during a test, instead of having to physically remove the entire thing, or do a =begin =end to disable them, I'd just comment out the #require ??? line that required the script(s) that I'm not testing.

If somebody had the Editor tool to use with Yeyinde's system, I'd probably be good to go after that. I've never used his system but reading up on how it works, something like this is what I need. If nobody has his Editor utility (required to make the .rsc file), then I need something just like what is described in his topic, or better.
 
I know everything about Yeyinde RSC tool. Basically, a RSC file format is the same as Scripts.rxdata, so you can use my editor to edit them.

About your idea about "dynamic loading of scripts", I have some ideas about it. Basically, Yeyinde script evals all scripts from the file, but if you edit the script so it stores it in a Hash like
Code:
{'SDK1::Standard_fixes'=>'ruby code here', 'SDK2::...'=>'more tuby code'}
and them write a "hash_require" method to eval scripts from such hash. The code would be something like:
Code:
def load_scripts(filename)
  $script_hash = {}
  data = load_data(filename)
  for script in data
    $script_hash[script[script.size-2]] = Zlib::Inflate.inflate(script[script.size-1])
  end
end
alias old_require require
def require(filename)
  if $script_hash.has_key?(filename)
    eval($script_hash[filename])
  else
    old_require
  end
end

EDIT: You have to edit the load_scripts method to handle all security measures Yeyinde has in his script.

EDIT AGAIN: I just see you have to rename your *.rsc files to Scripts.rxdata for my editor to open it. I'll fix this.

EDIT 3: RSC files are not the same as Scripts.rxdata. Scripts.rxdata is an array of 3-sized arrays, while rsc files are an array of 2-sized array. I edited my script proposal to handle both formats. You cannot use my editor to edit RSC files as I told you. Soon I will post a new version which can handle both file formats.

EDIT 4: download a new version here. I was rewriting it for some time, and today I added support for Yeyinde RSC files.
 
Hell yeah man, this is almost perfect, it opens the file and it looks like I'm probably able to edit it or do something with it. I am having a problem with it though, either its just your program or maybe its because I have Vista, or perhaps even should I have Ruby installed to run this properly? I think its a good possibility that Vista just might not like the program, but the whole interface (for handling the Scripts data files) looks awesome!

Here are the errors I'm getting, it prettymuch happens anytime an existing file is opened, if I have any kinda mouse/keyboard input whatsoever within the program it provides an error message and closes. However, I can create a brand new data object, and edit it and (I think) save it just fine, it only has an error as far as I know with existing .rxdata's.

http://i224.photobucket.com/albums/dd288/Kain_Nobel/RxDataEd-Error1.png[/img]

http://i224.photobucket.com/albums/dd28 ... Error2.png[/img]

Do I need Ruby installed to properly run this or is it a stand alone application?
 
No, you don't need Ruby to run the executable, but only if you want to run from the source code. Maybe wxRuby or rubyscript2exe have some issues with Vista, but I can't test it because I only have XP. I'll try to find something about it in google.
 
Cool I hope you do because I look forward to being able to use this on my Vista !

If there is anyway I can help you make it Vista-friendly then feel free to let me know, you can even contact me via PM if you need to. If you can't do anything from your XP then at least let me know what I need besides just pure Ruby installed to fully modify this utility, and I can try to fix it from here so it'll work on my OS.
 
I was able to see this runtime library error in my XP, so it's not a Vista issue. It only happens when I run the windows executable, not if I run from the source code. So the error probably is related to rubyscript2exe. I wrapped the wx main loop into a begin-rescue block, logging every exception to a log file, but the log only catched a bug when saving Scripts/rsc files. I fixed this bug, but the runtime library error still happens. I have also created a project in google code at http://code.google.com/p/rxdataeditor/
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top