From 09b38df41ad5862b2c3bf2a71e82b2a0ecb90e8f Mon Sep 17 00:00:00 2001 From: "(no author)" <(no author)@54d463be-8e91-2dee-dedb-b68131a5f0ec> Date: Mon, 24 Jan 2005 17:06:08 +0000 Subject: CHangelog git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/branches/stable@977 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog.txt | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Changelog.txt b/Changelog.txt index 9d51367f1..e554476d9 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,5 +1,37 @@ Date Added +01/24 + * some G++ compile tweaks and got through several files in the + map server - [SVN 976] [MouseJstr] + + Why are we doing a C++ conversion? We have a lot of duplicate + code and would like to make the "classes" in the server share + code.. For example, a pet should be able to share code from + the player or from a mob. Similerly, introducing a new type + of entity in the game should be as simple as creating a + sub-class instead of having to crawl through the entire source + tree searching for every class check and introducing handler + code in for your new type. + + Finally, while a garbage collector is "cool", it would still + be nice to have enough object knowledge on how to clean up + data that it is not absolutely required. It is faster for + us to clean up our own messes then introduce a whole system + for cleaning up after ourselves. + + Is there a C++ performance penalty? Not if the code is + written correctly. For example + 1) No templates - code bloat and destroys cpu cache + coheriancy + 2) No C++ exceptions - slows down entering and + exiting functions + 3) No operator overloading - makes it hard to + understand what is going on. + 4) No C++ STL libraries - Templates, huge, bloated, + unportable + 5) No method inlining - code bloat and reduces cache + coheriancy. Let the optimizer do it... + 01/23 * char-server (SQL & TXT), login-server (SQL & TXT), and txt-coonvertors (char and login) all compile on g++ now [svn 975] [Ajarn] -- cgit v1.2.3-70-g09d2