1914531d89
Add commands to unlock actions, and aetherytes
...
This doesn't mean teleporting works *yet*, as it needs to be scripted.
The unlocked action/aetheryte is also not persisted yet.
2025-05-11 09:27:29 -04:00
1605098c2e
Update CONTRIBUTING to remind myself to update Icarus as needed
2025-05-10 09:28:31 -04:00
90a4f4ea0c
Switch to new physis sheets name
...
Nothing changed API-wise apart from that. We also have the ability to
now pin on a game version, which is super helpful.
2025-05-10 09:25:22 -04:00
477380c8b9
When using the !spawnmonster command, send it to all players
...
You can't attack it and see it on other clients yet, that will take some
more plumbing.
2025-05-09 20:09:22 -04:00
2e50d1f7ad
Move some common code out of ZoneConnection and into a new common module
2025-05-09 19:49:40 -04:00
dba4edc32d
Remove some dead, unused code
2025-05-09 19:45:08 -04:00
95fb6a149f
Remove ToServer::ActorSpawn
...
This should be handled in the global server state instead.
2025-05-09 19:42:23 -04:00
0139fbc8c6
Remove the now unused ToServer::ActorDespawned
...
This is handled in the much-better-named LeftZone message.
2025-05-09 19:30:37 -04:00
cbeaa83307
Implement basic zone isolation for multiplayer
...
Now you don't see every player from every zone, like some kind of
madman. The code still sucks, but it works.
2025-05-09 19:27:18 -04:00
9787126a1b
Replace (most of) the remaining Excel parsing with Physis Sheets
...
The only one remaining is for Item data, but that can't be ported yet
because the new API only fetches the first page for now.
2025-05-09 18:35:44 -04:00
df789b52c9
Update to latest Physis Sheets API for error handling
2025-05-09 18:11:18 -04:00
99c92d1b67
Update and use the nice, new Physis ColumnData API
...
Now the GameData::get_warp function looks much closer to how I want it
to!
2025-05-09 18:03:25 -04:00
93923ff7a8
Begin using Physis Sheets, port warp finding code to it
...
Kawari is starting to have more and more Excel-based code, so having a
nicer way to access it is nice. This only works for simple cases for
now, and easy one is finding a warp.
2025-05-09 17:48:56 -04:00
7f729bfd99
Update dependencies (binrw, physis, bitflags)
...
This updates three major crates we use to the latest version with all of
their API changes, and the others too. Notably, this removes the Syn v1
dependency thanks to binrw 0.15 switching to Syn v2.
2025-05-09 15:25:57 -04:00
88e02452c4
Propagate pose changes to other players
...
Building off of the previous propagation work, your current pose is sent
to other players now too.
2025-05-08 23:03:51 -04:00
fd1fbe7188
Start adding support for propagating actor control state
...
This begins figuring out how we are going to be propagating actor
control state: e.g. targets, poses, and other misc effects. I ended up
sending client triggers to the global server state, who then creates the
needed actor control packet for the other players.
Now players can see what other players are targeting!
2025-05-08 22:53:36 -04:00
f338530e6d
Fix rotations sent to other players
...
There was two problems I was running into:
1. The move packet changed slightly, using a different way to encode the
rotation. In hindsight, it should seem obvious they would encode it the
same way for CommonSpawn and ActorMove.
2. write_quantized_rotation did it's order of operations wrong, and
it would spit out nonsensical rotations.
Both issues are fixed and you can see the other player's rotation
correctly now!
2025-05-08 21:52:50 -04:00
e43ab6c42a
When no session is found when logging into the lobby, show an error msg
...
It's the wrong error message, but it's better than getting an empty
lobby screen!
2025-05-08 21:01:15 -04:00
7c96edc9a4
"Implement" the Crystal Bell
...
Like the Unending Journey, just tell the player they aren't authorized
to summon him.
2025-05-06 22:39:57 -04:00
ed44de8956
"Implement" the Unending Journey
...
Apparently there's a scene that's super easy to use, that omniously says
"You cannot consult The Unending Journey at this time". That's cool,
though.
2025-05-06 22:37:02 -04:00
515ec59d92
Port classjob debug command to Lua
2025-05-06 22:03:31 -04:00
4c17f28eb0
Add Lua API for commands
...
This is super simple, you get the player and the args (which you can
choose to split if you so choose.) I reimplemented the !setpos, and will
start doing the rest of the commands.
2025-05-06 21:57:52 -04:00
5b35896365
Show the statusText on login error, not the empty response
2025-05-06 18:28:51 -04:00
ebec139fa3
Don't hardcode login server URL on the launcher page
2025-05-06 18:18:24 -04:00
8790f443a2
Fix SID generation
...
I messed this up when porting to fastrand, it ended up extending *one*
single letter to 56 chars.
2025-05-06 18:18:24 -04:00
Sayaniku
092cec19d5
Update USAGE.md
...
Updated the dependance needed for windows and explain a little bit more for the folder oodle
2025-05-06 17:27:14 -04:00
6af3392679
Fix broken login link on some webpages
2025-05-06 16:09:05 -04:00
e455bc10e5
Add links to return home on the login pages
2025-05-06 16:03:16 -04:00
adb1259829
Add some simple instructions to the homepage
2025-05-06 16:01:00 -04:00
6ff67a55e3
Make instructions on where/place Oodle more clear in USAGE
2025-05-06 15:55:02 -04:00
014fc0beea
Redirect to account management page after signing up
...
See #17
2025-05-06 15:41:55 -04:00
ca8d36e48c
Fix remaining inn warps, prevent the player from getting stuck
...
This means the three ARR inns are now "functional" (as in, you can enter
and exit them.) I also added some code to give you control of your
character in case you hit an unimplemented event.
2025-05-05 23:45:22 -04:00
e237cbe84d
Create GenericWarp script to handle simple warps
...
It turns out that most warps are just a yes/no, and can be handled by
one single script. I scripted the lift attendants from Bulwark Hall <->
Airship Landing <-> Drowning Wench this way.
2025-05-05 23:30:36 -04:00
6dc8194aa8
Add inn bed handling, let event scripts decie when they are finished
...
The inn bed is the most complex script we have written so far, and needs
a little bit more logic to when it finishes. I also made it play the bed
animation, although you *will* sleep forever as we don't know how to
disconnect you yet.
2025-05-05 23:04:53 -04:00
00671ae741
Add script for limsa inn door
2025-05-05 22:28:45 -04:00
fec6665d8d
Make Limsa Inn warp functional
...
This was surprisingly easy, so now this works. You can't exit the inn
yet, though!
2025-05-05 22:04:39 -04:00
afbadf85c4
Clean up talk event handling, use Event struct
2025-05-05 21:15:03 -04:00
873d7f5951
Move custom IPC handling to a separate file
2025-05-05 21:03:47 -04:00
3139d63b91
Begin scripting the inn NPCs
...
This kinda works, you can now talk to them without locking up your
character but you aren't warped yet. I also need to clean up the mess of
the Lua API.
2025-05-05 20:51:49 -04:00
85a2abb49e
Add a warning to not enter your real account's credentials
...
I added a warning to the bottom of the login pages everywhere to make
sure users do not try to enter their real account credentials.
2025-05-03 20:46:50 -04:00
073ae89174
Fixup launcher styling, simplify the craziness
...
Now that I have a working launcher page, I have now cleaned up the mess
so it looks less insane with debugging stuff everywhere.
2025-05-03 20:33:41 -04:00
94ef4aa9f9
Update IPC struct path in CONTRIBUTING
2025-05-03 19:59:28 -04:00
7608eac2e4
Add recommended Dalamud plugins to CONTRIBUTING
2025-05-03 19:58:15 -04:00
942b2b11e7
Add more detailed usage instructions
2025-05-03 19:54:32 -04:00
dbdc6ee99f
Note which run script to use in USAGE
2025-05-03 19:30:09 -04:00
9a18202440
Add run script to the artifact
2025-05-03 19:30:09 -04:00
046c353bf9
Simplify usage instructions with the new setup flow
2025-05-03 18:52:40 -04:00
7d7776f16e
Add setup page to download generated LauncherTweaks configs
2025-05-03 18:49:39 -04:00
def9b4ab48
Add Bootstrap styling for the launcher page, implement launcher login
...
Instead of the placeholder SID, it sets it to an actual one that can be
used with the lobby server.
2025-05-03 18:16:36 -04:00
a9ec268a4f
Add remaining necessary launcher logic to launch the game
...
We still need some changes in LauncherTweaks to inject our custom server
URLs, but it's so close now!
2025-05-03 16:34:04 -04:00