1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-16 18:27:45 +00:00
Commit graph

791 commits

Author SHA1 Message Date
c6035f563b Add missing test files 2025-07-14 22:15:10 -04:00
916f7e30e6 Make sure to send Initialize on zone change 2025-07-14 22:09:26 -04:00
166e8024e0 Fill out more fields in PrepareZoning IPC
This fixes the loading screen between zones (as it now displays
text.) How we do things isn't very accurate still.
2025-07-14 21:35:32 -04:00
e4342d04b8 Fix size of the ChatMessage IPC 2025-07-14 20:54:21 -04:00
58af029ae5 Fix tests compilation 2025-07-14 20:52:47 -04:00
d70b559037 Fix Recast build 2025-07-14 20:47:46 -04:00
ac785365d3 Begin implementing pathfinding, all NPCs now converge to you
This is incredibly simple behavior, and navimesh generation is
currently manually done. But it's progress!

See #38
2025-07-14 20:31:02 -04:00
099dfbd134 Remove most of the hardcoded effect durations and params 2025-07-14 20:26:13 -04:00
f54fc126b3 Add support for manually removing effects 2025-07-14 19:58:12 -04:00
3d81d1ed01 Implement enough status effect handling to make Sprint work
This includes making Sprint degrade into Jog, and now status
effects start to be scripted.
2025-07-14 19:52:50 -04:00
404681f395 Begin laying infrastructure for status effect scripting 2025-07-14 19:19:21 -04:00
e7bda4c5e4 unk3 in GainEffect/LostEffect is the source actor 2025-07-14 19:01:17 -04:00
1c2b757359 Begin adding support for EffectResult IPC opcode
And other stuff I saw in my sprint retail capture.
2025-07-14 19:00:26 -04:00
3f55df789e Add Cooldown ActorControl category 2025-07-14 18:28:37 -04:00
dbfe3d542d Rename ChatMessage's player_id to actor_id
This is a more accurate name for this field.
2025-07-14 18:19:34 -04:00
0399930ec7 Add UpdateRestedExp, LoseEffect and GainEffect ACs 2025-07-14 18:17:57 -04:00
The Dax
4f5f204507 Redundancy nit. 2025-07-14 17:27:45 -04:00
The Dax
9a60faa15d Hook up an equipment sales NPC for testing non-stackable items 2025-07-14 17:27:45 -04:00
The Dax
421a24aa6f When adding items to the inventory, prefer existing stacks first before selecting empty slots.
-This works for adding items to the inventory in any capacity, including debug and GM commands!
2025-07-14 17:27:45 -04:00
thedax
a5120bb9d6
Fix client-side crashes when discarding items. (#117)
-Various things were wrong in InventoryTransaction, but they should now be fixed.
2025-07-13 20:11:54 -04:00
bfca1605d5 Document !replay debug command 2025-07-13 20:11:05 -04:00
a4c8466088 Move packet replay to the global server state
This makes it way more stable, and can actually work now.
2025-07-13 20:09:50 -04:00
06debd5eb0 Begin implementing packet replay
It doesn't work fantastic yet, I need to move it to the global
server state to truly work as intended.
2025-07-13 18:01:59 -04:00
The Dax
ba1a92c9bc Rename GilShopRelatedUnk to UpdateInventorySlot
-This now matches Karashiiro/FFXIVOpcodes.
2025-07-13 15:22:44 -04:00
The Dax
eb9d08866e Implement better support for buying from gil shops
-You can now purchase multiple things in a row
-It shows the proper log messages
-For the moment all items go to the very first inventory slot, and overwrite each other
2025-07-13 15:22:44 -04:00
efa07bb87f Add new actor control categories 2025-07-13 13:49:27 -04:00
c3291b1e47 Add support for the LevequestCompleteList IPC opcode
We also tell the client it completed every levequest in the game,
to showcase this works.
2025-07-13 11:59:56 -04:00
2cc562de38 Add support for the QuestActiveList IPC opcode 2025-07-13 11:24:14 -04:00
8be1fefa53 Add support for sending the title list, when requested
This doesn't allow you to set them yet, just show them in the menu.
2025-07-13 10:15:40 -04:00
c339c89c41 Fix various issues with the Lobby packets
Everything should be more consistent now, in regards to "tickets"
and actor ids.
2025-07-13 09:52:00 -04:00
822f693f8c Add XiCharacterInfo IPC opcode
I don't know what this is, I got the name from Sapphire.
2025-07-13 09:10:32 -04:00
49003a4d89 Add FreeCompanyInfo IPC opcode 2025-07-13 09:05:22 -04:00
8083be24c7 Add UpdateSearchInfo IPC opcode 2025-07-13 09:03:02 -04:00
46cf7d4200 Add ActorGauge IPC opcode 2025-07-13 08:58:46 -04:00
c04cfdf5da Add ObjectSpawn IPC opcode
The struct itself is all kinds of wrong as I blindly copied it from
Sapphire, so I wouldn't depend on it just yet.
2025-07-13 08:56:15 -04:00
7cfa20052d Remove appearance updates from ZoneConnection::send_inventory
This isn't needed anymore.
2025-07-13 08:47:53 -04:00
b84462fd6f Send equip item updates again
This was lost in the inventory refactoring because it was only
handled by ZoneConnection::send_inventory, but it needs to happen
elsewhere now.
2025-07-13 08:42:56 -04:00
fe4d0d2344 Inform client about some unimplemented inventory containers
As seen in a retail capture, we should be sending these I guess.
2025-07-13 08:38:28 -04:00
c0daf7b06b Skip sending empty UpdateItems on first login
There's no reason to do this, the client has no pre-existing
inventory state so we're just wasting bytes.
2025-07-13 08:29:45 -04:00
cca0f8c0e5 Add remaining inventory container types
Most of these will remain unimplemented, but we need the enum to
be complete for Packet Analyzer to not trip over unknown ones.
2025-07-13 08:14:35 -04:00
f88d62b80f Remove comment in lobby to investigate other server's KeepAlive
I checked a retail capture, and I think we're doing it correctly
for the chat and zone connection already. They wait until Setup to
send it (so the client is authorized, of course.)
2025-07-13 08:07:25 -04:00
67d01513b1 Begin figuring out various content finder thingies 2025-07-12 20:53:59 -04:00
fac241ce7b Fix the wrong classjob being set when creating a character 2025-07-12 18:56:00 -04:00
c86a5f70a6 Add command, actor control to unlock instanced content 2025-07-12 18:33:52 -04:00
thedax
45ee95318c
Rename inventory-related opcodes to match Karashiiro/FFXIVOpcodes (#112)
-Implement keyboard turning packet as a no-op so it'll stop clogging server logs

-Finish implementing inventory actions
2025-07-12 17:40:22 -04:00
779666a10f Fix off-by-one in ServerChatMessage 2025-07-12 15:01:12 -04:00
f176e4fb8d Fix wrong binrw attribute in ServerChatMessage
This was supposed to be "pad_size_to" not "pad_after"!
2025-07-12 14:55:42 -04:00
3059cda4a4 Add remaining IPC size tests, fix some struct issues 2025-07-12 14:48:21 -04:00
217ed2466c Fix the API for support desk headlines 2025-07-12 10:11:18 -04:00
eb73af03d6 Match retail headers for frontier server 2025-07-12 09:49:05 -04:00