VOGONS


First post, by Fizzban

User metadata
Rank Newbie
Rank
Newbie

Hi.. 😀

The C-equivalent to FPATAN is atan2() and not atan(). This bug will break e.g. games that uses this instruction to calculate the angel between two points A and B so they know how to move a sprite from A to B.

Replacing the following line in fpu_instructions.h

fpu.regs[ST(1)].d = atan(fpu.regs[ST(1)].d/fpu.regs[TOP].d);

by

fpu.regs[ST(1)].d = atan2(fpu.regs[ST(1)].d, fpu.regs[TOP].d);

will fix this.

Ahh, finally Orion Burger is working perfectly.. And Ben is no longer walking backwards in Full Throttle.. 😀 Time for the next game.. 😁

Reply 1 of 2, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

thanks a lot for noticing 😀
I'll probably add it before the next release (which is within 2 weeks)

Water flows down the stream
How to ask questions the smart way!

Reply 2 of 2, by Jiri

User metadata
Rank Member
Rank
Member
Fizzban wrote:

Ahh, finally Orion Burger is working perfectly.. And Ben is no longer walking backwards in Full Throttle.. 😀

And Riddle of Master Lu is playable in DOSBox, I´ve just tried it. Also Chronomaster, but this game was only affected by that vesa error and bad responses to the mouse clicking were caused by slowness. So if DOSBox cycles are high enough, this game works as well. A perfect work, Fizzban. 😁