isle/LEGO1/library_msvc.h
jonschz 0aa5e010ae
Implement CarRace (#1165)
* Implement `CarRace`

* Improve `CarRace::Create`

* Fix arrays

* Clean up array

* Fix CI errors

* Implement `LegoRaceCar::FUN_10012e00()`

* Implement `Doors::VTable0xcc`

* Address review comments, part 1

* Address review comments, part 2

---------

Co-authored-by: jonschz <jonschz@users.noreply.github.com>
2024-11-23 12:33:15 -07:00

750 lines
11 KiB
C

#ifdef 0
// For LEGO1 symbols only
// aka `operator new`
// LIBRARY: LEGO1 0x10086240
// ??2@YAPAXI@Z
// aka `operator delete`
// LIBRARY: LEGO1 0x10086260
// ??3@YAXPAX@Z
// LIBRARY: LEGO1 0x1008a090
// _malloc
// LIBRARY: LEGO1 0x1008a100
// _calloc
// LIBRARY: LEGO1 0x1008a1c0
// _free
// LIBRARY: LEGO1 0x1008b020
// LIBRARY: BETA10 0x100f8d20
// ___CxxFrameHandler
// LIBRARY: LEGO1 0x1008b24c
// __global_unwind2
// LIBRARY: LEGO1 0x1008b28e
// __local_unwind2
// LIBRARY: LEGO1 0x1008b319
// __NLG_Notify1
// LIBRARY: LEGO1 0x1008b322
// __NLG_Notify
// LIBRARY: LEGO1 0x1008b340
// __FPinit
// LIBRARY: LEGO1 0x1008b3dc
// __CIacos
// LIBRARY: LEGO1 0x1008b400
// _atol
// LIBRARY: LEGO1 0x1008b4b0
// _atoi
// LIBRARY: LEGO1 0x1008b4c0
// _strtok
// LIBRARY: LEGO1 0x1008b5a0
// _sprintf
// LIBRARY: LEGO1 0x1008b608
// LIBRARY: BETA10 0x100f9660
// __ftol
// LIBRARY: LEGO1 0x1008b630
// _srand
// LIBRARY: LEGO1 0x1008b640
// _rand
// LIBRARY: LEGO1 0x1008b670
// __purecall
// LIBRARY: LEGO1 0x1008b680
// _strncmp
// LIBRARY: LEGO1 0x1008b6c0
// _atof
// LIBRARY: LEGO1 0x1008b730
// _fprintf
// LIBRARY: LEGO1 0x1008b780
// _fwrite
// LIBRARY: LEGO1 0x1008b7c0
// __fwrite_lk
// LIBRARY: LEGO1 0x1008b950
// _fread
// LIBRARY: LEGO1 0x1008b990
// __fread_lk
// LIBRARY: LEGO1 0x1008bbd0
// _fclose
// LIBRARY: LEGO1 0x1008bc10
// __fclose_lk
// LIBRARY: LEGO1 0x1008bc70
// __cinit
// LIBRARY: LEGO1 0x1008bca0
// __exit
// LIBRARY: LEGO1 0x1008bcc0
// __cexit
// LIBRARY: LEGO1 0x1008bdd0
// _ftell
// LIBRARY: LEGO1 0x1008be00
// __ftell_lk
// LIBRARY: LEGO1 0x1008bfb0
// __fsopen
// LIBRARY: LEGO1 0x1008bff0
// _fopen
// LIBRARY: LEGO1 0x1008c010
// _strncpy
// LIBRARY: LEGO1 0x1008c110
// __strcmpi
// LIBRARY: LEGO1 0x1008c1e0
// __spawnl
// LIBRARY: LEGO1 0x1008c200
// _sscanf
// LIBRARY: LEGO1 0x1008c250
// ??_L@YGXPAXIHP6EX0@Z1@Z
// LIBRARY: LEGO1 0x1008c2e0
// ??_M@YGXPAXIHP6EX0@Z@Z
// LIBRARY: LEGO1 0x1008c370
// ?__ArrayUnwind@@YGXPAXIHP6EX0@Z@Z
// LIBRARY: LEGO1 0x1008c410
// _strlwr
// LIBRARY: LEGO1 0x1008c570
// _access
// LIBRARY: LEGO1 0x1008c5c0
// _fseek
// LIBRARY: LEGO1 0x1008c600
// __fseek_lk
// LIBRARY: LEGO1 0x1008c6a0
// _isdigit
// LIBRARY: LEGO1 0x1008c6d0
// _isspace
// LIBRARY: LEGO1 0x1008c700
// __CRT_INIT@12
// LIBRARY: LEGO1 0x1008c920
// __amsg_exit
// LIBRARY: LEGO1 0x1008c980
// __except_handler3
// LIBRARY: LEGO1 0x1008ca60
// _abort
// LIBRARY: LEGO1 0x1008ca80
// ___InternalCxxFrameHandler
// LIBRARY: LEGO1 0x1008cf60
// ___FrameUnwindToState
// LIBRARY: LEGO1 0x1008d4f0
// __CallSettingFrame@12
// LIBRARY: LEGO1 0x1008d540
// __mtinit
// LIBRARY: LEGO1 0x1008d5a0
// __mtterm
// LIBRARY: LEGO1 0x1008d5d0
// __initptd
// LIBRARY: LEGO1 0x1008d5f0
// __getptd
// LIBRARY: LEGO1 0x1008d660
// __freeptd
// LIBRARY: LEGO1 0x1008dd90
// __cintrindisp2
// LIBRARY: LEGO1 0x1008e000
// __isctype
// LIBRARY: LEGO1 0x1008e0a0
// __allmul
// LIBRARY: LEGO1 0x1008e0e0
// __flsbuf
// LIBRARY: LEGO1 0x1008e230
// __output
// LIBRARY: LEGO1 0x1008ecf0
// __fltin2
// LIBRARY: LEGO1 0x1008ed90
// __mtinitlocks
// LIBRARY: LEGO1 0x1008edc0
// __mtdeletelocks
// LIBRARY: LEGO1 0x1008ee30
// __lock
// LIBRARY: LEGO1 0x1008eea0
// __unlock
// LIBRARY: LEGO1 0x1008eec0
// __lock_file
// LIBRARY: LEGO1 0x1008ef00
// __lock_file2
// LIBRARY: LEGO1 0x1008ef30
// __unlock_file
// LIBRARY: LEGO1 0x1008ef70
// __unlock_file2
// LIBRARY: LEGO1 0x1008efa0
// __stbuf
// LIBRARY: LEGO1 0x1008f040
// __ftbuf
// LIBRARY: LEGO1 0x1008f080
// __write
// LIBRARY: LEGO1 0x1008f100
// __write_lk
// LIBRARY: LEGO1 0x1008f340
// __flush
// LIBRARY: LEGO1 0x1008f490
// __filbuf
// LIBRARY: LEGO1 0x1008f590
// __read
// LIBRARY: LEGO1 0x1008f610
// __read_lk
// LIBRARY: LEGO1 0x1008f840
// __ioinit
// LIBRARY: LEGO1 0x1008fa20
// __ioterm
// LIBRARY: LEGO1 0x1008fb20
// __close
// LIBRARY: LEGO1 0x1008fb90
// __close_lk
// LIBRARY: LEGO1 0x1008fc20
// __freebuf
// LIBRARY: LEGO1 0x1008fc90
// __chkstk
// LIBRARY: LEGO1 0x1008fcc0
// __lseek
// LIBRARY: LEGO1 0x1008fd40
// __lseek_lk
// LIBRARY: LEGO1 0x1008fdd0
// __dosmaperr
// LIBRARY: LEGO1 0x1008fe30
// __unlock_file
// LIBRARY: LEGO1 0x1008fe50
// __errno
// LIBRARY: LEGO1 0x1008fe60
// ___doserrno
// LIBRARY: LEGO1 0x1008fe70
// __openfile
// LIBRARY: LEGO1 0x10090080
// __getstream
// LIBRARY: LEGO1 0x100901f0
// __tolower_lk
// LIBRARY: LEGO1 0x100902e0
// __spawnve
// LIBRARY: LEGO1 0x10090580
// __input
// LIBRARY: LEGO1 0x100912e0
// ?terminate@@YAXXZ
// LIBRARY: LEGO1 0x10091360
// ?_inconsistency@@YAXXZ
// LIBRARY: LEGO1 0x100913e0
// ___crtLCMapStringA
// LIBRARY: LEGO1 0x10091640
// __heap_init
// LIBRARY: LEGO1 0x10091680
// __heap_term
// LIBRARY: LEGO1 0x100916c0
// __setenvp
// LIBRARY: LEGO1 0x100917b0
// __setargv
// LIBRARY: LEGO1 0x10091a20
// __setmbcp
// LIBRARY: LEGO1 0x10091d30
// ___initmbctable
// LIBRARY: LEGO1 0x10091d40
// ___crtGetEnvironmentStringsA
// LIBRARY: LEGO1 0x10091ed0
// ___set_app_type
// LIBRARY: LEGO1 0x10091ef0
// __FF_MSGBANNER
// LIBRARY: LEGO1 0x10091f30
// __NMSG_WRITE
// LIBRARY: LEGO1 0x10092130
// _raise
// LIBRARY: LEGO1 0x10092310
// _siglookup
// LIBRARY: LEGO1 0x100928c0
// __fptrap
// LIBRARY: LEGO1 0x100928d0
// __ZeroTail
// LIBRARY: LEGO1 0x10092940
// __IncMan
// LIBRARY: LEGO1 0x100929b0
// __RoundMan
// LIBRARY: LEGO1 0x10092a60
// __CopyMan
// LIBRARY: LEGO1 0x10092a80
// __FillZeroMan
// LIBRARY: LEGO1 0x10092a90
// __IsZeroMan
// LIBRARY: LEGO1 0x10092ab0
// __ShrMan
// LIBRARY: LEGO1 0x10092b60
// __ld12cvt
// LIBRARY: LEGO1 0x10092d30
// __ld12tod
// LIBRARY: LEGO1 0x10093037
// __trandisp2
// LIBRARY: LEGO1 0x10093480
// ___crtGetStringTypeA
// LIBRARY: LEGO1 0x100935b0
// __getbuf
// LIBRARY: LEGO1 0x10093600
// __isatty
// LIBRARY: LEGO1 0x10093630
// _wctomb
// LIBRARY: LEGO1 0x10093690
// __wctomb_lk
// LIBRARY: LEGO1 0x10093730
// __aulldiv
// LIBRARY: LEGO1 0x100937a0
// __aullrem
// LIBRARY: LEGO1 0x10093820
// ___strgtold12
// LIBRARY: LEGO1 0x10093f70
// __alloc_osfhnd
// LIBRARY: LEGO1 0x100940b0
// __set_osfhnd
// LIBRARY: LEGO1 0x10094160
// __free_osfhnd
// LIBRARY: LEGO1 0x10094200
// __get_osfhandle
// LIBRARY: LEGO1 0x10094250
// __lock_fhandle
// LIBRARY: LEGO1 0x100942c0
// __unlock_fhandle
// LIBRARY: LEGO1 0x100943a0
// __sopen
// LIBRARY: LEGO1 0x10095820
// __mbsrchr
// LIBRARY: LEGO1 0x100958b0
// __mbschr
// LIBRARY: LEGO1 0x10095f90
// _mbtowc
// LIBRARY: LEGO1 0x10095ff0
// __mbtowc_lk
// LIBRARY: LEGO1 0x10096190
// ___sbh_new_region
// LIBRARY: LEGO1 0x10096300
// ___crtMessageBoxA
// LIBRARY: LEGO1 0x10096490
// ___addl
// LIBRARY: LEGO1 0x100964c0
// ___add_12
// LIBRARY: LEGO1 0x10096530
// ___shl_12
// LIBRARY: LEGO1 0x10096570
// ___shr_12
// LIBRARY: LEGO1 0x100965b0
// ___mtold12
// LIBRARY: LEGO1 0x10097190
// ___ld12mul
// LIBRARY: LEGO1 0x10097440
// ___multtenpow12
// LIBRARY: LEGO1 0x100974c0
// __chsize_lk
// LIBRARY: LEGO1 0x100977c0
// _itoa
// LIBRARY: LEGO1 0x10097ad0
// _strrchr
// LIBRARY: LEGO1 0x10097b10
// _strchr
// LIBRARY: LEGO1 0x10097d70
// __setmode_lk
// LIBRARY: LEGO1 0x100d1ed0
// LIBRARY: BETA10 0x1018ec70
// _strnicmp
// LIBRARY: LEGO1 0x100d1fd0
// _strupr
// LIBRARY: LEGO1 0x100d2130
// _vsprintf
// LIBRARY: LEGO1 0x100d21c2
// __CIpow
// LIBRARY: LEGO1 0x100d21f0
// _strstr
// LIBRARY: LEGO1 0x100d2270
// __beginthreadex
// GLOBAL: LEGO1 0x100daab8
// ___lookuptable
// GLOBAL: LEGO1 0x100f0000
// ___xc_a
// GLOBAL: LEGO1 0x100f0020
// ___xc_z
// GLOBAL: LEGO1 0x100f0024
// ___xi_a
// GLOBAL: LEGO1 0x100f0030
// ___xi_z
// GLOBAL: LEGO1 0x100fc8bc
// __NLG_Destination
// GLOBAL: LEGO1 0x100fc8f0
// __iob
// GLOBAL: LEGO1 0x100fcb70
// __cflush
// GLOBAL: LEGO1 0x100fcb74
// __umaskval
// GLOBAL: LEGO1 0x100fcb78
// __osver
// GLOBAL: LEGO1 0x100fcb7c
// __winver
// GLOBAL: LEGO1 0x100fcb80
// __winmajor
// GLOBAL: LEGO1 0x100fcb84
// __winminor
// GLOBAL: LEGO1 0x100fcb88
// ___argc
// GLOBAL: LEGO1 0x100fcb8c
// ___argv
// GLOBAL: LEGO1 0x100fcb94
// __environ
// GLOBAL: LEGO1 0x100fcba4
// __pgmptr
// GLOBAL: LEGO1 0x100fcbb0
// __C_Termination_Done
// GLOBAL: LEGO1 0x100fcf04
// __aenvptr
// GLOBAL: LEGO1 0x100fcf10
// ___error_mode
// GLOBAL: LEGO1 0x100fcf14
// ___app_type
// GLOBAL: LEGO1 0x100fcf20
// ___tlsindex
// GLOBAL: LEGO1 0x100fcf60
// __OP_ACOSjmptab
// GLOBAL: LEGO1 0x100fcff0
// __pctype
// GLOBAL: LEGO1 0x100fd1fc
// ___mb_cur_max
// GLOBAL: LEGO1 0x100fd200
// ___decimal_point
// GLOBAL: LEGO1 0x100fd210
// ___nullstring
// GLOBAL: LEGO1 0x100fd214
// ___wnullstring
// GLOBAL: LEGO1 0x100fd218
// __locktable
// GLOBAL: LEGO1 0x100fd2d8
// __stdbuf
// GLOBAL: LEGO1 0x100fd2e0
// ___badioinfo
// GLOBAL: LEGO1 0x100fd478
// ___lc_handle
// GLOBAL: LEGO1 0x100fd490
// ___lc_codepage
// GLOBAL: LEGO1 0x100fd624
// ?__pInconsistency@@3P6AXXZA
// GLOBAL: LEGO1 0x100fd638
// __mbctype
// GLOBAL: LEGO1 0x100fd73c
// ___mbcodepage
// GLOBAL: LEGO1 0x100fd740
// ___mblcid
// GLOBAL: LEGO1 0x100fd748
// ___mbulinfo
// GLOBAL: LEGO1 0x100fd8e8
// __adbgmsg
// GLOBAL: LEGO1 0x100fd910
// __XcptActTab
// GLOBAL: LEGO1 0x100fd988
// __First_FPE_Indx
// GLOBAL: LEGO1 0x100fd98c
// __Num_FPE
// GLOBAL: LEGO1 0x100fda10
// __commode
// GLOBAL: LEGO1 0x100fe250
// ___small_block_heap
// GLOBAL: LEGO1 0x100feb58
// __matherr_flag
// GLOBAL: LEGO1 0x100feb7c
// __fmode
// GLOBAL: LEGO1 0x101028da
// __OP_POWjmptab
// GLOBAL: LEGO1 0x101095f8
// __crtheap
// GLOBAL: LEGO1 0x101095fc
// ___setlc_active
// GLOBAL: LEGO1 0x10109600
// ___unguarded_readlc_active
// GLOBAL: LEGO1 0x10109610
// ___pioinfo
// GLOBAL: LEGO1 0x10109710
// __nhandle
// GLOBAL: LEGO1 0x10109714
// __acmdln
// GLOBAL: LEGO1 0x10109718
// __pRawDllMain
// GLOBAL: LEGO1 0x10109724
// ___piob
// GLOBAL: LEGO1 0x1010a730
// __nstream
// LIBRARY: BETA10 0x100f9060
// _assert
// LIBRARY: BETA10 0x100fa2fa
// _acos
// LIBRARY: BETA10 0x100f9a50
// _sin
// LIBRARY: BETA10 0x100f95d0
// _sqrt
// LIBRARY: BETA10 0x100f9780
// strlen
// LIBRARY: BETA10 0x100fa200
// strcpy
// LIBRARY: BETA10 0x100f8a88
// operator new
// LIBRARY: BETA10 0x100f9420
// memcpy
// LIBRARY: BETA10 0x100fb080
// _stricmp
// LIBRARY: BETA10 0x100fb050
// fopen
// LIBRARY: BETA10 0x100fae70
// fprintf
// LIBRARY: BETA10 0x100fad10
// fclose
// LIBRARY: BETA10 0x100fe5a0
// abort
// LIBRARY: BETA10 0x100fa0e0
// atof
// LIBRARY: BETA10 0x1005a9c0
// fabs
// LIBRARY: BETA10 0x1005a9f0
// fabsf
// LIBRARY: BETA10 0x100f9bb0
// _fabs
// LIBRARY: BETA10 0x100f9570
// memset
// LIBRARY: BETA10 0x100ff82b
// __ctrandisp1
// LIBRARY: BETA10 0x100f8a92
// operator delete
// LIBRARY: BETA10 0x1018ed70
// _strupr
// LIBRARY: BETA10 0x100f9690
// sprintf
// LIBRARY: BETA10 0x100fb150
// _spawnl
// LIBRARY: BETA10 0x1001d1a0
// `vector constructor iterator'
// LIBRARY: BETA10 0x100f8ad0
// strcmp
// LIBRARY: BETA10 0x100f9610
// rand
#endif