Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UDAS sideloading, has anything else done it already? #337

Open
emoose opened this issue Sep 19, 2022 · 3 comments
Open

UDAS sideloading, has anything else done it already? #337

emoose opened this issue Sep 19, 2022 · 3 comments

Comments

@emoose
Copy link
Collaborator

emoose commented Sep 19, 2022

Wrote a little about how game code seems to read from DAS files at emoose/re4-research#3 (comment)

That gave me an idea of how sideloading could work for it, we could probably just hook DvdReadN so once a DAS has been read in, we scan a folder for loose files like [das_name]_[index].[ext], and any that exist we read in data for, figure out where it is in the offset-table, and just overwrite that to point at our new data.

It actually doesn't sound that hard now I wrote it down lol, but I'd guess depending on the DAS we might need to stay inside the same block of memory as the DAS itself, would probably need to copy/move existing data around to make sure replacing data doesn't waste any room too etc...

Like title says though I'm wondering if anything else like Raz0r allows UDAS sideloads too, it'd be good to try and keep things compatible if we can.

From what I've seen in GC debug it looks like DAS files were originally folders in the developer repo, so eg. pl00_094.FCV was probably originally at BIO4\Em\pl00\094.FCV (maybe with a different filename, which was lost when put inside the DAS), if nothing else does UDAS sideloads I guess we could probably do the same under the sideload folder.

(also pretty sure I heard there's a lot of duplicate files between different UDAS too, some way of handling that like replacing based on checksum of the original DAS data might be nice, but would be best to start with just replacing by index first)

@FutonGama
Copy link

FutonGama commented Sep 21, 2022

Just to inform you how the Qingsheng DLL sideload work, is basically the same for Raz0r Companion.

Qingsheng DLL have sideload for many files. This dll last version is not released public yet, only a few people have it because we are testing everything first for he release that. Here a example of the DLL config file.

AEV=1
ITA=1
ITM=1
CAM=1
LIT=1
EFF=1
EAR=0
EAT=1
ESE=0
ETM=1
ETS=1
FSE=1
RTP=1
SAR=0
SAT=1
SHD=0
SMD=1
SMX=1
MDT=1
Esl=1 Every (2) enemies you kill,(3) enemies will spawn
EMI=0
sfd=0
Extend footsteps=0
Press Z key to move item=0
Drop float=0
Be compatible HD project dll=1
Allocate more memory for SFD files=1
Can spawn more kinds of enemise=1
Auto-pickup random drop items=1
Arrange drop=1
AVL(aev lock)=1
04 04 04 04 04 FF FF FF FF FF
18 18 18 18 FF FF FF FF FF FF
20 20 FF FF FF FF FF FF FF FF
78 78 78 78 FF FF FF FF FF FF
07 FF FF FF FF FF FF FF FF FF
00 46 FF FF FF FF FF FF FF FF
01 FF FF FF FF FF FF FF FF FF
02 FF FF FF FF FF FF FF FF FF
0E FF FF FF FF FF FF FF FF FF
08 06 FF FF FF FF FF FF FF FF
pack/yz2=1

Thats the configuration of sideload of some files inside udas and more configurations from the DLL.
The configuration names are odd because he is chinese and have difficulty to translate to english.

explorer_RP8pGF6CQD

We have a folder named "Data" inside BIO4 folder and inside this folder we can create other folders with the map name and inside of it sideload the files renaming the file to 0000.AEV. 0000.ITA .. depends what file we need to sideload.
I have think some weeks ago a way to sideload a entire UDAS file so with that be able to for example make the same Enemy sideload with diferent files for each map, this will be able to change the enemy model and animations for each scenary and improve the game variations. Its already possible with the DLL sideload the .pack file for each map.

Raz0r did that for the companion dll too but companion is very outdated already. Mr Curious and other people still use it because for change the DLL in the middle of the mod project is complicated.

@qingsheng8848
Copy link

you have the right to expose my dll!

@qingsheng8848
Copy link

I can provide my modified bytes if available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants