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

740 commits

Author SHA1 Message Date
d58025e415 Use COMPLETED_QUEST_BITMASK_SIZE in QuestCompleteList 2025-07-12 08:36:01 -04:00
48b84bfed9 Stop extracting game files if no unpack directory is set 2025-07-12 08:36:00 -04:00
87676bafd7 Allow selecting a service account in the lobby 2025-07-12 08:36:00 -04:00
6a08ae4b0f Add CLASSJOB_ARRAY_SIZE constant for various classjob arrays 2025-07-12 08:36:00 -04:00
5f57748a6f Update dependencies 2025-07-12 08:36:00 -04:00
5dcd3ea1f2 Don't enable oodle feature while running tests on the CI
This isn't needed, no tests are gated behind the feature.
2025-07-12 08:02:02 -04:00
7d632fe04c Revert "Fix doctests trying to use the Oodle feature"
This reverts commit e6dfdce38a.
2025-07-12 08:02:02 -04:00
ae5e168f2d Put new rusqlite usage behind #[cfg]
This should fix the WebAssembly build.
2025-07-12 08:02:02 -04:00
8e3e18812b Build WebAssembly target on the CI
We depend on this downstream in Packet Analyzer, so we need to
ensure this doesn't break.
2025-07-12 08:02:02 -04:00
781fea1e35 Fix Chronofoil capturing not working
This was because Kawari was not seeing the KeepAliveRequest like
the retail Lobby server does, and Chronofoil didn't know what to
do.

