Age | Commit message (Collapse) | Author |
|
My new programming style is branch hints. All non-confusing branches
must be hinted when I can be bothered. It's faster, sometimes, maybe.
Also, start trying to use more signed sizes in at least some of the
places where it makes sense. Unsigned sizes are surprisingly
error-prone!
|
|
|
|
Because why not.
|
|
|
|
In both the engine and SST it's used in more places than just console
printing, so it makes more sense to give it a more appropriate nanme and
location.
|
|
Another big one. Here's a list of things:
- Since the upcoming C23 standardises typeof(), use it as an extension
for the time being in order to allow passing arbitrary types as
macro/codegen parameters. It wouldn't have been a big leap to do this
even without standardisation since it's apparently an easy extension
to implement - and also, to be honest, this project is essentially glued
to Clang anyway so who cares.
- Likewise, bool, true and false are becoming pre-defined, so
pre-pre-define them now in order to get the benefit of not having to
remember one header everywhere.
- Really ungodly/amazing vcall macro stuff now allows us to call C++
virtual functions like regular C functions. It's pretty cool!
- Events can now take arbitrary parameters and come in two types:
regular events and predicates.
All this makes the base code even uglier but makes the feature
implementation nicer. In other words, it places more of the cognitive
burden on myself and less on other people who might want to contribute.
This is a good tradeoff, because I'm a genius.
|
|
|
|
|
|
|
|
Currently only works in 3420 and 5135 and uses hardcoded offsets with a
byte pattern sanity check. Future work includes making it more widely
compatible, and also doing the crazy thing I wanted to do but gave up on
wherein the actual textures and stuff get patched in memory to sync up
all the colours.
Oh also, a couple of vtables were erroneously made executable, so I went
ahead and fixed that while I was at it.
|