Commit graph

3873 commits

Author SHA1 Message Date
ysdragon
8d0b7b77c6 Check for libc and link against execinfo lib for musl libc 2024-11-24 16:04:30 +01:00
ysdragon
23ad991743 Use nullptr instead 2024-11-24 16:04:30 +01:00
smallmodel
4493b2c42e
Prevent integer overflow when interpolating verts 2024-11-24 15:58:18 +01:00
smallmodel
8b6b1597d7
Check for bHitPerson in MV0, MV1 and MV2
This checks if the sentient being hit is dead, and skip it when moving the vehicle so the vehicle doesn't get stuck for when a sentient is dying
2024-11-23 22:58:51 +01:00
smallmodel
be34870a18
Copy the channel origin to the sound entity origin when loading
If the channel had a valid entity at the time of saving, make sure to restore the origin
2024-11-23 21:12:58 +01:00
smallmodel
4d4b9288c6
Don't update the streamed channel if the source status AL_INITIAL
This can occur when starting a new sound without playing it, which can happen when reloading the sound system while all sounds are paused (game paused)
2024-11-23 18:42:27 +01:00
smallmodel
89140f775e
Archive entities at the order they were created
This fixes an issue where turrets would Think() before the base they are mounted on (like tanks), which means the turret would set its origin before the base (tank) does. This issue also occurs on the original game
2024-11-23 15:19:05 +01:00
smallmodel
e2f4d8cd6b
Use explicit constants when checking g_gametype 2024-11-22 19:44:53 +01:00
smallmodel
04da76167c
Set the correct face mode for when the AI is facing a entity that allows AI to face
This fixes a mistake where AI would turn away from the player if the player approaches too much
2024-11-22 18:52:36 +01:00
smallmodel
90639cee36
Fix incorrect effect being spawned for MakeEffect CGM 2024-11-22 18:18:27 +01:00
smallmodel
3790f057e1
Fix an infinite loop in BulletAttack
This would be caused by an entity that is inside another entity, like 2 actors at the same location
2024-11-21 20:41:57 +01:00
smallmodel
44d8adcfb0
Set the eyePos when loading from save
Server uses the playerState's vEyePos as the position, to add entities to snapshots, so make sure it's initialized before the next snapshot is sent
2024-11-21 20:26:12 +01:00
smallmodel
64f877ae80
Use the correct convention for installing the project
On Win32:
- Binaries and libraries will be installed by default in <PREFIX>/bin
- The prefix is set to `Program Files/openmohaa` by default