Fixes #113
2025-07-11 23:21:18 -04:00
e6dfdce38a Fix doctests trying to use the Oodle feature
Still not sure what made this break, but now we stop trying to use
the real Oodle when compiling doctests. It doesn't make sense there
anyway.
2025-07-11 22:33:59 -04:00
14c5a68be5 Make link search path added in build script more explicit
Doesn't fix our doctest issue, but we should probably do this
anyway.
2025-07-11 22:33:55 -04:00
f7c73a14a6 Various fixes to make serving patches work
Only tested against sqexPatch.dll so far, but this helps retail in
general. More correct-looking headers are sent, logging is increased
(to help debugging) and other fixes for boot patch verification.
2025-07-11 21:39:15 -04:00
thedax
eb2e7a9987
Refactor large portions of database.rs, and fix the remaining clippy warnings (#111)
* Address warning "warning: very complex type used. Consider factoring parts into `type` definitions"
-But instead of making a new type we just create PlayerData directly

* Address "warning: this expression creates a reference which is immediately dereferenced by the compiler"


* Address "warning: calling .bytes() is very inefficient when data is not in memory"
2025-07-09 22:59:39 -04:00
ade08f9697 Begin implementing navimesh path visualization
It doesn't look quite right - probably because the navmesh
generation is bad. But it's progress!
2025-07-09 22:55:35 -04:00
075a2fea11 Begin testing navmesh queries
The next step is to visualize the navmesh so I know what's going
on!
2025-07-09 21:23:32 -04:00
b6a445cc34 Complete navmesh generation
Still no idea if it's actually correct yet, but the function calls
pass.
2025-07-09 20:37:11 -04:00
5bea7f9b34 Generate more Recast data, start using Detour functions 2025-07-09 20:24:11 -04:00
e929f40e94 Begin building the various bits of Recast navigation
I got it to "work" (not checked, but the calls at least don't fail)
and now it's time to include the detour portion.
2025-07-09 19:17:07 -04:00
e269806248 Begin integrating recastnavigation-sys 2025-07-09 15:58:57 -04:00
85cec9f092 Begin adding zone collision visualization
If you run kawari-navimesh and give it a zone ID, it can now show
you the loaded collision meshes. I only tested it in inn rooms so
far, but already works super well.
2025-07-09 14:59:02 -04:00
f5f166c78f Print out contents of unknown client triggers 2025-07-09 00:35:42 -04:00
20b26377dc Begin logging collision asset paths in naivmesh gen 2025-07-08 23:38:03 -04:00
e26820f777 Begin working on a navimesh generation tool
This just lays the groundwork for processing a zone, given an ID.
2025-07-08 23:33:33 -04:00
edf0643990 Grab navimesh paths from LVB, warn when navimesh is missing
Of course we don't even generate the navimeshes to begin with, but
it's a start.
2025-07-08 23:21:34 -04:00
d16c2c6583 Allow loading unpacked game files, add unpacking mode
This enables you to subsitute game files with your own more easily,
along with running a server with only a limited amount of game
data.
2025-07-08 22:39:31 -04:00
0291221dc7 Add a note in CONTRIBUTING on how to substitute with a local Physis 2025-07-08 22:38:41 -04:00
7b6605b018 Update Icarus, switch to the new Physis Resource system
While there isn't a functional difference in Kawari yet, this is
paving the way to allow loading unpacked game files.
2025-07-08 21:54:42 -04:00
The Dax
9b03e2d7c2 Properly address "warning: method default can be confused for the standard trait method std::default::Default::default" 2025-07-08 21:54:10 -04:00
The Dax
93ddff8ed4 Address "warning: this impl can be derived" 2025-07-08 21:54:10 -04:00
The Dax
c72526a34d Address two of "warning: this expression creates a reference which is immediately dereferenced by the compiler" 2025-07-08 21:54:10 -04:00
thedax
22dc1dbaaa
Refactor lua.rs: (#109)
-The match has been moved into src/ipc/zone/event_scene.rs and slimmed down
-EventScene now provides a function to decide the opcode based on how many params it has
-The tests for EventScene were updated to acommodate the new changes
2025-07-08 17:18:30 -04:00
thedax
0cf359e8c9
Update the Unending Journey's cutscene replay scene flags one more time (#108)
-This is what retail sends, and it has smooth fade ins and outs on upon start and end of cutscenes.
2025-07-05 21:42:06 -04:00
The Dax
c00b398dbb The House Fortemps guard finally spawns! 2025-07-05 19:06:34 -04:00
The Dax
cbc2c7953f Add the Port Official in Tuliyollal, interestingly their counterpart in Old Sharlayan does not spawn currently... 2025-07-05 19:06:34 -04:00
The Dax
e25fa9354b Add even more ferry skippers that have either direct or indirect connections to Limsa/La Noscea 2025-07-05 19:06:34 -04:00
The Dax
95ec3628b8 Enable a number of ferry skippers around La Noscean areas 2025-07-05 19:06:34 -04:00
thedax
17967c9d6a
Attempt to improve the accuracy of a couple things (#105)
Attempt to improve the accuracy of:
-ItemOperation: Now sends back ItemAcknowledgeAck as well as InventorySlotDiscard and *Fin when discarding items
-ClientTrigger::EventRelatedUnk -> send back commonly observed ActorControlSelf responses
2025-07-05 19:05:43 -04:00
The Dax
c292033960 Return control to the menu after the cutscene finishes 2025-07-05 17:14:08 -04:00
The Dax
ebd9fcc842 Fix a couple issues with the Unending Journey:
-Fade to black smoothly so the transition into a cutscene isn't so jarring
-Don't softlock when exiting the menu without playing anything
2025-07-05 17:14:08 -04:00
f056b3f978 Finish implementing the Unending Journey (mostly)
The cutscenes actually play now, which is super swell! There's a
few missing bits and bobs, but we can consider this event mostly
finished now.
2025-07-04 16:29:42 -04:00
cd55653077 Implement necessary packets for the Unending Journey event
This doesn't make cutscenes play *yet*, but stops the client from
getting stuck waiting for a cutscene to begin. Now the event script
continues, and ends the event.
2025-07-04 16:18:39 -04:00
de2d32266d When running !completeallquests, show a success message 2025-07-04 16:11:11 -04:00
f2239378f6 Add ClientChatIpcSegment
This is just a dummy for now, we just need it downstream in Packet
Analzyer.
2025-07-04 16:01:15 -04:00
5acf6580f3 Remove TestActorControl
This was leftover from some other debugging and shouldn't be here.
2025-07-04 15:58:34 -04:00
10d4d957fa Parse unknown actor controls
For use downstream in Packet Analzyer, instead of showing nothing.
2025-07-04 15:55:48 -04:00
thedax
68f6747598
Fix size of InventoryActionAck (#104)
-If it's 16 bytes, there can't be 12 bytes of padding, 4 bytes of u32 and 2 bytes of u16. :)
2025-07-04 19:48:03 +00:00
2f1aee9d09 Fill out more unknowns in lobby IPC packets
Mostly based off of Sapphire, but fixed in the more modern age.
2025-07-04 15:40:10 -04:00
24edee6548 Fix various size issues with lobby IPC packets
Some of these were the wrong size, and were affecting both the
server and packet analyzer alike. This should now more accurately
reflect retail.
2025-07-04 15:01:27 -04:00
The Dax
7801398590 Fix a small issue with the !equip command
-It wasn't setting the item's condition, causing the game UI to behave strangely when looking at the item's tooltip
-Added a constant for the maximum item durability
2025-07-04 13:39:48 -04:00