summaryrefslogtreecommitdiff
path: root/src/pso
AgeCommit message (Collapse)Author
2023-07-18TObject: Properly match `run_tasks()`HEADmastermrb0nk500
I thought of doing this because of this message from Ninji. https://discord.com/channels/727908905392275526/727908905828483073/1130913392635432972
2023-05-30TProtocol: Add (and match) recv_pso_regist_{connect,check}()mrb0nk500
2023-05-30TProtocol: Add (and match) recv_{burst,exit}_{game,lobby}()mrb0nk500
2023-05-17TProtocol: Add (and match) the `SndPsoData` related command senders,mrb0nk500
along with a few other senders Man, those `SndPsoData` functions took way longer then they should've to figure out, mostly due to typecasting, and general weirdness.
2023-05-11TProtocol: Add, and match `send_chara_data_v2()`mrb0nk500
Sorry for the long wait, was busy doing other things.
2023-03-22TProtocol: Add (and match) more command sendersmrb0nk500
2023-03-20TProtocol: Start work on the command sendersmrb0nk500
2023-03-15TProtocol: Add `flex_packet`, and make use of it in `packet`mrb0nk500
This will be needed later on.
2023-03-15TProtocol: Add (and match) more command handlersmrb0nk500
2023-03-15TProtocol: Rename `maybe_release_flag` -> `enable_v2_features`mrb0nk500
2023-03-14TProtocol: Add (and match) even more command handlersmrb0nk500
Slowly starting to get fleshed out.
2023-03-12TProtocol: Add, and match more command handlers, along with some othermrb0nk500
functions needed to get them working
2023-03-12TProtocol: Rename some of the command handlers to match their names inmrb0nk500
PSOv2
2023-03-10TProtocol: Add (and somewhat match) even more command handlersmrb0nk500
2023-03-09global: Compile the entire codebase with `-sym on`mrb0nk500
Just like with `-inline none`, I'm starting to realize more, and more that they built it with `-sym on` too.
2023-03-09TProtocol: Start adding, and matching more command handlersmrb0nk500
Also found out alot more assumptions I had were wrong.
2023-03-09TProtocol: Start work on `handle_command()`, and the command handlersmrb0nk500
Hopefully, we can make some good progress. Also, oof, I didn't realize that what I thought were `operator=()`, or a manual `assign()` function, was actually a copy ctor.
2023-03-07global: Completly disable inliningmrb0nk500
This is because it looks more, and more clear that the entire codebase was compiled without inlining. Likely to reduce code size from all the byteswap functions, only present on the GameCube version.
2023-03-07THeap: Replace `heap_x{malloc,free}` with `operator {new,delete}`mrb0nk500
2023-03-07TObject: Replace `alloc()`, and `free()` with `operator {new,delete}`mrb0nk500
2023-03-07TProtocol: Use `const short` variable for return value inmrb0nk500
`send(u8 *, size)` This is needed to match now.
2023-03-07T{Tcp,}Socket: Make `send(u8 *, size_t)` return the proper typemrb0nk500
2023-03-07TTcpSocket: Remove unnecessary local variablesmrb0nk500
2023-03-07TProtocol: Rename `packet.packet` -> `packet.pkt`mrb0nk500
2023-03-06TProtocol: Disable inlining completelymrb0nk500
It's a good start to do it here, and work our way to other parts of the codebase.
2023-03-06TProtocol: Match both `parse_packet()`, and `run_task()`mrb0nk500
2023-03-05global: Start work on making the codebase match without inliningmrb0nk500
It seems more, and more obvious that the codebase was originally compiled without inlining.
2023-03-04TProtocol: Match ctormrb0nk500
The reason for the large change is because I was trying to figure out why `TTcpSocket`'s ctor was so disjointed from the rest of the functions. Turns out, it's inlined, and inlining was turned off. Most likely, the whole codebase has inlining turned off. oof, press f `TArray`.
2023-03-03TProtocol: Get `TProtocol` to the point of buildingmrb0nk500
I'll actually start work on it tomorrow.
2023-03-03TTcpSocket: Revert `TTcpSocket: Make most of the virtuals inline`mrb0nk500
Caused unwanted inlining in some cases.
2023-03-03TTcpSocket: Make most of the virtuals inlinemrb0nk500
This is to make the function order match better.
2023-03-03TMenuList, TPlyGuildCardTag: Add constructorsmrb0nk500
2023-03-02TMenuList, TPlyGuildCardTag: Actually match both classesmrb0nk500
Didn't realize that `TMenuList`'s `operator=` was actually implicit.
2023-03-02TPlyGuildCardTag: Make variable members private, and add accessors formrb0nk500
them
2023-03-02TPlyGuildCardTag: Put everything upto `guildcard_number` in a unionmrb0nk500
This will be needed for later.
2023-03-02TArray: Make `{,fast_}fill_with()` type genericmrb0nk500
2023-03-02TTcpSocket: Match `test_connection()`mrb0nk500
`TTcpSocket` is now fully matched. Up next is `TProtocol`.
2023-03-01TTcpSocket: Match `open()`mrb0nk500
I might do `test_connection()` next, if not, `TProtocol` will be next.
2023-03-01TTcpSocket: Make `some_stub()` a member functionmrb0nk500
Forgot that it's actually a member function.
2023-03-01TTcpSocket: Make `stat()` return a `short`mrb0nk500
oof, this caused `send(u8 *)` to not match, but making it return a `short` caused it to suddenly match.
2023-02-28TTcpSocket: Start work on `TTcpSocket`mrb0nk500
I've done most of it, still have to do `test_connection()`, and `open()`.
2023-02-28PSOV3EncryptionTCP: Add, and fully match `PSOV3EncryptionTCP`mrb0nk500
That was way easier than I expected, I thought it'd take a lot longer than this.
2023-02-28PSOV3Encryption: Make `update_stream()` a lot cleanermrb0nk500
2023-02-28PSOV3Encryption: Rename `encrypt()` -> `init()`mrb0nk500
Shoutouts to fuziqersoftware for pointing this out.
2023-02-28PSOV3Encryption: Add, and fully match `PSOV3Encryption`mrb0nk500
Boy, that took way too long to match, mainly due to regalloc issues in `update_stream()`.
2023-02-26TSocket: Start work on, and match most of `TSocket`mrb0nk500
Still need to implement, and match `resolve_domain()`, but it's a good starting point for decompiling the netcode.
2023-02-26TObject: Make `all_parents_unqueued_for_destruction()` return an intmrb0nk500
rather than a bool This is needed for matching other stuff.
2023-02-25TMenuList: Add `TMenuList`, and everything else that's needed to get itmrb0nk500
working I feel this is a good starting point for working on the protocol related code.
2023-02-16TMainTask: Complete `TMainTask.cpp`mrb0nk500
2023-02-16TObject: Add `toggle_flag_3()`mrb0nk500