Commit Graph

250 Commits

Author SHA1 Message Date
Dethrace Labs 13ad81b30b workflow changes 2 2022-09-20 17:41:54 +12:00
Dethrace Labs 3146a67563 workflow changes 2022-09-20 17:26:23 +12:00
Dethrace Engineering Department 0a3fb1049c
bump to macos-latest 2022-09-19 11:52:12 +12:00
Dethrace Labs f638d790a7 enable ci on non-main branches 2022-09-17 06:49:33 +12:00
Dethrace Labs 8471091fbc fix on tag workflow 2022-09-17 06:43:36 +12:00
Dethrace Labs b6f1d48ea7 bump github to macos-11. #minor 2022-09-17 05:58:58 +12:00
Dethrace Labs f2376b27a2 github workflow updates 2 2022-09-17 05:50:11 +12:00
Dethrace Labs 1ceba81a93 github workflow updates 2022-09-16 21:57:50 +12:00
Dethrace Engineering Department 370c7ca480
Implements TeleportOpponentToNearestSafeLocation (#165)
* implements TeleportOpponentToNearestSafeLocation
2022-09-16 21:19:16 +12:00
Anonymous Maarten 4bb4be17a4
Fix pedestrian edit functions segfaulting when path isn't created (#163)
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)
2022-09-16 15:14:31 +12:00
Anonymous Maarten 25b796335d
Fix address sanitizer error when loading "Industrial Action" (#150)
* 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
2022-09-16 15:13:11 +12:00
Anonymous Maarten 9ec9fb008f
Implement DoEndSummary2 (aka Damage Gallery) (#152)
* Implement DoEndSummary2 (aka Damage Gallery)

* Fix warnings emitted by -Wabsolute-value and -Wsometimes-uninitialized
2022-09-16 15:10:52 +12:00
Anonymous Maarten 4c6e3a325c
Use nearest_section in FindNearestGeneralSection (#162) 2022-09-16 15:09:41 +12:00
Anonymous Maarten 25ecaf7309
damage_magnitude_accumulator is only available when a car is oppo, net_human or local human (#160) 2022-09-16 08:43:37 +12:00
Dethrace Engineering Department e8a38f4a1a
fixes NextPratcamChunk (#155) 2022-09-12 10:32:28 +12:00
Anonymous Maarten 0081b02dec
Implement parts shop (#151)
* Change type of last argument of TransBrPixelmapText from 'signed char*' to 'char*'

* Implement parts shop
2022-09-12 06:16:01 +12:00
Anonymous Maarten 561e369ede
Implement pratcam (#148) 2022-09-11 20:37:23 +12:00
Dethrace Engineering Department de154693c9
implements processfrozen (#154) 2022-09-11 16:12:41 +12:00
Dethrace Engineering Department 5e05fc1c6b
Aggressive opponents (#153)
* implements crash earnings, fixes wasted message
2022-09-11 15:52:32 +12:00
Anonymous Maarten f99be5f57a
Fix buffer overflow when driving with full speed into noncar thing (#144) 2022-09-07 15:59:37 +12:00
Anonymous Maarten 519671f9e8
Refactor CMake build system (#119)
* 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
2022-09-05 14:22:59 +12:00
Anonymous Maarten 8a2167920e
Add support for fullscreen + never grab mouse + resize window (#140)
* 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
2022-09-05 09:59:00 +12:00
Anonymous Maarten b3bdbb2650
Little changes (#139)
* 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
2022-09-02 12:50:55 +12:00
Willian c220ad0b5e
remove unused Windows HANDLE (#142) 2022-09-02 12:43:16 +12:00
Priit Laes 8c060fa1c7
gl: Relax GLSL requirement from 3.3 to 3.1 (#137)
* opengl: Bump to OpenGL 3.1 / GLSL 1.40
2022-08-31 15:01:20 +12:00
Szilárd Biró 20c2128b89
Big endian fixes (#135)
* BRender big endian fixes

* Game big endian fixes

* Replace BrSwap32 with BrHtoNL for load/save

* Detect endianness using CMake
2022-08-30 09:19:50 +12:00
Dethrace Engineering Department 408d550156
Update README.md 2022-08-30 09:18:44 +12:00
Dethrace Engineering Department ee83724f8a
Opponents following race and cheat paths (#136)
* 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>
2022-08-29 15:21:57 +12:00
Anonymous Maarten 05f16d3066
Fix prototype(s) + function uses (#133) 2022-07-11 06:35:38 +12:00
Dethrace Labs 44df22a375 implement missing S3StopOutletSound 2022-06-03 17:40:06 +12:00
Dethrace Engineering Department 7730cf842e
Audio support (#130)
* 2d sound working in menus

* fix incorrect references to gIndexed_outlets

* 3d sound, pitch, pan, volume

* enable per-outlet pitch

* fix path length issues, compile warnings

* fixes hall of mirrors effect in smack videos

* fixes ped running away direction

* fixes horn by fixing S3GetChannelForTag

* fix master volume, uninitialized variable
2022-06-03 13:03:49 +12:00
Anonymous Maarten e97bc083d9
Add pedestrians + power-ups (#118)
* Add pedestrians

* Pedestrian tweaks

* glrenderer: add texture tranformation support for animated pedestrians

* Use Brender functions in more locations

* Implement CheckPileDriverBonus

* revert changes to CollideCamera2 except bugfix

* fix uninitialized variable

Co-authored-by: Dethrace Engineering Department <78985374+dethrace-labs@users.noreply.github.com>
Co-authored-by: Dethrace Labs <carmageddon.reversing@gmail.com>
2022-05-10 23:39:55 +12:00
Dethrace Engineering Department 40b326b3cd
Update README.md 2022-05-05 08:24:16 +12:00
Dethrace Engineering Department 1a884666ec
Offroad effects (#128)
* dust and bumpiness
2022-05-05 05:05:52 +12:00
Dethrace Engineering Department 63d8c37b44
Textured horizons (#127)
* implements horizon textures
2022-05-04 13:45:41 +12:00
Dethrace Engineering Department 2db34d2913
Implements "noncar" physics (#122)
* Noncar physics

* Noncar collision detection

* Noncar bending and snap-off working
2022-05-03 14:05:15 +12:00
Dethrace Engineering Department ffc117264f
flush buffers in EndScene (#126) 2022-05-02 08:48:35 +12:00
Dethrace Engineering Department 4491add68f
fixes #123 (#124) 2022-05-02 08:30:07 +12:00
Dethrace Engineering Department 3980d9e9c9
Update README.md 2022-04-01 12:31:04 +13:00
Dethrace Engineering Department 3ea4dc83fa
Vehicle damage (#116)
* implement damage and repair

* clang format align trailing comments

* damage HUD

* wheel rotation damage wobbles
2022-04-01 10:52:09 +13:00
Anonymous Maarten 4115ce64eb
Detect CTRL/SHIFT/ALT + add control dialg + add end-of-race ranking screen + fixes (#113)
* 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
2022-03-30 15:03:46 +13:00
Anonymous Maarten 8cf723c669
Dispose track after race + get german localization running (#107)
* Implement DisposeTrack

* Implement LoadInterfaceStrings + DrawTranslations + fix german interface

* Recognize all flavours: full/demo/splatpack/splatpack demo/splatpack x-mas demo

* Fix input for demos
2022-03-28 08:49:52 +13:00
Anonymous Maarten 80f5fceff9
Start To Mouse (#109)
* Detour fopen to an OS-specific implementation of fopen

* Set opponent count to 5

* Implement switching opponents in 'View opponent' sub-panel
2022-03-25 12:36:11 +13:00
Dethrace Engineering Department 21f3ef3631
Run workflow on PRs 2022-03-25 12:34:23 +13:00
Dethrace Engineering Department b339af2cdf
Update README.md 2022-03-21 12:32:54 +13:00
Dethrace Engineering Department 4473b14d62
Update PORTING.md 2022-03-21 12:14:27 +13:00
Dethrace Engineering Department 26e766b92f
Update PORTING.md 2022-03-21 12:14:17 +13:00
Dethrace Engineering Department 7e14a97692
Easier platform porting (#108)
* Create PORTING.md

* Creates io_platform abstraction

* removes miniposix

* remove unistd refs

* removes watcom functions

* fixes shadow rendering memory leak
2022-03-21 12:10:49 +13:00
Anonymous Maarten d3ebbb6f1f
Visual Studio Fixes (#106)
* Visual Studio Fixes

* Disable flooring the frame period to 10ms

* Don't build with mingw on gha
2022-03-17 10:30:38 +13:00
Dethrace Engineering Department e61ecfa6a1
Shrapnel and sparks (#105)
* splash, shrapnel, spark effects
2022-03-14 10:59:16 +13:00