When asking for help in understanding an issue, please give relevant information such as any mods you're using, and the stats of the enemy with the issue.
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Quote from: nitwit on November 22, 2014, 10:43:52 pmWhat's your experience in reverse engineering?
It doesn't seem very complicated.
Quote from: Elric on October 20, 2014, 03:09:59 am
When playing FFTA (for those wackado people that do so) do people reset every time a unit has to go to jail for breaking a law? I dont see it as much that much different of a concept.
Quote from: JantheX on October 21, 2014, 08:08:29 pm
4. Using the "will someone reset" standard ultimately results in making no changes at all, since any change that is impactful enough to be interesting is also going to be challenging enough to cause at least someone to avoid it.
// ==UserScript==
// @name FFHwiki ASM helper
// @namespace Raijinili
// @description FFH wiki ASM helper
// @include http://ffhacktics.com/wiki/*
// @version 1.1
// @grant none
// ==/UserScript==
var desc = {
'add': "Add add $d,$s,$t",
'addu': "Add unsigned addu $d,$s,$t",
'sub': "Subtract sub $d,$s,$t",
'subu': "Subtract unsigned subu $d,$s,$t",
'addi': "Add immediate addi $t,$s,C",
'addiu': "Add immediate unsigned addiu $t,$s,C",
'mult': "Multiply mult $s,$t",
'multu': "Multiply unsigned multu $s,$t",
'div': "Divide div $s, $t",
'divu': "Divide unsigned divu $s, $t",
'lw': "Load word lw $t,C($s)",
'lh': "Load halfword lh $t,C($s)",
'lhu': "Load halfword unsigned lhu $t,C($s)",
'lb': "Load byte lb $t,C($s)",
'lbu': "Load byte unsigned lbu $t,C($s)",
'sw': "Store word sw $t,C($s)",
'sh': "Store half sh $t,C($s)",
'sb': "Store byte sb $t,C($s)",
'lui': "Load upper immediate lui $t,C",
'mfhi': "Move from high mfhi $d",
'mflo': "Move from low mflo $d",
'mfcZ': "Move from Control Register mfcZ $t, $d",
'mtcZ': "Move to Control Register mtcZ $t, $d",
'and': "And and $d,$s,$t",
'andi': "And immediate andi $t,$s,C",
'or': "Or or $d,$s,$t",
'ori': "Or immediate ori $t,$s,C",
'xor': "Exclusive or xor $d,$s,$t",
'nor': "Nor nor $d,$s,$t",
'slt': "Set on less than slt $d,$s,$t",
'slti': "Set on less than immediate slti $t,$s,C",
'sll': "Shift left logical immediate sll $d,$t,shamt",
'srl': "Shift right logical immediate srl $d,$t,shamt",
'sra': "Shift right arithmetic immediate sra $d,$t,shamt",
'sllv': "Shift left logical sllv $d,$t,$s",
'srlv': "Shift right logical srlv $d,$t,$s",
'srav': "Shift right arithmetic srav $d,$t,$s",
'beq': "Branch on equal beq $s,$t,C",
'bne': "Branch on not equal bne $s,$t,C",
'j': "Jump j C",
'jr': "Jump register jr $s",
'jal': "Jump and link jal C",
'nop': "No operation (do nothing)",
};
var re = /^([0-9a-f]{8}: [0-9a-f]{8} )(\w+)(\s.*)?$/i;
function tooltipize(i, node){
var txt = node.textContent;
node.textContent = ''; //remove
//make new nodes and add them
txt.split(/\r?\n/)
.forEach(function parse(s){
var match = re.exec(s);
if(match == null){ //no asm detected
node.appendChild(document.createTextNode(s+'\n'));
return;
}
var prefix = document.createTextNode(match[1]);
var instr = match[2];
var suffix = document.createTextNode(match[3]+'\n');
var link = $("<a></a>", {
href: "./R3000_instruction set#"+instr,
title: desc[instr],
}).text(instr);
console.log(prefix, instr, suffix, link);
$(node).append(prefix, link, suffix);
});
}
$('div#mw-content-text pre').map(tooltipize);
Page created in 0.017 seconds with 21 queries.