Jump to content

Is it possible to mod DLL hardcoding(eg. character bonuses)?


GrandAdmiralJello
 Share

Recommended Posts

I made a previous thread on this, but it's disappeared--along with all my posts. Was there an accidental wipe of the board--I've noticed that there are a bunch of September threads, and then things from back in March?

 

Anyway.

 

As far as I'm aware, things like Luke and Leia's evasion Force bonuses or the Emperor's leadership bonus are hardcoded to their slots in the DLL. I imagine things like starting minor characters (e.g. Needa, Piett) are also hard-coded.

 

Now, playing around with the resource editor shows that each entry for things like the string for a character's name has a number in front it it. I suppose that's the reference for the "slot" of the character. If this is so, would it be possible to change the reference for these special abilities?

 

I'm new to editing Rebellion dlls, so I wouldn't know this or even where the special abilities are defined. Since there are a few people working on TCs out there, I imagine they've mastered everything that can be known about Rebellion editing. I also imagine that their TCs have needs that are different from the setup with the major characters as they are.

 

So would someone more knowledgeable about this matter shed some light on the matter? Is it possible to give different character slots (even minor characters) these special abilities? Is it possible to change which characters the game will automatically start with?

 

Your help is appreciated. Since my previous thread vanished, I wasn't able to see if I got any replies.

Link to comment
Share on other sites

Hello.

I can tell u 2 things i've experienced about the ingame characters.

1. The major characters are their own abilities wich cannot be changed - perhaps their stats can be changed - raised or lowered by Rebed, i think.But we can use this abilities as we want. Example : in my Before the storm TC i've put Obi Wan in Leia's slot, and Leia i've put in Mothma's slot.

This cauzed that now Obi Wan received the ability to fight with Vader and Palpy - do u remember this - Leia fought with them after she finds out that she is a Skywalker too.

And even lets tell, u put Jorus C'baoth in place on Palpy.

So in this case Jorus and Obi Wan can fight. Of course u have to change the event picture of Leia-Palpy's fight - u have to create one with Jorus and Kenobi.

http://www.swrebellion.com/forums/postlite3426-.html - look at the bottom of this post, u will see a picture made by me, about Kenobi and Palpy's fight.

 

2. Here are some slots - of Jerjerod,Piett,Veers,Ozzel imp side, at reb side i think only Chewie and Wedge (imp side have the 4 min and 2 maj chars, reb side have 4 maj and 2 min chars and +1 or 2 random min char at the beggining- this ones are special of the meaning that the persons assigned to this slots always will appear at the begginning of a new game.

As example, i've put Tarkin on Ozzel, Tagge on Veers, and Motti on Piett, and Bast on Jerjerod. Now this mean, when be begin a new game, is sure that Tarkin,Tagge,Motti and Bast always will appear.

 

I hope i've helped u.

Link to comment
Share on other sites

Yeah, I know you can "replace" characters by putting another on in their slot. Is there no way of using the dlls so that other characters can use the abilities that *doesn't* involve replacing a major character?

 

I want to use the "evasion bonus" on Imperial characters. Now, I could always replace Leia with an Imperial character... but then she'd be gone, sort of, and that's really weird. I also don't know if that's possible.

 

It'd be far better if I was able to "point" the bonus to a different character, if that were possible.

Link to comment
Share on other sites

Hmh i think is only possible to assign a person using the special slot - to the special ability.

I didnt believe that u can assign the special ability to a slot simple.

Me personally i didnt know if anybody can change an ability in the game.

Some fans tolding that this things are encripted in the game and nobody can access it, unless he have the encriping keys.

Link to comment
Share on other sites

  • 2 weeks later...
Is there no way of using the dlls so that other characters can use the abilities that *doesn't* involve replacing a major character?

 

A bit about how rebellion is organized. The DLLs in rebellion's case are resource ONLY DLLs. That means they have pics, text, voice type data but contain no program code themselves. The rebellion.exe file has those features 'hardcoded'. To do anything with them, you would have to decompile the code, and go through much work to figure things out. Like other's have said, it would probably take as much effort to do that as it would to simply write your own version of rebellion.

 

In the DAT files, there are 'family' names. They are probably used the internals to determine who get's what special events. The luke familycode, would mean that anyone who uses that code would have the luke special events. Just like anyone with the same family code as han solo, would get attacked by bounty hunters, get kidnapped to jabba's palace, etc....

 

I've gone through all the *SD.DAT files in detail, but have not fully tested out my family code theory. But the theory makes sense from a coding stand point.

 

here's a summery of how rebellion is layed out:

 

in the main rebellion dir:

You have the rebellion.exe and all the resource DLLs.

 

\edata contains the pictures used in the ingame ency.

\gdata are all the DAT files which tell the game about ships, characters, troops,etc... in *sd.dat files. The *tb.dat files have things like probablity tables, initial units on cor/yavin/rebelHQ.

on the CD is \mdata for the movies and audio of the game

 

the rebellion.exe has all the 'coded' stuff that we cant easily tweak and change. In the end, this game was never created with user modding in mind. I'm new here, but it's clear that many people put in alot of effort to figure out the secrets of rebellion. The guy who wrote rebedit had a solid undertanding of all the DAT files, too bad much of that information has been lost to the community.

 

 

Hope that helps

Link to comment
Share on other sites

Aha! Now, does the family code thing only handle events, or does it do things like starting locations?

 

Let's say, for instance (and this is actually exactly what I want to do), I wanted to make a character in Noval Garaint's slot have Leia's bonuses and abilities.

 

How would I give Noval Leia's family code? I have a hex editor thing, but I'd have no idea where to do in the .dat to find this stuff.

 

And would that work, or would it make Noval want to start where Leia starts? Would Noval (actually a character in his slot) still be an Imperial?

Link to comment
Share on other sites

Aha! Now, does the family code thing only handle events, or does it do things like starting locations?

 

I'm not sure on starting locations. I think certain minor characters are hardcoded to be available at the start. All major characters have their own family code, so they could be hardcoded to location, this would have to be tested to verify. I'm sure(but again have no personally verified, that family code would change some things about characters in terms of events. Each major character has a unique family code ranging from 48 to 53. Leia has 49. Now all minor characters are family code, 56. I would guess if you changed Novel to 49, he would be able to fight vader/emp once his force powers are revealed. Also, each character has a flag for which side they are on, so that would allow characters to be switched around.

 

For now the only common way to edit family code is to use a hexeditor, which is a pain.

Link to comment
Share on other sites

Yeah... I've used a hex editor before, but I've had directions. Someone told me to search for a particular phrase, and then told me exactly what to edit in order to change it.

 

So I do have a hex editor. I just need instructions... could you tell me which file I need to edit and what exactly I'd need to do in order to change Noval's family code from 56 to 49? Then I could see if that would do it or not...

Link to comment
Share on other sites

To summarize for everyone else--it didn't work.

 

We tried giving Noval Leia's family ID, and it crashed the game. We tried switching their family IDs and giving Leia the ID of a minor character, and it crashed the game.

 

So it seems the only way to grant a character Leia's bonuses is to actually put the character in her slot. Giving anyone else her family ID seems to crash the game.

 

Unfortunately, this still leaves me with the problem of wondering how to give an Imperial character Leia's evasion bonuses, since there doesn't seem to be a way to switch the sides of a major character. Otherwise I could put the character in Noval's slot on Leia's slot if I could.

 

Does anyone else have any idea on what I could do? Or is it impossible?

Link to comment
Share on other sites

To summarize for everyone else--it didn't work.

 

.

.

.

.

 

To be more precise, I changed his ID and left him in the Minor character file, and changed leia's ID and left her in the major character file.

 

That alone could be enough to cause the crash. We did not test other options.

 

G A Jello, I used the tool that I just released to change those things. Now you can experiment with rebedit/data editor tools to try other options. You might find something that works....never know.

 

The major problem will be anyone in the empire on a rebel planet would be a prisoner.

 

 

GL with experiments.

Link to comment
Share on other sites

Aha. So even if we can't have "Leia" moved from Yavin, if she's an Imperial character that starts on Yavin, she'd just be made a prisoner?

 

That's not terribly insurmountable, so long as I can send a fleet over to rescue her or something. Hm.

 

Well, I'll go look for your tool and see what can be done. If I did switch the characters between the files as well, would that impact other things?

 

In other words, do the files have references pointing to them that say "THIS character is Leia and THIS is Noval" or are they just taken in the order that they appear in the files?

 

EDIT: !!!!!

 

It works!

 

The Rebels can't see Leia as a prisoner--BUT if I send an Imperial fleet over to capture her, it works. She becomes a usable Imperial character.

 

Hm. The only problem, of course, is that I'm required to capture Yavin at the beginning of every game. There's no possible way to change Leia's starting position, I imagine, though... so this is better than nothing. I'll keep experimenting--but this is a good start! Thanks to your tool, I might get my idea working. :)

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

Copyright (c) 1999-2022 by SWRebellion Community - All logos and trademarks in this site are property of their respective owner. The comments are property of their posters. Star Wars(TM) is a registered trademark of LucasFilm, Ltd. We are not affiliated with LucasFilm or Walt Disney. This is a fan site and online gaming community (non-profit). Powered by Invision Community

×
×
  • Create New...