Jump to content
marcelo_20xx

Modding Battlereams.dat

Recommended Posts

its the .dat structure. if i finish the list then it should be possible to edit anything inside battlerealms.dat

cool, keep going on guy, we still have many things that couldn't have been edited yet ( battle gears range, stamina cost, etc...) so maybe your work can help do this :D

Share this post


Link to post
Share on other sites

il be adding the current section list in this post

0x000017CF Enum_AbilityTriggers http://pastebin.com/jQnrZq9i
0x00001BD3 Enum_AbilityType http://pastebin.com/ZjwQ9QnU
0x00005F50 Enum_AIBuildingType http://pastebin.com/mHygaDCF
0x000060F3 Enum_AIWarPartyType http://pastebin.com/ctfC57uP
0x000063BD Enum_AmbientLifeEffects http://pastebin.com/CQ32gWRL
0x0000666D Enum_AmbientLifeSounds http://pastebin.com/ZfBfHEFX
0x00006AC7 Enum_AmbientLifeType http://pastebin.com/aatu3nVA
0x00007168 Enum_AnimationClassType http://pastebin.com/TqpidNZ3
0x0000724C Enum_ArtType http://pastebin.com/KB8kt5Y6
0x00007315 Enum_BattleGearAcquisitionType http://pastebin.com/GnrRFYCA
0x00007976 Enum_BattleGearType http://pastebin.com/0d8mjrEB
0x0000A4CC Enum_BattleGearUseType http://pastebin.com/MkNY0jMD
0x0000A5FD Enum_BBox http://pastebin.com/dWSeLSvt
0x0000A7FC Enum_BeamBlendType http://pastebin.com/zjAKdkEB
0x0000A8C8 Enum_BeamDrawType http://pastebin.com/EDfF3MEE
0x0000A9B4 Enum_BeamMotionType http://pastebin.com/bxp2TNi3
0x0000AB2C Enum_BeamSubType http://pastebin.com/0EThhaaK
0x0000AC08 Enum_BeamType http://pastebin.com/ViAxLk4B

Share this post


Link to post
Share on other sites

il be adding the current section list in this post

0x000017CF Enum_AbilityTriggers http://pastebin.com/jQnrZq9i

0x00001BD3 Enum_AbilityType http://pastebin.com/ZjwQ9QnU

0x00005F50 Enum_AIBuildingType http://pastebin.com/mHygaDCF

0x000060F3 Enum_AIWarPartyType http://pastebin.com/ctfC57uP

0x000063BD Enum_AmbientLifeEffects http://pastebin.com/CQ32gWRL

0x0000666D Enum_AmbientLifeSounds http://pastebin.com/ZfBfHEFX

0x00006AC7 Enum_AmbientLifeType http://pastebin.com/aatu3nVA

0x00007168 Enum_AnimationClassType http://pastebin.com/TqpidNZ3

0x0000724C Enum_ArtType http://pastebin.com/KB8kt5Y6

0x00007315 Enum_BattleGearAcquisitionType http://pastebin.com/GnrRFYCA

0x00007976 Enum_BattleGearType http://pastebin.com/0d8mjrEB

0x0000A4CC Enum_BattleGearUseType http://pastebin.com/MkNY0jMD

0x0000A5FD Enum_BBox http://pastebin.com/dWSeLSvt

0x0000A7FC Enum_BeamBlendType http://pastebin.com/zjAKdkEB

0x0000A8C8 Enum_BeamDrawType http://pastebin.com/EDfF3MEE

0x0000A9B4 Enum_BeamMotionType http://pastebin.com/bxp2TNi3

0x0000AB2C Enum_BeamSubType http://pastebin.com/0EThhaaK

0x0000AC08 Enum_BeamType http://pastebin.com/ViAxLk4B

Nice work but I still don't know how we can use it

and where are the sections that we can put the triggers 00000001 ,00000002, 00000003 , etc

here\l/ or where

0x00000014 6F 00 00 00 // number of sections

0x00000018 to 0x0000038F: // section offsets

CF 17 00 00 00 00 00 00

D3 1B 00 00 00 00 00 00

50 5F 00 00 00 00 00 00

F3 60 00 00 00 00 00 00

BD 63 00 00 00 00 00 00

6D 66 00 00 00 00 00 00

C7 6A 00 00 00 00 00 00

68 71 00 00 00 00 00 00

4C 72 00 00 00 00 00 00

15 73 00 00 00 00 00 00

