Haha, I was wrong. What they did was call the data files
1%.dat 2%.dat and so on :p.
Well it should be doable. Just search the loading text for the . and replace it with 0(hex, not asci). 0 is used as a string terminator so it should work.
I'll whip up the code if I don't find something better to do within 5 minutes.
Edit: Bah, you can't directly edit the string, because it uses that string to load the file :(. Means you have to copy the string :p. To much effort, someone else do it.
Update:
Alright, I did it. It edits the string, calls the "show loading text" thingy, then modifies the string back. Not the best solution, but it works :D.
It also skips the first 5 characters (normally it is data\), if you want it to skip more, or to show the "data\" part you'll have to remove the "add R,5" stuff.
1%.dat 2%.dat and so on :p.
Well it should be doable. Just search the loading text for the . and replace it with 0(hex, not asci). 0 is used as a string terminator so it should work.
I'll whip up the code if I don't find something better to do within 5 minutes.
Edit: Bah, you can't directly edit the string, because it uses that string to load the file :(. Means you have to copy the string :p. To much effort, someone else do it.
Update:
Alright, I did it. It edits the string, calls the "show loading text" thingy, then modifies the string back. Not the best solution, but it works :D.
|
ASM-Code:
.data loadingText db "Silva Rules!!",0 Load dd 00424436h Load_c dd 00401290h dotLoc dd ? .code Loading proc ;LOCAL string:Str PUSH 3Ch ; Y cord PUSH 260h ; X cord pushad mov edx, dword ptr ss:[ESP+3Ch] mov eax,0 looop: cmp byte ptr ds:[edx+eax],2eh je rawr cmp byte ptr ds:[edx+eax],0 je rawrz inc eax jmp looop rawr: mov byte ptr ds:[edx+eax],0 rawrz: lea ebx, dword ptr ds:[edx+eax] mov dotLoc,ebx popad CMP EDX,2 MOV DWORD PTR DS:[4511BCh],EDX JGE a MOV EDX,DWORD PTR SS:[ESP+1Ch] ;original text add edx,5 ; skip data\ ;LEA EDX,DWORD PTR SS:[loadingText] MOV EAX,DWORD PTR DS:[455608h] PUSH 0FF6464h ; text color PUSH 00601B0Dh ;background color PUSH EDX PUSH EAX JMP return a: ADD EDX,-5 CMP EDX,2 JA b MOV ECX,DWORD PTR SS:[ESP+1Ch] ;original text add ecx,5 ; skip data\ ;LEA ECX,DWORD PTR SS:[loadingText] MOV EDX,DWORD PTR DS:[455608h] PUSH 0FFFFFFh ;text color PUSH 00601B0Dh ; background color PUSH ECX PUSH EDX JMP return b: MOV EAX,DWORD PTR SS:[ESP+1Ch] ;original text add eax,5 ; skip data\ ;LEA EAX,DWORD PTR SS:[loadingText] MOV ECX,DWORD PTR DS:[455608h] PUSH 0FFB4B4h ;text color PUSH 00601B0Dh ;background color PUSH EAX PUSH ECX return: CALL [Load_c] push eax mov eax, dword ptr ds:[dotLoc] mov byte ptr ds:[eax],2eh pop eax JMP Load Loading endp |
It also skips the first 5 characters (normally it is data\), if you want it to skip more, or to show the "data\" part you'll have to remove the "add R,5" stuff.
![[Image: doty7Xn.gif]](http://i.imgur.com/doty7Xn.gif)
10 ʏᴇᴀʀs sɪɴᴄᴇ ɪʀᴄ ɢᴏᴏᴅ.ɪ ᴡᴀʟᴋ ᴛʜʀᴏᴜɢʜ ᴛʜᴇ ᴇᴍᴘᴛʏ sᴛʀᴇᴇᴛs ᴛʀʏɪɴɢ ᴛᴏ ᴛʜɪɴᴋ ᴏғ sᴏᴍᴇᴛʜɪɴɢ ᴇʟsᴇ ʙᴜᴛ ᴍʏ ᴘᴀᴛʜ ᴀʟᴡᴀʏs ʟᴇᴀᴅs ᴛᴏ ᴛʜᴇ ɪʀᴄ. ɪ sᴛᴀʀᴇ ᴀᴛ ᴛʜᴇ sᴄʀᴇᴇɴ ғᴏʀ ʜᴏᴜʀs ᴀɴᴅ ᴛʀʏ ᴛᴏ sᴜᴍᴍᴏɴ ᴛʜᴇ ɢᴏᴏᴅ ɪʀᴄ. ɪ ᴡᴀᴛᴄʜ ᴏᴛʜᴇʀ ɪʀᴄ ᴄʜᴀɴɴᴇʟs ʙᴜᴛ ɪᴛ ɪs ɴᴏ ɢᴏᴏᴅ. ɪ ᴘᴇsᴛᴇʀ ᴢᴏʀᴛ ᴀɴᴅ ᴛʀʏ ᴛᴏ ʀᴇsɪsᴛ ʜɪs sᴇxɪɴᴇss ʙᴜᴛ ɪᴛ ɪs ᴀʟʟ ᴍᴇᴀɴɪɴɢʟᴇss. ᴛʜᴇ ᴇɴᴅ ɪs ɴᴇᴀʀ.ɪ ᴛʜᴇɴ ᴜsᴜᴀʟʟʏ ʀᴇᴀᴅ sᴏᴍᴇ ᴏʟᴅ ɪʀᴄ ʟᴏɢs ᴀɴᴅ ᴄʀʏ ᴍʏsᴇʟғ ᴛᴏ sʟᴇᴇᴘ.

Chat