On Unix:
- Binaries and libraries will be installed by default in <PREFIX>/lib/openmohaa
- Shared data will be installed in <PREFIX>/share/applications, <PREFIX>/share/metainfo and <PREFIX>/share/icons
- The prefix is set to `/usr/local` by default
2024-11-21 19:49:43 +01:00
smallmodel
2ce8450a7e
Use fprintf to stderr 2024-11-21 01:14:08 +01:00
smallmodel
48c2d026e6
Fix ActorPath not archiving path properly
It was mistakenly archiving the first path multiple times instead of the whole path array. This lead to AI strangely moving after loading from save
2024-11-20 23:32:37 +01:00
smallmodel
ad825f5114
Reimplement noise functions 2024-11-20 23:02:22 +01:00
smallmodel
120a486aea
Use CMake installation directory
This removes the use of the DESTINATION parameter from install() command and instead rely on default values.
The shared build action file was modified to package installed files in a single folder
2024-11-20 22:50:49 +01:00
smallmodel
58d8a73269
Don't abort() on interrupt or on program termination 2024-11-20 12:46:04 +01:00
smallmodel
c788d57c52
Use abort() rather than doing a segfault 2024-11-19 23:15:01 +01:00
smallmodel
50eda4156a
Don't remove the weapon if it has no start ammo
Instead, prevent sentients from picking up weapons if they get no ammo from it and they already have that weapon. Instead, just let the weapon be picked up as a new weapon
2024-11-19 22:44:04 +01:00
smallmodel
1e609a4b2f
Ignore bullet tracers in 1.11 and below
Before 2.0, the tracer frequency is set on almost all weapons. This has some artifacts on multiplayer, the tracer doesn't look adjusted in first-person view
2024-11-19 22:24:50 +01:00
smallmodel
a0e2162dd7
Fix 1.11 servers filtered out 2024-11-19 22:16:55 +01:00
smallmodel
01dfbcdbfe
Properly print the backtrace and generate a core dump on both Windows/Unix 2024-11-19 21:45:49 +01:00
smallmodel
862af012cb
Fix infinite loop while getting the number of lines in objectives 2024-11-19 20:26:23 +01:00
smallmodel
d83374d38c
Set the default compass scale to 0.5 for the base game 2024-11-19 19:44:55 +01:00
smallmodel
05e14f6364
Adjust the objectives menu accordingly depending on the game message box which depends on the compass scale 2024-11-19 19:41:46 +01:00
smallmodel
6bc621462c
Use CL_FontStringWidth instead of uie.FontStringWidth 2024-11-19 19:17:16 +01:00
smallmodel
acb08b89f7
Fix constant for screenOrg 2024-11-18 22:03:58 +01:00
smallmodel
2107523eda
Use MAX_CLIENTS - 1 instead of 63 2024-11-18 21:57:02 +01:00
smallmodel
2662174eba
Fix radar clients not blinking when talking 2024-11-18 21:22:50 +01:00
smallmodel
59d03ff6f0
Return a virtual scale with the correct ratio if scale variable is set
This prevents the widget from being stretched out on widescreen, currently only the compass uses scalecvar
2024-11-18 21:13:43 +01:00
smallmodel
05d304dfc3
Set ignoredFiles only if ignore_files was specified
This fixes a crash that would occur due to a NULL string
2024-11-18 20:38:03 +01:00
smallmodel
614ed6e632
Use the vartree for flags, rather than copying the flags to a signed int value 2024-11-18 19:47:54 +01:00
smallmodel
eb938c872d
Make varnode endian-independant
This fixes terrain rendering incorrectly on big-endian architectures by using bit operation. The `flags` field in the union always matched the first byte of the variance float value instead of the least significant byte
2024-11-18 19:44:00 +01:00
smallmodel
46e1aa979b
Use ARRAY_LEN instead of sizeof 2024-11-18 18:46:14 +01:00
smallmodel
ec5acb4d98
Fix bad glDepthRange 2024-11-17 22:59:49 +01:00
smallmodel
652df1a5af
Prevent players with SVF_NOCLIENT to use objects 2024-11-17 22:10:03 +01:00
smallmodel
69621335db
Put the target extension version in the version string 2024-11-17 21:31:45 +01:00
smallmodel
7b58fbec8a
Fix comparison operator for char 2024-11-17 21:25:54 +01:00
smallmodel
aeb8aa8e55
Don't send a voice chat message if the entity is not sent to clients 2024-11-17 20:28:03 +01:00
smallmodel
e74e113199
Fix voice message always being sent to enemies in team message 2024-11-17 20:26:40 +01:00
smallmodel
953091cdc8
Move and rename macros to snd_local_new.h 2024-11-17 19:11:59 +01:00
smallmodel
5819145af8
Synchronize the entity time with the channel time when loading
This prevents the channel from stopping immediately during respatialization, the entity time may be updated quite some time after loading
2024-11-17 18:46:21 +01:00
smallmodel
154464cda1
Set the server huddraw elements on single-player mode
This fixes huddraw elements not being archived properly when the map starts
2024-11-17 18:26:00 +01:00
smallmodel
2342f08a79
Print the new damage when g_showbullettrace is turned on 2024-11-17 18:02:57 +01:00
smallmodel
16711a33ef
Fix bulletthroughwood and bulletthroughmetal not being archived correctly
This caused issues on some single-player maps where bullet would go through walls
2024-11-17 18:02:35 +01:00
smallmodel
cea0d95fee
Set the pitch to default when setting a new SFX
This fixes channels having an incorrect pitch when starting the sound under some circumstances
2024-11-17 17:12:36 +01:00
smallmodel
989ec9574c
Fix too high farVal for glDepthRange 2024-11-17 16:46:21 +01:00
smallmodel
b0b82f0252
Fix incorrect start trace for Actor::DontFaceWall()
This fixes AI not turning from wall
2024-11-17 16:36:45 +01:00
smallmodel
80ddba1013
Fix constant string for "officer" disguise type
This fixes the officer think not working at all
2024-11-17 16:36:19 +01:00