Commit Graph

580 Commits

Author SHA1 Message Date
Loïc Hoguin
ecee1226aa Cleanup: Replace a lot of 'little-unsigned-integer' by 'little' for binaries. 2011-02-20 00:18:14 +01:00
Loïc Hoguin
378e9a9927 egs_game_server: Properly leave the zone when the user is disconnecting. 2011-02-19 22:23:42 +01:00
Loïc Hoguin
2de4359c32 Create the user at character selection rather than login. 2011-02-19 21:21:35 +01:00
Loïc Hoguin
b728731830 Properly handle the LID per player and per zone. Remove related hacks. 2011-02-19 19:45:50 +01:00
Loïc Hoguin
1be3c4f5c6 Do not load the quest or zone nbl unless we actually need to send it. 2011-02-19 17:04:26 +01:00
Loïc Hoguin
e7246271ad users: Remove the setid property. Sets are fully handled by the zone now. 2011-02-19 16:58:09 +01:00
Loïc Hoguin
ad7071a61b psu_game: Load the players already in the zone on zone change. 2011-02-19 16:05:01 +01:00
Loïc Hoguin
50c2a2615f egs_zones: Broadcast spawn/unspawn directly from enter/leave. 2011-02-19 15:26:54 +01:00
Loïc Hoguin
afb888e566 egs_game: Leave the lobby's zone when entering a counter. 2011-02-19 13:31:38 +01:00
Loïc Hoguin
326b356d02 egs_zones: Add enter and leave functions for players entering/leaving the zone. 2011-02-18 02:52:25 +01:00
Loïc Hoguin
9d10c28504 egs_quests: Add the function zone_pid to retrieve a quest's zone pid. 2011-02-17 23:35:27 +01:00
Loïc Hoguin
06a032652a egs_universes: Add the function lobby_pid to retrieve a uni's lobby pid. 2011-02-17 23:17:11 +01:00
Loïc Hoguin
a4d9c5a35d egs_zones: Build a list of indexed and target objects, saved in the state. 2011-02-17 20:12:45 +01:00
Loïc Hoguin
526f281e2b egs_zones: Roughly initialize all the objects available so far. 2011-02-17 17:12:57 +01:00
Loïc Hoguin
bf7fa44897 egs_zones: Iterate through the set file to later create objects. 2011-02-16 23:08:28 +01:00
Loïc Hoguin
11a03f3a96 egs_quests_db: Fix crash when trying to load the set configuration file. 2011-02-16 21:59:33 +01:00
Loïc Hoguin
7e42b9b26a egs_zones: Load the set configuration at process initialization. 2011-02-16 00:09:46 +01:00
Loïc Hoguin
a1b8b1909e egs_zones: Determine which set to use at process initialization. 2011-02-15 23:26:48 +01:00
Loïc Hoguin
8f069e72d8 egs_sup: Delete the useless upgrade function. 2011-02-15 02:46:36 +01:00
Loïc Hoguin
9247e51fb7 Add egs_servers_sup to properly handle dependencies on egs_conf at startup. 2011-02-15 02:46:11 +01:00
Loïc Hoguin
ea25d1bd74 Universes start lobby quests automatically which in turn start their zones.
Universes are all stored in a single process; on the other hand, each quest
and each zone have their own process.
2011-02-15 01:15:28 +01:00
Loïc Hoguin
ffd27bda46 Rename egs_quests_db:quest and :zone into :quest_nbl and :zone_nbl. 2011-02-14 13:04:26 +01:00
Loïc Hoguin
fdfd49179f Remove psu_instance; to be replaced with egs_quests and egs_zones. 2011-02-13 19:26:08 +01:00
Loïc Hoguin
0989664035 Cleanup area loading code. Remove myroom, mission and spaceport support. 2011-02-13 18:06:25 +01:00
Loïc Hoguin
a484de77e0 egs_users: Rename id into gid inside the users record. 2011-02-13 00:35:05 +01:00
Loïc Hoguin
098ad5243a Get rid of psu_area; use a normal tuple instead (for now). 2011-02-12 23:28:56 +01:00
Loïc Hoguin
05149483c8 Use a normal tuple instead of a record for the pos values. 2011-02-12 20:12:48 +01:00
Loïc Hoguin
4dcaa79371 Add types to the users record and convert egs_users into a functions module.
The egs_user_model module was renamed into egs_users.
The egs_user_model record was renamed into users.
2011-02-12 19:58:53 +01:00
Loïc Hoguin
4171f2eba4 Convert egs_accounts from a gen_server to a functions module. 2011-02-12 17:19:39 +01:00
Loïc Hoguin
d022584300 egs_files: Add a type_counter object. 2011-02-07 02:36:05 +01:00
Loïc Hoguin
8526b5ab8f patch: Add a fully working patch server and replace the old hack with it. 2010-12-27 22:16:06 +01:00
Loïc Hoguin
d043ab4d3d egs_game_server: On exit, don't try to leave the uni if it wasn't entered. 2010-12-25 14:59:57 +01:00
Loïc Hoguin
f867dfbb72 egs_script_lexer: Add 4 syscalls for retrieving current questid, areaid, zoneid and mapid. 2010-12-12 01:18:52 +01:00
Loïc Hoguin
207b0b04cc egs_files: Make the standup move distance configurable for chairs. 2010-12-12 01:18:24 +01:00
Loïc Hoguin
3eb3d4dc4d quests: Add the missing static objects to colony zone 0 4th floor. 2010-12-11 16:23:17 +01:00
Loïc Hoguin
92f3c2fbc5 egs_files: NPC data had an extra byte preventing following groups from being loaded. 2010-12-11 15:45:21 +01:00
Loïc Hoguin
c161f8c48a scripts: Big update to the scripts lexer, parser and compilers.
Supports most syscalls, functions and opcodes. Includes a few bug fixes.
2010-12-11 14:38:13 +01:00
Loïc Hoguin
8504352ef7 egs_files: Add the sensor object. 2010-12-11 14:36:47 +01:00
Loïc Hoguin
3a45b43354 egs_files: Compress the NBL data automatically when its size is >= 16#800. 2010-11-28 16:32:28 +01:00
Loïc Hoguin
3b05e4dfe3 egs_quests_db: Initial zone file support. Handle 1 set + script and text files. 2010-11-27 23:03:04 +01:00
Loïc Hoguin
48728337c7 egs_network: Stay on the old SSL implementation until the new one works better. 2010-11-17 23:36:35 +01:00
Loïc Hoguin
d7f41a8ee5 egs_prs: C module implementing PRS compression from fuzziqer. 2010-11-17 21:36:05 +01:00
Loïc Hoguin
bd6b5632f1 The server now requires Erlang R14B to run. 2010-11-17 21:31:33 +01:00
Loïc Hoguin
9efb734c63 quests: Convert the zones to a proplist of proplists rather than a list of proplists. 2010-11-17 02:19:10 +01:00
Loïc Hoguin
7fadf362b3 Initial script lexer, parser and compiler support. 2010-11-17 01:30:07 +01:00
Loïc Hoguin
71772a58fb quests: Convert the Counters to configuration files. 2010-11-08 22:03:16 +01:00
Loïc Hoguin
1e83a98d22 quests: Convert the Spaceport to configuration files. 2010-11-08 19:24:08 +01:00
Loïc Hoguin
2ce9ec0857 egs_char_select: Set back the entrance to colony 4th floor. 2010-11-08 01:37:00 +01:00
Loïc Hoguin
eafeb744af Introduce egs_quests_db for quest building and handling. 2010-11-07 19:51:42 +01:00
Loïc Hoguin
fc6c424536 Rename egs_counters to egs_counters_db. 2010-11-06 03:24:55 +01:00
Loïc Hoguin
1e264d3e1b Update egs.app.src and let rebar fill in the modules. 2010-11-06 03:20:05 +01:00
Loïc Hoguin
35bcf4595e egs_files: Move the nbl packing functions to egs_files. 2010-11-06 01:27:16 +01:00
Loïc Hoguin
dc2968cbce egs_counters: Move the file loading functions into their own module, egs_files. 2010-11-06 01:20:14 +01:00
Loïc Hoguin
01c02b24ef counters: All undefined counters now have a dummy default. Remove old counter code. 2010-10-28 02:56:28 +02:00
Loïc Hoguin
8c0683c07b egs_app: Return ok on db_init. 2010-10-28 01:34:52 +02:00
Loïc Hoguin
103fe3f8a9 Bump to 0.8.0. 2010-10-23 04:02:58 +02:00
Loïc Hoguin
814d4348f5 psu_proto: Remove a useless @todo. 2010-10-23 04:01:47 +02:00
Loïc Hoguin
a0d6e67e0e egs_game: Properly handle the spawning of individual players instead of sending everything each time. 2010-10-22 04:04:21 +02:00
Loïc Hoguin
d6b4b24388 psu_proto: Review and move send_0233 to psu_proto. 2010-10-22 02:35:16 +02:00
Loïc Hoguin
22278250b9 egs_game: Handle counter_join_party_request and reply. No parties listed yet though. 2010-10-21 23:55:01 +02:00
Loïc Hoguin
26d5763df3 psu_proto: Review and move send_1500 to psu_proto. 2010-10-21 23:30:26 +02:00
Loïc Hoguin
a86e4caf0d psu_proto: Review and move send_0c08 to psu_proto. 2010-10-21 22:56:18 +02:00
Loïc Hoguin
31dc7ffb7f psu_proto: Review and move send_0204 to psu_proto. 2010-10-21 22:31:06 +02:00
Loïc Hoguin
94ce201941 psu_proto: Review and move send_0d01 to psu_proto. 2010-10-21 19:39:11 +02:00
Loïc Hoguin
4ff129224f psu_proto: Review and move send_1005 to psu_proto. 2010-10-21 18:20:43 +02:00
Loïc Hoguin
c91880be1f Introduce egs_universes for universe handling. Review and move send_021e and send_0222 to psu_proto. 2010-10-21 17:00:30 +02:00
Loïc Hoguin
a6563c7378 egs_npc_db: Remove count/0, it's never needed standalone. 2010-10-19 18:47:26 +02:00
Loïc Hoguin
94e902d07e psu_proto: Review and move send_0230 to psu_proto. 2010-10-19 18:37:05 +02:00
Loïc Hoguin
b9f407bb1e psu_proto: Review and move send_0304 to psu_proto. 2010-10-19 18:12:25 +02:00
Loïc Hoguin
8bcf1ba3c8 psu_proto: Review and move send_1711 to psu_proto. 2010-10-19 00:20:44 +02:00
Loïc Hoguin
af29f8a460 egs_counters: 255 is the default background for most counters. 2010-10-19 00:13:58 +02:00
Loïc Hoguin
d99c5388b9 egs_login: Don't save accounts that logged in during the event anymore! 2010-10-18 15:23:09 +02:00
Loïc Hoguin
dea239bce7 Bump to 0.7.0. 2010-10-15 22:38:48 +02:00
Loïc Hoguin
7f6ff8191a Fix the population count at the uni cube. 2010-10-15 22:13:10 +02:00
Loïc Hoguin
a7244a4310 Log accounts who logged in during the event and spawn at Memoria temporarily. 2010-10-15 21:05:32 +02:00
Loïc Hoguin
8859132736 psu_parser: Add more objects. 2010-10-15 20:13:41 +02:00
Loïc Hoguin
5e9b669d00 egs_counters: Handle empty counters efficiently.
Adds Aurorey counter in the process.
2010-10-14 04:07:32 +02:00
Loïc Hoguin
4a5eadc05b egs_counters: Handle "Return to city" properly. 2010-10-13 21:51:43 +02:00
Loïc Hoguin
77afc458a9 Introduce egs_counters for counter building and handling.
Currently only handle LL counter, others are yet to be migrated.
2010-10-13 20:09:34 +02:00
Loïc Hoguin
b4123b7433 Introduce egs_npc_db for NPC database handling. 2010-10-11 17:16:07 +02:00
Loïc Hoguin
db610bb066 Introduce egs_accounts for accounts handling. 2010-10-11 03:20:20 +02:00
Loïc Hoguin
e5761828d9 Use rebar.config to also compile lib/. Move ebin/egs.app to src/egs.app.src. 2010-10-09 23:51:59 +02:00
Loïc Hoguin
a8da246467 psu_proto: Review and rename send_global to send_0228. Send a message to all processes instead of sending everything from the console process. 2010-10-09 02:07:02 +02:00
Loïc Hoguin
b5a2d0e918 egs_game: Fix a bug where the meseta taken for buying an item was always for a quantity of 1 instead of N. 2010-10-09 01:09:53 +02:00
Loïc Hoguin
641371fe4b egs_char_select: Save the character slot in the state for later use. 2010-10-09 01:04:03 +02:00
Loïc Hoguin
c7eae9256e Introduce egs_shops_db for shops listing management. 2010-10-08 20:56:48 +02:00
Loïc Hoguin
01daa3c6f2 egs_items_db: Add a function to return an item's description. 2010-10-08 17:33:49 +02:00
Loïc Hoguin
6cf2c77823 Introduce egs_items_db for items database management. 2010-10-08 17:30:24 +02:00
Loïc Hoguin
5d4acd84b0 psu_proto: Review and move send_1a03 to psu_proto. Put the Lumilass options in priv/lumilass.conf instead of a binary file. 2010-10-08 03:45:01 +02:00
Loïc Hoguin
b6310d9cdb egs_game: Remove a done @todo. 2010-10-07 20:16:10 +02:00
Loïc Hoguin
3e5fab81a8 Rename the folders in priv/ to better names. 2010-10-07 20:12:21 +02:00
Loïc Hoguin
11b08b6dfd Introduce egs_seasons for season handling. Review and move the code there. 2010-10-07 20:09:08 +02:00
Loïc Hoguin
34ff98e43e Introduce egs_conf for system-wide configuration. Removes network.hrl. 2010-10-07 18:03:13 +02:00
Loïc Hoguin
a083357e18 psu_proto: Simplify a few binary pattern matching and building. 2010-10-06 17:54:25 +02:00
Loïc Hoguin
5f13ffcaf4 psu_proto: Review and move send_1a02 to psu_proto. 2010-10-06 17:51:28 +02:00
Loïc Hoguin
591a3bd1ba Remove a bunch of old @todo. 2010-10-06 17:49:07 +02:00
Loïc Hoguin
f2b5472f5b egs_game: A value was wrong for send_1a02. 2010-10-06 17:28:33 +02:00
Loïc Hoguin
5b47fede00 psu_game: Remove a debug message left by mistake. 2010-10-02 17:29:49 +02:00
Loïc Hoguin
f409c72e15 psu_proto: Review and move send_0a06 to psu_proto. Handle ItemUUIDs properly. 2010-10-02 04:17:23 +02:00
Loïc Hoguin
87663e6f0d items: Make undefined shops sell 1 monomate instead of a hardcoded list. 2010-10-01 03:31:29 +02:00