Понятно, я именно это и имел ввиду, когда говорил про скип 2х пикселей снизу и справа, так-то они конечно квадратом идут вокруг 30x30, просто если сразу убрать рамку вокруг изображения 1пиксель, то можно убирать снизу-справа по 2 пикселя. Я косноязычен, это очевидно.
Ну про цвет я так и сказал. Я кстати просил комманд-лайн тулзу для конверта. ruki, раз уж ты там так и сделал, может скомпилируешь?
По поводу кнопки поменять. Лезешь в дебаггер, ставишь брейкпойнт на sceCtrlReadBufferPositive и смотришь как оно работает. В Ever17 работает так:
z_un_08872be0:
addiu sp,sp,-0x70
sw s0,0x60(sp)
li a1,0x6
move s0,a0
sw ra,0x64(sp)
jal zz_sceCtrlReadBufferPositive - собственно ты сюда должен вывалиться из дебуггера
move a0,sp
---
тут скипнуто
---
pos_08872D28:
beq v0,zero,pos_08872D40
andi v0,a2,0x4000
lw v0,0x4(s0)
ori v0,v0,0x2000 - нажали кружок // меняем на 4000 (крестик)
sw v0,0x4(s0)
andi v0,a2,0x4000
pos_08872D40:
beq v0,zero,pos_08872D58
andi v0,a2,0x8000
lw v0,0x4(s0)
ori v0,v0,0x4000 - нажали крестик // меняем на 2000 (кружок)
sw v0,0x4(s0)
andi v0,a2,0x8000
Собсна элементарно меняем ori v0,v0,0x4000 на ori v0,v0,0x2000 и наоборот - и готово.
Scorpeg добавил 03.02.2015 в 19:08
Посмотрел твою, там чет ваще перемудрили со всем этим. Хитрый план какой-то. Простейший выход вижу внедриться куда-нибудь в 088A14C0 и там проверять, если a1 = 2000 то менять его на 4000 и совать в 0x089AF09C и наоборот. Но это неточно, я не копал эту процедуру. Хотя чисто если бряки поставить и менять - работает. Могу скомпилировать похаченную версию, если кто-нибудь более интересный план не предложит.