Aller au contenu

Photo

ME 2 PC : Coalesced Editor v1.0.0.32 (B)


464 réponses à ce sujet

#126
Iron Spine

Iron Spine
  • Members
  • 211 messages
I'm now working on creating a feature to add bindings. The 1st default or example will be to create a Ghost on/off toggle which can be used to escape the dreaded stuck-in-model/on-model/floating issues.

#127
Chayyiel

Chayyiel
  • Members
  • 1 messages
Great work! Keep it up!

#128
zBobG

zBobG
  • Members
  • 62 messages
Found a major error in v1.0.0.8:

Make a change in BIOInput.ini section then rebuild the file - the hex count for BIOInput section is offset to the right by one byte (or offset by +1 bytes).

Should be something like "FF 8B 00 00"
Instead it is "00 FF 8B 00"

Of course this causes ME2 to fail to run.

Loading the ini file into my Word macro then rebuilding fixes the error. So something's wrong with your (global) rebuilding code (or however you do it), at least it's bad in v1.0.0.8, haven't tried v1.0.0.9 yet. Was working in v1.0.0.6 though.

Oddly, I thought it was working - I thought v1.0.0.8 had been run at least once, changing the same item, and rebuilt properly. But, when this particular change resulted in an error I tried rebuilding the ini and got the same failure. Didn't try it again after that. I may have been using v1.0.0.6 previously and just thought that v1.0.0.8 was working properly.

Modifié par zBobG, 05 février 2010 - 01:56 .


#129
Iron Spine

Iron Spine
  • Members
  • 211 messages
Ok thanks I must have brain fart in the parse code somewhere I'll have to try and track down what's up.

#130
BelnickISMYNICKNAME

BelnickISMYNICKNAME
  • Members
  • 196 messages
lol



thought this was a savegame editor so i could stop the stupid joker auto trigger mission, but i guess that save is "¤"#¤"¤ up :(

#131
Iron Spine

Iron Spine
  • Members
  • 211 messages
No sorry it's an editor for the games main settings file, Coalesced.ini.

#132
Iron Spine

Iron Spine
  • Members
  • 211 messages
They must have put in a quick hack to deal with the incorrect value stored for the BIOWeapon file for it not to crash on startup but left the others to follow the strict lengths pulled from the data header with no recalc on those.



All the lengths for data for all entries, except the BIOWeapon, is correctly stored.



But it's most defintiely not for BIOWeapon. They have 8607 stored but it's actually 137487 bytes in length. There's no way a parser following the strict structure of the file (as I interpret it) wouldn't puke when it tries to chew that file entry so they must have added a kludge in there when they hit that one to just find the trailing null for that entry and ignore the length in the data header.



But any way I've reexamined the byte structure of the file and have refactored. It will still expect (respect) the filename and filedata headers to be 4 bytes immediately proceeding their associated data but will be more loose on the data itself and recompute as before. The shift error was actually a mistake in my initial tired examination where I was thinking it was actually 5 byte haders, when it reality it appears it's only 4 and the 1st is actually just the trailing null for the prceeding file name entry.




#133
Galeo Deus

Galeo Deus
  • Members
  • 15 messages
Great work here.



But is there any way to force 5.1 audio like in the first game? It was just some lines in BIOengine under [ISACTAudio.ISACTAudioDevice]. But now in Coalesced.ini there is no such thing. And if I add it, the game crashes on start.



I have Soundblaster X-Fi usb headphones running CMSS 3d (virtual surround) that needs 5.1 audio input to work properly.



Thanks for any help in advance.

#134
Iron Spine

Iron Spine
  • Members
  • 211 messages
Not sure Galeo it may either just be in a different location or may be an entirely different animal now. I'm not a ME1 verteran so I don't know anything about the 1st round in the series.



But considering the enormous amount of settings available I'd be surprised if it's not in there somewhere maybe just under another name. There's a staggering amount of setting to be sure, including duplicates (or overrides )as well as an interesting (and quite scattered) bindng system that I still need to interpret further. Hopefully someone has or will locate an answer for you.

#135
cobalt38

cobalt38
  • Members
  • 13 messages
Hello Iron i need some help getting the whole editor to work on vista i put the file path in but nothing works none of the pre set hotkeys don't work on the keypad, Any idea what i'm doing wrong?

#136
Iron Spine

Iron Spine
  • Members
  • 211 messages
@Cobalt:



Not quite sure I understand the problem yet. So you downloaded the zip and unzipped it somewhere, and it execues. Correct?



If it runs, do you see a screen saying it will use a location it found? Is the path it displays in the dialog the correct path to the game?



If it's a dialog asking for the path are you navigating to the root directoy of the game?



Does it accept that selection and continue to launch?



When it launches do you see a bunch of entries in a treeview on the left side of the app?



Again I'm not quite sure where you are in the sequence or the problem you're having. And I definitely don't know what "none of the pre set hotkeys don't work on the keypad" means so please explain a bit further if you can.



The editor is developed on Windows Ultimate x64 using .NET 3.5 so it works fine on Vista as well as XP. I haven't tested it on other platforms.

#137
apoc_reg

apoc_reg
  • Members
  • 459 messages
Hey Iron, looking good.



Id like to download and have a look around the program etc but want to be sure that wont mess my game up. Will i only encounter bugs if i change something?



Cheers

#138
Iron Spine

Iron Spine
  • Members
  • 211 messages

apoc_reg wrote...

Hey Iron, looking good.

Id like to download and have a look around the program etc but want to be sure that wont mess my game up. Will i only encounter bugs if i change something?

Cheers


Make  backup of your Coalesced.ini file before launching it so you can easily revert if you encounter problems. The program aso automatically makes a backup but you should always make 1 yourself too, and first.

The program only alters that file, so if something goes bad, restorng that file will restore you as though you never used it. It's in Beta and has known bugs. There are situations where the rebuild function operates incorrectly and produces a file result that won't work however that is currently the minority not majority of experiences by folks using it.

I am actively refactoring (right now actually) the rebuild to create more rigid structures that precisely use the structures in the file which will resolve this problem and should be in the next release.

#139
zBobG

zBobG
  • Members
  • 62 messages
I don't know what you're saying about BIOWeapon. As far as I can tell the hex count for that is correct in the stock file. If I make a change then rebuild the ini file, using the actual character count, the file appears to be correct and the game loads it. If what you are saying is that ANY character count can be used for the BIOWeapon block, that's easy to test. Use a hex editor to change the hex count to something else and see if the file loads. I'm thinking NOT! But I haven't tried it, so... Whatever! If any hex count CAN be used then why not just use the correct count? I think this may be a non-issue, interesting but not problematic.

Here is my Word macro for globally rebuilding the hex counts, it works EVERY time. It does compute the hex counts the same way for every block. I thought it might help for you to see how simple it is to just globally rebuild the hex counts all at one time. Bear in mind that it is a Word macro and certain parts of the algorithm can be done more efficiently in an actual programming language. Word must process a macro as if everything is a character code, there are few high level language constructs available. Particularly see the hex conversion routines, they're not very sophisticated but they work. Comments are marked by a leading single quote. The double slashes in LongToHex are an artifact of this forum, that slash indicates an integer division (as opposed to a real division).

Not to tell you how to program but... It might be best to globally rebuild the file, by force, before the program exits if any changes have been made. You could give a messagebox that said something like "Changes have been made. Rebuild file?" That way a user would be reminded if any changes have been made, accidental or not, and given the choice to throw away those changes if they wished.

Sub fix_file()
'
' fix_file Macro
' Fix the coalesced ini file
'
    Dim num_files As Long, num_b0 As Byte, num_b1 As Byte, num_b2 As Byte, num_b3 As Byte
    Dim block_count As Long, text_length As Long, curr_char As String
   
' go to top of file
    Selection.HomeKey Unit:=wdStory
' get number of files in coalesced ini
    num_b0 = Asc(Selection)
    Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
    num_b1 = Asc(Selection)
    Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
    num_b2 = Asc(Selection)
    Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
    num_b3 = Asc(Selection)
    Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
' convert bytes to long
    num_files = HexToLong(num_b0, num_b1, num_b2, num_b3)

    block_count = 0
' parse each ini block
    Do While block_count < num_files
' get number of chars in ini name
        num_b0 = Asc(Selection)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
        num_b1 = Asc(Selection)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
        num_b2 = Asc(Selection)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
        num_b3 = Asc(Selection)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
' convert bytes to long
        text_length = HexToLong(num_b0, num_b1, num_b2, num_b3)
' parse the ini name
'        counter = 0
'        Do While counter < text_length
'            counter = counter + 1
'            Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
'        Loop
        Selection.MoveRight Unit:=wdCharacter, Count:=text_length, Extend:=wdMove
       
        block_count = block_count + 1
' set a bookmark for the text length
        ActiveDocument.Bookmarks.Add Name:="textBlock"
' move the selection to the text
        Selection.MoveRight Unit:=wdCharacter, Count:=4, Extend:=wdMove
' parse the text
        curr_char = Selection
        text_length = 1
        Do While curr_char Chr(0)
            text_length = text_length + 1
            Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
            curr_char = Selection
        Loop
' move right of the null
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
' bookmark for next block
        ActiveDocument.Bookmarks.Add Name:="nextBlock"
' go to text bookmark
        ActiveDocument.Bookmarks("textBlock").Select
' fill in the hex number
        Call LongToHex(text_length, num_b0, num_b1, num_b2, num_b3)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Selection.Text = Chr(num_b0)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Selection.Text = Chr(num_b1)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Selection.Text = Chr(num_b2)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdExtend
        Selection.Text = Chr(num_b3)
        Selection.MoveRight Unit:=wdCharacter, Count:=1, Extend:=wdMove
       
' go to next block
        ActiveDocument.Bookmarks("nextBlock").Select
       
        block_count = block_count + 1
    Loop ' each ini block
' go back to top of file
    Selection.HomeKey Unit:=wdStory
    MsgBox ("File fixed")
End Sub

Public Function HexToLong(b0 As Byte, b1 As Byte, b2 As Byte, b3 As Byte) As Long
Dim RetVal As Long, temp As Long
    temp = (b1 * 256)
    RetVal = b0 + temp
    temp = (b2 * 256 * 256)
    RetVal = RetVal + temp
    temp = (b3 * 256 * 256 * 256)
    HexToLong = RetVal + temp
End Function

Public Function LongToHex(LongVal As Long, b0 As Byte, b1 As Byte, b2 As Byte, b3 As Byte)
Dim temp As Long
    b0 = LongVal Mod 256
    temp = LongVal \\ 256
    b1 = temp Mod 256
    temp = ((LongVal \\ 256) \\ 256)
' or... temp = temp \\ 256 <---- Word sometimes chokes on this, so avoided - no real performance benefit
    b2 = temp Mod 256
    temp = (((LongVal \\ 256) \\ 256) \\ 256)
' or... temp = temp \\ 256 <---- Word sometimes chokes on this
    b3 = temp Mod 256
End Function

Modifié par zBobG, 05 février 2010 - 08:45 .


#140
Iron Spine

Iron Spine
  • Members
  • 211 messages

zBobG wrote...
I don't know what you're saying about BIOWeapon. As far as I can tell the hex count for that is correct ...


?.. Try a hex editor?

My code parses the actual structure of the file. The file has a structure that defines the data contained inside it.

Coalesced.ini:
Bytes 0 to 3 are currently unknown (to me) as to what they represent and are kept intact as-is. There are NOT 30 files inside the Coalesced.ini file. There are 15.

From there on out, the fie has a structure (from my interpretation, and from proven implementation) as follows: Note the lengths are stored in reverse.

4 byte filename header:
This contains a value indicating the length in bytes of the filename immiedately followng the header. The length includes the trailing null.

Immediately following this header is the filename and null, at the precise length indicated in the header.

Next...
4 byte filedata header:
This contains a value indicating the length in bytes of the actual data for the file. The length includes the trailing null.

That's the structure of the file.

Each filename has a 4 byte header preceeding it describing its length.
Each data block has a 4 byte header describing its length.

There are precisely 15 files inside Coalesced.ini
Each file has 1, and only 1, filename with a 4 byte header preceeding it that describes it, and only it. 
Each file has 1, and only 1, data block representing the data for the file with a 4 byte header preceeding the data block. Each fie has 1 and only 1 data block.

This is the reason the game crashes when the file is edited without the file being rebuilt. The headers are interpreted, which means the game code uses the headers to find the data, so if the data in the headers themselves are wrong, the game will parse the data wrong.

Hopefully that clears it up.

Here's a quick dump from my editor of what I'm talking about:

Entry 001, FNHNDX: 0000004, FNNDX: 0000008, DHNDX: 0000046, Data 0000050 to 0000850, SLEN: 0000801, ALEN: 0000801, FILE: ../BIOGame/Config/PC/Cooked/BIOAI.in
Entry 002, FNHNDX: 0000851, FNNDX: 0000855, DHNDX: 0000897, Data 0000901 to 0021520, SLEN: 0020620, ALEN: 0020620, FILE: ../BIOGame/Config/PC/Cooked/BIOCompat.in
Entry 003, FNHNDX: 0021521, FNNDX: 0021525, DHNDX: 0021568, Data 0021572 to 0030119, SLEN: 0008548, ALEN: 0008548, FILE: ../BIOGame/Config/PC/Cooked/BIOCredits.in
Entry 004, FNHNDX: 0030120, FNNDX: 0030124, DHNDX: 0030166, Data 0030170 to 0105504, SLEN: 0075335, ALEN: 0075335, FILE: ../BIOGame/Config/PC/Cooked/BIOEditor.in
Entry 005, FNHNDX: 0105505, FNNDX: 0105509, DHNDX: 0105562, Data 0105566 to 0109477, SLEN: 0003912, ALEN: 0003912, FILE: ../BIOGame/Config/PC/Cooked/BIOEditorKeyBindings.in
Entry 006, FNHNDX: 0109478, FNNDX: 0109482, DHNDX: 0109536, Data 0109540 to 0110532, SLEN: 0000993, ALEN: 0000993, FILE: ../BIOGame/Config/PC/Cooked/BIOEditorUserSettings.in
Entry 007, FNHNDX: 0110533, FNNDX: 0110537, DHNDX: 0110579, Data 0110583 to 0219585, SLEN: 0109003, ALEN: 0109003, FILE: ../BIOGame/Config/PC/Cooked/BIOEngine.in
Entry 008, FNHNDX: 0219586, FNNDX: 0219590, DHNDX: 0219630, Data 0219634 to 0314454, SLEN: 0094821, ALEN: 0094821, FILE: ../BIOGame/Config/PC/Cooked/BIOGame.in
Entry 009, FNHNDX: 0314455, FNNDX: 0314459, DHNDX: 0314500, Data 0314504 to 0349354, SLEN: 0034851, ALEN: 0034851, FILE: ../BIOGame/Config/PC/Cooked/BIOInput.in
Entry 010, FNHNDX: 0349355, FNNDX: 0349359, DHNDX: 0349400, Data 0349404 to 0350648, SLEN: 0001245, ALEN: 0001245, FILE: ../BIOGame/Config/PC/Cooked/BIOParty.in
Entry 011, FNHNDX: 0350649, FNNDX: 0350653, DHNDX: 0350702, Data 0350706 to 0354631, SLEN: 0003926, ALEN: 0003926, FILE: ../BIOGame/Config/PC/Cooked/BIOStringTypeMap.in
Entry 012, FNHNDX: 0354632, FNNDX: 0354636, DHNDX: 0354676, Data 0354680 to 0355886, SLEN: 0001207, ALEN: 0001207, FILE: ../BIOGame/Config/PC/Cooked/BIOTest.in
Entry 013, FNHNDX: 0355887, FNNDX: 0355891, DHNDX: 0355929, Data 0355933 to 0428418, SLEN: 0072486, ALEN: 0072486, FILE: ../BIOGame/Config/PC/Cooked/BIOUI.in
Entry 014, FNHNDX: 0428419, FNNDX: 0428423, DHNDX: 0428465, Data 0428469 to 0565955, SLEN: 0008607, ALEN: 0137487, FILE: ../BIOGame/Config/PC/Cooked/BIOWeapon.in
Entry 015, FNHNDX: 0565956, FNNDX: 0565960, DHNDX: 0566005, Data 0566009 to 0566109, SLEN: 0000101, ALEN: 0000101, FILE: ../BIOGame/Config/PC/Cooked/PC-BIOEngine.in

As can be seen the stored length for all entries -except- BIOWeapon are correct.

Modifié par Iron Spine, 05 février 2010 - 09:49 .


#141
zBobG

zBobG
  • Members
  • 62 messages
Well, this is very strange. I have a copy of the original coalesced.ini file and in my copy the hex count IS CORRECT. I know this is true because I went through the file carefully and wrote down the info for each block to be used when testing my Word macro. I've just now checked the original file again and the hex count is still CORRECT.

dec: 137487
hex: 0F 19 02 00

The first four bytes of the file is the number of blocks in the file, or the number of included ini files divided by 2.

Each inifile has a name block and a data block. So (number of files) = (number of blocks / 2).

Technically the hex bytes are in little-endian order (low byte first, left to right) which is the standard for x86 code. It is "reversed" from standard decimal order which technically is called big-endian, if that's what you mean.

To an x86 assembly programmer little-endian order is not "reversed", it is the correct hex order.

For numbers, little-endian means the little end is first, big-endian means the big end is first when read from left to right.

Another problem found v1.0.0.10:
The following is not really your program's problem but is an issue which breaks your program.

After the final null in the coalesced.ini file the file should normally end. Interestingly, there can be bytes following the final null and ME2 does not complain, the file is accepted. So, how is this a problem?

Various utilities that may be used to edit the coalesced.ini file MAY add an additional null or even add an additional line-feed. ME2 does not complain about these extra characters but your editor does complain and refuses to load the file. I can suggest that your program should simply disregard any extra characters following the final null, load the coalesced.ini file, just disregard any extra characters and when saving just don't save those extra characters.

Modifié par zBobG, 05 février 2010 - 10:15 .


#142
Catscratcher

Catscratcher
  • Members
  • 16 messages
So, Intro movies are in there by default.

[FullScreenMovie]
.
.
SkippableMovies=ME_EAsig_720p_v2_raw
SkippableMovies=publisher
SkippableMovies=BWLogo

Yet, you can't use Spacebar or Esc to skip them.
So we are sure these below don't work right ?

[SFXGame.SFXGameModeCinematic]
Bindings=( Name="SpaceBar", Command="Shared_CineSkip" )
Bindings=( Name="Escape", Command="Shared_CineSkip" )

[SFXGame.SFXGameModeMovie]
Bindings=( Name="SpaceBar", Command="Shared_MovieSkip" )
Bindings=( Name="Escape", Command="Shared_MovieSkip" )

[SFXGame.SFXGameModeBase]
Bindings=( Name="Shared_CineSkip", Command="SkipCinematic" )
Bindings=( Name="Shared_MovieSkip", Command="SkipMovie" )

Skipping anything in the game is not possible because it's hardcoded I suppose. /cry

Modifié par Catscratcher, 05 février 2010 - 09:51 .


#143
Iron Spine

Iron Spine
  • Members
  • 211 messages
@zBobG
Oh excellent you're a real programmer then and do understand whew. Yes I said reversed because I wasn't sure if you'd actually know what I meant. To someone that didn't understand it, they might try to logially parse it from left to right and then scratch their head wondering what the hell the number represents.  I've been an engineer for 20 years and started with assembly (been looooong long time though since I've done that).

Any way, the 1st 4 bytes now makes sense and also explains why both actually work.

I have explicitly written the program to try ad follow the structure as rigidly as possible in case the game -does- have trouble which I would know if it did or didn't unless I mangled the data in various ways to try and break its loading procedures, which I haven't. I'll check into loosening up the rigidity so it's more flexible in that regard.

UPDATE:
I went ahead and just added some asasdasdasd to the end to see what you're talking about. I'll see about having it just drop extranious. It's written this way for the rigid purpose I described above, but it will be much more friendly if it simply drops the junk that others may have incorrectly (or otherwise) appended to the file data.

Modifié par Iron Spine, 05 février 2010 - 10:35 .


#144
Iron Spine

Iron Spine
  • Members
  • 211 messages

Catscratcher wrote...

...
Yet, you can't use Spacebar or Esc to skip them.


Not sure, however the game appears to use an interesting and quite scattered binding system.

So I'm wondering if a binding could be added to say the default mode section with the appropriate commands attached if that would work? Technically it shouldn't if we assume the game is in specific modes that relate to the associated sections as described here though. But who knows.

Typo corrected:
Since the conersations are fully skippable maybe the other section isn't read or used.

Modifié par Iron Spine, 05 février 2010 - 10:16 .


#145
Catscratcher

Catscratcher
  • Members
  • 16 messages
Probably SkipCinematic and SkipMovie engine commands are not in effect, now if I could just reach console and test them out :) You should be able to use console in cutscenes and bink movies right ?


#146
Iron Spine

Iron Spine
  • Members
  • 211 messages
Oops we chatting over each other. Need a live chat feature instead :)

By the way I noticed the -log vaue int he GameCommanLine under editor earlier while just messing around looking at a few things and addd it to a shortcut.

It appears to cause the game to either launch a custom console or launch a command process with the output redirected into itself or a log file somewhere maybe. Or mabye its something else entirely, but it does pop up.

Modifié par Iron Spine, 05 février 2010 - 10:27 .


#147
zBobG

zBobG
  • Members
  • 62 messages

Catscratcher wrote...
So, Intro movies are in there by default. Yet, you can't use Spacebar or Esc to skip them.

For the intro movies I've just renamed the two that play, that makes them not play.

rename ME_EAsig_720p_v2_raw.bik ---> _ME_EAsig_720p_v2_raw.bik
rename BWLogo.bik ---> _BWLogo.bik

I have no movie named "publisher" in the Movies folder.

I don't know about skipping ANY cutscene, but I CAN skip some cutscenes with spacebar. One in particular that can be skipped is the "dock" cutscene, when you select "dock" on the Normandy the cutscene can be skipped with spacebar or esc.

In other threads some users have reported that remapping the controls can cause some keypresses to no longer work as they were originally designed. So, remapping the spacebar to some other function MAY break the ability to skip a cutscene. Or, remapping the "use" function to the some other key may break the skip function.

@IronSpine
Well, the -log is probably only intended for the Editor and it doesn't do anything in the game. Same for any of the various "debug" ini entries, they only would work in a debug version of the program. Lots of unused ini entries are simply left in the file for possible future compatibility.

In the case of the game UnReal, there was an UnReal Editor, the same ini files were used for both the game and the Editor. And, of course, the Editor specific ini entries only worked in the Editor.

Modifié par zBobG, 05 février 2010 - 10:52 .


#148
Iron Spine

Iron Spine
  • Members
  • 211 messages

zBobG wrote...
...In other threads some users have reported that remapping the controls can cause some keypresses to no longer work as they were originally designed. So, remapping the spacebar to some other function MAY break the ability to skip a cutscene. Or, remapping a different function to the spacebar may break the skip function.


Yeah that's something I thought about 2 days ago while reviewing the binding and command system the game appears to employ and wondered if they had hard coded or otherwise not accounted for people customizing the controls more than they intended.

But we should also be able to find a middle ground of some sort, such a mappings keys that are not used at all by the game. + and - (keynames Add / Subtract) are the ones I chose to use when I implemented the noclip workarouind.

UPDATED:

Just some extra info related to the subject the (or one of the, if there are more) lists the game uses for keys is:


[SFXGame.SFXGameModemanager] Keynames in BIOGame

Modifié par Iron Spine, 05 février 2010 - 10:52 .


#149
zBobG

zBobG
  • Members
  • 62 messages
Remapping: I said that rather badly in the previous post. So...

Remapping the spacebar to some other function MAY break the ability
to skip a cutscene. Or, remapping the "use" function to the some other
key may break the skip function.

Some users say that if the "Use" function has been remapped, then you would press that key instead to do whatever it was that the spacebar did before, including skip a cutscene I suppose.

My experience is that most recent games do not like you to remap the keyboard. It almost always causes problems somewhere. Usually you CAN figure out which keys do not like to be remapped.

I use a Logitech G13 where I can program any of its keys to any keypress, so I leave the keyboard mapping as it is.

[SFXGame.SFXGameModemanager]
That just maps an alias name to the internal hex code for the key. You could possibly add some keys if you could figure out the internal hex code. Those codes don't look familiar to me though, it looks like they are hardcoded into the game code rather than being derived from standard Windows keyboard codes.

Modifié par zBobG, 05 février 2010 - 11:10 .


#150
Thomas_R_Roy

Thomas_R_Roy
  • BioWare Employees
  • 25 messages

[SFXGame.SFXGameModemanager]
That just maps an alias name to the internal hex code for the key. You could possibly add some keys if you could figure out the internal hex code. Those codes don't look familiar to me though, it looks like they are hardcoded into the game code rather than being derived from standard Windows keyboard codes.


No, those are the translation IDs for the name of the key.

Modifié par Thomas_R_Roy, 05 février 2010 - 11:20 .