07-25-2015, 12:44 PM
(This post was last modified: 07-25-2015, 01:10 PM by Archer-Dante.)
Quote:Random bug... I was modifying Bat's data. After saving the modifications and reloading him, I got this popup saying it can't load the s file.About this i have a some bad news
First.
The reason why it does appear is unknown for me.
This bugs starts after Karter made his PDK. As long as Neora based on PDK, it also borrows bugs like that.
Next.
For Neora 2.04 i make it fixed for only 1 way: if you're using Dropbox (since December 2014 there is Dropbox v.3.x+).
The main reason why crash appears for Dropbox is that broken byte appears after "s" symbol in dump.
So, game tries to get
"sprite\sys\bat_0.bmp"
but in RAM it looks like
"s prite\sys\bat_0.bmp"
in that space there is some full zero bytes, and for programm it means End of string.
That bug appears only after Game Folder was affected by Dropbox v.3.x+
After that even without that soft game still crashes. That means there is something changed in game folder. BUT. I made total compare between corrupted and uncorrupted version of game, and they're both same.
Dunno why. But only one more thing i found - the corruption somewhere in data folder. (as long as i replaced uncorrupted version of game files in broken then everything gonna works fine)
Yet. This bug bounded somehow with Karter's *.lfi format. Looks like there is a problem with switching between two different parse methods.
I don't know the real reason why broken string even appears in RAM dump. But i made minor fix that i've tested for Dropbox 3+. If u have another reason then i'm not sure it can help ya.
Finaly.
I've never post 2.04 version for here as long as it's only minor bug fix for only several users.
By the way you can grab it here: Neora 2.04
If u have mod that already corrupted by that damn "s" error, then just rebuild ur mod by moving all dat files, sprites and all needed files manualy to that 2.04 engine.
If everything fine, then error doesn't distract you anymore.
I'm still have this problem on mind, searching for the perfect solution.
Quote:Edit: Finally got the DLL compiling thing going on. Pretty interesting stuff. Would it be possible to adjust the HP gap for regeneration? It was possible with the original although somewhat limited. I'll show you the snippet of relevant code.I guess u means something like i did post here?
If that so then i already done it. But didn't release yet cuz other stuff still unfinished.
Quote:Downloaded 2.4. I see you redid your shaking code. Did you make sure you keep the guarding shaking 5 frames? I don't see the line for guarding an attack anymore.I didn't changed anything in code about shaking.
MOV DWORD PTR DS:[EBX+0ECh],4
Just embed it to the DLL sources and makes possible to change original value of shaking "3" \ "-3" to anything else.
By the way the rest of code is same
Quote:This line was for meant for when you guarded an attack. You shake for longer according to Cheat Engine. Maybe just reconfigure it to add two more frames if in state 7.I did some tests. The shaking on guarded attack still works.
Isn't so?
UPD
Here is my code of shaking in DLL
Code:
shake_value db 3 ; Value of both Shaking effect on attack. "3" is default
main_Shake proc
XOR EAX,EAX
MOV AL, BYTE PTR DS:[shake_value]
CMP DWORD PTR DS:[EBX+0B4h],0
JL SHORT [victim]
MOV DWORD PTR DS:[EBX+0B4h],EAX
victim:
MOV ECX,DWORD PTR SS:[ESP+0Ch]
NEG EAX
MOV DWORD PTR DS:[EDI+0B4h],EAX
JMP [shake_back]
main_Shake endp
And the code from exe file itself
Code:
0042EE0E |> 83BB B4000000 >|CMP DWORD PTR DS:[EBX+B4],0
0042EE15 |. 7C 0A |JL SHORT PDK.0042EE21
0042EE17 |. C783 B4000000 >|MOV DWORD PTR DS:[EBX+B4],3
0042EE21 |> 8B4CE4 0C |MOV ECX,DWORD PTR SS:[ESP+C]
0042EE25 |. C787 B4000000 >|MOV DWORD PTR DS:[EDI+B4],-3
They aren't the same?
Or what i've changed? Maybe i'm really blind