+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  [BM 00] Script Thread
Pages: 1 [2]
Author Topic: [BM 00] Script Thread  (Read 2402 times)
Skuizaan
Guest
« Reply #15 on: January 06, 2007, 11:59:24 am »


This was the first instance of text in the file TOWN.DAT 
address references for those who may need it.

in sorting through about 94.6 MBS of hex, i can say the following about all the .DAT files on disc 1:
BATTLE.DAT --> Some in-game textbox data found (not much), mostly algorythms and such for battle.
EVENT.DAT --> A few strings of text, not much else. Seems to be automated scenes players have no control over.
SCENARIO.DAT --> Story outline listing and random strings of text (fair amount) It lists all the chapters of the game, pretty interesting layout.
SYSTEM.DAT --> Mostly menu data and memory card dialogue.
TOWN.DAT --> Great deal of dialogue/text stored here. (main script with lots of text)
Pepper
Guest
« Reply #16 on: January 06, 2007, 01:50:55 pm »

Quote from: Cless on January 05, 2007, 01:08:14 pm
I seem to recall CD-Tool being capable of replacing individual frames inside of PS1 MDECs, making it unnecessary to re-encode the whole thing. If using CD-Tool as a patcher, adding subs to movies will only add a trivial amount of bytes to the patch. Well, CD-Tool might not do that exactly, but I know Gideon has some experience with it...

Re-encoded videos have more than just the problem of making patch files stupidly large... just one re-encode will make the video quality noticeably worse than the original, and also screw with the colors to varying degrees. I did it once as an experiment with ToP's opening video... never again. Tongue


Never heard of such a tool. The video would still be mostly re-encoded, as all the frames with talking and some without (To allow time needed for reading) would be re-encoded. Maybe you can ask Gideon to post more info.

P.S. I realized in my previous conversion the audio and sound are desync due to my stupidity. I uploaded a new version that includes the player needed to play them and uses the same encoding settings of the original video (except there is no XA header). You can notice the loss of quality I had mentioned previously from the re-encoding. Solutions to this are filtering the uncompressed video to make up for the newly added noise or alter encoding parameters to allow for better visual results.

http://members.cox.net/sleeping_turtle/str0004sub.zip
« Last Edit: January 06, 2007, 06:15:35 pm by Sleeping Turtle »
Cless
Guest
« Reply #17 on: January 10, 2007, 10:31:24 am »

I suppose few read my document. Tongue

http://www.nobis-crew.org/cd-tool/
Pepper
Guest
« Reply #18 on: January 12, 2007, 07:59:33 pm »

I guess I will go read your doc now  Embarrassed .
pekoboy17
Guest
« Reply #19 on: January 13, 2007, 01:09:50 pm »

Wouldnt It be to hard to ask to do the menus and skills and stuff first to at least make it a little more playable?
« Last Edit: January 14, 2007, 03:54:18 pm by pekoboy17 »
pekoboy17
Guest
« Reply #20 on: January 14, 2007, 04:17:15 pm »

Why is it that no body replys on this board?  see heres the thing...  i want to rip some of the characters out and i cant get past like chapter 18.  knowing the skills for the rings and potions and stuff would help me alot.  could anyone help?
RedComet
Guest
« Reply #21 on: January 14, 2007, 04:41:14 pm »

Quote from: pekoboy17 on January 14, 2007, 04:17:15 pm
Why is it that no body replys on this board?  see heres the thing...  i want to rip some of the characters out and i cant get past like chapter 18.  knowing the skills for the rings and potions and stuff would help me alot.  could anyone help?

Probably because this looked better on paper than in practice. Sad As to the latter question, I think you're wanting an FAQ. Wink
pekoboy17
Guest
« Reply #22 on: January 15, 2007, 06:56:31 pm »

So how far is this coming along?...  i would help out but i dont know how..  i just rip.
KaioShin
Guest
« Reply #23 on: January 16, 2007, 05:49:18 am »

Right now the project seems stalled because nobody wants to code a font dumper and/or a script dumper.
Spikeman
Guest
« Reply #24 on: January 16, 2007, 06:09:40 am »

Didn't Gemini code a font dumper? If he didn't and he posts how he decoded the graphics, I'm willing to code a font dumper/inserter. I would offer to code a script dumper, but I have a lot of other projects going on and the last script dumper I made took me many many hours to get working right. Plus, the reason I joined this project was to learn how to hack PSX games.. and pretty much all I've learned so far is that there is something called the VFS, and that Gemini is very smart. Wink
Nightcrawler
Guest
« Reply #25 on: January 16, 2007, 11:43:59 am »

