Commit graph

18152 commits

Author SHA1 Message Date
James R
9ae0e0a8d7 Fix Kart conflicts
Conflicts from d5c08ac03

Some parts are reworked into the new build system.
2021-11-25 04:05:13 -08:00
James R
d5c08ac034 Backport 2021 SRB2 makefile overhaul
This is a squashed commit of the following commits from
upstream:

James R <justsomejames2@gmail.com> on 2021-05-01
Commit 44d217807f71d15bd7ca69dad226458e7060ccab
> Collect makefiles

James R <justsomejames2@gmail.com> on 2021-05-04
Commit f637e28d0c1877c44acd7b01f7130625d5ea4099
> Remove bin, objs and dep directories

James R <justsomejames2@gmail.com> on 2021-05-02
Commit b31056c7d977fe3c2a5e0637589fd9521f1f6c04
> Rewrite Makefile to be modular as well as more automated
>
> Some key points for programmers:
> - Source code files are mostly listed in a 'Sourcefile'.
>   So you no longer directly edit the object list. There
>   can be multiple Sourcefiles and they can even live in
>   subdirectories--the directory name will be prepended to
>   every filename in the list. Of course, the Makefile
>   still needs to be edited to read from each Sourcefile.
> - Different rules are no longer required for source code
>   files that live in subdirectories (such as sdl/ or
>   hardware/). Subdirectories Just Work so go ham!
>
> In addition to those points, another important change is
> that the bin directory is no longer divided into platform
> subdirectories (Linux64, Mingw, etc). Executables now go
> directly into bin. If you use DEBUGMODE or target 64-bit,
> then subdirectories for 'debug' and '64' will be made
> though.
>
> Oh by the way, I don't think make clean actually removed
> files before on Windows. It should now. I also fixed as
> many little inconsistencies like that as I noticed.
>
> And now just an overview of the technical aspects that
> shouldn't affect anyone who doesn't REALLY care about the
> Makefile...
>
> objs and dep directories have been moved to a make
> directory. Makefile.cfg and its variants have been moved
> out of their various subdirectories to src/Makefile.d
> make distclean removes the bin and make directories
> entirely, but make clean and cleandep still only affect
> the current build target.
>
> When I say automation, I mean that a lot of copy pasting
> in the Makefile has been reduced.

James R <justsomejames2@gmail.com> on 2021-05-04
Commit 53d1cbe8264196e46911c86bc4be13d44aa35dfe
> Appveyor: update executable directory

James R <justsomejames2@gmail.com> on 2021-05-04
Commit 888073d64d1885cae0ad8b5d54bfec31e9793e0a
> Fix make clean printing header

James R <justsomejames2@gmail.com> on 2021-05-04
Commit 3d7205d4942d1e1b2627fdf5acf9d9c82437a97b
> Fix minor errors with Windows ECHO, DEL, MD
>
> - Quotes were not removed by ECHO.
> - DEL would print an error on nonexistent file.
> - MD would do this plus return a nonzero exit code.

James R <justsomejames2@gmail.com> on 2021-05-05
Commit f9813844e7f0dfa6229062b1ebd83e4e8150c120
> Update CMakeLists.txt to use Sourcefiles
>
> This establishes (near) parity of source code file lists
> between the Makefile and CMakeLists.txt
>
> To make that change I messed around CMakeLists.txt a bit.
> It now uses target_sources and target_compile_definitions.
> I also removed some MSVC stuff since we don't actually
> care about MSVC--it made things easier.
>
> CMake minimum version 3.0 -> 3.13 for target_sources.

James R <justsomejames2@gmail.com> on 2021-05-05
Commit ec8b63d6759f0c124693ea6d5a521e8d82efd566
> Makefile: remove last of unused flags

James R <justsomejames2@gmail.com> on 2021-05-07
Commit c06817d0085ee77b0027917bca91a24e60c7deba
> Makefile: fix mingw/64 swapped with 32-bit

James R <justsomejames2@gmail.com> on 2021-05-07
Commit 9e7d80c2c44199126fa451c59fca0f98d23ad14d
> Makefile: suppress DEL error

James R <justsomejames2@gmail.com> on 2021-05-07
Commit 87afa7655a71539c7cbc7db12df18c4253187fbc
> CMake: fix ASM compile
>
> - target_sources from correct directory
> - enable_language must be used in add_executable directory

James R <justsomejames2@gmail.com> on 2021-05-08
Commit 210c9419e4bddd1fe8e9be7cb66de31119fa0d68
> Ignore -Wtrigraphs

