mirror of https://github.com/hykilpikonna/AquaDX
[aimedb] Add unknown aime command codes
parent
6dd561ca08
commit
324ecd850f
|
@ -31,9 +31,11 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
|
|||
private final LookupHandler lookupHandler;
|
||||
private final Lookup2Handler lookup2Handler;
|
||||
private final RegisterHandler registerHandler;
|
||||
private final Unknown19Handler unknown19Handler;
|
||||
private final Unknown13Handler unknown13Handler;
|
||||
|
||||
@Autowired
|
||||
public AimeDbRequestHandler(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler) {
|
||||
public AimeDbRequestHandler(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler, Unknown19Handler unknown19Handler, Unknown13Handler unknown13Handler) {
|
||||
this.campaignHandler = campaignHandler;
|
||||
this.feliCaLookupHandler = feliCaLookupHandler;
|
||||
this.feliCaLookup2Handler = feliCaLookup2Handler;
|
||||
|
@ -43,6 +45,8 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
|
|||
this.lookupHandler = lookupHandler;
|
||||
this.lookup2Handler = lookup2Handler;
|
||||
this.registerHandler = registerHandler;
|
||||
this.unknown19Handler = unknown19Handler;
|
||||
this.unknown13Handler = unknown13Handler;
|
||||
}
|
||||
|
||||
|
||||
|
@ -68,7 +72,7 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
|
|||
campaignHandler.handle(ctx, data);
|
||||
break;
|
||||
case 0x000d:
|
||||
registerHandler.handle(ctx, data);
|
||||
unknown13Handler.handle(ctx, data);
|
||||
break;
|
||||
case 0x000f:
|
||||
lookup2Handler.handle(ctx, data);
|
||||
|
@ -76,6 +80,9 @@ public class AimeDbRequestHandler extends ChannelInboundHandlerAdapter {
|
|||
case 0x0011:
|
||||
feliCaLookup2Handler.handle(ctx, data);
|
||||
break;
|
||||
case 0x0013:
|
||||
unknown19Handler.handle(ctx, data);
|
||||
break;
|
||||
case 0x0064:
|
||||
helloHandler.handle(ctx, data);
|
||||
break;
|
||||
|
|
|
@ -25,9 +25,11 @@ public class AimeDbServerInitializer extends ChannelInitializer<SocketChannel> {
|
|||
private final LookupHandler lookupHandler;
|
||||
private final Lookup2Handler lookup2Handler;
|
||||
private final RegisterHandler registerHandler;
|
||||
private final Unknown19Handler unknown19Handler;
|
||||
private final Unknown13Handler unknown13Handler;
|
||||
|
||||
@Autowired
|
||||
public AimeDbServerInitializer(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler) {
|
||||
public AimeDbServerInitializer(CampaignHandler campaignHandler, FeliCaLookupHandler feliCaLookupHandler, FeliCaLookup2Handler feliCaLookup2Handler, GoodbyeHandler goodbyeHandler, HelloHandler helloHandler, LogHandler logHandler, LookupHandler lookupHandler, Lookup2Handler lookup2Handler, RegisterHandler registerHandler, Unknown19Handler unknown19Handler, Unknown13Handler unknown13Handler) {
|
||||
this.campaignHandler = campaignHandler;
|
||||
this.feliCaLookup2Handler = feliCaLookup2Handler;
|
||||
this.feliCaLookupHandler = feliCaLookupHandler;
|
||||
|
@ -37,6 +39,8 @@ public class AimeDbServerInitializer extends ChannelInitializer<SocketChannel> {
|
|||
this.lookupHandler = lookupHandler;
|
||||
this.lookup2Handler = lookup2Handler;
|
||||
this.registerHandler = registerHandler;
|
||||
this.unknown19Handler = unknown19Handler;
|
||||
this.unknown13Handler = unknown13Handler;
|
||||
}
|
||||
|
||||
|
||||
|
@ -45,7 +49,7 @@ public class AimeDbServerInitializer extends ChannelInitializer<SocketChannel> {
|
|||
ChannelPipeline pipeline = ch.pipeline();
|
||||
pipeline.addLast("encoder", new AimeDbEncoder());
|
||||
pipeline.addLast("decoder", new AimeDbDecoder());
|
||||
pipeline.addLast("handler", new AimeDbRequestHandler(campaignHandler, feliCaLookupHandler, feliCaLookup2Handler, goodbyeHandler, helloHandler, logHandler, lookupHandler, lookup2Handler, registerHandler));
|
||||
pipeline.addLast("handler", new AimeDbRequestHandler(campaignHandler, feliCaLookupHandler, feliCaLookup2Handler, goodbyeHandler, helloHandler, logHandler, lookupHandler, lookup2Handler, registerHandler, unknown19Handler, unknown13Handler));
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
package icu.samnyan.aqua.sega.aimedb.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.aimedb.util.AimeDbUtil;
|
||||
import icu.samnyan.aqua.sega.aimedb.util.LogMapper;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component
|
||||
public class Unknown13Handler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(Unknown13Handler.class);
|
||||
|
||||
private final LogMapper logMapper;
|
||||
|
||||
@Autowired
|
||||
public Unknown13Handler(LogMapper logMapper) {
|
||||
this.logMapper = logMapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(ChannelHandlerContext ctx, ByteBuf msg) throws JsonProcessingException {
|
||||
Map<String, Object> requestMap = AimeDbUtil.getBaseInfo(msg);
|
||||
requestMap.put("type", "unknown13");
|
||||
|
||||
logger.info("Request: " + logMapper.write(requestMap));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
resultMap.put("type", "unknown13");
|
||||
resultMap.put("status", 1);
|
||||
|
||||
logger.info("Response: " + logMapper.write(resultMap));
|
||||
|
||||
ByteBuf respSrc = Unpooled.copiedBuffer(new byte[0x0050]);
|
||||
respSrc.setShortLE(0x0004, 0x000e);
|
||||
respSrc.setShortLE(0x0008, (int) resultMap.get("status"));
|
||||
respSrc.setShortLE(0x0020, 0x006f);
|
||||
respSrc.setShortLE(0x0024, 0x0001);
|
||||
|
||||
ctx.writeAndFlush(respSrc);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,52 @@
|
|||
package icu.samnyan.aqua.sega.aimedb.handler.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import icu.samnyan.aqua.sega.aimedb.handler.BaseHandler;
|
||||
import icu.samnyan.aqua.sega.aimedb.util.AimeDbUtil;
|
||||
import icu.samnyan.aqua.sega.aimedb.util.LogMapper;
|
||||
import io.netty.buffer.ByteBuf;
|
||||
import io.netty.buffer.Unpooled;
|
||||
import io.netty.channel.ChannelHandlerContext;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author samnyan (privateamusement@protonmail.com)
|
||||
*/
|
||||
@Component
|
||||
public class Unknown19Handler implements BaseHandler {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(Unknown19Handler.class);
|
||||
|
||||
private final LogMapper logMapper;
|
||||
|
||||
@Autowired
|
||||
public Unknown19Handler(LogMapper logMapper) {
|
||||
this.logMapper = logMapper;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handle(ChannelHandlerContext ctx, ByteBuf msg) throws JsonProcessingException {
|
||||
Map<String, Object> requestMap = AimeDbUtil.getBaseInfo(msg);
|
||||
requestMap.put("type", "unknown19");
|
||||
|
||||
logger.info("Request: " + logMapper.write(requestMap));
|
||||
|
||||
Map<String, Object> resultMap = new HashMap<>();
|
||||
resultMap.put("type", "unknown19");
|
||||
resultMap.put("status", 1);
|
||||
|
||||
logger.info("Response: " + logMapper.write(resultMap));
|
||||
|
||||
ByteBuf respSrc = Unpooled.copiedBuffer(new byte[0x0040]);
|
||||
respSrc.setShortLE(0x0004, 0x0014);
|
||||
respSrc.setShortLE(0x0008, (int) resultMap.get("status"));
|
||||
|
||||
ctx.writeAndFlush(respSrc);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue