summaryrefslogtreecommitdiff
path: root/include/pso
AgeCommit message (Collapse)Author
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-08macros: Add `as()`mrb0nk500
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-07global: Remove `override` from pure virtual definitionsmrb0nk500
2023-03-07T{Tcp,}Socket: Make `send(u8 *, size_t)` return the proper typemrb0nk500
2023-03-07TTcpSocket: Remove `WEAK_FUNC` prefix from `TTcpSocket`'s ctormrb0nk500
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-03TPlySmth: Add `TPlySmth`mrb0nk500
2023-03-03TPlyClientConfig: Add `TPlyClientConfig`mrb0nk500
2023-03-03TPlyCharData: Add `TPlyCharData`mrb0nk500
2023-03-03TPlyInventory: Add `TPlyInventory`mrb0nk500
2023-03-03TPlyDispData: Add `TPlyDispData`mrb0nk500
2023-03-03TMath: Add `TMath`mrb0nk500
2023-03-03TArray: Add `at()`, and `at_as()`mrb0nk500
2023-03-03TTcpSocket: Revert `TTcpSocket: Make most of the virtuals inline`mrb0nk500
Caused unwanted inlining in some cases.
2023-03-03TProtocol: Start work on `TProtocol`'s header filemrb0nk500
Still need to add the rest of the classes, and structs that're used, as well as the functions for all of these, but it's a start.
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-02TPlyGuildCardTag: Fix compilation error in `_assign()`mrb0nk500
Also makes it simpler too.
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-02TMenuListEntry: Make the entry arrays use `TArray`, instead of amrb0nk500
standard C array
2023-03-02TArray: Make `{,fast_}fill_with()` type genericmrb0nk500
2023-03-02TArray: Add `size_as()`mrb0nk500
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-28macros: Add `WEAK_FUNC`mrb0nk500
2023-02-28TSocket: Use the correct return type for all the virtualsmrb0nk500
2023-02-28TSocket: Make the flag helpers publicmrb0nk500
2023-02-28TSocket: Rename `stat` -> `stat_val`mrb0nk500
2023-02-28macros: Make the getter of `PRIVATE_MEMBER_ACCESSORS` return amrb0nk500
reference, and add `PRIVATE_MEMBER_ACCESSORS_NON_REF`
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: 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-27TArray: Add some extra functionsmrb0nk500
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-26TArray: Add `TArray` template classmrb0nk500
This is a convenience class, to make working with arrays alot easier, but without hurting our chances of matching.
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-26pso/macros: Add `EXTERN_OBJECT_NAME` macromrb0nk500
2023-02-26pso/macros: Add getters/setters macrosmrb0nk500
This'll come in handy later.
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.