Page 19 of 35
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Sun Nov 06, 2022 3:57 pm
by Green Ranger
DreamcastFreak wrote:I know this is probably impossible, but i gotta know is there any way to take models from other games, and put them in doa2 le? Would love to see vf4, tekken 4/5, and soul calibur characters on DC!
Best thing that can be done is to mod the pre-existing character models of DOA to look like the characters you want.
Dirge Of Ram wrote:Now you can bring in move sets like Christie & Brad Wong over from Doa3.
Too buggy. In my video for example with Helena using Christie's moveset, while some moves do connect with the opponent, many others do not and will result in some wild glitching. Throws and tag team style stuff won't work well either (or at all).
Dirge Of Ram wrote:India & Raidou, I really like to see them in action one day hopefully but again they maybe won't gel in Tag Mode together.
In the past I had gotten the India & Raidou models to load in DOA2 but their parts were jumbled. I didn't investigate it much further as I wasn't sure if anything else could be done to improve upon it.
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Mon Nov 07, 2022 2:17 am
by mistamontiel
Me lads what is 'final' o.0
I've seen+witnessed close to a dozen mod downloads this-thread n seem being no more than costumes
Salute
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Mon Nov 07, 2022 10:38 am
by Dirge Of Ram
Entirely up to Mr. Green Ranger if you want to make renewed edit on the title thread. Add in The New 28 so we all can get more people aware what's been happening right here.
The Whole Costume Department, pretty much done on my end on both builds. I don't have the right resourceful graphical tools on my low end computer. No Blender due to needing to have this latest Open graphic card thing, I was so disappointed. Wanted to view the textures but so far unsuccessful, why waste my time on this!
Assume you got the India/Raidou files from the Demo Disc Files at that time, shouldn't be surprised you had something going long before. Didn't know myself until....
Tomonobu Itagaki words on the below page. 12 Characters, no comment on hidden ones. 12 - 15 Stages what we all know be the PlayStation 2 levels. Which was very likely going to be all on there, the Bamboo Stage I mean come on.
Test Zone 1 & 2, Snowing Miyama and the Desert stages, made up for this on the Story Mode. I removed main Danger Zone from Versus Mode at least too.
Funny enough the Test Zones actual names are The Editor Stage & The Undulation Checker. Renewing on information so link below to Free Step Dodge, great posts on there even from years back.
https://www.freestepdodge.com/threads/d ... ssion.726/
So many links but I'm happy to have more backs ups available. Thirteen Chapters so far, the recent three chapters to me are the ones to play today.
Chapter Fourteen, most definitely on just for anyone helping getting this mod series out there to more players.
https://archive.org/details/@cpldwaynehicks11
The Blue Cave.
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Tue Nov 08, 2022 10:58 am
by ryu_highabusa
VincentNL cracked DOA2's CHR.
You can import the models into Blender 2.83 LTS or Blender 2.90 with Vincent's NaomiLib add-on found here:
https://github.com/NaomiMod/blender-NaomiLib
DOA2 CHR Format details:
https://github.com/NaomiMod/games-Extra ... rchives.md
QuickBMS Unpacker Script:
https://github.com/NaomiMod/games-Extra ... packer.bms
QuickBMS Application Homepage:
http://aluigi.altervista.org/quickbms.htm
DOA2 CHR Format details
Code: Select all
# Dead or Alive 2 (Dreamcast) .CHR archive
DOA2 use `.CHR` archives to store model and partial PVR header data. Actual image data is located in the corresponding `.BIN` file.
# Header data
|Address |Length| Description|
|---------|------------|---------------|
|0x00 |0x04| HEADER SIZE|
|0x00 |0x18| HEADER DATA|
|0x04 |0x04| TEXTURE POINTERS|
|0x08 |0x04| MODEL POINTERS|
|0x0C |0x04| TOTAL MODELS|
|0x10 |0x04| TOTAL TEXTURES|
|0x14 |0x04| PADDING|
# Model pointers
|Address |Length (hex)| Description|
|---------|------------|---------------|
|0x00 |0x04| SPECIFIED OFFSET - BASE ADDRESS `+0x18`|
* Please note base address is always the first model pointer.
i.e.
First pointer value is `0x0000400C` , the real address is calculated:
(`0x0000400C - 0x0000400C`) + `0x18`
# Texture pointers
They refer to a corresponding .BIN file, which is an headerless PVR data archive.
Each texture header is split in 3 chunks 0x4 bytes long each:
|Address |Length| Description|
|---------|------------|---------------|
|0x00| 0x04| PVR Image size |
|0x04| 0x04| PVR Pixel type |
|0x08| 0x04| SPECIFIED OFFSET - BASE ADDRESS|
* Please note base address is always the first texture pointer
i.e.
First pointer value is `0x0000400C` , the real address is calculated:
`0x0000400C - 0x0000400C`
QuickBMS Script
Code: Select all
#----------------------------------------------------------------------
# Dead or Alive 2 (Dreamcast) .CHR Unpacker
#
# *Script by VincentNL 06/10/2021
#
#
#----------------------------------------------------------------------
# TEXTURES_LOOP
set MEMORY_FILE2 binary ""
set MEMORY_FILE3 binary ""
set MEMORY_FILE4 binary "\x47\x42\x49\x58\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x50\x56\x52\x54" # GBIX+PVR header
set MEMORY_FILE5 binary ""
get name basename
String pvr_container P "%name%.bin" #
open fdsE "pvr_container" 1 # Open bin file to get pvr texture data
get binsize asize 1
goto 0x10
get total_tex long #total textures
goto 0x8
get header_offset long #where size, pixel data and lenght are stored
xmath base_address "header_offset+0x8"
goto base_address
get base_address long
goto header_offset
Math A = 1
for loop
#print "--------TEXTURE %A%:"
savepos currentpos
get tex_size long
#print "tex size: %tex_size|x%"
log MEMORY_FILE2 currentpos 0x4
math currentpos += 0x4
get pixel_type long
#print "pixel_type: %pixel_type|x%"
log MEMORY_FILE3 currentpos 0x4
math currentpos += 0x4
get PVR_start long
Math PVR_start -= base_address
#print "PVR_start: %PVR_start|x%"
if A < total_tex
xmath nextpos "currentpos +0xc"
#print "next PVR start: %nextpos|x%"
goto nextpos
get PVR_end long
Math PVR_end -= base_address
#print "PVR_end: %PVR_end|x%"
Xmath PVR_size "PVR_end-PVR_start"
#print "PVR_size: %PVR_size|x%"
#print "-----------------"
math nextpos -= 0x8
goto nextpos
math currentpos = nextpos
else
Xmath PVR_size "binsize-PVR_start"
#print "PVR_size: %PVR_size|x%"
break
endif
xMath PVR_size_val "PVR_size+0x8"
PutVarChr MEMORY_FILE5 0 PVR_size_val Long
append
log MEMORY_FILE 0 20 -4
log MEMORY_FILE 0 4 -5
log MEMORY_FILE 0 4 -3
log MEMORY_FILE 0 4 -2
log MEMORY_FILE PVR_start PVR_size 1
append
get tsize asize -1
String PVR_NAME P "%name%_tex_%A%.pvr"
log PVR_NAME 0 tsize -1
Math A += 1
log MEMORY_FILE 0 0
log MEMORY_FILE2 0 0
log MEMORY_FILE3 0 0
log MEMORY_FILE5 0 0
next loop
# MODELS_LOOP
Math B = 1
get name basename
goto 0xc
get total_models long #total models
goto 0x4
get models_pointers long
goto models_pointers
get base_address long
math model_offset = models_pointers
for loop2
String modelname P "%name%_model_%B%.bin"
goto model_offset
get model_start long
xMath model_start "(model_start-base_address)+0x18"
if B < total_models
get next_offset long
Xmath model_end "(next_offset-base_address)+0x18"
Xmath model_size "model_end-model_start"
log modelname model_start model_size
else
xmath model_end "models_pointers-0x8"
Xmath model_size "model_end-model_start"
log modelname model_start model_size
break
endif
Math B += 1
Math model_offset += 0x4
next loop2
Blender Batch Import Script
Code: Select all
#Script taken from https://blender.stackexchange.com/questions/17817/how-do-i-batch-import-one-format-then-export-to-another
#Adapted to work with NaomiLib importer: https://github.com/NaomiMod/blender-NaomiLib
import os
import bpy
path_to_stl = os.path.join('Folder Directory Here', 'Subfolder name here')
file_list = sorted(os.listdir(path_to_stl))
stl_list = [item for item in file_list if item.endswith('.bin')]
for item in stl_list:
path_to_files = os.path.join(path_to_stl, item)
bpy.ops.import_scene.naomilib(filepath = path_to_files)
Custom Model Imports:
Blender:

Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Tue Nov 08, 2022 12:39 pm
by cloofoofoo
ryu_highabusa wrote:VincentNL cracked DOA2's CHR.
You can import the models into Blender 2.83 LTS or Blender 2.90 with Vincent's NaomiLib add-on found here:
https://github.com/NaomiMod/blender-NaomiLib
DOA2 CHR Format details:
https://github.com/NaomiMod/games-Extra ... rchives.md
QuickBMS Unpacker Script:
https://github.com/NaomiMod/games-Extra ... packer.bms
QuickBMS Application Homepage:
http://aluigi.altervista.org/quickbms.htm
DOA2 CHR Format details
Code: Select all
# Dead or Alive 2 (Dreamcast) .CHR archive
DOA2 use `.CHR` archives to store model and partial PVR header data. Actual image data is located in the corresponding `.BIN` file.
# Header data
|Address |Length| Description|
|---------|------------|---------------|
|0x00 |0x04| HEADER SIZE|
|0x00 |0x18| HEADER DATA|
|0x04 |0x04| TEXTURE POINTERS|
|0x08 |0x04| MODEL POINTERS|
|0x0C |0x04| TOTAL MODELS|
|0x10 |0x04| TOTAL TEXTURES|
|0x14 |0x04| PADDING|
# Model pointers
|Address |Length (hex)| Description|
|---------|------------|---------------|
|0x00 |0x04| SPECIFIED OFFSET - BASE ADDRESS `+0x18`|
* Please note base address is always the first model pointer.
i.e.
First pointer value is `0x0000400C` , the real address is calculated:
(`0x0000400C - 0x0000400C`) + `0x18`
# Texture pointers
They refer to a corresponding .BIN file, which is an headerless PVR data archive.
Each texture header is split in 3 chunks 0x4 bytes long each:
|Address |Length| Description|
|---------|------------|---------------|
|0x00| 0x04| PVR Image size |
|0x04| 0x04| PVR Pixel type |
|0x08| 0x04| SPECIFIED OFFSET - BASE ADDRESS|
* Please note base address is always the first texture pointer
i.e.
First pointer value is `0x0000400C` , the real address is calculated:
`0x0000400C - 0x0000400C`
QuickBMS Script
Code: Select all
#----------------------------------------------------------------------
# Dead or Alive 2 (Dreamcast) .CHR Unpacker
#
# *Script by VincentNL 06/10/2021
#
#
#----------------------------------------------------------------------
# TEXTURES_LOOP
set MEMORY_FILE2 binary ""
set MEMORY_FILE3 binary ""
set MEMORY_FILE4 binary "\x47\x42\x49\x58\x08\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x50\x56\x52\x54" # GBIX+PVR header
set MEMORY_FILE5 binary ""
get name basename
String pvr_container P "%name%.bin" #
open fdsE "pvr_container" 1 # Open bin file to get pvr texture data
get binsize asize 1
goto 0x10
get total_tex long #total textures
goto 0x8
get header_offset long #where size, pixel data and lenght are stored
xmath base_address "header_offset+0x8"
goto base_address
get base_address long
goto header_offset
Math A = 1
for loop
#print "--------TEXTURE %A%:"
savepos currentpos
get tex_size long
#print "tex size: %tex_size|x%"
log MEMORY_FILE2 currentpos 0x4
math currentpos += 0x4
get pixel_type long
#print "pixel_type: %pixel_type|x%"
log MEMORY_FILE3 currentpos 0x4
math currentpos += 0x4
get PVR_start long
Math PVR_start -= base_address
#print "PVR_start: %PVR_start|x%"
if A < total_tex
xmath nextpos "currentpos +0xc"
#print "next PVR start: %nextpos|x%"
goto nextpos
get PVR_end long
Math PVR_end -= base_address
#print "PVR_end: %PVR_end|x%"
Xmath PVR_size "PVR_end-PVR_start"
#print "PVR_size: %PVR_size|x%"
#print "-----------------"
math nextpos -= 0x8
goto nextpos
math currentpos = nextpos
else
Xmath PVR_size "binsize-PVR_start"
#print "PVR_size: %PVR_size|x%"
break
endif
xMath PVR_size_val "PVR_size+0x8"
PutVarChr MEMORY_FILE5 0 PVR_size_val Long
append
log MEMORY_FILE 0 20 -4
log MEMORY_FILE 0 4 -5
log MEMORY_FILE 0 4 -3
log MEMORY_FILE 0 4 -2
log MEMORY_FILE PVR_start PVR_size 1
append
get tsize asize -1
String PVR_NAME P "%name%_tex_%A%.pvr"
log PVR_NAME 0 tsize -1
Math A += 1
log MEMORY_FILE 0 0
log MEMORY_FILE2 0 0
log MEMORY_FILE3 0 0
log MEMORY_FILE5 0 0
next loop
# MODELS_LOOP
Math B = 1
get name basename
goto 0xc
get total_models long #total models
goto 0x4
get models_pointers long
goto models_pointers
get base_address long
math model_offset = models_pointers
for loop2
String modelname P "%name%_model_%B%.bin"
goto model_offset
get model_start long
xMath model_start "(model_start-base_address)+0x18"
if B < total_models
get next_offset long
Xmath model_end "(next_offset-base_address)+0x18"
Xmath model_size "model_end-model_start"
log modelname model_start model_size
else
xmath model_end "models_pointers-0x8"
Xmath model_size "model_end-model_start"
log modelname model_start model_size
break
endif
Math B += 1
Math model_offset += 0x4
next loop2
Blender Batch Import Script
Code: Select all
#Script taken from https://blender.stackexchange.com/questions/17817/how-do-i-batch-import-one-format-then-export-to-another
#Adapted to work with NaomiLib importer: https://github.com/NaomiMod/blender-NaomiLib
import os
import bpy
path_to_stl = os.path.join('Folder Directory Here', 'Subfolder name here')
file_list = sorted(os.listdir(path_to_stl))
stl_list = [item for item in file_list if item.endswith('.bin')]
for item in stl_list:
path_to_files = os.path.join(path_to_stl, item)
bpy.ops.import_scene.naomilib(filepath = path_to_files)
Custom Model Imports:
Blender:

Yeah thats been known for a while but is there tools to pack all back in after modding?
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Thu Nov 10, 2022 10:06 am
by Dirge Of Ram
Dead or Alive 2: Action 28!
CDI
https://archive.org/details/dead-or-ali ... 8-2022-cdi
GDI
https://archive.org/details/dead-or-ali ... 8-2022-gdi
Indeed We Are On Chapter 14, Did Say Was Definitely On Right Up Above.
I Wonder How The Vanilla Aerosmith Crowd React To This One?!
So Please Share, Support, Like & Enjoy This Mod Series Only For Your Dreamcast Today.
I may not be the Texture Guy that's not my role right now. Certainly like to get on with expanding this game ten folds more! I don't see any Soul Calibur mods around because you know that fighting game was Perfect on Day One.
This can be alot more just know can be done. Few more Hex Address's I like to discover you know already my Dream List by now. So yeah lets keep on going, that's why we are here to play the Dreamcast version off Dead or Alive: Hard*Core.
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Fri Nov 11, 2022 5:18 pm
by Green Ranger
Dirge Of Ram wrote:Entirely up to Mr. Green Ranger if you want to make renewed edit on the title thread. Add in The New 28 so we all can get more people aware what's been happening right here.
I edited my original post on the very first page to include a link to your
archive.org content so all your contributions/downloads are easier to find.

Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Sat Nov 12, 2022 1:21 pm
by Dirge Of Ram
https://youtu.be/sm3d4hazNWY
This Is Code Chronus, This Is The New 28. Check out the Live Chat Replay if you want more trivial.
Don't be the "Why Did I Miss This" late Guy. We truly now in the Prime yes the real Prime off this Mod Series! So Play Today.
Unless you're waiting for the Dreamcast Mini.
Very likely to include the poor awful standard 4:3 first release Vanilla version with some clown claiming "All Perfect Yeah".
Blah I'm Out The Window!!!
Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Sun Nov 13, 2022 1:23 am
by ryu_highabusa
Dirge Of Ram wrote:
1aaac3 - Camera Lighting Effect (Character Select- Ein)
Any experience modding this section?
I went ahead and found it in the other console versions (arcade rom is encrypted) but I haven't touched it myself.
Code: Select all
0x0017FDDC 2000-01-06 DOA2 DC Magazine/Generator Demo
0x0017B628 2000-01-27 DOA2 DC US Prototype
0x00184394 2000-02-07 DOA2 DC Kiosk Demo
0x001894A0 2000-02-17 DOA2 DC US Prototype
0x0019B800 2000-03-06 DOA2 DC US Final
0x0019B800 2000-03-10 DOA2 DC PAL Prototype
0x003029F4 2000-03-17 DOA2 PS2 JP SLPS-25002
0x0019D15C 2000-06-11 DOA2 DC PAL Prototype
0x001A020C 2000-06-25 DOA2 DC PAL Final
0x001AAA8C 2000-08-29 DOA2LE DC JP Final
0x0029AA8C 2000-08-29 DOA2LE ECHELON SELFBOOT
0x003B6FCC 2000-10-01 DOA2HC PS2 US Prototype
0x003B730C 2000-10-03 DOA2HC PS2 US SLUS-20071 Final
0x003D43AC 2000-11-07 DOA2HC PS2 JP SLPS-25026 Final
The data barely changes between builds.

Re: Dead Or Alive 2: Final (RELEASE!)
Posted: Sun Nov 13, 2022 12:05 pm
by Dirge Of Ram
I have no more further information on the hex lighting effects. Too be fair I have no awareness on what I would be able to do without causing the game crash. Whenever I try something new in the Hex Department, I'm in my own mindset & comfort zone right now.
Hold Up!!! Now you know dee4doa because he was the one who found these out a very long time. Some Information, screenshots and videos from dee4doa pretty much lost forever.
There was one I mentioned that was removing Stage Walls, well I had the screenshots but not the info secured. Go on the Stage files here.
Again the video that dee4doa had up once was removing all the walls to the lower level Demon Church. I would only try this on emulator even though those screens say Stage 10 file that's The Great Opera house.
These are super old pictures so no big hyping now, last two here were from leidoa I believe.
I've been very open with everything I can do on here. You playin what I'm playing. No super hidden edition out there no no no. Real hardware every new feature must work on the Dreamcast itself not emulator only exclusive no no!
Finding that Dojo stage hex code I love for that to be restored. Seeing all DoA2 Hex Address's altogether further proves just one build after another. Said enough for now.