110 Commits

Author SHA1 Message Date
fusion32
28ba2e02ed fix a problem with deleting CUMULATIVE items from creatures 2025-08-29 15:57:42 -03:00
fusion32
78dab31a66 fix log date logic 2025-08-29 15:43:11 -03:00
fusion32
9f07f7e53c fix buddy status causing a client assertion 2025-08-28 20:19:24 -03:00
fusion32
c670fea4ac fix item exchange - fixes #8 2025-08-28 19:08:47 -03:00
fusion32
29b62e631b fix angle shaped spells path check -- fixes #5 2025-08-25 22:24:01 -03:00
fusion32
e72872d524 fix spellbook not displaying anything -- fixes #6 2025-08-25 22:06:24 -03:00
fusion32
5b247aa5cd fix look at NAMEDOOR -- fixes #4 2025-08-25 21:41:42 -03:00
fusion32
466473ece3 fix probability of fleeing mosters to attack -- solves #1 2025-08-25 15:28:17 -03:00
fusion32
dc240f4295 fix initial value of Channels which was causing a client assertion 2025-08-23 01:05:57 -03:00
fusion32
d55b9473ec fix a problem with monsters freezing after failing to attack 2025-08-19 22:41:08 -03:00
fusion32
b2a9d2cb96 cleaning up a few comments + login message enum 2025-08-19 15:57:40 -03:00
fusion32
232218239b modify service config to make sure it stops before the querymanager 2025-08-18 03:06:32 -03:00
fusion32
b3fa79aefb fix problem with VIP data causing a client assertion 2025-08-17 13:33:41 -03:00
fusion32
9145ae949e fix crash with damage with no attackers 2025-08-17 02:56:46 -03:00
fusion32
3cb08df67d fix RETRIEVE action, used with roping 2025-08-17 01:24:49 -03:00
fusion32
8082c228c5 wrapping up for a public release 2025-08-15 15:50:32 -03:00
fusion32
e4b8bf807b multiple bug-fixes and improvements
- Make uint32 -> Object conversion explicit. This can be more
verbose but will get a lot of small mistakes, especially with
function overloads.
- Fix problem with the path finder not including the last step
when `MustReach` was false.
- Fix problem with NPC conditions.
- Fix problem with monster homes continuously spawning monsters.
- Fix problem with creating the standard inventory.
- Fix problem with creature timers (IMPORTANT).
- Fix problem with `ThrowPossible` (IMPORTANT).
- Fix problem with rune casting.
- Fix problem with executing moveuse events.
- Fix problem with `MoveRel` and `WriteName` moveuse actions.
- Fix problem with eating food deleting the whole stack.
- Many other bug-fixes and improvements.
2025-07-21 22:49:41 -03:00
fusion32
7b9e7dbbcf fix some critical bugs
Aside from obvious gameplay bugs pretty much everywhere, the
game is finally in a PLAYABLE state. It should be smooth sailing
to get it stable for an initial test server.
2025-07-19 16:47:25 -03:00
fusion32
d359c0af48 THREADING: upgrade from LinuxThreads to NPTL
This was a required change to make the server run on a modern
GLIBC version without resorting to shady shared libraries or
compatibility tricks. It is very straightforward but we should
always keep an eye out for possible bugs.
  There was also a problem with the Z loop on field sending
functions that was causing the server to hang in an infinite
loop and should now be fixed.
  With these changes it is now possible to login into the game
for a split second before the client asserting.
2025-07-19 11:35:11 -03:00
fusion32
638244fd07 small cleanup + fix sigaction flags 2025-07-18 18:40:57 -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
11ae3d0e42 merged dbfuncs.cc into crplayer.cc 2025-07-01 15:39:01 -03:00
fusion32
d5a1438756 minor cleanup 2025-07-01 09:35:07 -03:00
fusion32
5cfe00df82 reader.cc 2025-07-01 09:26:39 -03:00
fusion32
6243967f1f fix operator= for TChannel, TParty, and THouse
I had focused on copying the `vector` fields for theses structs
but, being the copy operator, you need to copy everything over.
2025-07-01 07:21:10 -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
e59667ec6b moveuse.cc 2025-06-27 18:57:29 -03:00
fusion32
ea319bc2fb finish crnonpl.cc 2025-06-25 10:09:17 -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
7dff6dfd60 finish communication.cc 2025-06-20 18:19:12 -03:00
fusion32
083047d123 small change to ReceiveCommand for increased connection reliability 2025-06-20 15:33:58 -03:00
fusion32
d3b92e110a more work on communication.cc 2025-06-20 06:00:16 -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
b912ba995c TPlayer constructor and destructor 2025-06-17 20:10:41 -03:00
fusion32
56bdec5760 all crplayer.cc functions outside TPlayer 2025-06-17 03:13:05 -03:00
fusion32
0612480d9b party functions 2025-06-16 01:30:08 -03:00
fusion32
5bdedeecea channel functions 2025-06-15 22:25:12 -03:00
fusion32
3cc587ab8d more work on operate.cc 2025-06-15 17:35:06 -03:00
fusion32
33464579f6 impl Look and Talk... 2025-06-14 04:47:08 -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
05ec30b994 more work on operate.cc 2025-06-12 02:09:27 -03:00