本次教程是让对话中显示头像的asm,以前悠然大佬也写过类似的教程,具体可以看贴吧这个帖子https://tieba.baidu.com/p/5715838712?see_lz=0
我是看的不太懂,可能是技术有限,只会抄作业的原因,下面我发的教程也是头像显示,属于活动块obj的原理好像,是我向懒得想名字请教后,她发给我的,我已经装在我的改版里了,目前没问题,接下来我们开始教程。
步骤①:先找个空位写入:000000C00000
步骤②:再找另一个空位写入:00130013 xxxxxx08 F04F610800000000A8C62E0829740008
【xxxxxx08处填步骤①的指针】
步骤③:接下来再次找空位,打入下面两个asm:
显示头像asm【有两处需要自己填入地址】
删除头像asm
④打完asm后,你就可以把头像导入ROM,记住图片和色板的地址,填到第一个asm那里记录的头像表格就行了,八字节一个头像,前四个图片指针,后四个色板指针,最后再通过脚本运行到对话中了。
脚本示例:
到这里本期教程结束,这个对于大佬来说没啥难度,对我这种不懂代码的人来说可以说是有很大难度的,好在有作业可以抄,抄多了也能明白一丢丢的,哈哈哈哈,希望做绿宝石改版的能够用的到。这个应该也只能用在绿宝石里吧?如果有错误的地方,底下提出来我修改一下,有疑问也可以提出来。
下面放两张离个海的测试图


我是看的不太懂,可能是技术有限,只会抄作业的原因,下面我发的教程也是头像显示,属于活动块obj的原理好像,是我向懒得想名字请教后,她发给我的,我已经装在我的改版里了,目前没问题,接下来我们开始教程。
步骤①:先找个空位写入:000000C00000
步骤②:再找另一个空位写入:00130013 xxxxxx08 F04F610800000000A8C62E0829740008
【xxxxxx08处填步骤①的指针】
步骤③:接下来再次找空位,打入下面两个asm:
显示头像asm【有两处需要自己填入地址】
代码:
push {r4, lr}
add sp, #-16
ldr r0, =图片&调色板表格地址,自己找空位,记得多留点位置,用00填充
ldr r1, =0x020375E8
ldrh r1, [r1]
lsl r1, #3
add r4, r0, r1
mov r1, sp
ldr r0, [r4]
str r0, [r1]
mov r0, #1
lsl r0, #11 ;0x800
strh r0, [r1, #4]
mov r0, #0x13
lsl r0, #8
strh r0, [r1, #6]
mov r0, r1
ldr r3, =(0x08034530|1)
bl call_bx
add r1, sp, #8
ldr r0, [r4, #4]
str r0, [r1]
mov r0, #0x13
lsl r0, #8
strh r0, [r1, #4]
mov r0, r1
ldr r3, =(0x0803458C|1)
bl call_bx
ldr r0, =步骤②的地址
ldr r3, =0x020375E8
sub r3,#2
ldrb r1, [r3,#1]
ldrb r2, [r3]
mov r3, #0
ldr r4, =(0x08006DF4|1)
bl call_bx2
ldr r1, =0x020375E8
strb r0, [r1]
add sp, #16
pop {r4, pc}
call_bx:
bx r3
call_bx2:
bx r4
删除头像asm
代码:
push {lr}
ldr r0, =0x020375E8
ldrb r0, [r0]
mov r1, #0x44
mul r0, r1
ldr r2, =0x02020630
add r0, r2
ldr r3, =(0x08007620|1)
bl call_bx
pop {pc}
call_bx:
bx r3
④打完asm后,你就可以把头像导入ROM,记住图片和色板的地址,填到第一个asm那里记录的头像表格就行了,八字节一个头像,前四个图片指针,后四个色板指针,最后再通过脚本运行到对话中了。
脚本示例:
代码:
#freespace 0x00
#dynamic 0x10EE600
#org @1
lockall
setvar 0x8008 0x0 //图片编号,第一个0
setvar 0x8007 0x2553 //图片坐标,2553是左边,c853是右边,具体啥位置可以自己调整
callasm 0x8xxxxxx+1 //显示头像asm,记得地址+1
msgbox @a 0x4 //对话
callasm 0x8yyyyyy+1 //删除头像asm,记得地址+1
closeonkeypress
end
#org @a
= 我有头像了
到这里本期教程结束,这个对于大佬来说没啥难度,对我这种不懂代码的人来说可以说是有很大难度的,好在有作业可以抄,抄多了也能明白一丢丢的,哈哈哈哈,希望做绿宝石改版的能够用的到。这个应该也只能用在绿宝石里吧?如果有错误的地方,底下提出来我修改一下,有疑问也可以提出来。
下面放两张离个海的测试图


最后编辑: