Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions src/javascripts/Services/merge/relinker.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,9 +56,10 @@ ngapp.service('relinker', function(scriptsCache, bsaHelpers, pexService, setting
if (methodName !== 'GetFormFromFile') return;
let filename = resolveString(script, n.arguments[5]);
log(`Found GetFormFromFile call targetting ${filename}`, true);
if (!fidMap.hasOwnProperty(filename)) return;
let mapping = cUtils.findValueInMapByLoweredKey(fidMap, filename);
if (!mapping) return;
let oldFormId = xelib.Hex(n.arguments[4].data, 6),
newFormId = fidMap[filename][oldFormId];
newFormId = mapping[oldFormId];
if (!newFormId) return log(`Form ID ${oldFormId} not renumbered`);
log(`Changing Form ID from ${oldFormId} to ${newFormId}`);
n.arguments[4].data = parseInt(newFormId, 16);
Expand All @@ -69,7 +70,7 @@ ngapp.service('relinker', function(scriptsCache, bsaHelpers, pexService, setting
let fixStrings = function(script, merges) {
let mergedPlugins = getMergedPlugins(merges);
script.stringTable.forEach((str, index) => {
let newStr = mergedPlugins[str];
let newStr = cUtils.findValueInMapByLoweredKey(mergedPlugins, str);
if (!newStr) return;
log(`Changing string ${index} from ${str} to ${newStr}`);
script.stringTable[index] = newStr;
Expand Down
1 change: 1 addition & 0 deletions src/javascripts/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import 'angularjs-scroll-glue';
import { remote, ipcRenderer, clipboard } from 'electron';
import jetpack from 'fs-jetpack';
import fh from './helpers/fileHelpers';
import cUtils from './helpers/collectionsUtils';
import Logger from './helpers/logger.js';
import { Ini } from 'ini-api';
import buildModuleService from './helpers/moduleService';
Expand Down
13 changes: 13 additions & 0 deletions src/javascripts/helpers/collectionsUtils.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
let cUtils = {};

cUtils.findValueInMapByLoweredKey = function (mapping, key) {
if (mapping && key) {
let res = Object.entries(mapping).find(kv => kv[0] && kv[0].toString().toLowerCase() === key.toLowerCase());
if (res) {
return res[1];
}
}
return undefined;
}

export default cUtils;