Loïc Hoguin
5672d40ca9
psu_proto: Move unicube_request and unicube_select to events. Now handle EventID on select.
2010-08-20 23:22:24 +02:00
Loïc Hoguin
b29b05546a
psu_parser: A few fixes to make it run on Windows.
2010-08-20 22:40:44 +02:00
Loïc Hoguin
6dd159dc1e
psu_proto: Clean parsing separation. Handle events rather than packets.
...
Lou can now equip a wepon.
2010-08-19 23:43:19 +02:00
Loïc Hoguin
f6305c3c76
Renamed egs_proto into psu_proto.
2010-08-19 01:53:18 +02:00
Loïc Hoguin
18a86f9c6b
Initial party and NPC support. Lou only so far. Many bugs expected.
2010-08-16 18:31:01 +02:00
Loïc Hoguin
c4109a5d11
psu_instance: menu_prompt has a target id.
2010-08-13 23:56:36 +02:00
Loïc Hoguin
26ed4cbf54
Remove egs_db. Rename the ids table to counters. Update it directly.
2010-07-31 21:32:08 +02:00
Loïc Hoguin
7b542e1dda
psu_game: Move the room packets into their own functions.
2010-07-31 18:28:31 +02:00
Loïc Hoguin
d3ba85a8c3
psu_game: Handle the list of universes properly.
2010-07-31 18:04:39 +02:00
Loïc Hoguin
859cd1aad2
psu_game: Small improvements for future NPC invite code.
2010-07-31 15:20:25 +02:00
Loïc Hoguin
cc5b621e35
psu_game: Correctly check for the return value of ssl_accept. Also enable reuseaddr.
2010-07-31 13:55:54 +02:00
Loïc Hoguin
7025a89cee
Move a few PSU-only files into the psu folder.
2010-07-31 13:45:49 +02:00
Loïc Hoguin
8495048240
psu_game: Remove boring blank lines.
2010-07-30 23:05:13 +02:00
Loïc Hoguin
b3bcdad6ca
psu_game: Add code to add an NPC to the party (forced and from menu). NPC doesn't appear yet.
2010-07-30 22:09:30 +02:00
Loïc Hoguin
e70bb0cc3b
psu_game: Add an NPC header file to generate the NPC list.
2010-07-30 19:31:31 +02:00
Loïc Hoguin
42a8964069
psu_parser: Add a new object.
2010-07-27 14:02:50 +02:00
Loïc Hoguin
fa621c2a42
psu_parser: Replace a unix command call by its erlang equivalent.
2010-07-26 23:39:15 +02:00
Loïc Hoguin
64a69cd952
maps: Added Airboard Rally. Initial vehicles support.
2010-07-26 19:37:50 +02:00
Loïc Hoguin
9da8fc19a8
psu_parser: Named a few unknown objects.
2010-07-25 00:56:34 +02:00
Loïc Hoguin
e10b871c08
psu_parser: Rename hidden_minimap_section into colored_minimap_section.
2010-07-24 21:52:11 +02:00
Loïc Hoguin
3e97dd50a3
psu_parser: Make it work on all zone files, even lobbies. Many unknowns.
2010-07-24 21:50:43 +02:00
Loïc Hoguin
acb3affefe
maps: Added Gifts from Beyond+. Mostly non-working.
2010-07-24 18:27:33 +02:00
Loïc Hoguin
761f053ade
psu_game: Don't try to load a set file that doesn't exist.
2010-07-24 12:51:51 +02:00
Loïc Hoguin
d62a6bdacd
psu_instance: Add floor_button to make MAG' work better. Fix TargetID issues.
...
Temporarily disable the Dark God boss zone files because they're wrong in the data.
2010-07-24 00:53:01 +02:00
Loïc Hoguin
473f7f1ae6
Added psu_instance, a process to handle missions and more later.
2010-07-23 21:46:03 +02:00
Loïc Hoguin
1b9d275b83
psu_missions: Added MAG', which doesn't work.
2010-07-20 18:08:31 +02:00
Loïc Hoguin
10d1f4f85b
psu_game Improve exit handling.
2010-07-20 10:15:19 +02:00
Loïc Hoguin
04265d71dc
egs_user_model: Authenticated users shouldn't be cleaned up.
2010-07-20 01:38:00 +02:00
Loïc Hoguin
f86aeb8f17
psu_game: Disable character creation validation temporarily.
2010-07-19 20:45:09 +02:00
Loïc Hoguin
cd6766dbc6
psu_missions: Added The Dark God.
2010-07-19 19:27:12 +02:00
Loïc Hoguin
1677cb726c
Added a few info reports when starting processes.
2010-07-19 12:38:12 +02:00
Loïc Hoguin
f40d271226
Remove egs_cron, use a timer in egs_user_model for cleaning up.
2010-07-19 12:10:35 +02:00
Loïc Hoguin
bc66480d8e
Move the db user code into its own gen_server, egs_user_model.
2010-07-19 02:11:31 +02:00
Loïc Hoguin
ac4a19dab9
Use a timer instead of egs_cron for keepalive packets.
2010-07-18 17:54:28 +02:00
Loïc Hoguin
5109ccf337
Separate the game process exit monitoring into its own general-purpose module.
2010-07-18 15:41:26 +02:00
Loïc Hoguin
ef9b3aa03b
Converted the game server into a supervisor-compatible module.
2010-07-18 14:08:11 +02:00
Loïc Hoguin
b85826c06a
Convert the login server to a supervisor-compatible module.
2010-07-18 12:54:59 +02:00
Loïc Hoguin
982b821415
Use mochiweb's reloader module for automatic code reloading.
2010-07-18 11:48:26 +02:00
Loïc Hoguin
37a5811135
Convert the patch server to a supervisor-compatible module.
2010-07-18 11:11:39 +02:00
Loïc Hoguin
f46ba0e1f9
Start work on making the EGS server OTP-compliant. Add egs_app and egs_sup.
2010-07-18 01:44:19 +02:00
Loïc Hoguin
49016cafaa
psu_missions: Added The Black Nest. Slightly better traps handling.
...
Not much is working there though.
2010-07-17 19:05:29 +02:00
Loïc Hoguin
a6184ed532
psu_missions: Handle small spawns object. Fix DS b3/4 and SA b3.
2010-07-17 15:34:49 +02:00
Loïc Hoguin
1f9ac7b1f6
psu_missions: Add True Darkness. Boss gate handling. Boss partially working.
2010-07-17 14:50:03 +02:00
Loïc Hoguin
f46b276047
maps: Added SEED Awakening.
2010-07-16 22:57:48 +02:00
Loïc Hoguin
d54d77ed01
game: Save the right coordinates when receiving movement, as seen in send_0503.
2010-07-16 18:49:15 +02:00
Loïc Hoguin
c258833714
psu_missions: Fix warp object handling. 2nd warp in Dark Satellite B2 now works.
2010-07-16 18:48:02 +02:00
Loïc Hoguin
db3a10188b
psu_missions: Handle warps. Correctly handle coords, direction. Add Dark Satellite.
...
Currently only Dark Satellite B1 and B2 work.
There might be a regression about the sit state of others when connecting.
2010-07-16 16:25:31 +02:00
Loïc Hoguin
9546237ea5
psu_missions: Add Fight for Food, fix key handling for gates with N>1 keys and many gates per block.
2010-07-15 13:00:06 +02:00
Loïc Hoguin
51c2c1ad3e
psu_parser: Generate missions data when compiling the server.
...
Currently generates the mission data for all Unsafe Passage quests.
2010-07-14 19:31:27 +02:00
Loïc Hoguin
4a043ba91d
game: Revive the player on death. Like scapes, except no scape available.
2010-07-10 22:27:59 +02:00
Loïc Hoguin
11d8188893
game: Send the player back to lobby on death+red screen. Better 0111 handling.
2010-07-10 22:18:28 +02:00
Loïc Hoguin
5f4a1f8877
game: Fix 3rd Unsafe Passage C block 2 and 3!
2010-07-10 21:34:59 +02:00
Loïc Hoguin
457926fea5
game: Delete another useless io:format.
2010-07-09 21:26:59 +02:00
Loïc Hoguin
4aacaa6913
game: Default brightness set to 4.
2010-07-09 20:40:44 +02:00
Loïc Hoguin
8b9de54a7a
psu_appearance: Fix eye color validation for metal heads.
2010-07-09 20:37:09 +02:00
Loïc Hoguin
8e3086832f
psu_missions: Supprime un io:format inutile.
2010-07-09 19:40:53 +02:00
Loïc Hoguin
43d2516d02
psu_missions: Initial objects and proper missions handling. See below.
...
* Create objects in the memory database.
* Enemies aren't created in the database yet.
* Player now has its HP working correctly.
* Boxes are now destroyed.
* Temporarily set the initial spawn point to the LL counter.
2010-07-09 18:59:14 +02:00
Loïc Hoguin
80fb6573de
db: Remove an useless call. The server can now start without an fclean.
2010-07-09 10:54:00 +02:00
Loïc Hoguin
86d50bb2c7
characters: Fix issues when loading idle characters.
2010-07-02 23:12:46 +02:00
Loïc Hoguin
64457ce2ad
game: Add send_0210 (send current unix timestamp).
2010-07-02 20:06:13 +02:00
Loïc Hoguin
7dd80e0faf
characters: Small findings and improvements. TNL currently broken though.
2010-07-02 19:15:45 +02:00
Loïc Hoguin
3ccea942cd
characters: add TNL. game: add 010d command.
2010-07-02 02:43:10 +02:00
Loïc Hoguin
f4e8300fb1
game: Initial EXP support.
2010-07-01 22:47:02 +02:00
Loïc Hoguin
1ea1009a37
game: Initial support for character stats and other information.
2010-07-01 21:26:26 +02:00
Loïc Hoguin
14c9ab7666
psu_characters: Parse and validate character options.
2010-06-30 18:02:00 +02:00
Loïc Hoguin
c894ebe84a
game: Fix warping and rename some related variables.
2010-06-30 14:02:52 +02:00
Loïc Hoguin
0e05b01ce5
game: Save the GID before the "auth success" log.
2010-06-30 12:11:50 +02:00
Loïc Hoguin
b85c189279
game: Fix and strenghten the supervisor.
...
When closing the connection, delete from the database sooner rather than later.
Do most of what we can in process_init rather than accept.
Link to the supervisor directly from the process_init function.
2010-06-30 12:09:02 +02:00
Loïc Hoguin
c4e2dccb97
psu_appearance: Parse and validate character creation appearance data.
2010-06-30 02:52:53 +02:00
Loïc Hoguin
7cda96f7e0
game: Make send_0c08 use booleans rather than ok/error.
2010-06-28 12:36:56 +02:00
Loïc Hoguin
3b2ed1c242
game: Remvoe send_spawn.
2010-06-28 12:10:31 +02:00
Loïc Hoguin
a8c88776f8
game: Add an header function to create the packet header.
2010-06-28 02:22:42 +02:00
Loïc Hoguin
7ac9776f30
game: Add CSocket, GID and Version into the process dictionary.
2010-06-28 01:33:31 +02:00
Loïc Hoguin
be0aedc62e
game: The universe name now uses a string instead of integers...
2010-06-27 22:07:03 +02:00
Loïc Hoguin
e063590094
game: Use pattern match instead of many lines of binding variables in send_0201.
2010-06-27 20:03:35 +02:00
Loïc Hoguin
9d130db310
game: Pattern match the command header only once.
2010-06-27 19:59:16 +02:00
Loïc Hoguin
0b8ecb3971
game: Remove the temporary code for improvised Sonic's Birthday event.
2010-06-27 19:11:09 +02:00
Loïc Hoguin
f3d5b5f099
game: Use pattern matching to simplify build_0233_contents.
2010-06-27 18:59:27 +02:00
Loïc Hoguin
cd30e60262
game: Remove a bunch of useless @todo.
2010-06-21 03:51:35 +02:00
Loïc Hoguin
58041fa3e2
game: Handle different enemy layouts.
2010-06-19 23:54:58 +02:00
Loïc Hoguin
10eb51f7c4
game: Better weapon equip handling. Mostly temporary though.
2010-06-19 22:04:42 +02:00
Loïc Hoguin
95bf192071
game: Sonic's Birthday event code. Mostly temporary for now.
2010-06-18 19:51:46 +02:00
Loïc Hoguin
243a22058c
game: Add crystal event number.
2010-06-18 18:57:10 +02:00
Loïc Hoguin
370a5488b8
game: Initial mission events, keys, crystals support.
...
Some values are hardcoded for now. This enables the first block of the
3rd Unsafe Passage layout. Missions are mostly figured out but will require
more work to make them work everywhere.
2010-06-18 18:33:13 +02:00
Loïc Hoguin
46cf099949
game: Fix season date, Easter had 22 days instead of 21.
2010-06-17 12:35:47 +02:00
Loïc Hoguin
b89519c58a
game: Add initial seasons support, triggered automatically according to the current UTC date.
2010-06-17 04:03:48 +02:00
Loïc Hoguin
3ac49e431e
game: Don't validate 0503 so tightly, prevent wrongful disconnects.
2010-06-17 01:57:11 +02:00
Loïc Hoguin
55cd90530f
game: Print ignored action for 0105 handler.
2010-06-14 16:36:53 +02:00
Loïc Hoguin
276b6431b6
game: Ignore type change until characters are handled.
2010-06-14 16:20:45 +02:00
Loïc Hoguin
704996a302
game: Remove player_unspawn, use send_0204 directly until more is known.
2010-06-14 16:16:13 +02:00
Loïc Hoguin
8017f2fc79
game: Handle item descriptions.
2010-06-14 15:53:51 +02:00
Loïc Hoguin
214350b033
game: Improved object event handler.
2010-06-14 15:38:57 +02:00
Loïc Hoguin
16bbe2e308
game: Make sure the supervisor process doesn't die.
2010-06-13 23:45:30 +02:00
Loïc Hoguin
02983da6f7
game: Initial type menu handling.
2010-06-13 23:42:56 +02:00
Loïc Hoguin
dd26d4f1e5
game: Fix permanent ghosts. Supervisor cleans up after crashes and normal exits.
2010-06-13 19:05:28 +02:00
Loïc Hoguin
81f04979d4
game: Small consistency change in chat.
2010-06-13 12:15:58 +02:00
Loïc Hoguin
ccec120037
game: Ignore the name sent by client chat commands. Use the db one always.
2010-06-13 03:46:25 +02:00
Loïc Hoguin
61cd2fd64f
game: Force reloading the character when changing uni.
2010-06-13 03:38:25 +02:00
Loïc Hoguin
8d119e1934
game: Consolidate myroom_load into area_load. See below.
...
* Remove myroom_load.
* Add room map information to the maps include.
* Add the beginning of the tutorial to check changes correctness.
* Reload characters all the time when entering or leaving the room quest.
2010-06-12 21:26:37 +02:00
Loïc Hoguin
a4a2eb3c8b
game: Move the counter command replies into their own functions.
2010-06-11 17:42:58 +02:00
Loïc Hoguin
e6297c4d6d
game: Small improvements for the transport reply.
2010-06-11 17:17:51 +02:00
Loïc Hoguin
2eb80c2edf
game: Cleanup the 0c01 reply into their own functions.
2010-06-11 16:55:32 +02:00
Loïc Hoguin
2aa4d317e2
game: Move counter command replies into their own functions.
2010-06-11 16:41:23 +02:00
Loïc Hoguin
1327ab5b9f
game: Separate the dialog commands into their own send functions.
2010-06-11 16:34:46 +02:00
Loïc Hoguin
4d867449a4
game: Add number of players to the universe cube.
2010-06-11 01:02:46 +02:00
Loïc Hoguin
a0442e1139
game: Correctly handle mission aborting. Warp the player OUT.
2010-06-11 00:34:55 +02:00
Loïc Hoguin
8a94ae7771
game: Use the existing 1006 function for abort mission.
...
Also remove an already done @todo.
2010-06-10 22:50:32 +02:00
Loïc Hoguin
5c71263d0c
Don't assume we know the protocol. Use send_xxxx with xxxx the command instead of attempts at real function names.
2010-06-10 19:34:43 +02:00
Loïc Hoguin
779125d2c5
game: Consolidate mission_load into lobby_load, renamed to area_load.
2010-06-09 18:58:44 +02:00
Loïc Hoguin
fcc249589d
game: Fix crash when going from mission to lobby.
2010-06-09 00:10:26 +02:00
Loïc Hoguin
f8b6f01dde
game: Don't resend quest or zone files when they didn't change.
...
This fixes the lack of weapons and enemies when reaching B2 in a mission.
2010-06-08 21:52:13 +02:00
Loïc Hoguin
82c08317f6
game: Improved mission start handling.
2010-06-08 19:09:54 +02:00
Loïc Hoguin
9807ceda46
game: Separate character loading from room loading.
2010-06-08 17:21:25 +02:00
Loïc Hoguin
88996760f1
game: Rename char_load to data_load.
2010-06-08 17:04:54 +02:00
Loïc Hoguin
1cc1164656
maps: Add all the colony counters.
2010-06-07 01:16:37 +02:00
Loïc Hoguin
ec065686bd
game: Fix counter loading with different backgrounds. Add 5th floor counter.
2010-06-06 20:13:59 +02:00
Loïc Hoguin
b6c000dd4f
game: Save the questid and zoneid when entering a counter.
2010-06-06 03:23:51 +02:00
Loïc Hoguin
36304a5554
maps: Separate the concept of quests, zones and maps.
2010-06-06 03:10:53 +02:00
Loïc Hoguin
8ac0e60d2f
Rename location identifiers appropriately: QuestID, ZoneID, MapID and EntryID.
2010-06-06 02:28:35 +02:00
Loïc Hoguin
c7f356142b
game: Simplify counter handling.
2010-06-06 02:05:35 +02:00
Loïc Hoguin
d4622e29e2
game: Add space docks counter. Fix loading of other counters than LL.
2010-06-06 01:51:18 +02:00
Loïc Hoguin
43b4f6b263
game: Counter options are data and should be separated (mission visible/not).
2010-06-05 20:27:07 +02:00
Loïc Hoguin
b1f76e4bc8
game: Correct lobby pack file selection support.
...
This makes all other counters disconnect you because they don't exist!
2010-06-05 18:15:40 +02:00
Loïc Hoguin
b8baa0d461
game: Correct handling for command 0c06.
2010-06-05 17:57:48 +02:00
Loïc Hoguin
78a0830a7d
game: Mission loader now send packets 0215.
2010-06-05 13:20:51 +02:00
Loïc Hoguin
33145b3c8c
game: Consolidate spaceport_load into lobby_load.
2010-06-05 13:11:17 +02:00
Loïc Hoguin
b54b867907
game: Add command 0a06 to spaceport loading.
2010-06-05 12:51:57 +02:00
Loïc Hoguin
1d0ba967b5
game: Initial mission start (for real) and abort support.
2010-06-05 12:46:04 +02:00
Loïc Hoguin
006ac0a9c0
game: Enable flags and make lobby transport work.
...
Flags will have to be checked individually and handled correctly later.
2010-06-05 03:28:30 +02:00
Loïc Hoguin
190d79777c
game: Add working Leave Counter function. Also fix leaving Lumilass.
2010-06-05 02:25:51 +02:00
Loïc Hoguin
ca250eb246
game: Add reply to command 170b with sane values.
2010-06-05 01:42:32 +02:00
Loïc Hoguin
7d38ce4d01
game: Add 0a06 to counter loading and add a note in a @todo in proto.
2010-06-05 01:22:38 +02:00
Loïc Hoguin
0c6c56fcae
game: Counter and missions now send packets 1202 1204 1206 and 1207.
2010-06-05 01:15:50 +02:00
Loïc Hoguin
204ac86b9d
game: Send commands 0215 when loading counters.
2010-06-04 23:14:54 +02:00
Loïc Hoguin
7e67dfbc6d
game: Counter doesn't seem to send the location IDs.
...
This makes Leave Counter send a command 0812, which is halfway fixing it.
2010-06-04 23:02:45 +02:00
Loïc Hoguin
f93b469b64
game: Zone initialisation packet 0200 is same for counters and missions.
2010-06-04 22:34:12 +02:00
Loïc Hoguin
cda5b51597
game: Add command 0230 when using the uni cube.
2010-06-04 21:05:04 +02:00
Loïc Hoguin
3b9d546fc4
game: Room got broken after a previous change, fix it back.
2010-06-04 20:29:56 +02:00
Loïc Hoguin
b758c6a5d5
proto: Conformance for 0236.
2010-06-04 19:51:31 +02:00
Loïc Hoguin
945217010e
proto: Conformance for send_loading_end, 0208.
2010-06-04 19:49:52 +02:00
Loïc Hoguin
fe126f4bb5
game: Add a @todo.
2010-06-04 19:46:17 +02:00
Loïc Hoguin
a2ffa3adb6
proto: Fix 1212 for conformance.
2010-06-04 19:42:58 +02:00
Loïc Hoguin
c9f75dfd29
game: Add 020c to area changes.
2010-06-04 19:36:56 +02:00
Loïc Hoguin
91d6426722
proto: Add a @todo.
2010-06-04 19:29:56 +02:00
Loïc Hoguin
11a15f6d90
proto: Fix send_map for conformance. It doesn't need the quest id either.
2010-06-04 19:21:59 +02:00
Loïc Hoguin
7e17c02ad3
proto: Fix send_zone (020f) for conformance.
2010-06-04 18:55:16 +02:00
Loïc Hoguin
0ddb729e09
game: Add command 0111 on area changes.
2010-06-04 18:44:41 +02:00
Loïc Hoguin
8835c9928b
game: Add command 0a05 to area loading.
2010-06-04 18:30:57 +02:00
Loïc Hoguin
6d699a22e9
proto: Update send_quest for conformance.
2010-06-04 18:25:17 +02:00
Loïc Hoguin
4994f6e161
game: Add command 021b at character loading.
2010-06-04 18:02:26 +02:00