120 Commits

Author SHA1 Message Date
rjkiv 6319fb8925 ByteGrinder work (#69)
* hash to six bits

* random sequence 32a

* rand seq 32b

* pickoneof32

* more bytegrinder funcs

* begin work on grindarray

* dofproc ctor/dtor

* match void stub

* stubzero

* op2 and 3

* synthemitter symbols

* more ctors/dtors

---------

Co-authored-by: rjkiv <rjkiv@users.noreply.github.com>
2024-01-13 22:14:08 -05:00
Dark fe0719edf7 code_merging also needs to be aggressive 2024-01-13 20:24:18 -05:00
Nathan 46ae108ecb Fix various errors with stdlib/STLport (#68)
* Clean up wchar.h and fix cwchar/cwctype errors

* Other std_native header fixes

* Remove old-style C++ std headers from STLport

* Disable STLport iostreams
Doesn't seem like we'll need them

* Fix STLport streamoff definition

* Also check C std version in RESTRICT macro definition

* Re-add StlNodeAlloc copy constructor
That one was necessary after all lol

* Add missing limit defs and clean up stdint defs a bit

* Fix "illegal 'friend' declaration" warning in STLport rope

* STLport modifications list update
2024-01-12 05:41:36 -05:00
rjkiv da02a6554d Move several classes to their own cpp files (#67)
* move trainingpanel to its own cpp file

* add ugcpurchasepanel and uistats

* uipanel cpp file

* ui symbols

* more symbols

* rnddrawable symbols

* rnddrawable handle methods

* rndhighlightable ctor

* DOFProc symbols

* rnd symbols

* fx cpp files

* uipanel moved to its own cpp file

* bytegrinder work

---------

Co-authored-by: rjkiv <rjkiv@users.noreply.github.com>
2024-01-12 05:41:21 -05:00
Nathan 3a4ba898b2 More decompctx adjustments (#66)
* Fix assert macro not respecting NDEBUG define

* Fix relative includes that use `<>` not being found in decompctx

* Pass through certain unknown defines in decompctx
Prevents context from being specific to C or C++, and preserves compiler-handled defines

* Clean up decompctx output a little
Strip blank lines, and newline before #line directives

* Add VS Code task for decompctx
2024-01-11 22:47:11 -05:00
Nathan 33d4748ad1 StlNodeAlloc and new/delete operators (#65)
* Reconstruct StlNodeAlloc allocator

* (Almost) Match new/delete and MemOrPool alloc/free functions
Code merging strikes again
2024-01-11 08:59:49 -05:00
rjkiv 4054cf246f Move dta classes/methods to their own files, document String (#64)
* rename unknowns to data files

* fix dataarray compile error

* unknown 08 is now known

* bytegrinder

* binkclip ctor/dtor

* soundtouch vtables

* more soundtouch vtables

* more symbols idk

* string documentation

* textstream doc

* hmx object documentation

* move hmx/object to its own file

* add dta sinits

---------

Co-authored-by: rjkiv <rjkiv@users.noreply.github.com>
2024-01-10 19:23:32 -05:00
Nathan afb1b5e020 Borrow greatly-improved context generation script (#63)
Borrowed from https://github.com/Prakxo/ac-decomp/blob/master/tools/decompctx.py
2024-01-09 16:16:30 -05:00
Dark 7acac26900 remove tainted submodule for now 2024-01-07 10:15:57 -05:00
Nathan 587bacb576 Integrate STLport and add several missing stdlib declarations (#62)
* Add STLport files

* Set up STLport configuration

* Rename native std folder to fix STLport include errors and for clarity

* Fix build failure in speex (and other .c files)

* Add missing C std wrapper headers/definitions

* Add a ton of missing C std APIs
Probably missed a thing or two, we can get those as we progress

* Fix C++ compile errors on `restrict`

* Other compile fixes

* Tidy/complete current native C++ headers

* Add VS Code STL file associations
2024-01-07 10:13:20 -05:00
rjkiv f9862cb204 Fix ctors/dtors and class members for MergeFilter and FileStream (#61)
* fixedsizesaveable ctors

* fix mergefilter ctor and members

* fix filestream dtor

* file readimpl

---------

Co-authored-by: rjkiv <rjkiv@users.noreply.github.com>
2024-01-06 17:25:58 -05:00
First Last 2bedd82e82 Gigantic Doxygen initialization (#60) 2024-01-06 15:12:09 -05:00
rjkiv 267e4c42b0 more Object and Message symbols (#59)
* object and chordbookpanel symbols

* several ctor symbols

* bandsongpref symbols

* various object ctors

* objptr symbols

* more object symbols

* wow surprise more object symbols

* rnd symbols

* Rnd symbols

* more symbols

* message ctors
2024-01-05 03:06:49 -05:00
Nathan b584a0b677 More miscellaneous stuff (#58)
* Merge JsonObject classes into a single header

* Classname/superclass symbols for JsonObjects/JsonConverter

* Fix all errors from `ninja diff`

* Various other symbols

* Further merge JsonObject and JsonConverter files
2024-01-04 05:46:42 -05:00
rjkiv 77d1dab395 Object and Message symbols (#57)
* cheat symbols

* a bunch of symbols from handlers

* sequence symbols

* synth symbols

* guitarcontroller msg symbols

* input controller handlers

* key msg symbols

* audio symbols

* several object symbols

* msg symbols
2024-01-03 12:36:17 -05:00
rjkiv 55460f6dec Add several ctors and handlers (#56)
* beatmatchcontroller ctor

* tweak ctor

* trainingmgr symbols

* add hxguid

* add user and guid classes

* user and localuser symbols

* user handle and syncprop

* more classes that derive off Object

* UIPanel symbols

* UIColor symbols

* crowdaudio symbols

* add new object crowd audio

* more data func related stuff

* uipanel symbols

* midiparser symbols

* midi parser symbols

* song symbols

* sorting ctors

* song sort node handlers

* add band user vtable
2024-01-01 20:56:57 -05:00
rjkiv 5e0cb9d1d6 Add symbols for a ton of Object derivatives, namely vtables and handlers (#55)
* obj symbols in the 800s

* obj symbols in the 801s

* obj symbols in the 802s

* obj symbols in the 803s

* obj symbols in the 804s

* obj symbols in the 805s

* obj symbols in the 806s
2023-12-29 23:21:49 -05:00
rjkiv 5c88bbb22f Tweak RG and key messages to match other message syntax in the code (#54)
* instrument handle symbols

* a bunch more handle methods

* replace generic Hmx Object dtor

* change RG and key symbols to match the other Type symbols

* refactor Type functions

* change Type functions

* add guard and local symbols for rg

* add key guard and local symbols

* more msg ctors

* user symbols

* hxguid symbols

* fix hxguid dupe ctors

* add character RTTI
2023-12-29 09:36:21 -05:00
rjkiv 2233ad0058 work on TextFile and add a bunch of vtables/RTTI (#53)
* fader symbols

* fader vmethods

* hashTo5Bits matches

* more DataNode Sym related tweaks

* object related symbols

* set property

* fix vmethod offsets

* Property methods

* setproperty

* clearproperties

* more object methods

* begin textfile work

* textfile symbols

* more textfile symbols

* textfile onprint

* textfile onprintf

* textfile handle

* textfile set type

* add obj functions

* msgsource symbols

* objectdir class header and ctor skeleton

* msgsource ctor

* fxsend symbols

* some more fxsend related symbols

* i really wish these symbols would stop getting deleted

* add FxSend and ObjOwnerPtr

* fxsendchorus symbols

* FxSend ctor and ObjOwnerPtr template

* fxsend copy

* objownerptr work

* add a bunch of fx symbols

* add a bunch of vtables

* midiparser symbols

* fix duplicate callback vtable
2023-12-28 16:17:29 -05:00
rjkiv 3599ec233a Attempt to match BT library, and add Hmx::Object and TypeProps methods (#52)
* lcu symbols

* resolve all errors and get bt files to actually show up

* start uncovering more bt symbols

* more bt symbols

* more l2cap symbols

* l2c symbols

* HID symbols

* btsnd_hcic symbols

* more btsnd_hcic symbols

* hcic and gap symbols

* create splits for more files

* add cutils for bt

* add data to vorbis file

* more vtables

* OnGetArray

* object ctor

* add a few more object/typeprops symbols

* a few more data funcs

* get typeprops to actually build

* typeprops work

* more typeprops fns

* more Object work

* property methods

* more typeprops work

* remove/add objects

* some more typeprops and object methods

* hiresscreen symbols

* more Object methods

* add object methods

* why do these symbols keep getting deleted oh my god

* tweak object vtable params

* move typeprops and objectdir inside object.hpp

* tweak symbols

* more vtables

* loader symbols
2023-12-26 12:13:50 -05:00
First Last ecc91397d7 RndBitmap symbols & methods (#51)
* mmmm yummy bitmaps

* thanks mwld very cool

* beetmahp

* more binstream methods
2023-12-25 09:47:20 -05:00
rjkiv 491e6c7eda symbols for sorting songs (#49)
* masteraudio ctor

* new fader obj symbol

* beatmaster symbols

* more vtables and ctors

* game handle symbol

* more instrument ctors

* more large symbols

* uipanel vtable and c/dtors

* sort node symbols

* more node vtables

* sortcmp node vtables

* songsortby vtables

* more song sort related symbols

* more node symbols

* a few more vtables
2023-12-23 12:57:59 -05:00
Nathan b2122e3433 Adjust VS Code include guard generation settings to match the current majority of headers (#50)
* Adjust VS Code include guard generation settings to match the current majority of headers

* Ensure all include guards are formatted correctly
2023-12-23 09:54:27 -05:00
Dark 19dade8f0c edit clang-format with feedback from TheNathannator 2023-12-23 09:30:38 -05:00
Nathan 38b83e161c Various tidying, including organization of unknown files and object lists (#48)
* Make proper source file for FormatString

* Merge key/RG message definitions into a single file

* Organize unk_* files into folders
Taking up a lot of space in the file list, and Windows and VS Code sort them like an idiot lol

* Remove empty unk_*.cpp files

* Add AT_ADDRESS macro for RVL definitions

* Small bit of macro cleanup

* Adjust OS_DEF_GLOBAL_ARR to not require brackets in usage

* Make VS Code not complain about asm blocks

* Sort object lists alphabetically
2023-12-23 08:15:22 -05:00