Important information: this site is currently scheduled to go offline indefinitely by end of the year.

Dead or Alive series formats and tools

Post questions about game models here, or help out others!
Protocol X27
ultra-veteran
ultra-veteran
Posts: 341
Joined: Wed Dec 14, 2011 5:46 pm
Has thanked: 141 times
Been thanked: 128 times

Re: Dead or Alive series formats and tools

Post by Protocol X27 »

Habeeb wrote:
Protocol X27 wrote:Essentially the normals (faces?) are flipped.
Try writing indexes in a reverse order (inverse the winding of triangles). Or maybe duplicate the first index to flip all normals.
Very plausible theory :!:

Ok, so I doubled checked my index shifter script, and everything still works properly in there, so I don't think that's 'accidentally' flipping stuff in any way that it shouldn't be.

Suggestion 1: I could inverse the order, but I still struggle w/ how that buffer works even w/ a couple explanations I had. If I were to flip every 4 values would that do the trick?

Suggestion 2: Now when you say duplicate the first, do you mean the first of the original mesh? or first of the 2nd mesh that has been appended. I theoretically would be adding 1 index (2 bytes) after the first mesh, but before the 2nd mesh and then adjusting all lengths & offsets accordingly to accommodate the added value.
Habeeb
n00b
Posts: 12
Joined: Sun Sep 19, 2010 5:25 pm
Been thanked: 7 times

Re: Dead or Alive series formats and tools

Post by Habeeb »

Protocol X27 wrote:Suggestion 2
It's by submesh (material), normally.
For Suggestion 1 I'd try writing faces with a different winding (ABC --> ACB).

It's weird though, maybe you can upload the tmc+tmcl to see what's up.
User avatar
Rosalin
mega-veteran
mega-veteran
Posts: 187
Joined: Fri Jun 13, 2014 11:38 am
Has thanked: 62 times
Been thanked: 56 times

Re: Dead or Alive series formats and tools

Post by Rosalin »

first you need to understand this.

[360] 01 02 03 FF 04 05 06

[PC] 01 02 03 03 04 04 04 05 06


but in this case

[360] 01 02 03 04 FF 05 06 07

[PC] 01 02 03 04 04 05 05 06 07
Protocol X27
ultra-veteran
ultra-veteran
Posts: 341
Joined: Wed Dec 14, 2011 5:46 pm
Has thanked: 141 times
Been thanked: 128 times

Re: Dead or Alive series formats and tools

Post by Protocol X27 »

Ok, I sorta get it, but don't. My brain is stuck in old school DOA from when penguin first explained the vertex/index buffer lengths. Since an index is only 2 bytes the messes me up because a face would then technically be 6 bytes.

But, with the shorthand I understand that redundant values are omitted. Assume, I don't know anything about what the indices are. How do I establish the pattern with which values need to be flipped? From Ros' explanation I would look at that and think that it's talking about 9 different vertices... I'm not quite sure what I'm trying to change.

I'll upload the WIP model later too.
SleepySea
n00b
Posts: 18
Joined: Sat Apr 25, 2015 5:01 pm
Has thanked: 22 times
Been thanked: 7 times

Re: Dead or Alive series formats and tools

Post by SleepySea »

Protocol X27 wrote:Ok, I sorta get it, but don't. My brain is stuck in old school DOA from when penguin first explained the vertex/index buffer lengths. Since an index is only 2 bytes the messes me up because a face would then technically be 6 bytes.

But, with the shorthand I understand that redundant values are omitted. Assume, I don't know anything about what the indices are. How do I establish the pattern with which values need to be flipped? From Ros' explanation I would look at that and think that it's talking about 9 different vertices... I'm not quite sure what I'm trying to change.

I'll upload the WIP model later too.

Sorry if I am not understanding the issues correctly, but if you are just moving mesh objects from PC to PC, wouldn't dumping the entire index buffer (with proper adjustments) from one to another work without doing any post processing?
Habeeb
n00b
Posts: 12
Joined: Sun Sep 19, 2010 5:25 pm
Been thanked: 7 times

