IFO Data Extractor

Welcome in the osRose emulator Project.

Moderators: osRose dev team, ospRose dev team, osiRose dev team, Moderators

IFO Data Extractor

Postby Drakia on Thu May 15, 2008 12:33 am

I've updated my data extractor to get both NPCs and Mobs. Put it into the extracted 3ddata folder and run it, you will get two SQL files. The NPC list will work with either OSRose, OSiRose, or OSpRose. But the mob list is designed to work with the new IFO spawn system I built into OSpRose, so it will not work with OSiRose or OSRose. Report any errors you encounter :)

[Update #1]
Apparently I was off by 1 on the row count in the STB class. Which then shifted every column left one. Fixed.

[Update #2]
Re-wrote how it gets maps to scan. It now uses the list_zone.stb file to find map folders, then reads the IFO's from there. It should be faster, as well as gets NPCs for duplicate maps.

[Update #3]
Re-wrote it again. Now it uses my unified backend files. Everything is done using the STB, STL, IFO, and ZON classes I wrote (They are read-only classes for now, might add writing support later). The tool now dumps TeleGates in a new format that OSpRose will be implementing shortly, and OSRose may follow suit, it stores the destination as well as the source. I'm not sure if it'll be much faster, since it reads in the file then uses the data, but hopefully it's not much slower :)
Since this was a major re-write, please post if you run into any problems or crashes. I tried to account for most things, but might have missed some.

[Update #4]
I didn't take into account that maps are sorted. STL's were returning the wrong information if the IDs weren't sorted in the STL. Changed STL class to use an index array when loading data.

[Update #5]
Added support for a new list_npcs format I'm going to implement in OSpRose, will store the NPCs dialog_id, better than hard-coding it in the server x.x Will keep ver4 up as well, for OSRose/OSiRose support.


Edit by lmame:
Attached Files deleted (not by me)
You can find ifonpcdumper now on the tools forum in the Drakia version, or in the osRose tools (updated version from the Drakia one).
My favorite skill is scaring new users away.
If you haven't SEARCHED expect me to yell at you.
Image
Drakia
ospRose dev team
ospRose dev team
 
Posts: 1614
Joined: Tue Sep 18, 2007 6:53 am
Location: Nanaimo, BC, Canada

Re: IFO Data Extractor

Postby rl2171 on Thu May 15, 2008 2:44 am

Great job Drakia and thanks.
Image
rl2171
Admin
Admin
 
Posts: 1706
Joined: Mon Aug 06, 2007 5:17 pm
Location: Sacramento, CA USA - GMT-8

Re: IFO Data Extractor

Postby wtfux on Thu May 15, 2008 5:39 am

Thanks :). This project is growing very fast :))
No.sig
wtfux
Pomic
Pomic
 
Posts: 130
Joined: Sun Apr 13, 2008 2:35 pm

Re: IFO Data Extractor

Postby Rescudo on Thu May 15, 2008 9:02 am

Very nice work.
SEARCH - it's there for a reason!
User avatar
Rescudo
El Verloon Marshall
El Verloon Marshall
 
Posts: 872
Joined: Tue Mar 11, 2008 7:20 am

Re: IFO Data Extractor

Postby ExJam on Thu May 15, 2008 10:49 am

You might aswell load IFO directly, without putting it in SQL.

On my server (note: using a buffered file reading class for extra speed) i can load all npcs, spawns, warp locations, quests, stbs and aips in 1.33 seconds.

It is definately not slow :)
ExJam
Pomic
Pomic
 
Posts: 140
Joined: Sun Jan 27, 2008 12:14 pm

Re: IFO Data Extractor

Postby Drakia on Thu May 15, 2008 8:16 pm

Think you could give me some pointers on reading the data faster? The first run of this program takes something like 30 seconds :/
My favorite skill is scaring new users away.
If you haven't SEARCHED expect me to yell at you.
Image
Drakia
ospRose dev team
ospRose dev team
 
Posts: 1614
Joined: Tue Sep 18, 2007 6:53 am
Location: Nanaimo, BC, Canada

Re: IFO Data Extractor

Postby ExJam on Thu May 15, 2008 8:57 pm

Fast efficient code!
Buffered file readers!
Stuff like that =)
ExJam
Pomic
Pomic
 
Posts: 140
Joined: Sun Jan 27, 2008 12:14 pm

Re: IFO Data Extractor

Postby Drakia on Thu May 15, 2008 9:00 pm

I dunno how to do buffered file reading ;) And I try to make my code as efficient as possible, but that's not easy when you don't do much with files :P
Also, do you think you could give some tips on how you guys figured out all those file formats, and what the opcodes for everything meant? :)
My favorite skill is scaring new users away.
If you haven't SEARCHED expect me to yell at you.
Image
Drakia
ospRose dev team
ospRose dev team
 
Posts: 1614
Joined: Tue Sep 18, 2007 6:53 am
Location: Nanaimo, BC, Canada

Re: IFO Data Extractor

Postby lmame on Thu May 15, 2008 9:29 pm

ExJam wrote:Fast efficient code!
Buffered file readers!
Stuff like that =)


I guess you mean loading a part of file in memory and then read it from there?
The world is full of love and peace ^_^
Image
User avatar
lmame
Admin
Admin
 
Posts: 8997
Joined: Mon Aug 06, 2007 4:42 pm
Location: July City

Re: IFO Data Extractor

Postby Rifke on Thu May 15, 2008 10:24 pm

I've posted my idea serveral times, but I haven't got any respons on it so I'll ask it again.

If you're using MySQL spawns it's easier to load the mobs on the map when a users enters the map. When there are no players on the map the map gets cleared out, saving memory right?
Rifke
Pero pero
Pero pero
 
Posts: 719
Joined: Thu Aug 09, 2007 3:01 pm
Location: Belgium

Next

Return to Support - OspRose Emulator

Who is online

Users browsing this forum: No registered users and 5 guests

cron