Commit Graph

55 Commits

Author SHA1 Message Date
Kayne Ruse 4894daa273 Moved barrier system into it's own subdirectory 2016-07-09 16:56:35 +10:00
Kayne Ruse ba295099f3 Experimenting with SQL 2016-04-22 18:14:07 +10:00
Kayne Ruse 754fb71850 Updated SQL script 2016-04-22 08:26:19 +10:00
Kayne Ruse 8e7af9ce88 Fixed the table inheritance which was backwards 2016-04-11 00:08:42 +10:00
Kayne Ruse 8749d1fd93 Barriers are queried, created when colliding with creatures 2016-04-04 02:41:14 +10:00
Kayne Ruse f23b929f8a Added some boilerplate 2016-04-03 16:04:41 +10:00
Kayne Ruse 957458d489 Renamed some of Get() methods to Find(), read more
From now on, ideally any function with "get" in the name should always
return a valid value. A function with "find" in the name, however, does
the same thing, but may also return an invalid result such as an error
code.
2016-04-03 02:17:02 +11:00
Kayne Ruse 9a1714a881 Added creatures to the room containers 2016-03-25 22:29:26 +11:00
Kayne Ruse ba384c182a Updated the copyright in the file headers 2016-03-22 13:40:26 +11:00
Kayne Ruse fd11f4e0e6 Moved server/server_utilities up one directory
Also modified makefiles to account for the change.
2016-03-21 19:07:09 +11:00
Kayne Ruse ffe5c80117 Comment tweaks, build tweaks, bugfixes
I've also disabled the "screen trick". It was ugly as hell.
2015-08-24 14:34:54 +10:00
Kayne Ruse 24eb730c72 Switched to the #pragma once system 2015-07-07 17:36:14 +10:00
Kayne Ruse 822d0636cc Merge branch 'master' into develop 2015-05-17 12:38:44 +10:00
Kayne Ruse 99b35483f8 Tenative port for Linux 2015-05-17 09:18:46 +10:00
Kayne Ruse 8903b1e28d Began marking changes for monsters
These changes include storing monsters on shutdown, storing dead
characters and monsters, etc. Also fleshed out the MonsterManager's
internals a bit.

