Re: Dead or Alive series formats and tools
Posted: Sat Feb 18, 2012 5:44 pm
Somebody say they need a standalone tool? For which doa game?
So? You can always have another version of Blender for an outdated plugin. Blender doesn't require installation and is relatively small in size. So in this sense there is no difference between using another version of Blender or just using a "standalone program" for every format.mariokart64n wrote:First of all, you make your plugin/script depentant of the parent package, if for some reason, Blender changes the API (or Max, or Noesis) your script/plugin stops working, and that's the case of plenty of outdated scripts I found arround; they no longer work.
The same way you will need to know how to use the standalone programs, except unlike Blender, you will need to learn more than once: for every tool.Another thing is that you have to know how to use the given package. Not everybody here knows how to use Max or Blender here
This doesn't make sense to me. "If the author stops developing it for whatever reason, all those third party plugins will have been wasted.". Why? It's not like you will magically not be able to use it when it stops being developed. And there is no difference if that will happen to Noesis and a program made specifically for one format.About Noesis, it's a great tool, but last time I checked, there's no source code available, so any plugins developed for Noesis are bound to the life and maintenance of Noesis itself. If the author stops developing it for whatever reason, all those third party plugins will have been wasted.
This doesn't make sense to me either.the key is they're "stand alone" and can keep running years later.
Well, I don't pretend to begin a flamewar or anything, obviously, everybody has an opinion on how things should be done. I guess you have a background on using blender and you're trying to favour using it. In my case, I am a veteran programmer, and also know 3dsmax quite well. In my case, I would choose "complex opengl source code" over "readable scripts" anytime.gjinka2 wrote: So? You can always have another versio
This doesn't make sense to me either.
I think you again draw a line between Blender and "stand alone" tools without a valid reason.
1) all versions of Blender are available for download from the official site
2) Blender doesn't require installation, which means you can have as many on a single machine as you want
3) Blender is pretty small in size
So again I see no difference in Blender and another program made for a single format.
I think you just have the wrong impression because you think you can't have more than one Blender at a time, so you think you can't use old script and new scripts at the same time. Maybe 3dsmax is like that, so I don't blame you for the way you think.
On the other hand, compare scripts (which are always human readable) of Blender or Noesis with complex OpenGL code of standalone tools (if the sourcecode is available that is) and I'll choose the first any time.
imhohowfie wrote:Whether or not anyone gets anything out of my tools or my code is not important to me at all; that you guys get anything out of my tools is secondary.
That's something a lot of people seem to neglect: writing documentation and format specs. It's not like they have to be very detailed...but at least more than just "contact me if you need anything"drunkenchipmunk wrote: The best way is to write a document describing the structures, the next best way is to write a plain reader, in plain C language, because most programmers of any language will probably understand it, and accompanied with a command line, stand alone tool.
give yourself one more chance and think again. i'm not talking here about entertainment, i'm talking about work. can you work(for free)? the hard work is the key of success for everything. almost all famous people are hard-workers. you can't compete with other workers -- there is always someone better than you. but among the modders and people that are researching/programming for fun, a bright mind to manage your skills, and a willpower to do that, will help you to be of no competition. i think sooner or later you'll get the job you want, but right now you can try to believe in yourself and do something more than you are doing every day(or die trying)... go read some books of self-motivation, and stop whining for god sakehowfie wrote:You know bony, I thought about that too, getting involved in a modding project. But reversing a format completely to the point where you can mod it is overkill for me. I'm more interested in what vertex formats a game uses, how does it implement bones and animation, how to implement the different type of maps that these games use, how can I get these models and levels to render efficiently in my own application, and should a file format be k-ary tree based like collada/pssg or a simple packed binary file format. I don't want nude models, I don't want to play RE5 with Excella rather than Sheva, I just want an f-ing job programming games, which is why you guys are secondary lol.
that's true when you're skilled enough to make something good. people are not very interested in "noname" games, it's much more interesting to mod some next gen games than to make a lame game with outdated graphics and game-play.finale00 wrote:I'd rather people create their own games and make something innovative rather than feeding that capitalist pig people talk about.
Tell that to Notch.b0ny wrote:that's true when you're skilled enough to make something good. people are not very interested in "noname" games, it's much more interesting to mod some next gen games than to make a lame game with outdated graphics and game-play.
ok! where do i find him?rexil wrote:Tell that to Notch.
if i'm not mistaken afs is a drimcast container.howfie wrote:Are afs containers specific to xbox360 games? If so I will put that code under xbox360.h.
ok i know this is clumsy but if anyone is interested, - i can do better!//header
a bunch of offsets to animations in this file. (this array ends with a null pointer)
//animation
a fixed number of offsets to animation data for each bodypart (i already posted it's structure like a page or two ago)
//the actual animation data
there are four types of key frames:
type 0 length = 5 WORDs including header
type 1 length = 2 WORDs including header
type 2 length = 3 WORDs including header
type 3 length = 4 WORDs including header
the animation ends on a keyframe with a null header
i yet only have been looking at the one with the length 1 (the easiest one - 1 keyframe per frame)
//key frame
8bits - part of "encoded float"
6bits - number Of Frames
2bits - animation Type
1WORD - encoded Float
... longer keyframes have more unknown data
lets have a hex example of a keyframe "type 1" (windows endian):
05f0 87ff
to resolve the "encoded float" i extract that red "f" from the first WORD, multiply it by 0x10000 and add it to the second WORD, and we get this number 0xfff87, now we divide this whole number to 10000(decimal) and we get the float we where looking for.
to resolve the number of frames we divide first byte by 4: { 05 / 4 = 1 frame }
to find the animation type we do this:
int animationType = 05 & 0xffffff00 //to throw away everything but the animation type
imo greed explorer is the best tool for this.XvSiriusvX wrote:So I am making some outfit modifications for DOA2U and then Im trying to put them back in the game, but the characters end up invisible. Im assuming this is because I am not re-encoding the textures of the modified outfits, and so it refuses to read them. I remember hearing I require something like xprbreaker to re-encode them. Does anyone have that to download, or another way of re-encoding the files? Thanks.
many ng skins team ninja already ported to doau. but there are a few left, i hope it's possible to port those tooCHAR szMagic[4]; // 'OBJ'
DWORD dwUnknown0; // Flexible vertex format ?
DWORD dwUnknown1; // Primitive Type ?
DWORD dwUnknown2; // Number of indices (total indices in IVBufInfo)
ST_IVBUFINFO pIVBufInfo[4]; // Indexed vertex buffers info
FLOAT fCenterX; // Object center x
FLOAT fCenterY; // Object center y
FLOAT fCenterZ; // Object center z
FLOAT fRadius; // Object radius