1
Fork 0
mirror of https://github.com/redstrate/Kawari.git synced 2025-07-09 23:47:46 +00:00
Commit graph

683 commits

Author SHA1 Message Date
The Dax
1c7570c696 Bounds check the string parts vecs.
Fix off by one error

Style nit.
2025-07-04 11:44:35 -04:00
The Dax
b3c954ed83 Fix error string 2025-07-04 11:44:35 -04:00
The Dax
d011f11e54 Lobby server: implement a server-side version check against the version info the client sends.
-TLDR: it checks file length and sha1 hash of the game exe, and all of the version strings.
2025-07-04 11:44:35 -04:00
thedax
ca90d8b787
Move the login message from Lua scripts into the config file. (#100)
-Provide a new API function: getLoginMessage which will fetch it from the config file.
2025-07-04 11:42:52 -04:00
The Dax
9532abcaa6 Address "warning: you should consider adding a Default implementation for ScramblerKeyGenerator" 2025-07-04 11:42:08 -04:00
The Dax
4cae9a649a Address two of "warning: casting to the same type is unnecessary (i32 -> i32)" 2025-07-04 11:42:08 -04:00
The Dax
57b90ca3dd Address "warning: this expression borrows a value the compiler would automatically borrow" 2025-07-04 11:42:08 -04:00
The Dax
b3b7b2e57f Address two of "warning: function call inside of expect" 2025-07-04 11:42:08 -04:00
The Dax
72915e11d9 Address two of "warning: redundant pattern matching, consider using is_ok()"
-We should really refactor this part of the code, it's a bunch of copy paste.
2025-07-04 11:42:08 -04:00
The Dax
fe25cc6210 Address three of "warning: casting to the same type is unnecessary (u32 -> u32)" 2025-07-04 11:42:08 -04:00
The Dax
3a9912776f Address "warning: useless use of format!" 2025-07-04 11:42:08 -04:00
The Dax
86c8d58fe3 Address "warning: this expression creates a reference which is immediately dereferenced by the compiler" 2025-07-04 11:42:08 -04:00
The Dax
05f83459c1 Address "warning: deref which would be done by auto-deref" 2025-07-04 11:42:08 -04:00
thedax
2d6c740829
Fix cargo test compilation (#102) 2025-07-04 11:35:06 -04:00
5c8e0f3e62 Change Unk1 ClientTrigger to BeginLoading 2025-07-04 11:33:48 -04:00
c65e413900 Make loading zone LGBs more accurate
The game actually has a list of LGBs for the territory/zone in a
LVB file, so we don't have to hardcode a list of names.
2025-07-04 11:33:01 -04:00
37f0e07116 Add missing bin files for scrambler 2025-07-04 11:23:19 -04:00
5035dcab82 Begin implementing more packet obsfucation
It's not complete yet, notably the correct model IDs don't show up.

See #9
2025-07-03 17:00:55 -04:00
fb46a44e18 Begin correctly implementing packet obsfucation
I re-implemented Unscrambler, but in reverse! This currently only
affects names in the PlayerSpawn packet, it needs to be extended
into others to be considered complete.

See #9
2025-07-03 16:12:19 -04:00
thedax
8894e25da4
Update all but one opcode for 7.25h3 (#99) 2025-07-03 12:57:51 -04:00
thedax
bc7ab11deb
Lobby server: send back more accurate error messages for problems (#97)
* Lobby server: send back more accurate error messages for problems

* Send the dreaded 2002 error code instead. Exact error codes would probably be better.
-It is unknown if there's a list somewhere.
2025-07-02 21:59:25 -04:00
thedax
01b396a656
Refactor gamedata to use a more general get_item_info function (#96)
-You can search for items by id or name
-The logic is all centrally located, eliminating all of the duplicated loops everywhere
2025-07-02 17:30:48 +00:00
thedax
a83d455e86
Hook up a couple more generic gatekeepers (#95) 2025-07-02 08:18:10 -04:00
thedax
9bed7595cc
Implement items costing money now (#94)
-Includes an extra check for trying to bypass the client-side
-Update dependencies
-Include a message that selling isn't supported yet
-Display a message indicating an item was bought
2025-07-01 21:21:47 -04:00
927c093915 Send your completed quests list
We aren't going to be adding quests ever or anytime soon, so all you
can do right now is force every quest to unlock with the aptly named
!completeallquests.
2025-07-01 19:51:33 -04:00
The Dax
97682086f0 Re-enable //gm collect
-It requires a player to be targeted ingame, no target or any actor that isn't a player
will result in a generic "GM Command Failed" message
2025-07-01 13:06:49 -04:00
The Dax
e304e895bf Update USAGE.md 2025-07-01 13:06:49 -04:00
The Dax
4b52ae6d0a InspectPlayer: make various variables local 2025-07-01 13:06:49 -04:00
The Dax
4841a5e469 InspectPlayer: add quantity amount to the print statements for the inventory 2025-07-01 13:06:49 -04:00
The Dax
3b6fcb7ba1 Extend the Lua API:
-Implement GM command collect (subtracts gil from player), but the ingame command's params are unknown, Lua only
-Implement GM command inspect, but the IPC opcode for it is different than GMCommand and is thus far unimplemented, Lua only
-The Lua API can now access all of the player's inventory (read-only)
2025-07-01 13:06:49 -04:00
thedax
877ec335a9
Address four of "warning: variables can be used directly in the format! string" (#92) 2025-07-01 06:55:25 -04:00
The Dax
d14dd3ccd9 Address: "warning: the variable sequence is used as a loop counter" 2025-06-30 21:55:11 -04:00
The Dax
b0282eb6bc Address "warning: you seem to be trying to use match for destructuring a single pattern. Consider using if let" 2025-06-30 21:55:11 -04:00
The Dax
1fe3e3e81d Address "warning: using clone on type [u32; 10] which implements the Copy trait" 2025-06-30 21:55:11 -04:00
The Dax
1f065472d0 Address "warning: casting to the same type is unnecessary (u32 -> u32)" 2025-06-30 21:55:11 -04:00
The Dax
3fc863616c Address "warning: unneeded return statement" 2025-06-30 21:55:11 -04:00
The Dax
02472a2332 Address "warning: useless use of format!" 2025-06-30 21:55:11 -04:00
3695ee4352 Begin implementing gil shops, add free item to inventory
Tested against the Florist in New Gridania, although we don't
deduct the item price from you and such.
2025-06-30 21:38:04 -04:00
a1e6488533 Update Icarus to 2025.06.10.0000.0000
Not only does this include schema updates, but we gain support for
subrows and comments.
2025-06-30 20:23:09 -04:00
The Dax
7294da465c Document the missing exit-to-inn warps for Tuliyollal and Old Sharlayan 2025-06-30 17:08:36 -04:00
The Dax
a5522bb637 Document the missing big aetheryte event ids, enable them, and note they don't work for now
-Also update the newest thoughts on why the limsa <-> costa ferrys don't work
2025-06-30 17:08:36 -04:00
thedax
5a580149b4
Document some opcodes related to shops and implement a generic gil shopkeeper script (#85)
Document some opcodes related to shops and implement a generic gil shopkeeper script
* You can now interact with shopkeepers, and if you have enough gil, you can attempt to purchase items
* Upon trying to buy items the event will auto-cancel for now, because we're missing implementations of several opcodes related to inventory management
2025-06-30 15:21:08 -04:00
f778f9a571 Support sending an arbitrary amount of event params
This ended up as a giant, disgusting match statement but I don't
really have anything better right now.
2025-06-28 16:17:54 -04:00
5b8a61c1ce Add the various sizes of EventScene
This isn't hooked up to the Lua API yet, it's just the
needed opcode bits.
2025-06-28 16:05:36 -04:00
2762407585 Rename EventReturnHandler to EventYieldHandler, make generic
This also makes EventScene generic for use in the future.
2025-06-28 15:57:45 -04:00
670d25a980 Disable sending exp again 2025-06-28 15:27:53 -04:00
fd4436db01 Fix a few more fields in PlayerStatus
Class is determined correctly now, and we now set the expansion
level too.
2025-06-28 15:23:56 -04:00
41d8424615 Read unknown packet data in more places 2025-06-28 15:15:45 -04:00
ff3a7d6835 Remove more leftover debugging code 2025-06-28 15:10:57 -04:00
d230a86844 Fix leftover test debugging thing 2025-06-28 15:01:26 -04:00