Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-03-09 | TProtocol: Start work on `handle_command()`, and the command handlers | mrb0nk500 | |
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-08 | macros: Add `as()` | mrb0nk500 | |
2023-03-07 | global: Completly disable inlining | mrb0nk500 | |
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-07 | THeap: Replace `heap_x{malloc,free}` with `operator {new,delete}` | mrb0nk500 | |
2023-03-07 | TObject: Replace `alloc()`, and `free()` with `operator {new,delete}` | mrb0nk500 | |
2023-03-07 | global: Remove `override` from pure virtual definitions | mrb0nk500 | |
2023-03-07 | T{Tcp,}Socket: Make `send(u8 *, size_t)` return the proper type | mrb0nk500 | |
2023-03-07 | TTcpSocket: Remove `WEAK_FUNC` prefix from `TTcpSocket`'s ctor | mrb0nk500 | |
2023-03-07 | TProtocol: Rename `packet.packet` -> `packet.pkt` | mrb0nk500 | |
2023-03-06 | TProtocol: Disable inlining completely | mrb0nk500 | |
It's a good start to do it here, and work our way to other parts of the codebase. | |||
2023-03-06 | TProtocol: Match both `parse_packet()`, and `run_task()` | mrb0nk500 | |
2023-03-05 | global: Start work on making the codebase match without inlining | mrb0nk500 | |
It seems more, and more obvious that the codebase was originally compiled without inlining. | |||
2023-03-04 | TProtocol: Match ctor | mrb0nk500 | |
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-03 | TProtocol: Get `TProtocol` to the point of building | mrb0nk500 | |
I'll actually start work on it tomorrow. | |||
2023-03-03 | TPlySmth: Add `TPlySmth` | mrb0nk500 | |
2023-03-03 | TPlyClientConfig: Add `TPlyClientConfig` | mrb0nk500 | |
2023-03-03 | TPlyCharData: Add `TPlyCharData` | mrb0nk500 | |
2023-03-03 | TPlyInventory: Add `TPlyInventory` | mrb0nk500 | |
2023-03-03 | TPlyDispData: Add `TPlyDispData` | mrb0nk500 | |
2023-03-03 | TMath: Add `TMath` | mrb0nk500 | |
2023-03-03 | TArray: Add `at()`, and `at_as()` | mrb0nk500 | |
2023-03-03 | TTcpSocket: Revert `TTcpSocket: Make most of the virtuals inline` | mrb0nk500 | |
Caused unwanted inlining in some cases. | |||
2023-03-03 | TProtocol: Start work on `TProtocol`'s header file | mrb0nk500 | |
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-03 | TTcpSocket: Make most of the virtuals inline | mrb0nk500 | |
This is to make the function order match better. | |||
2023-03-03 | TMenuList, TPlyGuildCardTag: Add constructors | mrb0nk500 | |
2023-03-02 | TPlyGuildCardTag: Fix compilation error in `_assign()` | mrb0nk500 | |
Also makes it simpler too. | |||
2023-03-02 | TMenuList, TPlyGuildCardTag: Actually match both classes | mrb0nk500 | |
Didn't realize that `TMenuList`'s `operator=` was actually implicit. | |||
2023-03-02 | TPlyGuildCardTag: Make variable members private, and add accessors for | mrb0nk500 | |
them | |||
2023-03-02 | TPlyGuildCardTag: Put everything upto `guildcard_number` in a union | mrb0nk500 | |
This will be needed for later. | |||
2023-03-02 | TMenuListEntry: Make the entry arrays use `TArray`, instead of a | mrb0nk500 | |
standard C array | |||
2023-03-02 | TArray: Make `{,fast_}fill_with()` type generic | mrb0nk500 | |
2023-03-02 | TArray: Add `size_as()` | mrb0nk500 | |
2023-03-01 | TTcpSocket: Make `some_stub()` a member function | mrb0nk500 | |
Forgot that it's actually a member function. | |||
2023-03-01 | TTcpSocket: 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-28 | TTcpSocket: Start work on `TTcpSocket` | mrb0nk500 | |
I've done most of it, still have to do `test_connection()`, and `open()`. | |||
2023-02-28 | macros: Add `WEAK_FUNC` | mrb0nk500 | |
2023-02-28 | TSocket: Use the correct return type for all the virtuals | mrb0nk500 | |
2023-02-28 | TSocket: Make the flag helpers public | mrb0nk500 | |
2023-02-28 | TSocket: Rename `stat` -> `stat_val` | mrb0nk500 | |
2023-02-28 | macros: Make the getter of `PRIVATE_MEMBER_ACCESSORS` return a | mrb0nk500 | |
reference, and add `PRIVATE_MEMBER_ACCESSORS_NON_REF` | |||
2023-02-28 | PSOV3EncryptionTCP: 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-28 | PSOV3Encryption: Rename `encrypt()` -> `init()` | mrb0nk500 | |
Shoutouts to fuziqersoftware for pointing this out. | |||
2023-02-28 | PSOV3Encryption: Add, and fully match `PSOV3Encryption` | mrb0nk500 | |
Boy, that took way too long to match, mainly due to regalloc issues in `update_stream()`. | |||
2023-02-27 | TArray: Add some extra functions | mrb0nk500 | |
2023-02-26 | TSocket: 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-26 | TArray: Add `TArray` template class | mrb0nk500 | |
This is a convenience class, to make working with arrays alot easier, but without hurting our chances of matching. | |||
2023-02-26 | TObject: Make `all_parents_unqueued_for_destruction()` return an int | mrb0nk500 | |
rather than a bool This is needed for matching other stuff. | |||
2023-02-26 | pso/macros: Add `EXTERN_OBJECT_NAME` macro | mrb0nk500 | |
2023-02-26 | pso/macros: Add getters/setters macros | mrb0nk500 | |
This'll come in handy later. | |||
2023-02-25 | TMenuList: Add `TMenuList`, and everything else that's needed to get it | mrb0nk500 | |
working I feel this is a good starting point for working on the protocol related code. |