Quote from: Spikeman on January 16, 2007, 06:09:40 am
Didn't Gemini code a font dumper? If he didn't and he posts how he decoded the graphics, I'm willing to code a font dumper/inserter. I would offer to code a script dumper, but I have a lot of other projects going on and the last script dumper I made took me many many hours to get working right. Plus, the reason I joined this project was to learn how to hack PSX games.. and pretty much all I've learned so far is that there is something called the VFS, and that Gemini is very smart. Wink

There you go. THAT is where modular and/or object oriented concepts can save you a ton of time. The core table handling and dumping functionality is the same for all games. You shouldn't have to write a totally new dumper. If you plan out a table handling class and some basic dumping and inserting functionality, it's only a matter of writing a small bit of code to adapt or handle something special about game x.

I've been there man, writing something completely new for every task in every game. With some smart planning and modular or object oriented code, you can writing a core ONE time and use it on all of your games. It can save you tons of time.

Quick example. Create a table handling object. This object will be able to load a table up into a key/value array or however you handle your tables. It can set it up for dumping or inserting lookup and will return the desired value. There you go, now you never need to write table handling code again. Every game will use a table and every game will look up a value. If some games use two tables or do something extra, you can extend your classes functionality to handle multiple tables if necessary. The whole point though is you're never writing code more than one time. This object should be able to handle any table for any game. You'll reuse those functions or that class for every game.

If you have that codebase, what's necessary for a script dump for Black Matrix 00? Assuming you have decompressed text, not much aside from having your program be able to locate all blocks the dialog text to dump for that game. Beyond that, you just run it through your table class and output the results.

Look at Atlas.. ONE codebase, yet it can handle script activities of so many games. Why? Because it was well planned out and coded in a modular fashion. You don't need something that flexible, but it's a good example of the benefits.

You spent all those hours to get a dumper working right. Don't pour all those hours in again if you don't have to.
Spikeman
Guest
« Reply #26 on: January 16, 2007, 06:03:29 pm »

Well, I could theoretically reuse my table loading stuff, but the whole dumping part is pretty sloppy, and depends on the exact type of pointer table that Rockman EXE 4.5 uses. So at this point even if I COULD reuse some of my code, I probably wouldn't, especially if other people were going to see it. Cheesy

But your lectures on the importance of objected oriented programing/modularity have got me thinking. I think I'm going to take a stab at writing a table class. Rhys needs help writing a dumper for Cardcaptor Sakura because he hasn't had any luck with romjuice or Atlas. And my dumper could probably benefit from it. And honestly, it is about time I learn some real OO concepts. Tongue Thanks NC.

Edit:

Could someone point me towards a good tutorial on learning object-oriented concepts that's geared towards C#? MisterJones pointed me to a good one for C++, but I'm more interested in C# at this point.
« Last Edit: January 16, 2007, 06:38:31 pm by Spikeman »
Nightcrawler
Guest
« Reply #27 on: January 17, 2007, 11:06:16 am »

I only lecture because I care. Smiley I have also taken a bit of a personal interest because I was in your exact position before. I was late to the table for learning how to program 'the right way' and really taking advantage of well designed code and object oriented, or just plain any reusable code model. Then I saw the light and experienced the HUGE time savings and benefits it has when it comes to organization, readability, and ease of modification. I am trying to help you see the light as well because I know you're doing things the same way I used to.

I know exactly where it comes from as well. These are common pitfalls to self taught programmers. You only know what you've learned and many times are oblivious to better ways to do things until you discover them somehow. The only reason I know any of this stuff is because I've had more years of trial and error to see the error of my ways and come across better ways. Tongue I even had an object oriented C++ class years ago, but it just didn't click. I understood the concepts, but the advantages just didn't dawn on me of why that was reallu any better than what I was doing already. I still could write some poor C++ code. Wink Finally, things started clicking. It's not even the type of language that's important, but your own program design and programming model that makes the difference. Using an OO language simply helps bring out the best in that aspect for many people by making it easier to make a smart model and design. It certainly does for me. My designs are pretty messy in procedural languages despite taking time trying to think out a good design. I did the same damn thing again with this site when I originally coded it in procedural PHP. When I switch to an OO frame of mind, much better designs come out of me. Thinking in those terms somehow results in a much better design through process in my head.

It's just a matter of growing as a programmer and using some tools make that easier to do. I gave you a C# table class example in that other topic. It should be simple enough to help you see some benefits of having something like that.

I know you're using C#, but the concepts of OO design are pretty much identical. I don't know of any links with C# examples that really show why or how to use OO for program design off the top of my head. Most are simply the generic C# tutorials. But they don't really explain program design and how to design your objects. I'd just do a general search on google for object oriented program design. The language is really irrelevant other than syntax and how to specifically accomplish programming tasks. That's really a different thing though.

OO Advantages Overview
pekoboy17
Guest
« Reply #28 on: February 04, 2007, 11:35:07 am »

So how far is things coming?.. 
Pages: 1 [2]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC