runeliteplus: adds preliminary Gradle support

This commit is contained in:
Zeruth
2019-07-23 02:07:02 -04:00
parent 61b4531a0d
commit e4f9aa1d6a
31 changed files with 2684 additions and 118 deletions

22
cache/build.gradle vendored Normal file
View File

@@ -0,0 +1,22 @@
description = 'Cache'
dependencies {
compile project(':http-api')
compile group: 'com.google.guava', name: 'guava', version:'28.0-jre'
compile group: 'org.slf4j', name: 'slf4j-api', version:'1.7.25'
compile group: 'org.apache.commons', name: 'commons-compress', version:'1.18'
compile group: 'com.google.code.gson', name: 'gson', version:'2.8.5'
compile group: 'io.netty', name: 'netty-buffer', version:'4.1.37.Final'
compile group: 'org.antlr', name: 'antlr4-runtime', version:'4.6'
compile group: 'commons-cli', name: 'commons-cli', version:'1.4'
testCompile group: 'junit', name: 'junit', version:'4.12'
testCompile group: 'org.slf4j', name: 'slf4j-simple', version:'1.7.26'
testCompile group: 'net.runelite.rs', name: 'cache', version:'165'
compileOnly group: 'org.projectlombok', name: 'lombok', version:'1.18.8'
}
task packageTests(type: Jar) {
from sourceSets.test.output
classifier = 'tests'
}
artifacts.archives packageTests

View File

@@ -0,0 +1,339 @@
// Generated from net\runelite\cache\script\assembler\rs2asm.g4 by ANTLR 4.6
package net.runelite.cache.script.assembler;
import org.antlr.v4.runtime.ParserRuleContext;
import org.antlr.v4.runtime.tree.ErrorNode;
import org.antlr.v4.runtime.tree.TerminalNode;
/**
* This class provides an empty implementation of {@link rs2asmListener},
* which can be extended to create a listener which only needs to handle a subset
* of the available methods.
*/
public class rs2asmBaseListener implements rs2asmListener {
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterProg(rs2asmParser.ProgContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitProg(rs2asmParser.ProgContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterHeader(rs2asmParser.HeaderContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitHeader(rs2asmParser.HeaderContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterId(rs2asmParser.IdContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitId(rs2asmParser.IdContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_stack_count(rs2asmParser.Int_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_stack_count(rs2asmParser.Int_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_stack_count(rs2asmParser.String_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_stack_count(rs2asmParser.String_stack_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_var_count(rs2asmParser.Int_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_var_count(rs2asmParser.Int_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_var_count(rs2asmParser.String_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_var_count(rs2asmParser.String_var_countContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterId_value(rs2asmParser.Id_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitId_value(rs2asmParser.Id_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_stack_value(rs2asmParser.Int_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_stack_value(rs2asmParser.Int_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_stack_value(rs2asmParser.String_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_stack_value(rs2asmParser.String_stack_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInt_var_value(rs2asmParser.Int_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInt_var_value(rs2asmParser.Int_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterString_var_value(rs2asmParser.String_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitString_var_value(rs2asmParser.String_var_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterLine(rs2asmParser.LineContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitLine(rs2asmParser.LineContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInstruction(rs2asmParser.InstructionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInstruction(rs2asmParser.InstructionContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterLabel(rs2asmParser.LabelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitLabel(rs2asmParser.LabelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInstruction_name(rs2asmParser.Instruction_nameContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInstruction_name(rs2asmParser.Instruction_nameContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterName_string(rs2asmParser.Name_stringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitName_string(rs2asmParser.Name_stringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterName_opcode(rs2asmParser.Name_opcodeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitName_opcode(rs2asmParser.Name_opcodeContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterInstruction_operand(rs2asmParser.Instruction_operandContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitInstruction_operand(rs2asmParser.Instruction_operandContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterOperand_int(rs2asmParser.Operand_intContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitOperand_int(rs2asmParser.Operand_intContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterOperand_qstring(rs2asmParser.Operand_qstringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitOperand_qstring(rs2asmParser.Operand_qstringContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterOperand_label(rs2asmParser.Operand_labelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitOperand_label(rs2asmParser.Operand_labelContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterSwitch_lookup(rs2asmParser.Switch_lookupContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitSwitch_lookup(rs2asmParser.Switch_lookupContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterSwitch_key(rs2asmParser.Switch_keyContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitSwitch_key(rs2asmParser.Switch_keyContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterSwitch_value(rs2asmParser.Switch_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitSwitch_value(rs2asmParser.Switch_valueContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void enterEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void exitEveryRule(ParserRuleContext ctx) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void visitTerminal(TerminalNode node) { }
/**
* {@inheritDoc}
*
* <p>The default implementation does nothing.</p>
*/
@Override public void visitErrorNode(ErrorNode node) { }
}

View File

@@ -0,0 +1,146 @@
// Generated from net\runelite\cache\script\assembler\rs2asm.g4 by ANTLR 4.6
package net.runelite.cache.script.assembler;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.Lexer;
import org.antlr.v4.runtime.RuntimeMetaData;
import org.antlr.v4.runtime.Vocabulary;
import org.antlr.v4.runtime.VocabularyImpl;
import org.antlr.v4.runtime.atn.ATN;
import org.antlr.v4.runtime.atn.ATNDeserializer;
import org.antlr.v4.runtime.atn.LexerATNSimulator;
import org.antlr.v4.runtime.atn.PredictionContextCache;
import org.antlr.v4.runtime.dfa.DFA;
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
public class rs2asmLexer extends Lexer {
static { RuntimeMetaData.checkVersion("4.6", RuntimeMetaData.VERSION); }
protected static final DFA[] _decisionToDFA;
protected static final PredictionContextCache _sharedContextCache =
new PredictionContextCache();
public static final int
T__0=1, T__1=2, T__2=3, T__3=4, T__4=5, T__5=6, NEWLINE=7, INT=8, QSTRING=9,
IDENTIFIER=10, COMMENT=11, WS=12;
public static String[] modeNames = {
"DEFAULT_MODE"
};
public static final String[] ruleNames = {
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "NEWLINE", "INT", "QSTRING",
"IDENTIFIER", "COMMENT", "WS"
};
private static final String[] _LITERAL_NAMES = {
null, "'.id '", "'.int_stack_count '", "'.string_stack_count '", "'.int_var_count '",
"'.string_var_count '", "':'"
};
private static final String[] _SYMBOLIC_NAMES = {
null, null, null, null, null, null, null, "NEWLINE", "INT", "QSTRING",
"IDENTIFIER", "COMMENT", "WS"
};
public static final Vocabulary VOCABULARY = new VocabularyImpl(_LITERAL_NAMES, _SYMBOLIC_NAMES);
/**
* @deprecated Use {@link #VOCABULARY} instead.
*/
@Deprecated
public static final String[] tokenNames;
static {
tokenNames = new String[_SYMBOLIC_NAMES.length];
for (int i = 0; i < tokenNames.length; i++) {
tokenNames[i] = VOCABULARY.getLiteralName(i);
if (tokenNames[i] == null) {
tokenNames[i] = VOCABULARY.getSymbolicName(i);
}
if (tokenNames[i] == null) {
tokenNames[i] = "<INVALID>";
}
}
}
@Override
@Deprecated
public String[] getTokenNames() {
return tokenNames;
}
@Override
public Vocabulary getVocabulary() {
return VOCABULARY;
}
public rs2asmLexer(CharStream input) {
super(input);
_interp = new LexerATNSimulator(this,_ATN,_decisionToDFA,_sharedContextCache);
}
@Override
public String getGrammarFileName() { return "rs2asm.g4"; }
@Override
public String[] getRuleNames() { return ruleNames; }
@Override
public String getSerializedATN() { return _serializedATN; }
@Override
public String[] getModeNames() { return modeNames; }
@Override
public ATN getATN() { return _ATN; }
public static final String _serializedATN =
"\3\u0430\ud6d1\u8206\uad2d\u4417\uaef1\u8d80\uaadd\2\16\u0099\b\1\4\2"+
"\t\2\4\3\t\3\4\4\t\4\4\5\t\5\4\6\t\6\4\7\t\7\4\b\t\b\4\t\t\t\4\n\t\n\4"+
"\13\t\13\4\f\t\f\4\r\t\r\3\2\3\2\3\2\3\2\3\2\3\3\3\3\3\3\3\3\3\3\3\3\3"+
"\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\3\4\3\4\3\4\3\4\3\4\3\4"+
"\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\4\3\5\3\5\3"+
"\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\5\3\6\3\6\3\6\3\6"+
"\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\6\3\7\3\7\3"+
"\b\6\bn\n\b\r\b\16\bo\3\t\5\ts\n\t\3\t\6\tv\n\t\r\t\16\tw\3\n\3\n\3\n"+
"\3\n\7\n~\n\n\f\n\16\n\u0081\13\n\3\n\3\n\3\13\6\13\u0086\n\13\r\13\16"+
"\13\u0087\3\f\3\f\7\f\u008c\n\f\f\f\16\f\u008f\13\f\3\f\3\f\3\r\6\r\u0094"+
"\n\r\r\r\16\r\u0095\3\r\3\r\2\2\16\3\3\5\4\7\5\t\6\13\7\r\b\17\t\21\n"+
"\23\13\25\f\27\r\31\16\3\2\b\4\2\f\f\17\17\3\2\62;\6\2\f\f\17\17$$^^\4"+
"\2$$^^\6\2\62;C\\aac|\4\2\13\13\"\"\u00a0\2\3\3\2\2\2\2\5\3\2\2\2\2\7"+
"\3\2\2\2\2\t\3\2\2\2\2\13\3\2\2\2\2\r\3\2\2\2\2\17\3\2\2\2\2\21\3\2\2"+
"\2\2\23\3\2\2\2\2\25\3\2\2\2\2\27\3\2\2\2\2\31\3\2\2\2\3\33\3\2\2\2\5"+
" \3\2\2\2\7\62\3\2\2\2\tG\3\2\2\2\13W\3\2\2\2\rj\3\2\2\2\17m\3\2\2\2\21"+
"r\3\2\2\2\23y\3\2\2\2\25\u0085\3\2\2\2\27\u0089\3\2\2\2\31\u0093\3\2\2"+
"\2\33\34\7\60\2\2\34\35\7k\2\2\35\36\7f\2\2\36\37\7\"\2\2\37\4\3\2\2\2"+
" !\7\60\2\2!\"\7k\2\2\"#\7p\2\2#$\7v\2\2$%\7a\2\2%&\7u\2\2&\'\7v\2\2\'"+
"(\7c\2\2()\7e\2\2)*\7m\2\2*+\7a\2\2+,\7e\2\2,-\7q\2\2-.\7w\2\2./\7p\2"+
"\2/\60\7v\2\2\60\61\7\"\2\2\61\6\3\2\2\2\62\63\7\60\2\2\63\64\7u\2\2\64"+
"\65\7v\2\2\65\66\7t\2\2\66\67\7k\2\2\678\7p\2\289\7i\2\29:\7a\2\2:;\7"+
"u\2\2;<\7v\2\2<=\7c\2\2=>\7e\2\2>?\7m\2\2?@\7a\2\2@A\7e\2\2AB\7q\2\2B"+
"C\7w\2\2CD\7p\2\2DE\7v\2\2EF\7\"\2\2F\b\3\2\2\2GH\7\60\2\2HI\7k\2\2IJ"+
"\7p\2\2JK\7v\2\2KL\7a\2\2LM\7x\2\2MN\7c\2\2NO\7t\2\2OP\7a\2\2PQ\7e\2\2"+
"QR\7q\2\2RS\7w\2\2ST\7p\2\2TU\7v\2\2UV\7\"\2\2V\n\3\2\2\2WX\7\60\2\2X"+
"Y\7u\2\2YZ\7v\2\2Z[\7t\2\2[\\\7k\2\2\\]\7p\2\2]^\7i\2\2^_\7a\2\2_`\7x"+
"\2\2`a\7c\2\2ab\7t\2\2bc\7a\2\2cd\7e\2\2de\7q\2\2ef\7w\2\2fg\7p\2\2gh"+
"\7v\2\2hi\7\"\2\2i\f\3\2\2\2jk\7<\2\2k\16\3\2\2\2ln\t\2\2\2ml\3\2\2\2"+
"no\3\2\2\2om\3\2\2\2op\3\2\2\2p\20\3\2\2\2qs\7/\2\2rq\3\2\2\2rs\3\2\2"+
"\2su\3\2\2\2tv\t\3\2\2ut\3\2\2\2vw\3\2\2\2wu\3\2\2\2wx\3\2\2\2x\22\3\2"+
"\2\2y\177\7$\2\2z~\n\4\2\2{|\7^\2\2|~\t\5\2\2}z\3\2\2\2}{\3\2\2\2~\u0081"+
"\3\2\2\2\177}\3\2\2\2\177\u0080\3\2\2\2\u0080\u0082\3\2\2\2\u0081\177"+
"\3\2\2\2\u0082\u0083\7$\2\2\u0083\24\3\2\2\2\u0084\u0086\t\6\2\2\u0085"+
"\u0084\3\2\2\2\u0086\u0087\3\2\2\2\u0087\u0085\3\2\2\2\u0087\u0088\3\2"+
"\2\2\u0088\26\3\2\2\2\u0089\u008d\7=\2\2\u008a\u008c\n\2\2\2\u008b\u008a"+
"\3\2\2\2\u008c\u008f\3\2\2\2\u008d\u008b\3\2\2\2\u008d\u008e\3\2\2\2\u008e"+
"\u0090\3\2\2\2\u008f\u008d\3\2\2\2\u0090\u0091\b\f\2\2\u0091\30\3\2\2"+
"\2\u0092\u0094\t\7\2\2\u0093\u0092\3\2\2\2\u0094\u0095\3\2\2\2\u0095\u0093"+
"\3\2\2\2\u0095\u0096\3\2\2\2\u0096\u0097\3\2\2\2\u0097\u0098\b\r\2\2\u0098"+
"\32\3\2\2\2\13\2orw}\177\u0087\u008d\u0095\3\2\3\2";
public static final ATN _ATN =
new ATNDeserializer().deserialize(_serializedATN.toCharArray());
static {
_decisionToDFA = new DFA[_ATN.getNumberOfDecisions()];
for (int i = 0; i < _ATN.getNumberOfDecisions(); i++) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
}

View File

@@ -0,0 +1,260 @@
// Generated from net\runelite\cache\script\assembler\rs2asm.g4 by ANTLR 4.6
package net.runelite.cache.script.assembler;
import org.antlr.v4.runtime.tree.ParseTreeListener;
/**
* This interface defines a complete listener for a parse tree produced by
* {@link rs2asmParser}.
*/
public interface rs2asmListener extends ParseTreeListener {
/**
* Enter a parse tree produced by {@link rs2asmParser#prog}.
* @param ctx the parse tree
*/
void enterProg(rs2asmParser.ProgContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#prog}.
* @param ctx the parse tree
*/
void exitProg(rs2asmParser.ProgContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#header}.
* @param ctx the parse tree
*/
void enterHeader(rs2asmParser.HeaderContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#header}.
* @param ctx the parse tree
*/
void exitHeader(rs2asmParser.HeaderContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#id}.
* @param ctx the parse tree
*/
void enterId(rs2asmParser.IdContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#id}.
* @param ctx the parse tree
*/
void exitId(rs2asmParser.IdContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_stack_count}.
* @param ctx the parse tree
*/
void enterInt_stack_count(rs2asmParser.Int_stack_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_stack_count}.
* @param ctx the parse tree
*/
void exitInt_stack_count(rs2asmParser.Int_stack_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_stack_count}.
* @param ctx the parse tree
*/
void enterString_stack_count(rs2asmParser.String_stack_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_stack_count}.
* @param ctx the parse tree
*/
void exitString_stack_count(rs2asmParser.String_stack_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_var_count}.
* @param ctx the parse tree
*/
void enterInt_var_count(rs2asmParser.Int_var_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_var_count}.
* @param ctx the parse tree
*/
void exitInt_var_count(rs2asmParser.Int_var_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_var_count}.
* @param ctx the parse tree
*/
void enterString_var_count(rs2asmParser.String_var_countContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_var_count}.
* @param ctx the parse tree
*/
void exitString_var_count(rs2asmParser.String_var_countContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#id_value}.
* @param ctx the parse tree
*/
void enterId_value(rs2asmParser.Id_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#id_value}.
* @param ctx the parse tree
*/
void exitId_value(rs2asmParser.Id_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_stack_value}.
* @param ctx the parse tree
*/
void enterInt_stack_value(rs2asmParser.Int_stack_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_stack_value}.
* @param ctx the parse tree
*/
void exitInt_stack_value(rs2asmParser.Int_stack_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_stack_value}.
* @param ctx the parse tree
*/
void enterString_stack_value(rs2asmParser.String_stack_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_stack_value}.
* @param ctx the parse tree
*/
void exitString_stack_value(rs2asmParser.String_stack_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#int_var_value}.
* @param ctx the parse tree
*/
void enterInt_var_value(rs2asmParser.Int_var_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#int_var_value}.
* @param ctx the parse tree
*/
void exitInt_var_value(rs2asmParser.Int_var_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#string_var_value}.
* @param ctx the parse tree
*/
void enterString_var_value(rs2asmParser.String_var_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#string_var_value}.
* @param ctx the parse tree
*/
void exitString_var_value(rs2asmParser.String_var_valueContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#line}.
* @param ctx the parse tree
*/
void enterLine(rs2asmParser.LineContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#line}.
* @param ctx the parse tree
*/
void exitLine(rs2asmParser.LineContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#instruction}.
* @param ctx the parse tree
*/
void enterInstruction(rs2asmParser.InstructionContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#instruction}.
* @param ctx the parse tree
*/
void exitInstruction(rs2asmParser.InstructionContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#label}.
* @param ctx the parse tree
*/
void enterLabel(rs2asmParser.LabelContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#label}.
* @param ctx the parse tree
*/
void exitLabel(rs2asmParser.LabelContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#instruction_name}.
* @param ctx the parse tree
*/
void enterInstruction_name(rs2asmParser.Instruction_nameContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#instruction_name}.
* @param ctx the parse tree
*/
void exitInstruction_name(rs2asmParser.Instruction_nameContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#name_string}.
* @param ctx the parse tree
*/
void enterName_string(rs2asmParser.Name_stringContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#name_string}.
* @param ctx the parse tree
*/
void exitName_string(rs2asmParser.Name_stringContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#name_opcode}.
* @param ctx the parse tree
*/
void enterName_opcode(rs2asmParser.Name_opcodeContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#name_opcode}.
* @param ctx the parse tree
*/
void exitName_opcode(rs2asmParser.Name_opcodeContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#instruction_operand}.
* @param ctx the parse tree
*/
void enterInstruction_operand(rs2asmParser.Instruction_operandContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#instruction_operand}.
* @param ctx the parse tree
*/
void exitInstruction_operand(rs2asmParser.Instruction_operandContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#operand_int}.
* @param ctx the parse tree
*/
void enterOperand_int(rs2asmParser.Operand_intContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#operand_int}.
* @param ctx the parse tree
*/
void exitOperand_int(rs2asmParser.Operand_intContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#operand_qstring}.
* @param ctx the parse tree
*/
void enterOperand_qstring(rs2asmParser.Operand_qstringContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#operand_qstring}.
* @param ctx the parse tree
*/
void exitOperand_qstring(rs2asmParser.Operand_qstringContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#operand_label}.
* @param ctx the parse tree
*/
void enterOperand_label(rs2asmParser.Operand_labelContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#operand_label}.
* @param ctx the parse tree
*/
void exitOperand_label(rs2asmParser.Operand_labelContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#switch_lookup}.
* @param ctx the parse tree
*/
void enterSwitch_lookup(rs2asmParser.Switch_lookupContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#switch_lookup}.
* @param ctx the parse tree
*/
void exitSwitch_lookup(rs2asmParser.Switch_lookupContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#switch_key}.
* @param ctx the parse tree
*/
void enterSwitch_key(rs2asmParser.Switch_keyContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#switch_key}.
* @param ctx the parse tree
*/
void exitSwitch_key(rs2asmParser.Switch_keyContext ctx);
/**
* Enter a parse tree produced by {@link rs2asmParser#switch_value}.
* @param ctx the parse tree
*/
void enterSwitch_value(rs2asmParser.Switch_valueContext ctx);
/**
* Exit a parse tree produced by {@link rs2asmParser#switch_value}.
* @param ctx the parse tree
*/
void exitSwitch_value(rs2asmParser.Switch_valueContext ctx);
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,18 @@
T__0=1
T__1=2
T__2=3
T__3=4
T__4=5
T__5=6
NEWLINE=7
INT=8
QSTRING=9
IDENTIFIER=10
COMMENT=11
WS=12
'.id '=1
'.int_stack_count '=2
'.string_stack_count '=3
'.int_var_count '=4
'.string_var_count '=5
':'=6

View File

@@ -0,0 +1,18 @@
T__0=1
T__1=2
T__2=3
T__3=4
T__4=5
T__5=6
NEWLINE=7
INT=8
QSTRING=9
IDENTIFIER=10
COMMENT=11
WS=12
'.id '=1
'.int_stack_count '=2
'.string_stack_count '=3
'.int_var_count '=4
'.string_var_count '=5
':'=6

View File

@@ -1,118 +0,0 @@
/*
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.cache.item;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import lombok.extern.slf4j.Slf4j;
import net.runelite.cache.IndexType;
import net.runelite.cache.ItemManager;
import net.runelite.cache.SpriteManager;
import net.runelite.cache.StoreLocation;
import net.runelite.cache.TextureManager;
import net.runelite.cache.definitions.ItemDefinition;
import net.runelite.cache.definitions.ModelDefinition;
import net.runelite.cache.definitions.loaders.ModelLoader;
import net.runelite.cache.definitions.providers.ModelProvider;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.TemporaryFolder;
@Slf4j
public class ItemSpriteFactoryTest
{
@Rule
public TemporaryFolder folder = StoreLocation.getTemporaryFolder();
@Test
@Ignore
public void test() throws IOException
{
File base = StoreLocation.LOCATION,
outDir = folder.newFolder();
int count = 0;
try (Store store = new Store(base))
{
store.load();
ItemManager itemManager = new ItemManager(store);
itemManager.load();
ModelProvider modelProvider = new ModelProvider()
{
@Override
public ModelDefinition provide(int modelId) throws IOException
{
Index models = store.getIndex(IndexType.MODELS);
Archive archive = models.getArchive(modelId);
byte[] data = archive.decompress(store.getStorage().loadArchive(archive));
ModelDefinition inventoryModel = new ModelLoader().load(modelId, data);
return inventoryModel;
}
};
SpriteManager spriteManager = new SpriteManager(store);
spriteManager.load();
TextureManager textureManager = new TextureManager(store);
textureManager.load();
for (ItemDefinition itemDef : itemManager.getItems())
{
if (itemDef.name == null || itemDef.name.equalsIgnoreCase("null"))
{
continue;
}
try
{
BufferedImage sprite = ItemSpriteFactory.createSprite(itemManager, modelProvider, spriteManager, textureManager,
itemDef.id, 1, 1, 3153952, false);
File out = new File(outDir, itemDef.id + ".png");
BufferedImage img = sprite;
ImageIO.write(img, "PNG", out);
++count;
}
catch (Exception ex)
{
log.warn("error dumping item {}", itemDef.id, ex);
}
}
}
log.info("Dumped {} item images to {}", count, outDir);
}
}