(cherry picked from commit af982710f6de050c09ef503cf2f8e1c9fdd34979)
2015-04-28 10:24:17 +10:00
Kayne Ruse 4ae58550b5 Changed SetRoomIndex() to SetRoom() 2015-03-13 21:05:24 +11:00
Kayne Ruse d82e3a8b79 Triggers now support exclusion lists 2015-03-13 20:43:47 +11:00
Kayne Ruse 954213f1ff Minor tweak to hCharacterMovement() 2015-03-13 19:36:03 +11:00
Kayne Ruse d2bb3575fc Removed initial world query
The world is queried once the client has the player's character.
2015-03-13 19:12:34 +11:00
Kayne Ruse 4d71d4cc40 Room transitions are working smoothly, read more
Although the room transitions are working fairly well, it is still heavy
handed, and a number of optimizations can be done. On the whole, this
needs a review.
2015-03-09 23:26:37 +11:00
Kayne Ruse 81b3769188 Implemented networked room chainging function 2015-03-09 21:28:28 +11:00
Kayne Ruse c3c6d42a80 Characters moving via scripts are pushed & popped from the rooms
The delete & create messages still need to be implemented.
2015-03-09 10:27:50 +11:00
Kayne Ruse decc77e21c Implemented entity.GetType() in lua
This will only work for userdata decented from the Entity base class.
Using something else results in undefined behavior.
2015-03-09 09:04:12 +11:00
Kayne Ruse 501b1e9814 Reduced script verbosity to a degree 2015-03-08 20:08:12 +11:00
Kayne Ruse 74ed93ddc7 Character bounds are stored in the server database
This allows for customization of bounding boxes, as well as highlighting
aspects needed when adding new fields to the characters.
2015-03-04 04:06:16 +11:00
Kayne Ruse b8806cc209 Implemented CharacterManager::ForEach() 2015-03-02 02:41:37 +11:00
Kayne Ruse cb63c9b07c Minor comment tweaks 2015-02-27 05:43:20 +11:00
Kayne Ruse c45bda645b Switched TODO: empty to TODO: *function name* 2015-02-27 03:27:37 +11:00
Kayne Ruse ddedc06e47 Implemented bare-bones character system API
I need to devise a way to update the clients about changes to their
characters directly from the lua scripts. This isn't too important per se,
but the pattern will be important for the monster and trigger systems.
2015-02-21 21:46:22 +11:00
Kayne Ruse 6a999a8a72 Room API hooks are updated automatically 2015-02-19 03:40:20 +11:00
Kayne Ruse b273b4c04a Added character API 2015-02-17 22:10:07 +11:00
Kayne Ruse 877c0f59d3 Removed preprocessor switch surrounding library headers 2015-01-03 03:20:13 +11:00
Kayne Ruse eb897c81e8 Tentative solution for bug #38 2015-01-02 07:09:04 +11:00
Kayne Ruse 78c04718e0 Removed ManagerInterface, it was a bad idea 2014-12-31 03:05:19 +11:00
Kayne Ruse 57c6f45c21 Added API placeholder files 2014-12-30 02:19:19 +11:00
Kayne Ruse 7e5a7f8183 Updated the copyright headers about a week ahead 2014-12-27 13:29:16 +11:00
Kayne Ruse 5607f76ce7 Server-side HandleCharacterDelete() 2014-12-02 23:41:08 +11:00
Kayne Ruse cacd3dcd6d Removed the statistics structure from common/* and server/* 2014-11-16 22:34:12 +11:00
Kayne Ruse f2d79225a3 Created '*_data.cpp' files, modified API files a bit 2014-11-06 01:54:27 +11:00
Kayne Ruse 77b47b4634 Merge branch 'mingw-fix' into server-expansion 2014-11-05 23:55:38 +11:00
Kayne Ruse 0f139562c3 Theoretically resolved jenky cross-compiler compatability 2014-11-05 23:54:10 +11:00
Kayne Ruse 966443be3d CharacterData inherits from Entity 2014-11-05 23:02:14 +11:00
fro_ozen de7167e830 Added unix compatability 2014-10-18 20:10:17 +02:00
Kayne Ruse 254b97aa80 Implemented ManagerInterface in AccountManager and CharacterManager
ManagerInterface was already designed for those two anyway. The only thing
left to do is to rewrite the room API, and the whole thing should work
fine again.

I still think map data should be saved and loaded by lua code, so the
rooms will still implement lua hooks. There may be other things that can
be loaded from SQL, but I don't know what.
2014-10-07 01:23:55 +11:00
Kayne Ruse 9b43b4641f Salvaging what I can from the failed experiment, read more
I'm salvaging the changes to AccountManager and CharacterManager that
don't break the build too badly. This won't build, but it'll be easier to
rectify.

Also, I've reduced the length of the manager's method names, and renamed
sql_utility.*pp to sql_tools.*pp
2014-10-01 01:33:38 +10:00
Kayne Ruse bfcf9a1d37 Moved the character's stats into their own database table
This will allow the to be reused elsewhere, as well as cleaning up big
blocks of code in the manager's source.

BUGFIX: The config's key-value pair overrides now work without requiring a
config file specification.
2014-09-28 03:10:39 +10:00
Kayne Ruse 17b9eb7ad4 Added more rejection packets, revised some logic 2014-09-10 16:06:01 +10:00
Kayne Ruse f581c3238f Tweaked some TODO comments 2014-09-03 04:36:02 +10:00
Kayne Ruse f52a022e64 Bugfixes, read more
* Manual modifications to the database caused the map to act unusual
* The server's packet must be created and deleted as a char array
* removed UnloadAll() from several singleton destructors
* added SDL_Delay() to BaseScene::RenderFrame(), to reduce heavy CPU use in menus
2014-08-19 01:48:48 +10:00
Kayne Ruse e7ba097e6a Converted the server's managers to singletons 2014-08-17 10:06:29 +10:00