1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-04-23 15:47:45 +00:00
Commit graph

221 commits

Author SHA1 Message Date
3a66e4466c More various 7.2 packet fixes, attempt to check recieved packet size 2025-03-26 19:23:14 -04:00
99deca8ab1 Update initial batch of opcodes from FFXIVOpcodes 2025-03-26 19:23:14 -04:00
ca83e3ac32 Change supported patch version to 7.2 in README 2025-03-26 19:23:14 -04:00
8696e116f2 Update supported patch versions to 7.2 2025-03-26 19:23:14 -04:00
a217823a64 Quiet some warnings 2025-03-23 18:21:12 -04:00
c29f8ad7df Run Clippy auto-fix, disable large enum size warning 2025-03-23 18:14:14 -04:00
70ec1b99c9 Fill inventory with racial starting gear 2025-03-23 17:49:53 -04:00
8a03c82480 Create Inventory struct, move inventory filling logic to ZoneConnection
This still uses hardcoded item ids, but this should much more extensible.
2025-03-23 17:43:06 -04:00
a36c6dff90 Send a (currently hardcoded) list of equipped items to the client 2025-03-23 17:10:47 -04:00
48b1b9cdc2 Add ContainerType enum 2025-03-23 16:49:48 -04:00
264fac4b4e Start writing tests for ItemInfo and ContainerInfo IPC 2025-03-23 16:45:52 -04:00
8659623eda Allow loading territories without a planmap 2025-03-23 16:31:30 -04:00
90a78fcaa8 ActorControl and ActorMove packet fixes, add support for //gm invis
I don't think this is the right kind of invisibility, but it's more of a test of
ActorControlSelf really. I have also been trying (and failing) to make the
client show another player.
2025-03-23 15:28:53 -04:00
d47779c8d6 Add display flags
This is based off of the display flags from Sapphire, and the weird UNK one that
I see in game.
2025-03-23 13:03:58 -04:00
93409a3c49 Remove persistent_emote field in CommonSpawn
This is a param to CharacterMode.
2025-03-23 12:17:23 -04:00
37dbef99db More CommonSpawn, PlayerSpawn and NPCSpawn struct improvements
This is just a barrage of random stuff I needed to fix, along with finally
figuring out what subkinds are.
2025-03-23 12:16:15 -04:00
45f92e9e54 Add OnlineStatus and GameMasterRank enums 2025-03-23 11:37:00 -04:00
3f23eea9c7 Add ObjectId and ObjectTypeId structs
This is to make it easier to defaut to INVALID_OBJECT_ID. To test if this works,
the actor from !spawnnpc should target the player.
2025-03-23 10:53:22 -04:00
9111ef6a82 Add debug command to spawn a monster (Tiny Mandragora), various fixes
This fixes various problems in CommonSpawn, adds a test for an enemy NPC spawn,
and an unkwon packet I get when entering some zones.
2025-03-23 10:33:49 -04:00
af6f95fa61 Add CONTRIBUTING guide, detailing packet capture and updating to latest patch 2025-03-23 08:33:07 -04:00
1e343d0f10 Add version checks in the patch server for game and boot components
As 7.2 is releasing next week, it would be nice for the patch server to double
check the user has the correct version of the game. Now the patch server rejects
clients that have too new of a version.
2025-03-23 08:21:43 -04:00
65500d15ad Make patch-dl URL configurable 2025-03-23 07:35:11 -04:00
b3f5500d2f Check user-agent in Patch server 2025-03-23 07:25:23 -04:00
d92f0033a9 Fix typo in USAGE 2025-03-23 06:53:58 -04:00
560ee04159 Update patch server for axum changes 2025-03-23 06:34:59 -04:00
d8971b09cc Remove erroneous Position import 2025-03-23 06:34:47 -04:00
69399dc64e Enable oodle feature in run.sh 2025-03-23 06:20:11 -04:00
1acf73c484 Move Position struct to common module 2025-03-22 22:01:32 -04:00
d10552f653 Rename player_spawn.dat to player_spawn.bin 2025-03-22 21:59:06 -04:00
613fa551fb Add more metadata keys to Cargo.toml 2025-03-22 21:49:05 -04:00
a6b485108f Enable Oodle feature on the CI 2025-03-22 21:48:51 -04:00
2029caa645 Add note to explicitly enable oodle feature 2025-03-22 21:48:42 -04:00
82709a65ff Update Cargo dependencies, remove Oodle as a default feature 2025-03-22 21:44:28 -04:00
d6137b62d6 Build with Oodle on the CI
This makes it possible to use Kawari easily without compilation. You
still need to acquire Oodle yourself since we build with the shared
library version of Oodle.

The USAGE instructions is modified accordingly.
2025-03-22 21:19:18 -04:00
5214d757e8 You can use Kawari on Windows 2025-03-22 21:19:18 -04:00
ae40e4c066 Upload artifacts from CI 2025-03-22 19:59:00 -04:00
c88e3ca6d7 Add Windows CI 2025-03-22 19:26:46 -04:00
0069196e3c Move some constants to common module 2025-03-22 19:17:01 -04:00
fb05caaa31 Store zone id and position in the World database
This isn't updated by the server yet, but will be soon in the future.
2025-03-22 19:05:29 -04:00
4b740068d4 Remove hardcoded initial zone, derive it from selected City-State
This currently might spawn you in the ground in Ul'dah and probably Limsa too,
until I determine the correct spawn location.
2025-03-22 18:53:53 -04:00
15ed586fd0 Fix CharaMake structure, derive City-State from class picked in creation 2025-03-22 18:34:27 -04:00
c4b65f5ecd Set max characters per world to 8 2025-03-22 18:08:40 -04:00
e4203c0ead Entitle the user to Dawntrail
This gives you the Dawntrail intro screen instead of the Endwalker one.
2025-03-22 18:08:14 -04:00
ff7d096d5d Fix the name rejection error message not showing correctly 2025-03-22 17:50:31 -04:00
55d0b81ae4 Use LobbyCharacterActionKind in CharacterCreated Lobby IPC
Instead of the magic unknown number, replace at least one byte of it with
something that's known!
2025-03-22 17:39:28 -04:00
107a00aa92 Move lobby character actions to LobbyConnection, support deleting characters 2025-03-22 17:32:00 -04:00
5c8998ddb2 Change default world id back to Gilgamesh
I quickly realized that the "Dev" server is under the "Unknown" data center, and
that's kinda hard to select in the client. I'll think about a solution later.
2025-03-22 17:08:33 -04:00
6190001caa Remove more hardcoded values for character
Since we are now backed by a database, the remaining usages are erroneous and
should be removed.
2025-03-22 17:06:16 -04:00
a91c59aaaa Remove hardcoded world id & name, make it configurable
Now the world isn't hardcoded to Gilgamesh, and is configurable. It's also now
the "Dev" server listed in the excel sheet which makes a more sensible default.
2025-03-22 17:00:21 -04:00
3f27d2b3df Change configuration format to YAML, allow configuring the address and ports
This removes all of the hardcoded localhost stuff, and allows changing the ports
of various services.
2025-03-22 16:47:21 -04:00