29 Commits

Author SHA1 Message Date
fusion32
e2ba7cd296 fix issues and warnings when compiling with glibc < 2.32 (#57, #58)
This also fixes some inconsistencies such as mixing both strerror
and strerrordesc_np, and possible formatting issues.
2026-05-28 23:56:29 -03:00
fusion32
465620a871 add MAX_DEPOTS constant + enable assertions in debug mode 2025-09-13 00:39:31 -03:00
fusion32
8082c228c5 wrapping up for a public release 2025-08-15 15:50:32 -03:00
fusion32
6d498fe17d fix most init and parsing bugs + critical bug with dynamic strings
With an appropriate query manager, the server now starts up and
seems to work but won't properly handle connections until we fix
the problem with threads and signals described in `TODO.md`.
2025-07-16 17:22:39 -03:00
fusion32
e65dc561ac implement crypto.cc with OpenSSL + fix config loading
I considered reversing the original `vlong` implementation but
OpenSSL is just simpler, more secure, and most importantly, is
already there. I also made it so the key is now stored in a PEM
file (`tibia.pem`) so it can be easily swapped without re-compiling.

  This was the last piece to build and run a working executable,
except that we now need to implement a query manager for the server
to communicate with. I was able to fix a small problem with loading
the config before hitting the problem with the query manager, which
was expected.

  The next task should be getting a query manager up and running
before starting phase two of upgrading and fixing the server itself.
2025-07-03 10:46:43 -03:00
fusion32
e782274ade query.cc 2025-07-02 13:28:45 -03:00
fusion32
aaf198773f beginning of query.cc 2025-07-01 20:41:31 -03:00
fusion32
5cfe00df82 reader.cc 2025-07-01 09:26:39 -03:00
fusion32
6c8aa85b8b writer.cc 2025-06-30 19:23:09 -03:00
fusion32
c09d30cb14 houses.cc 2025-06-29 18:25:23 -03:00
fusion32
8bc2e5dc3a most of crnonpl.cc 2025-06-24 15:02:38 -03:00
fusion32
bdfcbb2f0e receiving.cc 2025-06-23 06:34:16 -03:00
fusion32
c4dfe97e95 sending.cc 2025-06-22 00:52:27 -03:00
fusion32
efeb10adcc connections.cc 2025-06-21 03:35:13 -03:00
fusion32
bd3a6a0460 beginning of communication.cc 2025-06-19 03:13:48 -03:00
fusion32
e5b8aadd49 finish crplayer.cc 2025-06-18 18:57:37 -03:00
fusion32
15b40c7915 more work on operate.cc 2025-06-13 03:35:56 -03:00
fusion32
7d298e5a41 more work on operate.cc 2025-06-12 04:17:13 -03:00
fusion32
eaa3536c02 impl TCreature::Move which was absolute hell + some tidying up 2025-06-08 19:54:40 -03:00
fusion32
76f6ecb7c8 some work on crmain.cc and cract.cc + merge creature headers 2025-06-06 19:36:18 -03:00
fusion32
ebfa80ab57 merge creature headers 2025-06-05 12:00:34 -03:00
fusion32
dbee845a5c more spells 2025-06-03 16:00:35 -03:00
fusion32
d2eb32efe2 impl some spells and create info.cc 2025-06-02 18:21:54 -03:00
fusion32
8b118611b6 add a small Go script to generate the Makefile 2025-06-01 10:26:28 -03:00
fusion32
d7c11b2716 done with crcombat.cc 2025-05-31 02:25:31 -03:00
fusion32
565d28e480 rename/create some files
The most annoying thing with C++ classes being in their "own" header
file is that it makes it easy to create cyclic dependencies. We might
end up merging all creature related header files into the original
`cr.hh` that shows up in the original's debug information.
2025-05-28 18:51:06 -03:00
fusion32
02d243c531 impl all remaining containers 2025-05-28 02:56:59 -03:00
fusion32
fbb392953c more object functions 2025-05-26 01:44:13 -03:00
fusion32
ad8213f355 linux Makefile + fix most compilation problems
I wanted to see if the compiler had any problems with the code
so far and added a few stub definitions so that each file would
properly compile. We still fail when linking but we're able to to
find and fix compile time errors.
2025-05-25 22:37:57 -03:00