Looking at some of your code, I've found a few random optimizations you could bring. I haven't looked at every file, but you mentioned that some of these routines come up in other files as well, so hopefully, these will not only help for where I found them but also where you think these optimizations might come in handy. Some are quite meaningless while others are larger. I've listed them all using the same method to make it simple to understand. The first line of each optimization is the file followed by the line at which the code was found. The 2nd line is the original code, the 3rd line is the words "could be", the 4th line is my version, and sometimes, there are little explanations in parenthesis underneath
Hopefully these can make your project slightly smaller and faster
Code: groove, 20/21
"-
real(6,0,14,15+D,~B:real(6,0,20,15+D:real(6,0,14,17+D:real(6,0,20,17+D:real(6,0,14,19+D:real(6,0,20,19+D
could be
real(7,9,15,18+D,12,5,-B
real(7,7,14,19+D,14,3,0
(this will display faster and be 47 bytes smaller.)
groove, 181 to 188
~B->Z:If F=0:|LWNDWS(2->Z:"Recent Plays
real(6,0,10,36+D,Z:~B->Z:If F=1:|LWNDWS(2->Z:"Albums
real(6,0,10,46+D,Z:~B->Z:If F=2:|LWNDWS(2->Z:"Artists
real(6,0,10,56+D,Z:~B->Z:If F=3:|LWNDWS(2->Z:"Songs
real(6,0,10,66+D,Z:~B->Z:If F=4:|LWNDWS(2->Z:"Playlists
real(6,0,10,76+D,Z:~B->Z:If F=5:|LWNDWS(2->Z:"Now Playing
real(6,0,10,86+D,Z
could be
For(K,0,5
sub("Recent PlaysAlbums Artists Songs Playlists Now Playing ",12K+1,12
real(6,0,10,36+10K+D,~B+(F=K)(B+|LWNDWS(2
End
(About 150 bytes smaller...)
groove, 195
If K=25 and G>0:G-1->G:If K=34 and G<5:G+1->G
could be
If G and G<5:G+(K=25)/4.5-1->G
wnstart, 82
real(8,1,0:real(7,9,0,0,0,0,0:real(0,1,1:real(8,1,1:real(7,9,0,0,0,0,0:real(0,1,0,0:real(8,1,0:"Loadi
real(6,0,120,55,~1:real(8,1,1:"ng...
real(6,0,0,55,~1
could be
real(0,3,4,0,1:real(0,3,4,0:real(0,1,0,0:"Loadi
real(6,0,120,55,~1,1,1:"ng...
real(6,0,0,55,~1
(making use of the ,1 at the end of commands to switch buffers, and the real(0,3,4... command.)
wnstart,120
If 0!=inString(Str9,"WIN10") and 0!=inString(Str9,"L
could be
If inString(Str9,"WIN10") and inString(Str9,"L
(this one is pretty small, but no need for the 0!=)
wnstart, 122
randInt(0,2:If Ans=0
could be
If not(randInt(0,2
(just a quicker way to write it...)
wnstart, 174/175
real(8,1,0:real(7,9,0,0,0,0,~1
real(8,1,1:real(7,9,0,0,0,0,~1
could be
real(0,3,4,~1,1
real(0,3,4,~1
(real(0,3,4,#color fills the whole active screen with the color)
alarms, 8
real(8,1,0:real(7,9,0,10+D,0,30,E:real(8,1,1:real(7,9,0,10+D,0,30,E
could be
For(K,1,0,~1
real(7,9,0,10+D,0,30,E,K
End
people, 41
If K=24:DelVar E:If K=26:2->E
could be
K-24->E
people, 65 to 67
"+
real(6,0,70,100,~B:"Add
real(6,0,62,108
could be
" +/Add
real(6,0,62,100,~B,47
(you can use the NewLineChar to display these one under the other)