Re: Dead or Alive series formats and tools

Post by Habeeb »

Protocol X27 wrote:But, with the shorthand I understand that redundant values are omitted.
It's a triangle strip. If you duplicate the first index, the normals for each face would be flipped.
But that might not the issue actually, if only some parts are transparent.
User avatar
Rosalin
mega-veteran
mega-veteran
Posts: 187
Joined: Fri Jun 13, 2014 11:38 am
Has thanked: 62 times
Been thanked: 56 times

Re: Dead or Alive series formats and tools

Post by Rosalin »

let's say alphabets are index of vertices.

when abc makes a face,

aabc makes a fliped face.

aaabc makes a face like abc

aaaabc makes a flipped face like aabc

aaabc  aabc
10101  1010 when abc has 101 it will be ok, but 010 then it will be flipped.


so when you connect 2 faces, abc and jkl, it's not like abc FFFF jkl anymore.

Code: Select all

abccjjkl
10101010
but this is wrong.
abc is 101. but jkl is 010. it will be flipped.

Code: Select all

abccjjjkl
101010101
now jkl has 101. this is right.

that kind of 101010101... will be reset with start of new index buffer.
Lilstormcloud
mega-veteran
mega-veteran
Posts: 162
Joined: Sun Aug 04, 2013 9:39 pm
Has thanked: 47 times
Been thanked: 20 times

Re: Dead or Alive series formats and tools

Post by Lilstormcloud »

SleepySea wrote:
Protocol X27 wrote:Ok, I sorta get it, but don't. My brain is stuck in old school DOA from when penguin first explained the vertex/index buffer lengths. Since an index is only 2 bytes the messes me up because a face would then technically be 6 bytes.

But, with the shorthand I understand that redundant values are omitted. Assume, I don't know anything about what the indices are. How do I establish the pattern with which values need to be flipped? From Ros' explanation I would look at that and think that it's talking about 9 different vertices... I'm not quite sure what I'm trying to change.

I'll upload the WIP model later too.

Sorry if I am not understanding the issues correctly, but if you are just moving mesh objects from PC to PC, wouldn't dumping the entire index buffer (with proper adjustments) from one to another work without doing any post processing?
yea you're right, all it requires is a number shift across the board for PC to PC.
Protocol X27
ultra-veteran
ultra-veteran
Posts: 341
Joined: Wed Dec 14, 2011 5:46 pm
Has thanked: 141 times
Been thanked: 128 times

Re: Dead or Alive series formats and tools

Post by Protocol X27 »

Lilstormcloud wrote:
SleepySea wrote:
Sorry if I am not understanding the issues correctly, but if you are just moving mesh objects from PC to PC, wouldn't dumping the entire index buffer (with proper adjustments) from one to another work without doing any post processing?
yea you're right, all it requires is a number shift across the board for PC to PC.
Conceptually, yes. That's how it worked on 360, and should on PC, just not sure why faces are inverted when the only thing different is a value added to 'all' indices.

@Habeeb, ok, that makes more sense combined with Ros's explanation. You're saying duplicate the first vertex of 'every' triangle. Yes, the entire section of the mesh has normals flipped. Body: (mesh A & mesh B) mesh A is looks correct, 'All' faces belonging to mesh B though are flipped.

@Ros, ok that is starting to make a bit more sense, I'm going to take a sec to digest that.
mralex
n00b
Posts: 13
Joined: Wed Jun 17, 2015 6:07 pm
Been thanked: 1 time

Re: Dead or Alive series formats and tools

Post by mralex »

Hi to everyone, i'm new in this page :) I have a question, i wanna make a custom dlc for xbox 360 with new costumes, but when i put it in the xbox, DOA5LR says that the costume doesn't upload :/

(sorry for my bad english)
Lilstormcloud
mega-veteran
mega-veteran
Posts: 162
Joined: Sun Aug 04, 2013 9:39 pm
Has thanked: 47 times
Been thanked: 20 times

Re: Dead or Alive series formats and tools

Post by Lilstormcloud »

what did you make the dlc with, xlast? le fluffie?
Lilstormcloud
mega-veteran
mega-veteran
Posts: 162
Joined: Sun Aug 04, 2013 9:39 pm
Has thanked: 47 times
Been thanked: 20 times

Re: Dead or Alive series formats and tools

Post by Lilstormcloud »

Protocol X27 wrote:
Lilstormcloud wrote:
SleepySea wrote:
Sorry if I am not understanding the issues correctly, but if you are just moving mesh objects from PC to PC, wouldn't dumping the entire index buffer (with proper adjustments) from one to another work without doing any post processing?
yea you're right, all it requires is a number shift across the board for PC to PC.
Conceptually, yes. That's how it worked on 360, and should on PC, just not sure why faces are inverted when the only thing different is a value added to 'all' indices.

@Habeeb, ok, that makes more sense combined with Ros's explanation. You're saying duplicate the first vertex of 'every' triangle. Yes, the entire section of the mesh has normals flipped. Body: (mesh A & mesh B) mesh A is looks correct, 'All' faces belonging to mesh B though are flipped.

@Ros, ok that is starting to make a bit more sense, I'm going to take a sec to digest that.
yea I had a look at the attachment, the whole chest area and some of the other are flipped, it's most likely the index, you can tell because when you look at it from the inside you should see nothing, instead you see what's meant to be outward facing, facing inward.

actually if I'm not mistaken, the parts that look correct belongs to the original model because you haven't shrank them yet, that means your entire injected model is inverted, probably just means your index conversion had a single error somewhere.

Did you apply what Ros was saying about the index order between the old body model and the new one.
mralex
n00b
Posts: 13
Joined: Wed Jun 17, 2015 6:07 pm
Been thanked: 1 time

Re: Dead or Alive series formats and tools

Post by mralex »

Lilstormcloud wrote:what did you make the dlc with, xlast? le fluffie?
Le fluffie, there's another program to do it?
Protocol X27
ultra-veteran
ultra-veteran
Posts: 341
Joined: Wed Dec 14, 2011 5:46 pm
Has thanked: 141 times
Been thanked: 128 times

Re: Dead or Alive series formats and tools

Post by Protocol X27 »

Welcome, mralex. Yep it's technically the MS Xbox SDK that creates xlast files.

***

@Habeeb, Ros: Thanks for the explanations. Your combined explanations helped make more sense. So per Habeeb's suggestion I removed 2 bytes, to prevent changing lengths and offsets, I padded the end of the index group with 00 00. The only remaining issue is that there is still a connecting face between the two groups. This was always common during an injection on the 360 so I always replaced the first face with FF FF FF FF FF FF. I've played around with replacing a couple of the first indices with FF FF, but depending on the quantity it can invert the faces & remove the remainder face OR leave the remainder face & show the faces correctly. How might I resolve that correctly?
Habeeb
n00b
Posts: 12
Joined: Sun Sep 19, 2010 5:25 pm
Been thanked: 7 times

Re: Dead or Alive series formats and tools

Post by Habeeb »

Protocol X27 wrote:The only remaining issue is that there is still a connecting face between the two groups.
Did you remove all the FFs?

At 0x16de90 I have (buffer is 2 bytes shorter):
DE 28 BE 28 DD 28 BC 28 DC 28 BB 28 DB 28 DB 28
E2 28 E2 28
E3 28 E3 28 E3 28 E4 28 E5 28 E5 28

Instead of:
DE 28 BE 28 DD 28 BC 28 DC 28 BB 28 DB 28 FF FF
FF FF FF FF
E2 28 E3 28 E3 28 E3 28 E4 28 E5 28

This doesn't seem to give me an extra face.
Post Reply