* Fix SEGFAULT due to reading out of bounds (we were using wrong index)
* Use floats instead of doubles
* Implement all flicplay.c functions
* Compare ptr against NULL
* Implement TotalRepair
* Implement some edit functions
* Implement actor/special volume related edit functions
* Implement MungeSpecialVolume
* Implement a few depth functions
* Fix location of spawned actors (when SHIFT was not pressed)
Co-authored-by: Dethrace Engineering Department <78985374+dethrace-labs@users.noreply.github.com>
* Change type of DRPixelmapCleverText2 to char*
* Fix warnings emitted due to -Wreturn-type
* Fix BR_ONE_LS redefinition warning
* Fix warnings emitted by -Wparentheses
* Tag FatalError and PDFatalError with noreturn attribute, fixing -Wreturn-type warnings
* Fix string type of TransBrPixelmapText~
* Fix a few -Wmaybe-uninitialized warnings
* Fix -Wformat and -Wpointer-sign warnings in test_datafile.c
* Fix -Wshift-negative-value warning
* Fix -Wpointer-sign warning
* chdir is declared with attribute 'warn_unused_result'
* Fix -Wmaybe-uninitialized warning
* Fix -Warray-bounds warning
* Fix -Wmaybe-unitialized warning
* Fix -Wmaybe-unitialized warning
* Fix -Wmaybe-unitialized warning
* Fix -Wmaybe-unitialized warnings
* Fix a few -Wmaybe-uninitialized warnings
* cmake: unify warnings amongst gcc and clang
* fatalerror_fixup
* Fix -Wabsolute-value warning
* Fix all warnings when building with MinGW on Windows
* Fix warning caused by -Wimplicit-fallthrough
* Fix warnings caused by -Wcast-function-type
Fixes these types of warnings:
cast between incompatible function types from ‘br_uint_32 (*)(br_actor *, void *)’ {aka ‘unsigned int (*)(struct br_actor *, void *)’} to ‘intptr_t (*)(br_actor *, void *)’ {aka ‘long int (*)(struct br_actor *, void *)’} [-Wcast-function-type]
* Fix warning caused by -Wmissing-field-initializers
* Normalize direction_v vector and store in displacement
Dropping a point in pedestrian edit mode would segfault otherwise.
CARM95.EXE also segfaults.
How to reproduce:
- enable Pedestrian edit mode
- F10 or F11 (+a few other)
* Move resource header check out of UserToRes to allow BrResCheck to fail
* Add BrResCheck and BrResSize to brender.h header (used while debugging)
* Skip OG code behavior of setting row_bytes to align to a 4 byte boundary
* Remove 'SCRATCH' file
* cmake: move as much as variable assignments after project()
* Embed version in dethrace executable
* Allow installing DethRace + create binary archive
* Use ashutoshvarma/setup-ninja github action for getting ninja
* cmake: group user configurable options
* cmake: building in debug mode will add -g
* cmake: provide dethrace_werror interface target + DETHRACE_WERROR cmake option
* Update SDL2 to latest release
* Rename dethrace_werror target to compile_with_werror
* Also add -Werror to dethrace
* Implement full-screen via ALT+ENTER
* Never grab mouse
* Allow resizable window + fix mouse when resizing/switching to full screen
* Keep aspect ratio of gl viewport when resizing window
* Fix mouse when resizing the window
* Fix off by one error
* br_material.power is a br_scalar (=float)
* Implement FopRead_OLD_VERTICES
* Fix FopRead_OLD_MATERIAL_INDEX
* Use BR_ASIZE in appropriate places
* Use br_material* instead of intptr_t
* Reset resource parent after reading struct
* Use flags of correct type
* Use NULL instead of 0
* Ignore utf-8 errors when decoding carmageddon-"encrypted" files to utf-8
* fix segfault, now hitting not implemented on ProcessPursueAndTwat
* opponents actually sort of driving
* remove cglm dependency
* opponents driving around generally working
* fully mapped out gEdit_funcs
* adds --i-am-cheating flag to allow skipping entering cheat code
* cleaned up ProcessFollowPath
* cleanup FollowCheatyPath, fixes crash in SmokeLine
Co-authored-by: Anonymous Maarten <anonymous.maarten@gmail.com>
* Detect CTRL/SHIFT/ALT + add demo menu's
* Fix cockpit + fancy headup roll-in
* Align on bytes (glPixelStori)
* Fix AddressSanitizer error when mousing around (+introduce pixelmap dispatch)
* Fix moving around groovidelics/funkotronics (Found with AddressSanitizer)
* Fix out-of-bounds write when entering map (thx AddressSanitizer)
* Fix out-of-bounds read in BrPixelmapPixelSet through DimRectangle (thx AddressSanitizer)
* Allow moving around the 3d scene in map mode
* Let BrPixelmapFill make use of the dispatch table
* Modify view port to fix rendering in map mode
* Fix AddressSanitizer error when loading demo (loading cop cars)
* Don't use magic values
* Fix offset'ed depth effects when rendering to an offset window
* Implement edit mode (not all functions are added yet)
* Implement cockpit Look(Left|Forward|Right)
* Fix AddressSanitizer error in DoInstruments
* Fix wheel in cockpit when switching position
* Implement special volume actor creation for edit functions
* Add all edit options for MSVC
* Implement first screen of race summary
* Use dispatch for BrPixelmapText
* Use dispatch for BrPixelmapAllocateSub
* Make BrPixelmapDirectLock and BrPixelmapDirectUnlock use the dispatch table
* Don't print LOG_TRACE for BrDevLastBeginQuery to avoid spamming the console
* Implement BrDevLastBeginQuery and BrDevLastBeginSet
* Fix end-of-race for demo's + fix splatpack
* Add controls panel
* Rewrite SmokeLine a bit (there is an AddressSanitizer error at the 'if (*depth_ptr > z)' check, which this change does not fix
* Dispose cop cars => Fix playing multiple levels with cop cars in the same session
* Implement easy memory pixelmap methods
* Fix 2 errors with splatpack
* Fix MainMenuDone1 and MainMenuDone2
* Add 'change car' dialog
* Implement functions to support switching car
* When opening a file in brender fails, try all uppercase file before failing
* Some cars need GetFourScalars
* Add platform-dependent code to detect attached debugger
* Only do relative mouse mode when debugger is not attached
* Do an abort when a debugger is attached
* dethrace: implement all missing brucetrk functions
* brender: use sqrtf in macros to avoid double->float conversion
* dethrace: implement a few key callbacks (will crash further along the line)
* dethrace: start earning some money (display credits message)
* dethrace: create spark/shrapnel objects (no render yet)
* ALL IN ONE
* brender: implement 'easy' euler functions
* brender: implement BrMatrix4PreTransform and BrTransformToTransform
* brender: add TAU constand (=2*pi)
* brender: add FIXME/STUB to render function (+ implement it)
* brender: add a few functions to the global brender header
* Add DETHRACE_FIX_BUGS macro to the cmake build system to optionally fix bugs/compiler warnings
* dethrace: implement 2 crush functions
* dethrace: use floats in FindFace + re-use local stack variable
* tNet_contents is an enum: the header aliases the start of the other messages
* dethrace: stub PDMouseButtons
* dethrace: implement a few utility functions
* dethrace: implement ChangeSelectionTo + de-inline ResetInterfaceTimeout
* dethrace: use chars instead of magic values + add fix for compiler warning about number formatting
* dethrace: compare a pointer against a NULL pointer
* dethrace: implement a lot of powerup functions
* dethrace: implement a few piping functions
* dethrace: implement a few opponent functions
* dethrace: completely implement load/save (or so I hope :D)
* dethrace: implement a few oily functions
* dethrace: implement got/lose/periodic powerup proc array
* brender: add BrXXXFindHook functions to brender header
* dethrace: register callback functions on missing material/model/map/tables
* dethrace: compare pointers with pointers and ints with ints
* Hide powercallback typedefs behind #ifdef
* dethrace: implement Del/End/PgDn APO buy buttons logic
* Add BrDiagHandlerSet to brender.h
* dethrace: SwithToRealResolution/SwitchToLoresMode call PD functions
* Use correct type when comparing against characters.
* dethrace: implement writing out and disposing crush data
* dethrace: add NonFatalError + fix entry in gError_messages
* dethrace: implement StopCarSmoking and StopCarSmokingInstantly
* dethrace: implement SkidNoise + ScrapeNoise + DamageUnitWithSmoke + DamageUnit
* dethrace: InitCarSkidStuff -> use floats instead of doubles
* Add BrPixelmapCopy + BrPixelmapPixelSet to brender header
* dethrace: implement DisableCar
* dethrace: stub out a lot of functions in sound.c
* dethrace: load and dispose pratcam data
* dethrace: minor additions to flicplay.c
* skidmark: compare floats with floats
* dethrace: implement some functions to convert face materials for different wall texturing levels
* add stub BrPixelmapCopy function + add STUB_ONCE calls in other methods
* MungeForwardSky does nothing, I think
* Use macros to initialize variables in AllocateCamera
* Implement AdjustSkid + use floats
* DRStdioOpenRead: Compare pointer against NULL
* dethrace: Implement IncrementLap
* dethrace: implement ChangeAmbientPratcam
* Implement SortOutRecover
* Implement CheckHornLocal
* Use COUNT_OF in dethrace
* Draw arrow blip on map
* Implement DRPixelmapCopy
* Fix error code value
* Stub GotPowerupX
* Add ability to run the game/tests without signal handler, this allows a debugger to attach
* Don't save a game in PDFatalError
* Fix loadsave recopy arrays
Co-authored-by: Dethrace Engineering Department <78985374+dethrace-labs@users.noreply.github.com>