James R <justsomejames2@gmail.com> on 2021-06-16
Commit 3a044e71cc7cf6c80d9836189511c1a58c108370
> Disable EXE disassembly and compression by default
>
> NOOBJDUMP=1 and NOUPX=1 have been removed. Make 'dump'
> target to disassemble. UPX=upx to compress executable.
>
> Setting UPX used to cause it to fail. That has been fixed.

James R <justsomejames2@gmail.com> on 2021-06-16
Commit c142b3241ddb8f1ea9b5090d20dffa43a17129ab
> Makefile: alert full path of final executable
>
> With added textual contrast.

James R <justsomejames2@gmail.com> on 2021-06-16
Commit b04c79d8a7ba4ae8f888ab94d394b6714699e107
> Say 'at'

James R <justsomejames2@gmail.com> on 2021-06-21
Commit 2d7a8c3c571bcc5335437e9db074c75af00408ce
> Makefile: use shell commands to read in Sourcefile
>
> File function is not supported < Make 4.2.

James R <justsomejames2@gmail.com> on 2021-06-21
Commit d5146945a69ebf30e6fc1fbb64558e456e0b7459
> Makefile: don't automatically set WINDOWSHELL unless PATH matches Windows norms
>
> This is for MSYS2, which requires unix shell commands.

James R <justsomejames2@gmail.com> on 2021-06-22
Commit 5f4d7e3c5b013afe03ae2a441c82ad79bae7c66c
> Makefile: fail if old build directories exist
>
> After a checkout from before revision, old directories
> such as bin/Linux64 only remain if untracked files exist
> within. This may be confusing to the user. They may even
> use an outdated executable if it is one of those untracked
> files.

James R <justsomejames2@gmail.com> on 2021-06-22
Commit c3ad5de912fccfdd64c510f5684883afceaa7d36
> Makefile: let variables be defined on Make line
>
> If a variable is defined as in 'make CC=gcc-10', then that
> definition overrides anything other definition in the
> Makefile.

James R <justsomejames2@gmail.com> on 2021-06-22
Commit ed85e994a46ace07cf022b38a9abac1698a8667e
> Remove misplaced parentheses

James R <justsomejames2@gmail.com> on 2021-06-29
Commit c1ecfa306f6a0b168d4f6cbc3224ebebd4deec51
> Makefile: 'dep' not 'deps'

James R <justsomejames2@gmail.com> on 2021-06-29
Commit 6c03f9b5b3590e01773f05bc1c31cc67a2d88fc2
> fuck

James R <justsomejames2@gmail.com> on 2021-06-29
Commit abdf5c101cbe80657f210c0b90800e2c4c6f0c05
> Makefile: report SHELL

James R <justsomejames2@gmail.com> on 2021-06-29
Commit 22ab611daa17bd23225f3afeeba39147c0d0fe17
> Makefile: do not automatically set WINDOWSHELL
>
> According to this answer--
> https://stackoverflow.com/a/45952425
> --Make will always prefer a unix shell, even on Windows,
> if one can be found in Path. So we can't check PATH to
> determine if it's a Windows shell... this is just too much
> bother.

James R <justsomejames2@gmail.com> on 2021-06-29
Commit f79e0ee540564fcec5da7c0dc4006906492a7f30
> Appveyor: remove 64-bit target

James R <justsomejames2@gmail.com> on 2021-06-29
Commit faee657572f23cd6f8b68c077873e01c4278414e
> Appveyor: update for new Makefile

James R <justsomejames2@gmail.com> on 2021-06-29
Commit 44b82dea58612e6f07830647e2b08555f54a7caa
> Appveyor: remove redundant CFLAGS
>
> Also changed -Wno-error=implicit-fallthrough to
> -Wno-implicit-fallthrough. For some reason Appveyor's
> version of GCC is triggering these warnings despite the
> comments, so just shut it up.

James R <justsomejames2@gmail.com> on 2021-06-29
Commit db919accd22350c087c1fd0e5122d8e490e2f171
> Appveyor: suppress real time file names

James R <justsomejames2@gmail.com> on 2021-07-12
Commit 58fa44e8dc0444eecbe701f31872fad9fa563a6a
> CMP0115

SteelT <steeltitanium1@gmail.com> on 2021-07-16
Commit 71f905f95bd4fe62dbca87208cf71b7309f12de1
> Fix gme support being effectively disabled
>
> I found this easier than trying to adjust the makefile, as it uses the same thing to automatically generate the various NO* compile options.

James R <justsomejames2@gmail.com> on 2021-08-14
Commit 824b1ab28cdddfd1c018454a9af14dabaab49fcd
> Makefile: use full stem in dependency generation
>
> Previously took only the filename, so the directory
> component was stripped. This broke dependencies for
> basically every file.

GoldenTails <milestailsprower101n2@gmail.com> on 2021-08-28
Commit 1a8ec7975c20e1d652cbbdb7a9e366192e41c05f
> Makefile: Improve gcc detection
>
> Wasn't working for me until I fixed it.
> Turns out gcc really doesn't like giving its name out.
> Most of the time it reads argv[0].
2021-11-25 03:56:23 -08:00
James R
8109bc8e61 Merge branch 'fast-snake' into 'master'
Quick reptile

See merge request KartKrew/Kart!451
2021-11-22 07:30:33 +00:00
James R
239e91c439 Do not tilt while respawning; speed up camera (snappier) 2021-11-21 22:20:04 -08:00
James R
f205d6d8fd Speed up lightsnaking if dying with airtime 2021-11-21 22:02:45 -08:00
SteelT
c44ef9f5f1 Merge branch 'gainax' into 'master'
Gainax Eyesparkle

See merge request KartKrew/Kart!450
2021-11-22 04:49:16 +00:00
toaster
6ad177cb42 Gainax eyesparkle (surprisingly, not a name for a pony...)
* Hold lookback to create a tiny twinkle in your eye.
* If an opponent is behind you, that sparkle is pretty big and plays a cool animation.
* If an opponent is behind you and you have an item, initiate the Chengi Gleam.
* These sparkles are only visible for every player except you. (Currently even with hyuu ghostliness)
2021-11-21 21:39:43 +00:00
toaster
fa8bffabfc Have replay recording of "hits" use the reference count system, so that it doesn't potentially access free'd memory.
(This is not THE replay fix, but it is A replay fix.)
2021-11-21 13:35:08 +00:00
James R
e82bba18f6 Use volume field of sound, access with SOC/lua
Volumes may be defined on a 0-100 scale, but any number is
accepted.

If the volume is negative then the sound will play at
normal volume (therefore the info table won't need to be
modified.)
2021-11-08 18:50:19 -08:00
James R
d22705727b Fix unsigned comparison with zero 2021-11-08 16:59:57 -08:00
RJPFonseca
dc8b5fb803 Used spaces instead of tabs in Makefile.cfg
(cherry picked from commit 69647eb78d36c0b2f5febecd2c4e55f622325217)
2021-11-08 16:57:02 -08:00
SteelT
5d17081d14 Merge branch 'tumbltweaks' into 'master'
Tumbltweaks

See merge request KartKrew/Kart!448
2021-10-19 03:57:13 +00:00
toaster
42629264b1 Extra comment just in case someone else tries to perform maintenance on tumble and gets confused like I did. 2021-10-17 22:18:04 +01:00
toaster
a43b64cb76 Tumble nerfing, on Oni's request.
- Maximum tumble height that leads into last bounce is now 60 mfu (mobjscaled fracunits), from 40 mfu.
- All tumbles that are over 100 mfu high have extra attenuation applied to them.
- Tumble into lightsnake now puts you in 1.5 seconds of wipeout, rather than the last tumble.
2021-10-17 22:14:42 +01:00
toaster
303df77b68 Unassigned variable fix (probably going to rip out the closed caption system out of Kart at some point, but this is good for now). 2021-10-17 22:11:30 +01:00
lachablock
8ce5dc69ff Add SegaSonic Arcade sounds 2021-09-10 10:28:20 +10:00
SteelT
d5c30742dd Merge branch 'capsules' into 'master'
Item Capsules

See merge request KartKrew/Kart!440
2021-06-28 01:23:11 -04:00
lachablock
05749b9773 Add special behavior for SPB item capsules 2021-06-21 22:39:21 +10:00
lachablock
6477176c31 Don't add item capsules to the respawn queue 2021-06-21 15:33:38 +10:00
lachablock
baae615d08 Capsules FINALLY spawn properly on FOFs, and aerial capsules scale from the bottoms instead of their centers 2021-06-21 15:10:57 +10:00
lachablock
90269c1a91 New item capsule respawn functionality 2021-06-21 13:11:21 +10:00
lachablock
27489edd3d Don't spawn ring capsules in GTR_SPHERES gametypes 2021-06-21 12:09:34 +10:00
lachablock
b1e412ee33 Address item capsule suggestoastions 2021-06-21 12:03:01 +10:00
lachablock
8f93cdbb6b Revert item capsule respawn queue changes 2021-06-21 11:42:02 +10:00
lachablock
65204d951c Add dust to capsule burst & fix cap bust momentum 2021-06-20 15:25:48 +10:00
lachablock
1b41db9edc Fix mapload crash caused by capsules 2021-06-16 12:30:21 +10:00
lachablock
04ed130d24 Make capsule bubbles semibright, & fix ring capsule caps not being semibright 2021-06-15 15:16:59 +10:00
lachablock
e981de3c33 - Color Record Attack-persistent capsules sapphire
- Make invincibility capsules glow rainbow
- Fix aerial capsules not scaling to full size
2021-06-15 13:41:53 +10:00
lachablock
da37ba8238 Allow scripts (or other outside sources) to easily change the properties of an item capsule 2021-06-14 23:04:28 +10:00
lachablock
9151d31512 Allow only ring capsules to spawn in Record Attack, and add the ability for Extra to invert this behavior 2021-06-14 22:59:05 +10:00
lachablock
459c5615af - Added respawn functionality to item capsules
- Restructured some item capsule code to reduce thinker density and allow the item capsule parts to think after the capsule
- Super Ring capsules are now semibright
2021-06-14 19:04:55 +10:00
lachablock
7e1a29310f Add item capsule Ambush flag scaling; attempted gravity fix 2021-06-14 13:47:15 +10:00
lachablock
debfb41423 Merge remote-tracking branch 'origin/master' into capsules 2021-06-14 12:20:53 +10:00
lachablock
b78db12b0d Add item capsules 2021-06-14 12:20:39 +10:00
Sal
1f0d0ea396 Merge branch 'item-scale-tweak' into 'master'
Change the item odds/distance scaling for different player counts

See merge request KartKrew/Kart!429
2021-06-12 05:16:31 -04:00
Sally Coolatta
83fc7dd0a2 Merge branch 'master' into item-scale-tweak 2021-06-12 03:17:36 -04:00
Sal
41b0465efe Merge branch 'splits-tilt-fix' into 'master'
Fix tilting in splitscreen

See merge request KartKrew/Kart!439
2021-06-12 03:17:05 -04:00
Sally Coolatta
c4cb4f32c3 Merge branch 'master' into item-scale-tweak 2021-06-12 03:11:52 -04:00
Sally Coolatta
4eee8ab1d7 Fix tilting in splitscreen
R_GetPitchRollAngle used R_PointToAngle. This was fine because it was meant for rendering code. However tilting does its code mostly in player thinker, and it also uses this function, so it was not fine -- it would have some remainder tilt settings from the last player's screen.
2021-06-12 02:15:00 -04:00
SteelT
73d299396b Merge branch 'splitscreen-sound-fix' into 'master'
Sound refactor

See merge request KartKrew/Kart!430
2021-06-12 01:34:56 -04:00
SteelT
e1c52c6c61 Merge branch 'trick-panels-changes' into 'master'
Trick panels changes: Delay + Upwards Trick

See merge request KartKrew/Kart!425
2021-06-12 01:33:30 -04:00
Sally Coolatta
82fa875502 Refactor R_PointToAnglePlayer 2021-06-12 00:56:55 -04:00
lachablock
f031177ca4 Add some generalized functions for getting floating item frames 2021-06-12 14:12:45 +10:00
SteelT
b3cee8b8fc Merge branch 'master' into trick-panels-changes 2021-06-10 23:45:35 -04:00
toaster
bac7de2ea7 Merge branch 'kickstartdemo' into 'master'
Kickstartaccel demo fix

See merge request KartKrew/Kart!438
2021-05-27 16:51:04 -04:00
Sal
f55605f2f8 Merge branch 'zdebug-always-on' into 'master'
ZDEBUG is default

See merge request KartKrew/Kart!434
2021-05-27 12:47:38 -04:00
SteelT
a327b3f60c Merge branch 'new-titlecards' into 'master'
New titlecards

See merge request KartKrew/Kart!437
2021-05-27 12:41:12 -04:00
toaster
7fab92d73b Kickstartaccel demo fix
An absolute dogshit clown-level code blunder from me, now corrected.
2021-05-10 14:21:13 +01:00
Latapostrophe
f559f24c07 Encore support, gif fix and slight optimization 2021-05-02 11:38:33 +02:00
Latapostrophe
66740e96dc slight optimizations + undefs 2021-05-01 12:01:00 +02:00