ys2-intro/loader/samples/minexample/conv_liltalk.py

47 lines
1.1 KiB
Python

f = open("liltalk_speak.txt","r").readlines()
f = [x[:-1] for x in f]
line_addrs = []
char_cnt = 0
for line in f:
if line == '':
line_addrs.append(char_cnt)
char_cnt = 0
else:
num = 0
i = 0
while i < len(line) and line[i] in "0123456789":
num = num*10+int(line[i])
i += 1
str = line[i+1:]
str = str.upper()
if "\\N" in str: str = str.split("\\N")[0]
print(str)
#str = str.replace("\\N","")
char_cnt += len(str)
line_addrs.append(char_cnt)
out = [0xFE, (40-line_addrs[0])//2]
cnt = 1
for line in f:
if line == '':
out.append(0xFE) # set line addr to beginning
out.append((40-line_addrs[cnt])//2)
cnt += 1
else:
num = 0
i = 0
while i < len(line) and line[i] in "0123456789":
num = num*10+int(line[i])
i += 1
str = line[i+1:]
str = str.upper()
str = str.replace("\\N","\n")
out.append(num)
out.append(len(str))
for x in str: out.append(ord(x))
out.append(0xFF)
f = open("liltalk.bin","wb")
f.write(bytearray(out))
f.close()