76 79 00 00 00 00 00 00

CC A4 00 00 00 00 00 00

FD A5 00 00 00 00 00 00

FC A7 00 00 00 00 00 00

C8 A8 00 00 00 00 00 00

B4 A9 00 00 00 00 00 00

2C AB 00 00 00 00 00 00

08 AC 00 00 00 00 00 00

FC B0 00 00 00 00 00 00

13 B2 00 00 00 00 00 00

A0 BC 00 00 00 00 00 00

AD BD 00 00 00 00 00 00

D0 D5 00 00 00 00 00 00

31 06 01 00 00 00 00 00

F9 0B 01 00 00 00 00 00

03 0D 01 00 00 00 00 00

7C 0D 01 00 00 00 00 00

3E 21 02 00 00 00 00 00

56 22 02 00 00 00 00 00

1E 6D 03 00 00 00 00 00

A4 75 03 00 00 00 00 00

2E 81 03 00 00 00 00 00

B2 82 03 00 00 00 00 00

27 85 03 00 00 00 00 00

84 90 03 00 00 00 00 00

B3 95 03 00 00 00 00 00

67 31 04 00 00 00 00 00

C5 32 04 00 00 00 00 00

34 34 04 00 00 00 00 00

6E 35 04 00 00 00 00 00

4D 37 04 00 00 00 00 00

FB 5B 04 00 00 00 00 00

B2 5C 04 00 00 00 00 00

F9 5F 04 00 00 00 00 00

8E 60 04 00 00 00 00 00

9E 66 04 00 00 00 00 00

7E A0 04 00 00 00 00 00

62 A4 04 00 00 00 00 00

16 A9 04 00 00 00 00 00

AF A9 04 00 00 00 00 00

18 AA 04 00 00 00 00 00

67 AE 04 00 00 00 00 00

81 B0 04 00 00 00 00 00

BF B1 04 00 00 00 00 00

ED 1B 05 00 00 00 00 00

1F 1D 05 00 00 00 00 00

07 22 05 00 00 00 00 00

F0 22 05 00 00 00 00 00

7A 24 05 00 00 00 00 00

2A 32 05 00 00 00 00 00

96 33 05 00 00 00 00 00

5E 34 05 00 00 00 00 00

43 35 05 00 00 00 00 00

6C 37 05 00 00 00 00 00

53 38 05 00 00 00 00 00

03 3A 05 00 00 00 00 00

AE 5C 05 00 00 00 00 00

85 65 05 00 00 00 00 00

AA 66 05 00 00 00 00 00

11 92 05 00 00 00 00 00

61 A0 05 00 00 00 00 00

52 A1 05 00 00 00 00 00

BB 66 06 00 00 00 00 00

DE 46 07 00 00 00 00 00

5C 3A 08 00 00 00 00 00

0D D8 09 00 00 00 00 00

39 DD 09 00 00 00 00 00

E7 E0 09 00 00 00 00 00

95 E4 09 00 00 00 00 00

3A E5 09 00 00 00 00 00

3A EC 09 00 00 00 00 00

85 02 0A 00 00 00 00 00

40 04 0A 00 00 00 00 00

99 06 0A 00 00 00 00 00

4F 08 0A 00 00 00 00 00

64 09 0A 00 00 00 00 00

CA 0F 0A 00 00 00 00 00

A8 22 0A 00 00 00 00 00

01 25 0A 00 00 00 00 00

AE A3 0B 00 00 00 00 00

E3 D0 0C 00 00 00 00 00

AA D1 0C 00 00 00 00 00

15 D3 0C 00 00 00 00 00

70 D4 0C 00 00 00 00 00

5C 0D 0D 00 00 00 00 00

64 20 0D 00 00 00 00 00

4A 21 0D 00 00 00 00 00

DB 22 0D 00 00 00 00 00

91 26 0D 00 00 00 00 00

BD 2D 0D 00 00 00 00 00

FD 2E 0D 00 00 00 00 00

F0 2F 0D 00 00 00 00 00

3A F7 0D 00 00 00 00 00

03 12 0E 00 00 00 00 00

81 1E 0E 00 00 00 00 00

70 1F 0E 00 00 00 00 00

D2 4D 0F 00 00 00 00 00

CF 4E 0F 00 00 00 00 00

48 53 0F 00 00 00 00 00

31 54 0F 00 00 00 00 00

1D 7F 0F 00 00 00 00 00

0x00000390 to 0x000017CE: // section strings0x00000014 6F 00 00 00 // number of sections

0x00000018 to 0x0000038F: // section offsets

CF 17 00 00 00 00 00 00

D3 1B 00 00 00 00 00 00

50 5F 00 00 00 00 00 00

F3 60 00 00 00 00 00 00

BD 63 00 00 00 00 00 00

6D 66 00 00 00 00 00 00

C7 6A 00 00 00 00 00 00

68 71 00 00 00 00 00 00

4C 72 00 00 00 00 00 00

15 73 00 00 00 00 00 00

76 79 00 00 00 00 00 00

CC A4 00 00 00 00 00 00

FD A5 00 00 00 00 00 00

FC A7 00 00 00 00 00 00

C8 A8 00 00 00 00 00 00

B4 A9 00 00 00 00 00 00

2C AB 00 00 00 00 00 00

08 AC 00 00 00 00 00 00

FC B0 00 00 00 00 00 00

13 B2 00 00 00 00 00 00

A0 BC 00 00 00 00 00 00

AD BD 00 00 00 00 00 00

D0 D5 00 00 00 00 00 00

31 06 01 00 00 00 00 00

F9 0B 01 00 00 00 00 00

03 0D 01 00 00 00 00 00

7C 0D 01 00 00 00 00 00

3E 21 02 00 00 00 00 00

56 22 02 00 00 00 00 00

1E 6D 03 00 00 00 00 00

A4 75 03 00 00 00 00 00

2E 81 03 00 00 00 00 00

B2 82 03 00 00 00 00 00

27 85 03 00 00 00 00 00

84 90 03 00 00 00 00 00

B3 95 03 00 00 00 00 00

67 31 04 00 00 00 00 00

C5 32 04 00 00 00 00 00

34 34 04 00 00 00 00 00

6E 35 04 00 00 00 00 00

4D 37 04 00 00 00 00 00

FB 5B 04 00 00 00 00 00

B2 5C 04 00 00 00 00 00

F9 5F 04 00 00 00 00 00

8E 60 04 00 00 00 00 00

9E 66 04 00 00 00 00 00

7E A0 04 00 00 00 00 00

62 A4 04 00 00 00 00 00

16 A9 04 00 00 00 00 00

AF A9 04 00 00 00 00 00

18 AA 04 00 00 00 00 00

67 AE 04 00 00 00 00 00

81 B0 04 00 00 00 00 00

BF B1 04 00 00 00 00 00

ED 1B 05 00 00 00 00 00

1F 1D 05 00 00 00 00 00

07 22 05 00 00 00 00 00

F0 22 05 00 00 00 00 00

7A 24 05 00 00 00 00 00

2A 32 05 00 00 00 00 00

96 33 05 00 00 00 00 00

5E 34 05 00 00 00 00 00

43 35 05 00 00 00 00 00

6C 37 05 00 00 00 00 00

53 38 05 00 00 00 00 00

03 3A 05 00 00 00 00 00

AE 5C 05 00 00 00 00 00

85 65 05 00 00 00 00 00

AA 66 05 00 00 00 00 00

11 92 05 00 00 00 00 00

61 A0 05 00 00 00 00 00

52 A1 05 00 00 00 00 00

BB 66 06 00 00 00 00 00

DE 46 07 00 00 00 00 00

5C 3A 08 00 00 00 00 00

0D D8 09 00 00 00 00 00

39 DD 09 00 00 00 00 00

E7 E0 09 00 00 00 00 00

95 E4 09 00 00 00 00 00

3A E5 09 00 00 00 00 00

3A EC 09 00 00 00 00 00

85 02 0A 00 00 00 00 00

40 04 0A 00 00 00 00 00

99 06 0A 00 00 00 00 00

4F 08 0A 00 00 00 00 00

64 09 0A 00 00 00 00 00

CA 0F 0A 00 00 00 00 00

A8 22 0A 00 00 00 00 00

01 25 0A 00 00 00 00 00

AE A3 0B 00 00 00 00 00

E3 D0 0C 00 00 00 00 00

AA D1 0C 00 00 00 00 00

15 D3 0C 00 00 00 00 00

70 D4 0C 00 00 00 00 00

5C 0D 0D 00 00 00 00 00

64 20 0D 00 00 00 00 00

4A 21 0D 00 00 00 00 00

DB 22 0D 00 00 00 00 00

91 26 0D 00 00 00 00 00

BD 2D 0D 00 00 00 00 00

FD 2E 0D 00 00 00 00 00

F0 2F 0D 00 00 00 00 00

3A F7 0D 00 00 00 00 00

03 12 0E 00 00 00 00 00

81 1E 0E 00 00 00 00 00

70 1F 0E 00 00 00 00 00

D2 4D 0F 00 00 00 00 00

CF 4E 0F 00 00 00 00 00

48 53 0F 00 00 00 00 00

31 54 0F 00 00 00 00 00

1D 7F 0F 00 00 00 00 00

0x00000390 to 0x000017CE: // section strings

Share this post


Link to post
Share on other sites

the sections in the first list (all Enum_'s) are just a list of possible IDs together with their string. these IDs are used in the sections of the second list (Data_) that is the important part of the file where u guys are editing all the stuff

Share this post


Link to post
Share on other sites

You want to tell as it goes that way

so :

part of data


0x000F7FA4 59 00 00 00 // number of sections
0x000F7FA8 to 0x000F8537: // section offsets

1. ED 93 0F 00 00 00 00 00
2. DE B7 0F 00 00 00 00 00
3. 39 B9 0F 00 00 00 00 00
4. 5C BC 0F 00 00 00 00 00

etc.

here /l\ goes enum

/l\ that string means :

1. Data_Abilities
2. Data_AIWarPartyMakeUps
3. Data_AmbientLife
4. Data_AmbientLifeEffects
5. Data_AmbientLifeSounds

etc.

so if I want mod something for e.g.

2.Data_AIWarPartyMakeUps / 2. DE B7 0F 00 00 00 00 00

I should take the list of enum :

in that case that one :

Enum_AIWarPartyType:

FFFFFFFF AIWARPARTY_INVALID

00000000 AIWARPARTY_AMBUSHFROMFOREST

00000001 AIWARPARTY_AMBUSHFROMHILL

00000002 AIWARPARTY_ASSAULT

00000003 AIWARPARTY_CHARGE

00000004 AIWARPARTY_DEFENSE

00000005 AIWARPARTY_RAIDING

00000006 AIWARPARTY_SCOUT

00000007 AIWARPARTY_DISTRACTAWAY

00000008 AIWARPARTY_DISTRACTTOWARDS

00000009 AIWARPARTY_FIXING

0000000A AIWARPARTY_FLANKING

0000000B AIWARPARTY_PERIMETER

0000000C AIWARPARTY_TOTAL

after moding it should look like that:

2. DE B7 0F 00 00 00 00 04

And that will be mean that AI on a war will be defensive

is that properly ?

Share this post


Link to post
Share on other sites

no, it doesnt work that way.

DE B7 0F 00 00 00 00 00 (0x00000000000FB7DE) is the offset where X section is located at. or maybe its offset 0x000FB7DE and 0000 is something else? idk

00000004 AIWARPARTY_DEFENSE means AIWARPARTY_DEFENSE = 04 00 00 00 that you can use somewhere in .dat...dont ask me where

Share this post


Link to post
Share on other sites

no, it doesnt work that way.

DE B7 0F 00 00 00 00 00 (0x00000000000FB7DE) is the offset where X section is located at. or maybe its offset 0x000FB7DE and 0000 is something else? idk

00000004 AIWARPARTY_DEFENSE means AIWARPARTY_DEFENSE = 04 00 00 00 that you can use somewhere in .dat...dont ask me where

Any way i don't find in br.dat file

that string -0FB7DE or 00000000000FB7DE

so your list are useful

is only for us to find where to use them

last question how works data section?

or how we can use it ?

here we can use one of your lists :

Enum_BattleGearAcquisitionType

http://pastebin.com/GnrRFYCA

buildinggivebg.jpg

FF BATTLE_GEAR_ACQUIRE_INVALID

00 BATTLE_GEAR_ACQUIRE_DRAGON_FIREWORKS_FACTORY

01 BATTLE_GEAR_ACQUIRE_DRAGON_SHRINE

02 BATTLE_GEAR_ACQUIRE_LOTUS_BROTHER_ONE

03 BATTLE_GEAR_ACQUIRE_LOTUS_BROTHER_THREE

04 BATTLE_GEAR_ACQUIRE_LOTUS_BROTHER_TWO

05 BATTLE_GEAR_ACQUIRE_LOTUS_BROTHERS

06 BATTLE_GEAR_ACQUIRE_LOTUS_EAT_PEASANT

07 BATTLE_GEAR_ACQUIRE_LOTUS_FULL_STAMINA

08 BATTLE_GEAR_ACQUIRE_LOTUS_THIRDTRAIN

09 BATTLE_GEAR_ACQUIRE_LOTUS_THIRDTRAIN_BLADEGARDEN

0A BATTLE_GEAR_ACQUIRE_LOTUS_THIRDTRAIN_FORGE

0B BATTLE_GEAR_ACQUIRE_LOTUS_THIRDTRAIN_TRAININGYARD

0C BATTLE_GEAR_ACQUIRE_SERPENT_METAL_WORKS

0D BATTLE_GEAR_ACQUIRE_SERPENT_THIEVES_GUILD

00E BATTLE_GEAR_ACQUIRE_WOLF_CAIRN

0F BATTLE_GEAR_ACQUIRE_WOLF_DRUIDESS_BLESSING

10 BATTLE_GEAR_ACQUIRE_WOLF_SHALERY

11 BATTLE_GEAR_ACQUIRE_TOTAL

Share this post


Link to post
Share on other sites

i dont know yet. i noticed the are 178 Data_ sections, but only 89 strings. also every ID in those sections got a strange value that normally is 04 00 00 00

yea, Enum_AbilityType should be useful as well

Edited by Blankname

Share this post


Link to post
Share on other sites

i dont know yet. i noticed the are 178 Data_ sections, but only 89 strings. also every ID in those sections got a strange value that normally is 04 00 00 00

yea, Enum_AbilityType should be useful as well

Keep working your work is appreciated and is needed for us modders

Share this post


Link to post
Share on other sites

great news guys

a friend of mine has started working in this game and he already did a quite good progress

viewer2.jpgviewerc.jpg

WOW, This will be very helpful for us!

Share this post


Link to post
Share on other sites

great news guys

a friend of mine has started working in this game and he already did a quite good progress

viewer2.jpgviewerc.jpg

Yeah biggrin.png

I agree with X-man

Share this post


Link to post
Share on other sites

Hi :)

I am this friend :P

at the moment its just a viewer, it shows the second section.

I made the viewer with Blankname's guidance on the structure.

Making a viewer is 10x easier then making it also able to write the file again, but atleast the mysterys about the battlerealms.dat file are uncovered.

u can download this viewer here :

http://download.wizatek.be/Debug.rar

This weekend i want to try if i am able to write the file, and make a editor for it

  • Upvote 3

Share this post


Link to post
Share on other sites

Hi smile.png

I am this friend tongue.png

at the moment its just a viewer, it shows the second section.

I made the viewer with Blankname's guidance on the structure.

Making a viewer is 10x easier then making it also able to write the file again, but atleast the mysterys about the battlerealms.dat file are uncovered.

u can download this viewer here :

http://download.wizatek.be/Debug.rar

This weekend i want to try if i am able to write the file, and make a editor for it

Very good, Now this program can help me to write information for my mods easy.

Many Thank!

Share this post


Link to post
Share on other sites

Yeah, thanks a lot for that utility! It would unlock a lot of new possibilities if it could edit battlerealms.dat, so I hope you have luck in getting that to work.

Share this post


Link to post
Share on other sites

I was wondering, if it isn't possible to write to the file, would it be possible to show the addresses of each value so they would be easy to find?

EDIT: I just found out how to make the level of detail for the models to be the same as in the cinematics. Go to address 00171198 and change 02 to 00. Some units will look the same, others will look like they do in the cinematics.

  • Upvote 1

Share this post


Link to post
Share on other sites

Good idea, for now i added the offsets with the data.

Also many types can be found back in the enums of section 1.

Sadly i didn't found out yet how to link the enums with the data automatic, can't find any reference to eachother in the file.

probably im missing it, but its not hard to match them on sight

0330c-bf76abd4-9180-4067-bcf1-343a9a8dfc

http://download.wizatek.be/BattleRealms.exe

// Edit

Updated it again, it will now edit and save the byte/int/float values.

Strings are not possible yet because it just edits the bytes on the offsets and it would mess up the file if the string was shorter or longer

  • Upvote 2

Share this post


Link to post
Share on other sites

Why does it shows assertion failed. Please fix it. I need it too much.

Share this post


Link to post
Share on other sites

Why is it that some techniques don't seem to work for other units? I tried giving poison weapons to ninjas; the technique appears next to the ninja's portrait, but his weapons don't become poisonous.

Can you reupload it again. I'm a XP user.

He doesn't need to reupload it, it works. The problem must be on your end.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...