Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in /home/iano/public_html/tpforums-vb5/forum/includes/class_core.php on line 5842
PHP Warning: Use of undefined constant MYSQL_NUM - assumed 'MYSQL_NUM' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165
PHP Warning: Use of undefined constant MYSQL_ASSOC - assumed 'MYSQL_ASSOC' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165
PHP Warning: Use of undefined constant MYSQL_BOTH - assumed 'MYSQL_BOTH' (this will throw an Error in a future version of PHP) in ..../includes/init.php on line 165
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 588
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in ..../includes/functions_navigation.php on line 612
PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1
PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../global.php(29) : eval()'d code(6) : eval()'d code on line 1
PHP Warning: Use of undefined constant misc - assumed 'misc' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1
PHP Warning: Use of undefined constant index - assumed 'index' (this will throw an Error in a future version of PHP) in ..../includes/class_bootstrap.php(1422) : eval()'d code(4) : eval()'d code on line 1
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 6
PHP Warning: Use of undefined constant onlinestatusphrase - assumed 'onlinestatusphrase' (this will throw an Error in a future version of PHP) in ..../includes/class_core.php(4684) : eval()'d code on line 85 windows support is back, for real
If you don't trust me, and honestly im hoping you don't i need people who are willing to compile and test, you can do an svn checkout. If anyone is interested in maintaining a code::blocks or dev-cpp project file, talk to me and ill give you access to the svn. Basically you will need to make some sort of project, I doubt anyone else here uses Makefiles.
Now for the story of the problem that eluded me for so long. The design philosophy of nonameproxy is to write as little platform dependent code as possible, and what this means when it comes to the plugins theres only 20 lines of windows specific code. If the bot proxy works on unix, and doesn't work on windows, the problem must be in those 20 lines, barring a bug in gcc itself. After reviewing these 20 lines of code many many times, I became convinced that I had hit a bug in gcc, so i decided compile using an older version of gcc. This should have been very simple, but I couldnt find any precompiled packages out on the internet, and it took me a whole day to build my own. Whilst I now know it wasnt a gcc error, what the older version of gcc did do was export debugging symbols that wine (what i use to test the windows build) could understand, thus finally giving me a proper stack backtrace which allowed me to work out exactly where my program crashed. The answer, well it occurred in those 20 lines of code. I had assumed that FreeLibrary, for unloading dlls, worked in the same way as dlclose, the linux equivalent. Well it does, almost, besides one vital difference. FreeLibrary returns non-zero on success, whilst dlclose returns 0 on success. What was happening was when FreeLibrary failed, i would ask the dll for its name so I could print its name in the debugging output. This meant that when FreeLibrary succeeded, i thought it had failed, and I asked the plugin for its name, even though the plugin was successfully unloaded along with the name function i was trying to call, and KA_BOOM, everything was lost and I got no debugging output. The fix, i had to change one character from
"==" to "!=".
AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
I cant tell you how much time ive wasted because of that.
Anyway, my software is now even freer, as more people can use it, whether they are completely free or only partially free. I myself am not even completely free, tibia is after all propriety software, but heck im sure cip wish i didnt exist, therefore its justified.
I hate when there small problems like that that you can never find and then after alot of work and debugging you find them and are like WTF MENZ?!?!?!?!
Interesting, if people want ot support then i could provide it. My intention was to update it with the official client. Also, currently cannot be configured to connect to any servers other than the official servers.