View previous topic :: View next topic |
Author |
Message |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Thu Feb 05, 2009 9:17 am Post subject: Get the satisfaction of fixing a bug without doing any work! |
|
|
Get the satisfaction of fixing a bug without doing any too much work!
We have over 220 bugs in the OHRRPGCE Bug List.
Some of those bugs are rather old, and I suspect that some of them have already been fixed, and others need verification. We could really use some help from OHR users to go through the list and re-test any bug that has not been commented on for a long time to see if it still happens.
You don't need to have any programming skills, all you need to to is try to reproduce the bug. Some of these might be fairly time consuming, for example, bugs that only appear rarely in specific games (Sword of Jade, Missing) that would require you to play a big game for several hours (or even all the way through) with the latest nightly wip builds |
|
Back to top |
|
 |
Rimudora Psychopath yandere Halloween 2006 Creativity Winner


Joined: 26 May 2005 Posts: 335
|
Posted: Thu Feb 05, 2009 6:59 pm Post subject: |
|
|
'' . bug_title('700') . ''
As far as I can tell this still happens with the latest nightly. When you write a global that fits the FAIL conditions (if number/32768 returns an odd number), save the game, and then reload it, the global will mysteriously turn into a negative number. I used the following code to test it myself.
Code: | plotscript,test,begin
showvalue(readglobal(1))
writeglobal(1,40000)
waitforkey(usekey)
savemenu
gameover
end |
I tried running the script with a few different values, and it fits the pattern mentioned in the original bug report. The script above returns -25536 instead of 40000 when you save the game and then reload it. The value of the global doesn't actually get changed until you load a game. (That is, if you have showvalue after writeglobal, it will show 40000. But once you save and reload, it turns into -25536.) |
|
Back to top |
|
 |
Raekuul Delicious!

Joined: 31 Mar 2004 Posts: 641 Location: Nowhere
|
Posted: Fri Feb 06, 2009 5:19 am Post subject: |
|
|
Wait, doesn't the engine use signed ints for short-class variables? That might be the source of #700.
Let me load up my hex editor to check the values...
*Checks*
40000 in hex is 9C40... which is over the halfway mark for a signed short, meaning that 9C40 will loop around from the highest magnitude back to -1, which would be FFFF in hex for a short.
Maybe we need an option to use unsigned ints for our globals...... _________________ A broken clock is still right twice a day. |
|
Back to top |
|
 |
Bob the Hamster OHRRPGCE Developer

Joined: 22 Feb 2003 Posts: 2526 Location: Hamster Republic (Southern California Enclave)
|
Posted: Tue Feb 10, 2009 3:26 pm Post subject: |
|
|
I just made a change that should fix '' . bug_title('700') . ''. Please re-test with tonight's nightly build and let me know if it helps. |
|
Back to top |
|
 |
TMC On the Verge of Insanity
Joined: 05 Apr 2003 Posts: 3240 Location: Matakana
|
Posted: Wed Feb 11, 2009 8:36 am Post subject: |
|
|
I checked, and there are approximately 85 real bugs on the list. Many of them are just errata (which you're encouraged to report anyway!) or only apply to nondefault backends. It seems I can't post a link to the trimmed down list, the URL is too long.
Edit:http://rpg.hamsterrepublic.com/bugzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=OHRRPGCE&component=Attacks&component=backend%3Agfx_alleg&component=backend%3Agfx_fb&component=backend%3Agfx_sdl&component=backend%3Amusic_allegro&component=backend%3Amusic_native&component=backend%3Amusic_native2&component=backend%3Amusic_sdl&component=Battles&component=CUSTOM.EXE+(General)&component=CUSTOM.EXE+(Usability)&component=GAME.EXE+(General)&component=General+(game%2Bcustom)&component=Graphics&component=Heroes&component=Hspeak+compiler&component=Items&component=Maps&component=Menus&component=Music&component=NPCs&component=Plotscripts&component=Shops&component=Sound+Effects&component=Textboxes&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=cosmetic&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&field0-0-0=noop&type0-0-0=noop&value0-0-0=
Raekuul wrote: | Wait, doesn't the engine use signed ints for short-class variables? That might be the source of #700.
Let me load up my hex editor to check the values...
*Checks*
40000 in hex is 9C40... which is over the halfway mark for a signed short, meaning that 9C40 will loop around from the highest magnitude back to -1, which would be FFFF in hex for a short.
Maybe we need an option to use unsigned ints for our globals...... |
It appears that you're not aware that HS now uses signed 32-bit integers! _________________ "It is so great it is insanely great." |
|
Back to top |
|
 |
|