示例#1
0
/*************************************************
 Function:		nlscan.JniSendCommond
 Descroption:	 
 Input: 
	1.env
	2.thiz
	3.Cmd
 Output: 
 Return: 	
 Other:  
*************************************************/
static jboolean JniSendCommondV(JNIEnv* env, jobject thiz, jint Cmd)
{
	#if CHECK_OPER
	if(mCheck == false)
	{
		return false;
	}
	#endif

	switch(Cmd)
	{	    
	    case JNI_BEEP_OK:
			BeepOk(env, thiz);
			break;
			
		case JNI_BEEP_ERR:
			BeepErr(env, thiz);
			break;

		case JNI_READ_USER:
			ReadUserInfo(env, thiz);
			break;

		case JNI_READ_USERDEFAULT:
			ReadUserInfoDefault(env, thiz);
			break;

		case JNI_W_CRCBLK_ROM:
			WriteCrcBlkToRom(env, thiz);
			break;
			
	   case JNI_RECOVERY_SYS:
	   		RecoverSys(env, thiz);
			break;
			
	   case JNI_GET_VERSION:
	   		GetVersion(env, thiz);
			break;
			
	   case JNI_POWER_ON:
	   		PowerOnInit(env, thiz);
			break;
			
	   case JNI_GET_CARDID:
	   		GetCardId(env, thiz);
			break;
			
	   case JNI_GET_CARDTYPE:
	   		GetCardType(env, thiz);
			break;

	    default:	        
	        break;
	}
	    
	return true;
}
示例#2
0
void Character::ReloadVal(AI_MODE mode) {
	ReadProcessMemory(ph, base_addr+ADDR_AIRDASHCOUNTOFS, air_dash_count);
	ReadProcessMemory(ph, base_addr+ADDR_REIPOWEROFS, rei);
	ReadProcessMemory(ph, base_addr+ADDR_REISTOPROFS, rei_stop);
	ReadProcessMemory(ph, base_addr+ADDR_MAXREIPOWEROFS, rei_max);
	ReadProcessMemory(ph, base_addr+ADDR_TIMESTOPOFS, time_stop);
	ReadProcessMemory(ph, base_addr+ADDR_CORRECTIONOFS, correction);
	ReadProcessMemory(ph, base_addr+ADDR_COMBORATEOFS, combo.rate);
	ReadProcessMemory(ph, base_addr+ADDR_COMBOCOUNTOFS, combo.count);
	ReadProcessMemory(ph, base_addr+ADDR_COMBODAMAGEOFS, combo.damage);
	ReadProcessMemory(ph, base_addr+ADDR_COMBOLIMITOFS, combo.limit);
	ReadProcessMemory(ph, base_addr+ADDR_ATTACKPOWEROFS, status.attack);
	ReadProcessMemory(ph, base_addr+ADDR_DEFENSEPOWEROFS, status.defense);
	ReadProcessMemory(ph, base_addr+ADDR_SPEEDPOWEROFS, status.speed);
	if(weather==11) {
		gauge = 0;
		card_id = -1;
	} else {
		gauge = 0;
		ReadProcessMemory(ph, base_addr+ADDR_CARDGAUGEOFS, &gauge, 2);
		unsigned char temp;
		ReadProcessMemory(ph, base_addr+ADDR_CARDCOUNTOFS, temp);
		gauge += temp * 500;
		card_id = GetCardId(type,0);
	}
	win_count = 0;
	ReadProcessMemory(ph, base_addr+ADDR_WINCNTOFS, win_count);

	{
		int count;
		int point;
		int base;
		int max;
		int p;
		ReadProcessMemory(ph, base_addr+ADDR_CARDCOUNT2OFS, count);
		if(!(count<0 || count>5)) {
			ReadProcessMemory(ph, base_addr+ADDR_SELECTCARDOFS, point);
			ReadProcessMemory(ph, base_addr+ADDR_HANDCARDBASEOFS, base);
			ReadProcessMemory(ph, base_addr+ADDR_HANDCARDMAXOFS, max);
			int i = 0;
			while(i < 5) {
				if(weather!=11 && max>0 && i<gauge/500) {
					ReadProcessMemory(ph, base+((point+i)%max)*4, p);
					ReadProcessMemory(ph, p, &card[i], 4);
				} else {
					card[i].id = -1;
					card[i].cost = -1;
				}
				i++;
			}
		}
	}
	//スキルレベル一覧
	ReadProcessMemory(ph, base_addr+ADDR_SKILLLEVELMAPOFS, skill, sizeof(skill), NULL);
	{
		int i = 0;
		while(i < SPECIALDATA_MAX) {
			sp_data[i] = GetSpecialData(i);
			i++;
		}
	}
	{//キー入力状態
		int p;
		ReadProcessMemory(ph, base_addr+ADDR_KEYMGROFS, p);
		ReadProcessMemory(ph, p, p);
		int i = 0;
		while(i < 8) {
			ReadProcessMemory(ph, p+ADDR_KEYMAPOFS+i*4, keyState[i]);
			i++;
		}
	}
	ReloadObject(mode);
	ReloadLuaValue(mode);
}